Browse Source
Former-commit-id: dc76e7e492358eda781197dac820444d52a4ad62 Former-commit-id: a36b4c7f01c0d7e24d9140b7c4b889470c30ccbdbeta
Jack Lukic
11 years ago
17 changed files with 3283 additions and 2864 deletions
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||||
.video.module{position:relative;background:#333 url(../images/placeholder.png) no-repeat center center}.video.module .play{cursor:pointer;position:absolute;top:0;left:0;z-index:100;-ms-filter:"alpha(Opacity=60)";filter:alpha(opacity=60);opacity:.6;width:100%;height:100%;background:url(/images/modules/video-play.png) no-repeat center center;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-o-transition:opacity .3s;-ms-transition:opacity .3s;transition:opacity .3s}.video.module .play:hover{opacity:1}.video.module .placeholder{width:100%;height:100%}.video.module .embed{display:none}.video.module.active .play,.video.module.active .placeholder{display:none}.video.module.active .embed{display:block} |
.ui.video{position:relative;max-width:100%}.ui.video .placeholder{background-color:#333}.ui.video .play{cursor:pointer;position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;-ms-filter:"alpha(Opacity=60)";filter:alpha(opacity=60);opacity:.6;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-o-transition:opacity .3s;-ms-transition:opacity .3s;transition:opacity .3s}.ui.video .play.icon:before{position:absolute;top:50%;left:50%;z-index:11;font-size:6rem;margin:-3rem 0 0 -3rem;color:#FFF;text-shadow:0 3px 3px rgba(0,0,0,.4)}.ui.video .placeholder{display:block;width:100%;height:100%}.ui.video .embed{display:none}.ui.video .play:hover{opacity:1}.ui.video.active .play,.ui.video.active .placeholder{display:none}.ui.video.active .embed{display:block} |
@ -1 +1 @@ |
|||||
!function(a,b,c,d){a.fn.video=function(b){var c,e=a.extend(!0,{},a.fn.video.settings,b),f=arguments||!1;return a(this).each(function(){var g,h=a(this),i=h.find(e.selector.placeholder),j=h.find(e.selector.playButton),k=h.find(e.selector.embed),l=h.data("module-"+e.namespace),m="string"==typeof b,n=e.namespace,o=e.metadata,p=e.className;g={initialize:function(){g.debug("Initializing video"),i.off(".video").on("click."+n,g.play),j.off(".video").on("click."+n,g.play),h.data("module-"+n,g)},change:function(a,b){g.debug("Changing video to ",b),h.data(o.source,a).data(o.flv,b),e.onChange()},reset:function(){g.debug("Clearing video embed and showing placeholder"),h.removeClass(p.active),k.html(" "),i.show(),e.onReset()},play:function(){g.debug("Playing video");var a=h.data(o.source),b=h.data(o.flv);k.html(g.generate.html(a,b)),h.addClass(p.active),e.onPlay()},generate:{html:function(a,b){g.debug("Generating embed html");var c,d="auto"==e.width?h.width():e.width,f="auto"==e.height?h.height():e.height;return"vimeo"==a?c='<iframe src="http://player.vimeo.com/video/'+b+"?="+g.generate.url(a)+'"'+' width="'+d+'" height="'+f+'"'+' frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>':"youtube"==a&&(c='<iframe src="http://www.youtube.com/embed/'+b+"?="+g.generate.url(a)+'"'+' width="'+d+'" height="'+f+'"'+' frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'),c},url:function(a){var b=e.api?1:0,c=e.autoplay?1:0,d=e.hd?1:0,f=e.showUI?1:0,g=e.showUI?0:1,h="";return"vimeo"==a?(h="api="+b+"&title="+f+"&byline="+f+"&portrait="+f+"&autoplay="+c,e.color&&(h+="&color="+e.color)):"youtube"==a&&(h="enablejsapi="+b+"&autoplay="+c+"&autohide="+g+"&hq="+d+"&modestbranding=1",e.color&&(h+="&color="+e.color)),h}},debug:function(a,b){e.debug&&(b!==d?console.info(e.moduleName+": "+a,b):console.info(e.moduleName+": "+a))},error:function(a){console.warn(e.moduleName+": "+a)},invoke:function(b,c,f){var h;return f=f||Array.prototype.slice.call(arguments,2),"string"==typeof b&&l!==d&&(b=b.split("."),a.each(b,function(b,c){return a.isPlainObject(l[c])?(l=l[c],!0):a.isFunction(l[c])?(h=l[c],!0):(g.error(e.errors.method),!1)})),a.isFunction(h)?h.apply(c,f):h}},m?c=g.invoke(f[0],this,Array.prototype.slice.call(f,1)):(l&&g.destroy(),g.initialize())}),c!==d?c:this},a.fn.videoPlaylist=function(b,c){var d=a(this),e=a(b),f=e.find(".embed iframe"),g=a.extend({},a.fn.videoPlaylist.settings,c,!0);d.each(function(){var b=a(this),c=g.metadata,f=g.namespace,h=g.className,i={initialize:function(){b.on("click."+f,i.changeVideo)},changeVideo:function(){var f=b.data(c.flv)||!1,i=b.data(c.source)||!1,j=b.data(c.placeholder)||!1;if(f&&i){if(e.data(c.source,i).data(c.flv,f),g.showPlaceholder)e.removeClass(h.active).find(a.fn.video.selector.placeholder).attr("src",j);else try{e.video("play")}catch(k){console.warn("Video Playlist Module: "+g.error.init)}d.removeClass(h.active),b.addClass(h.active)}}};i.initialize()}),g.playFirst&&(d.eq(0).trigger("click"),f.size()>0&&f.attr("src",f.attr("src").replace("autoplay=1","autoplay=0")))},a.fn.video.settings={moduleName:"Video",namespace:"video",debug:!1,metadata:{source:"source",flv:"flv"},onPlay:function(){},onReset:function(){},onChange:function(){},play:function(){},pause:function(){},stop:function(){},width:"auto",height:"auto",autoplay:!1,color:"#442359",hd:!0,showUI:!1,api:!0,errors:{method:"The method you called is not defined"},className:{active:"active"},selector:{embed:".embed",placeholder:".placeholder",playButton:".play"}},a.fn.videoPlaylist.settings={moduleName:"Video Playlist",namespace:"videoPlaylist",source:"vimeo",showPlaceholder:!1,playFirst:!0,metadata:{flv:"flv",source:"source",placeholder:"placeholder"},errors:{init:"The video player you specified was not yet initialized"},className:{active:"active"}}}(jQuery,window,document); |
!function(a,b,c,d){a.fn.video=function(b){var c,e=a(this),f=a.isPlainObject(b)?a.extend(!0,{},a.fn.video.settings,b):a.fn.video.settings,g=e.selector||"",h=(new Date).getTime(),i=[],j=arguments[0],k="string"==typeof j,l=[].slice.call(arguments,1);return a(this).each(function(){var b,e=a(this),m=e.find(f.selector.placeholder),n=e.find(f.selector.playButton),o=e.find(f.selector.embed),p="."+f.namespace,q=f.namespace+"-module",r=(f.selector,f.className),s=f.error,t=f.metadata,u=(f.namespace,this),v=e.data(q);b={initialize:function(){b.debug("Initializing video"),m.on("click"+p,b.play),n.on("click"+p,b.play),b.instantiate()},instantiate:function(){v=b,e.data(q,b)},destroy:function(){b.verbose("Destroying previous instance of video"),e.removeData(q).off(p)},change:function(a,c,d){b.debug("Changing video to ",a,c,d),e.data(t.source,a).data(t.id,c).data(t.url,d),f.onChange()},reset:function(){b.debug("Clearing video embed and showing placeholder"),e.removeClass(r.active),o.html(" "),m.show(),f.onReset()},play:function(){b.debug("Playing video");var a=e.data(t.source)||!1,c=e.data(t.url)||!1,d=e.data(t.id)||!1;o.html(b.generate.html(a,d,c)),e.addClass(r.active),f.onPlay()},generate:{html:function(a,c,d){b.debug("Generating embed html");var g,h="auto"==f.width?e.width():f.width,i="auto"==f.height?e.height():f.height;return a&&c?"vimeo"==a?g='<iframe src="http://player.vimeo.com/video/'+c+"?="+b.generate.url(a)+'"'+' width="'+h+'" height="'+i+'"'+' frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>':"youtube"==a&&(g='<iframe src="http://www.youtube.com/embed/'+c+"?="+b.generate.url(a)+'"'+' width="'+h+'" height="'+i+'"'+' frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'):d?g='<iframe src="'+d+'"'+' width="'+h+'" height="'+i+'"'+' frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>':b.error(s.noVideo),g},url:function(a){var b=f.api?1:0,c=f.autoplay?1:0,d=f.hd?1:0,e=f.showUI?1:0,g=f.showUI?0:1,h="";return"vimeo"==a&&(h="api="+b+"&title="+e+"&byline="+e+"&portrait="+e+"&autoplay="+c,f.color&&(h+="&color="+f.color)),"ustream"==a?(h="autoplay="+c,f.color&&(h+="&color="+f.color)):"youtube"==a&&(h="enablejsapi="+b+"&autoplay="+c+"&autohide="+g+"&hq="+d+"&modestbranding=1",f.color&&(h+="&color="+f.color)),h}},setting:function(b,c){return c===d?f[b]:(a.isPlainObject(b)?a.extend(!0,f,b):f[b]=c,void 0)},internal:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){f.debug&&(f.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},verbose:function(){f.verbose&&f.debug&&(f.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.warn,console,f.moduleName+":")},performance:{log:function(a){var c,d,e;f.performance&&(c=(new Date).getTime(),e=h||c,d=c-e,h=c,i.push({Element:u,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var b=f.moduleName+":",c=0;h=!1,a.each(i,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",g&&(b+=" '"+g+"'"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(b),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(c,e,f){var g,h;return e=e||l,f=u||f,"string"==typeof c&&v!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){a.isPlainObject(v[e])&&c!=g?v=v[e]:v[e]!==d?h=v[e]:b.error(s.method)})),a.isFunction(h)?h.apply(f,e):h||!1}},k?(v===d&&b.initialize(),c=b.invoke(j)):(v!==d&&b.destroy(),b.initialize())}),c?c:this},a.fn.video.settings={moduleName:"Video",namespace:"video",debug:!0,verbose:!0,performance:!0,metadata:{source:"source",id:"id",url:"url"},onPlay:function(){},onReset:function(){},onChange:function(){},onPause:function(){},onStop:function(){},width:"auto",height:"auto",autoplay:!1,color:"#442359",hd:!0,showUI:!1,api:!0,error:{noVideo:"No video specified",method:"The method you called is not defined"},className:{active:"active"},selector:{embed:".embed",placeholder:".placeholder",playButton:".play"}}}(jQuery,window,document); |
@ -1 +1 @@ |
|||||
8c596e6e4141b4d7bf798a158e1bed529b4acfa0 |
f05f79b6aa3852bb634fb30470be2d7d3a9d1252 |
@ -1 +1 @@ |
|||||
4c459f0ed9e411259862a2f2d362b31525c72e20 |
9b2adc4ea09fd0c31850e9b42e74daf20107c1b2 |
@ -1,43 +1,81 @@ |
|||||
/*--------------- |
/* |
||||
Video Embed |
* # Semantic Video |
||||
----------------*/ |
* http://github.com/quirkyinc/semantic |
||||
.video.module { |
* |
||||
|
* |
||||
|
* Copyright 2013 Contributors |
||||
|
* Released under the MIT license |
||||
|
* http://opensource.org/licenses/MIT |
||||
|
* |
||||
|
* Released: July 30, 2013 |
||||
|
*/ |
||||
|
/******************************* |
||||
|
Video |
||||
|
*******************************/ |
||||
|
.ui.video { |
||||
position: relative; |
position: relative; |
||||
background: #333333 url(../images/placeholder.png) no-repeat center center; |
max-width: 100%; |
||||
} |
} |
||||
.video.module .play { |
/*-------------- |
||||
|
Content |
||||
|
---------------*/ |
||||
|
/* Placeholder Image */ |
||||
|
.ui.video .placeholder { |
||||
|
background-color: #333333; |
||||
|
} |
||||
|
/* Play Icon Overlay */ |
||||
|
.ui.video .play { |
||||
cursor: pointer; |
cursor: pointer; |
||||
position: absolute; |
position: absolute; |
||||
top: 0px; |
top: 0px; |
||||
left: 0px; |
left: 0px; |
||||
z-index: 100; |
z-index: 10; |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; |
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; |
||||
filter: alpha(opacity=60); |
filter: alpha(opacity=60); |
||||
opacity: 0.6; |
opacity: 0.6; |
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
background: url(/images/modules/video-play.png) no-repeat center center; |
|
||||
-webkit-transition: opacity 0.3s; |
-webkit-transition: opacity 0.3s; |
||||
-moz-transition: opacity 0.3s; |
-moz-transition: opacity 0.3s; |
||||
-o-transition: opacity 0.3s; |
-o-transition: opacity 0.3s; |
||||
-ms-transition: opacity 0.3s; |
-ms-transition: opacity 0.3s; |
||||
transition: opacity 0.3s; |
transition: opacity 0.3s; |
||||
} |
} |
||||
.video.module .play:hover { |
.ui.video .play.icon:before { |
||||
opacity: 1; |
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 50%; |
||||
|
z-index: 11; |
||||
|
font-size: 6rem; |
||||
|
margin: -3rem 0em 0em -3rem; |
||||
|
color: #FFFFFF; |
||||
|
text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.4); |
||||
} |
} |
||||
.video.module .placeholder { |
.ui.video .placeholder { |
||||
|
display: block; |
||||
width: 100%; |
width: 100%; |
||||
height: 100%; |
height: 100%; |
||||
} |
} |
||||
.video.module .embed { |
/* IFrame Embed */ |
||||
|
.ui.video .embed { |
||||
display: none; |
display: none; |
||||
} |
} |
||||
/* Video Active */ |
/******************************* |
||||
.video.module.active .play, |
States |
||||
.video.module.active .placeholder { |
*******************************/ |
||||
|
/*-------------- |
||||
|
Hover |
||||
|
---------------*/ |
||||
|
.ui.video .play:hover { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
/*-------------- |
||||
|
Active |
||||
|
---------------*/ |
||||
|
.ui.video.active .play, |
||||
|
.ui.video.active .placeholder { |
||||
display: none; |
display: none; |
||||
} |
} |
||||
.video.module.active .embed { |
.ui.video.active .embed { |
||||
display: block; |
display: block; |
||||
} |
} |
||||
|
@ -1,43 +1,81 @@ |
|||||
/*--------------- |
/* |
||||
Video Embed |
* # Semantic Video |
||||
----------------*/ |
* http://github.com/quirkyinc/semantic |
||||
.video.module { |
* |
||||
|
* |
||||
|
* Copyright 2013 Contributors |
||||
|
* Released under the MIT license |
||||
|
* http://opensource.org/licenses/MIT |
||||
|
* |
||||
|
* Released: July 30, 2013 |
||||
|
*/ |
||||
|
/******************************* |
||||
|
Video |
||||
|
*******************************/ |
||||
|
.ui.video { |
||||
position: relative; |
position: relative; |
||||
background: #333333 url(../images/placeholder.png) no-repeat center center; |
max-width: 100%; |
||||
} |
} |
||||
.video.module .play { |
/*-------------- |
||||
|
Content |
||||
|
---------------*/ |
||||
|
/* Placeholder Image */ |
||||
|
.ui.video .placeholder { |
||||
|
background-color: #333333; |
||||
|
} |
||||
|
/* Play Icon Overlay */ |
||||
|
.ui.video .play { |
||||
cursor: pointer; |
cursor: pointer; |
||||
position: absolute; |
position: absolute; |
||||
top: 0px; |
top: 0px; |
||||
left: 0px; |
left: 0px; |
||||
z-index: 100; |
z-index: 10; |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; |
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; |
||||
filter: alpha(opacity=60); |
filter: alpha(opacity=60); |
||||
opacity: 0.6; |
opacity: 0.6; |
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
background: url(/images/modules/video-play.png) no-repeat center center; |
|
||||
-webkit-transition: opacity 0.3s; |
-webkit-transition: opacity 0.3s; |
||||
-moz-transition: opacity 0.3s; |
-moz-transition: opacity 0.3s; |
||||
-o-transition: opacity 0.3s; |
-o-transition: opacity 0.3s; |
||||
-ms-transition: opacity 0.3s; |
-ms-transition: opacity 0.3s; |
||||
transition: opacity 0.3s; |
transition: opacity 0.3s; |
||||
} |
} |
||||
.video.module .play:hover { |
.ui.video .play.icon:before { |
||||
opacity: 1; |
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 50%; |
||||
|
z-index: 11; |
||||
|
font-size: 6rem; |
||||
|
margin: -3rem 0em 0em -3rem; |
||||
|
color: #FFFFFF; |
||||
|
text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.4); |
||||
} |
} |
||||
.video.module .placeholder { |
.ui.video .placeholder { |
||||
|
display: block; |
||||
width: 100%; |
width: 100%; |
||||
height: 100%; |
height: 100%; |
||||
} |
} |
||||
.video.module .embed { |
/* IFrame Embed */ |
||||
|
.ui.video .embed { |
||||
display: none; |
display: none; |
||||
} |
} |
||||
/* Video Active */ |
/******************************* |
||||
.video.module.active .play, |
States |
||||
.video.module.active .placeholder { |
*******************************/ |
||||
|
/*-------------- |
||||
|
Hover |
||||
|
---------------*/ |
||||
|
.ui.video .play:hover { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
/*-------------- |
||||
|
Active |
||||
|
---------------*/ |
||||
|
.ui.video.active .play, |
||||
|
.ui.video.active .placeholder { |
||||
display: none; |
display: none; |
||||
} |
} |
||||
.video.module.active .embed { |
.ui.video.active .embed { |
||||
display: block; |
display: block; |
||||
} |
} |
||||
|
File diff suppressed because it is too large
@ -1,48 +1,99 @@ |
|||||
|
/* |
||||
|
* # Semantic Video |
||||
|
* http://github.com/quirkyinc/semantic |
||||
|
* |
||||
|
* |
||||
|
* Copyright 2013 Contributors |
||||
|
* Released under the MIT license |
||||
|
* http://opensource.org/licenses/MIT |
||||
|
* |
||||
|
* Released: July 30, 2013 |
||||
|
*/ |
||||
|
|
||||
/*--------------- |
|
||||
Video Embed |
|
||||
----------------*/ |
|
||||
|
|
||||
.video.module { |
/******************************* |
||||
|
Video |
||||
|
*******************************/ |
||||
|
|
||||
|
.ui.video { |
||||
position: relative; |
position: relative; |
||||
background: #333333 url(../images/placeholder.png) no-repeat center center; |
max-width: 100%; |
||||
|
} |
||||
|
|
||||
|
/*-------------- |
||||
|
Content |
||||
|
---------------*/ |
||||
|
|
||||
|
/* Placeholder Image */ |
||||
|
.ui.video .placeholder { |
||||
|
background-color: #333333; |
||||
} |
} |
||||
|
|
||||
.video.module .play { |
/* Play Icon Overlay */ |
||||
|
.ui.video .play { |
||||
cursor: pointer; |
cursor: pointer; |
||||
position: absolute; |
position: absolute; |
||||
top: 0px; |
top: 0px; |
||||
left: 0px; |
left: 0px; |
||||
z-index: 100; |
z-index: 10; |
||||
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; |
|
||||
filter: alpha(opacity=60); |
|
||||
opacity: 0.6; |
|
||||
width: 100%; |
width: 100%; |
||||
height: 100%; |
height: 100%; |
||||
background: url(/images/modules/video-play.png) no-repeat center center; |
|
||||
|
|
||||
|
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; |
||||
|
filter: alpha(opacity=60); |
||||
|
opacity: 0.6; |
||||
|
|
||||
-webkit-transition: opacity 0.3s; |
-webkit-transition: opacity 0.3s; |
||||
-moz-transition: opacity 0.3s; |
-moz-transition: opacity 0.3s; |
||||
-o-transition: opacity 0.3s; |
-o-transition: opacity 0.3s; |
||||
-ms-transition: opacity 0.3s; |
-ms-transition: opacity 0.3s; |
||||
transition: opacity 0.3s; |
transition: opacity 0.3s; |
||||
} |
} |
||||
.video.module .play:hover { |
.ui.video .play.icon:before { |
||||
opacity: 1; |
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 50%; |
||||
|
z-index: 11; |
||||
|
|
||||
|
font-size: 6rem; |
||||
|
margin: -3rem 0em 0em -3rem; |
||||
|
color: #FFFFFF; |
||||
|
text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.4); |
||||
} |
} |
||||
.video.module .placeholder { |
|
||||
width: 100%; |
.ui.video .placeholder { |
||||
height: 100%; |
display: block; |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
} |
} |
||||
.video.module .embed { |
|
||||
|
/* IFrame Embed */ |
||||
|
.ui.video .embed { |
||||
display: none; |
display: none; |
||||
} |
} |
||||
|
|
||||
/* Video Active */ |
/******************************* |
||||
.video.module.active .play, |
States |
||||
.video.module.active .placeholder { |
*******************************/ |
||||
display: none; |
|
||||
|
/*-------------- |
||||
|
Hover |
||||
|
---------------*/ |
||||
|
|
||||
|
.ui.video .play:hover { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/*-------------- |
||||
|
Active |
||||
|
---------------*/ |
||||
|
|
||||
|
.ui.video.active .play, |
||||
|
.ui.video.active .placeholder { |
||||
|
display: none; |
||||
} |
} |
||||
.video.module.active .embed { |
.ui.video.active .embed { |
||||
display: block; |
display: block; |
||||
} |
} |
||||
|
Loading…
Reference in new issue