PageSourceSearch

https://autoworld4x4.co.zw/wp-content/plugins/wp-facebook-feed/js/jquery.socialfeed.js?ver=6.9

js autoworld4x4.co.zw collected 2026-10-04 21:42:30 UTC 82,557 bytes, 802 lines download raw bytes

vendor: 4,212 bytes, lines 1-7
1/*!
2 * imagesLoaded PACKAGED v4.1.1
3 * JavaScript is all like "You images are done yet or what?"
4 * MIT License
5 */
6
7!function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=0,o=i[n];e=e||[];for(var r=this._onceEvents&&this._onceEvents[t];o;){var s=r&&r[o];s&&(this.off(t,o),delete r[o]),o.apply(this,e),n+=s?0:1,o=i[n]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}(window,function(t,e){function i(t,e){for(var i in e)t[i]=e[i];return t}function n(t){var e=[];if(Array.isArray(t))e=t;else if("number"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e}function o(t,e,r){return this instanceof o?("string"==typeof t&&(t=document.querySelectorAll(t)),this.elements=n(t),this.options=i({},this.options),"function"==typeof e?r=e:i(this.options,e),r&&this.on("always",r),this.getImages(),h&&(this.jqDeferred=new h.Deferred),void setTimeout(function(){this.check()}.bind(this))):new o(t,e,r)}function r(t){this.img=t}function s(t,e){this.url=t,this.element=e,this.img=new Image}var h=t.jQuery,a=t.console;o.prototype=Object.create(e.prototype),o.prototype.options={},o.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},o.prototype.addElementImages=function(t){"IMG"==t.nodeName&&this.addImage(t),this.options.background===!0&&this.addElementBackgroundImages(t);var e=t.nodeType;if(e&&d[e]){for(var i=t.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var r=t.querySelectorAll(this.options.background);for(n=0;n<r.length;n++){var s=r[n];this.addElementBackgroundImages(s)}}}};var d={1:!0,9:!0,11:!0};return o.prototype.addElementBackgroundImages=function(t){var e=getComputedStyle(t);if(e)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(e.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,t),n=i.exec(e.backgroundImage)}},o.prototype.addImage=function(t){var e=new r(t);this.images.push(e)},o.prototype.addBackground=function(t,e){var i=new s(t,e);this.images.push(i)},o.prototype.check=function(){function t(t,i,n){setTimeout(function(){e.progress(t,i,n)})}var e=this;return this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?void this.images.forEach(function(e){e.once("progress",t),e.check()}):void this.complete()},o.prototype.progress=function(t,e,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded,this.emitEvent("progress",[this,t,e]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,t),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&a&&a.log("progress: "+i,t,e)},o.prototype.complete=function(){var t=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(t,[this]),this.emitEvent("always",[this]),this.jqDeferred){var e=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[e](this)}},r.prototype=Object.create(e.prototype),r.prototype.check=function(){var t=this.getIsImageComplete();return t?void this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),void(this.proxyImage.src=this.img.src))},r.prototype.getIsImageComplete=function(){return this.img.complete&&void 0!==this.img.naturalWi
vendor: 5,988 bytes, lines 7-21
7dth},r.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.img,e])},r.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},r.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},r.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},r.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype=Object.create(r.prototype),s.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url;var t=this.getIsImageComplete();t&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},s.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.element,e])},o.makeJQueryPlugin=function(e){e=e||t.jQuery,e&&(h=e,h.fn.imagesLoaded=function(t,e){var i=new o(this,t,e);return i.jqDeferred.promise(h(this))})},o.makeJQueryPlugin(),o});
8
9
10/*!
11 * Packery PACKAGED v2.1.1
12 * Gapless, draggable grid layouts
13 *
14 * Licensed GPLv3 for open source use
15 * or Packery Commercial License for commercial use
16 *
17 * http://packery.metafizzy.co
18 * Copyright 2016 Metafizzy
19 */
20
21!function(t,e){"use strict";"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,s,a){function h(t,e,n){var o,s="$()."+i+'("'+e+'")';return t.each(function(t,h){var u=a.data(h,i);if(!u)return void r(i+" not initialized. Cannot call methods, i.e. "+s);var c=u[e];if(!c||"_"==e.charAt(0))return void r(s+" is not a valid method");var d=c.apply(u,n);o=void 0===o?d:o}),void 0!==o?o:t}function u(t,e){t.each(function(t,n){var o=a.data(n,i);o?(o.option(e),o._init()):(o=new s(n,e),a.data(n,i,o))})}a=a||e||t.jQuery,a&&(s.prototype.option||(s.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=o.call(arguments,1);return h(this,t,e)}return u(this,t),this},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var o=Array.prototype.slice,s=t.console,r="undefined"==typeof s?function(){}:function(t){s.error(t)};return n(e||t.jQuery),i}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return e()}):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t),i=-1==t.indexOf("%")&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;u>e;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),e}function o(){if(!c){c=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);s.isBoxSizeOuter=r=200==t(o.width),i.removeChild(e)}}function s(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var s=n(e);if("none"==s.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var c=a.isBorderBox="border-box"==s.boxSizing,d=0;u>d;d++){var f=h[d],l=s[f],p=parseFloat(l);a[f]=isNaN(p)?0:p}var g=a.paddingLeft+a.paddingRight,m=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,x=a.borderTopWidth+a.borderBottomWidth,b=c&&r,E=t(s.width);E!==!1&&(a.width=E+(b?0:g+_));var T=t(s.height);return T!==!1&&(a.height=T+(b?0:m+x)),a.innerWidth=a.width-(g+_),a.innerHeight=a.height-(m+x),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var r,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,c=!1;return s}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}(this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=0,o=i[n];e=e||[];for(var s=this._onceEvents&&this._onceEvents[t];o;){var r=s&&s[o];r&&(this.off(t,o),delete s[o]),o.apply(this,e),n+=r?0:1,o=i[n]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var n=e[i],o=n+"MatchesSelector";if(t[o])return o}}();return function(e,i){return e[t](i)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["de
21sandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e},i.makeArray=function(t){var e=[];if(Array.isArray(t))e=t;else if(t&&"number"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e},i.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},i.getParent=function(t,i){for(;t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,n){t=i.makeArray(t);var o=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!n)return void o.push(t);e(t,n)&&o.push(t);for(var i=t.querySelectorAll(n),s=0;s<i.length;s++)o.push(i[s])}}),o},i.debounceMethod=function(t,e,i){var n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){var t=this[o];t&&clearTimeout(t);var e=arguments,s=this;this[o]=setTimeout(function(){n.apply(s,e),delete s[o]},i||100)}},i.docReady=function(t){"complete"==document.readyState?t():document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var n=t.console;return i.htmlInit=function(e,o){i.docReady(function(){var s=i.toDashed(o),r="data-"+s,a=document.querySelectorAll("["+r+"]"),h=document.querySelectorAll(".js-"+s),u=i.makeArray(a).concat(i.makeArray(h)),c=r+"-options",d=t.jQuery;u.forEach(function(t){var i,s=t.getAttribute(r)||t.getAttribute(c);try{i=s&&JSON.parse(s)}catch(a){return void(n&&n.error("Error parsing "+r+" on "+t.className+": "+a))}var h=new e(t,i);d&&d.data(t,o,h)})})},i}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function(t,e){"use strict";function i(t){for(var e in t)return!1;return e=null,!0}function n(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}function o(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}var s=document.documentElement.style,r="string"==typeof s.transition?"transition":"WebkitTransition",a="string"==typeof s.transform?"transform":"WebkitTransform",h={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[r],u={transform:a,transition:r,transitionDuration:r+"Duration",transitionProperty:r+"Property",transitionDelay:r+"Delay"},c=n.prototype=Object.create(t.prototype);c.constructor=n,c._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},c.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},c.getSize=function(){this.size=e(this.element)},c.css=function(t){var e=this.element.style;for(var i in t){var n=u[i]||i;e[n]=t[i]}},c.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),n=t[e?"left":"right"],o=t[i?"top":"bottom"],s=this.layout.size,r=-1!=n.indexOf("%")?parseFloat(n)/100*s.width:parseInt(n,10),a=-1!=o.indexOf("%")?parseFloat(o)/100*s.height:parseInt(o,10);r=isNaN(r)?0:r,a=isNaN(a)?0:a,r-=e?s.paddingLeft:s.paddingRight,a-=i?s.paddingTop:s.paddingBottom,this.position.x=r,this.position.y=a},c.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop"),o=i?"paddingLeft":"paddingRight",s=i?"left":"right",r=i?"right":"left",a=this.position.x+t[o];e[s]=this.getXValue(a),e[r]="";var h=n?"paddingTop":"paddingBottom",u=n?"top":"bottom",c=n?"bottom":"top",d=this.position.y+t[h];e[u]=this.getYValue(d),e[c]="",this.css(e),this.emitEvent("layout",[this])},c.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},c.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},c._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=parseInt(t,10),s=parseInt(e,10),r=o===this.position.x&&s===this.position.y;if(this.setPosition(t,e),r&&!this.isTransitioning)return void this.layoutPosition();var a=t-i,h=e-n,u={};u.transform=this.getTranslate(a,h),this.transition({to:u,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},c.getTranslate=function(t,e){var i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop");return t=i?t:-t,e=n?e:-e,"translate3d("+t+"px, "+e+"px, 0)"},c.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},c.moveTo=c._transitionTo,c.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},c._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},c.transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var n=this.element.offsetHeight;n=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var d="opacity,"+o(a);c.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:d,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(h,this,!1)}},c.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},c.onotransitionend=function(t){this.ontransitionend(t)};var f={"-webkit-transform":"transform"};c.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=f[t.propertyName]||t.propertyName;if(delete e.ingProperties[n],i(e.ingProperties)&&this.disableTransition(),n in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[n]),n in e.onEnd){var o=e.onEnd[n];o.call(this),delete e.onEnd[n]}this.emitEvent("transitionEnd",[this])}},c.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(h,this,!1),this.isTransitioning=!1},c._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var l={transitionProperty:"",transitionDuration:"",transitionDelay:""};return c.removeTransitionStyles=function(){this.css(l)},c.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},c.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},c.remove=function(){return r&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},c.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("visibleStyle");e[i]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},c.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},c.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},c.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("hiddenStyle");e[i]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},c.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},c.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},n}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(i,n,o,s){return e(t,i,n,o,s)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):t.Outlayer=e(t,t.EvEmitter,t.getSize,t.f
vendor: 4,165 bytes, line 21
21izzyUIUtils,t.Outlayer.Item)}(window,function(t,e,i,n,o){"use strict";function s(t,e){var i=n.getQueryElement(t);if(!i)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(i||t)));this.element=i,u&&(this.$element=u(this.element)),this.options=n.extend({},this.constructor.defaults),this.option(e);var o=++d;this.element.outlayerGUID=o,f[o]=this,this._create();var s=this._getOption("initLayout");s&&this.layout()}function r(t){function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function a(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],n=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var o=p[n]||1;return i*o}var h=t.console,u=t.jQuery,c=function(){},d=0,f={};s.namespace="outlayer",s.Item=o,s.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var l=s.prototype;n.extend(l,e.prototype),l.option=function(t){n.extend(this.options,t)},l._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},s.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},l._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),n.extend(this.element.style,this.options.containerStyle);var t=this._getOption("resize");t&&this.bindResize()},l.reloadItems=function(){this.items=this._itemize(this.element.children)},l._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0;o<e.length;o++){var s=e[o],r=new i(s,this);n.push(r)}return n},l._filterFindItemElements=function(t){return n.filterFindElements(t,this.options.itemSelector)},l.getItemElements=function(){return this.items.map(function(t){return t.element})},l.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},l._init=l.layout,l._resetLayout=function(){this.getSize()},l.getSize=function(){this.size=i(this.element)},l._getMeasurement=function(t,e){var n,o=this.options[t];o?("string"==typeof o?n=this.element.querySelector(o):o instanceof HTMLElement&&(n=o),this[t]=n?i(n)[e]:o):this[t]=0},l.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},l._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},l._layoutItems=function(t,e){if(this._emitCompleteOnItems("layout",t),t&&t.length){var i=[];t.forEach(function(t){var n=this._getItemLayoutPosition(t);n.item=t,n.isInstant=e||t.isLayoutInstant,i.push(n)},this),this._processLayoutQueue(i)}},l._getItemLayoutPosition=function(){return{x:0,y:0}},l._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},l.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},l._positionItem=function(t,e,i,n,o){n?t.goTo(e,i):(t.stagger(o*this.stagger),t.moveTo(e,i))},l._postLayout=function(){this.resizeContainer()},l.resizeContainer=function(){var t=this._getOption("resizeContainer");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1))}},l._getContainerSize=c,l._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},l._emitCompleteOnItems=function(t,e){function i(){o.dispatchEvent(t+"Complete",null,[e])}function n(){r++,r==s&&i()}var o=this,s=e.length;if(!e||!s)return void i();var r=0;e.forEach(function(e){e.once(t,n)})}
vendor: 7,790 bytes, line 21
21,l.dispatchEvent=function(t,e,i){var n=e?[e].concat(i):i;if(this.emitEvent(t,n),u)if(this.$element=this.$element||u(this.element),e){var o=u.Event(e);o.type=t,this.$element.trigger(o,i)}else this.$element.trigger(t,i)},l.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},l.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},l.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},l.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){n.removeFrom(this.stamps,t),this.unignore(t)},this)},l._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=n.makeArray(t)):void 0},l._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},l._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},l._manageStamp=c,l._getElementOffset=function(t){var e=t.getBoundingClientRect(),n=this._boundingRect,o=i(t),s={left:e.left-n.left-o.marginLeft,top:e.top-n.top-o.marginTop,right:n.right-e.right-o.marginRight,bottom:n.bottom-e.bottom-o.marginBottom};return s},l.handleEvent=n.handleEvent,l.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},l.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},l.onresize=function(){this.resize()},n.debounceMethod(s,"onresize",100),l.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},l.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},l.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},l.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},l.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},l.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.reveal()})}},l.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.hide()})}},l.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},l.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},l.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},l.getItems=function(t){t=n.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getItem(t);i&&e.push(i)},this),e},l.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),n.removeFrom(this.items,t)},this)},l.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete f[e],delete this.element.outlayerGUID,u&&u.removeData(this.element,this.constructor.namespace)},s.data=function(t){t=n.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&f[e]},s.create=function(t,e){var i=r(s);return i.defaults=n.extend({},s.defaults),n.extend(i.defaults,e),i.compatOptions=n.extend({},s.compatOptions),i.namespace=t,i.data=s.data,i.Item=r(o),n.htmlInit(i,t),u&&u.bridget&&u.bridget(t,i),i};var p={ms:1,s:1e3};return s.Item=o,s}),function(t,e){"function"==typeof define&&define.amd?define("packery/js/rect",e):"object"==typeof module&&module.exports?module.exports=e():(t.Packery=t.Packery||{},t.Packery.Rect=e())}(window,function(){"use strict";function t(e){for(var i in t.defaults)this[i]=t.defaults[i];for(i in e)this[i]=e[i]}t.defaults={x:0,y:0,width:0,height:0};var e=t.prototype;return e.contains=function(t){var e=t.width||0,i=t.height||0;return this.x<=t.x&&this.y<=t.y&&this.x+this.width>=t.x+e&&this.y+this.height>=t.y+i},e.overlaps=function(t){var e=this.x+this.width,i=this.y+this.height,n=t.x+t.width,o=t.y+t.height;return this.x<n&&e>t.x&&this.y<o&&i>t.y},e.getMaximalFreeRects=function(e){if(!this.overlaps(e))return!1;var i,n=[],o=this.x+this.width,s=this.y+this.height,r=e.x+e.width,a=e.y+e.height;return this.y<e.y&&(i=new t({x:this.x,y:this.y,width:this.width,height:e.y-this.y}),n.push(i)),o>r&&(i=new t({x:r,y:this.y,width:o-r,height:this.height}),n.push(i)),s>a&&(i=new t({x:this.x,y:a,width:this.width,height:s-a}),n.push(i)),this.x<e.x&&(i=new t({x:this.x,y:this.y,width:e.x-this.x,height:this.height}),n.push(i)),n},e.canFit=function(t){return this.width>=t.width&&this.height>=t.height},t}),function(t,e){if("function"==typeof define&&define.amd)define("packery/js/packer",["./rect"],e);else if("object"==typeof module&&module.exports)module.exports=e(require("./rect"));else{var i=t.Packery=t.Packery||{};i.Packer=e(i.Rect)}}(window,function(t){"use strict";function e(t,e,i){this.width=t||0,this.height=e||0,this.sortDirection=i||"downwardLeftToRight",this.reset()}var i=e.prototype;i.reset=function(){this.spaces=[];var e=new t({x:0,y:0,width:this.width,height:this.height});this.spaces.push(e),this.sorter=n[this.sortDirection]||n.downwardLeftToRight},i.pack=function(t){for(var e=0;e<this.spaces.length;e++){var i=this.spaces[e];if(i.canFit(t)){this.placeInSpace(t,i);break}}},i.columnPack=function(t){for(var e=0;e<this.spaces.length;e++){var i=this.spaces[e],n=i.x<=t.x&&i.x+i.width>=t.x+t.width&&i.height>=t.height-.01;if(n){t.y=i.y,this.placed(t);break}}},i.rowPack=function(t){for(var e=0;e<this.spaces.length;e++){var i=this.spaces[e],n=i.y<=t.y&&i.y+i.height>=t.y+t.height&&i.width>=t.width-.01;if(n){t.x=i.x,this.placed(t);break}}},i.placeInSpace=function(t,e){t.x=e.x,t.y=e.y,this.placed(t)},i.placed=function(t){for(var e=[],i=0;i<this.spaces.length;i++){var n=this.spaces[i],o=n.getMaximalFreeRects(t);o?e.push.apply(e,o):e.push(n)}this.spaces=e,this.mergeSortSpaces()},i.mergeSortSpaces=function(){e.mergeRects(this.spaces),this.spaces.sort(this.sorter)},i.addSpace=function(t){this.spaces.push(t),this.mergeSortSpaces()},e.mergeRects=function(t){var e=0,i=t[e];t:for(;i;){for(var n=0,o=t[e+n];o;){if(o==i)n++;else{if(o.contains(i)){t.splice(e,1),i=t[e];continue t}i.contains(o)?t.splice(e+n,1):n++}o=t[e+n]}e++,i=t[e]}return t};var n={downwardLeftToRight:function(t,e){return t.y-e.y||t.x-e.x},rightwardTopToBottom:function(t,e){return t.x-e.x||t.y-e.y}};return e}),function(t,e){"function"==typeof define&&define.amd?define("packery/js/item",["outlayer/outlayer","./rect"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("./rect")):t.Packery.Item=e(t.Outlayer,t.Packery.Rect)}(window,function(t,e){"use strict";var i=document.documentElement.style,n="string"==typeof i.transform?"transform":"WebkitTransform",o=function(){t.Item.apply(this,arguments)},s=o.prototype=Object.create(t.Item.prototype),r=s._create;s._create=function(){r.call(this),this.rect=new e};var a=s.moveTo;return s.moveTo=function(t,e){var i=Math.abs(this.position.x-t),n=Math.abs(this.position.y-e),o=this.layout.dragItemCount&&!this.isPlacing&&!this.isTransitioning&&1>i&&1>n;return o?void this.goTo(t,e):void a.apply(this,arguments)},s.enablePlacing=function(){this.removeTransitionStyles(),this.isTransitioning&&n&&(this.element.style[n]="none"),this.isTransitioning=!1,this.getSize(),this.layout._setRectSize(this.element,this.rect),this.isPlacing=!0},s.disablePlacing=function(){this.isPlacing=!1},s.removeElem=function(){this.element.parentNode
vendor: 6,091 bytes, line 21
21.removeChild(this.element),this.layout.packer.addSpace(this.rect),this.emitEvent("remove",[this])},s.showDropPlaceholder=function(){var t=this.dropPlaceholder;t||(t=this.dropPlaceholder=document.createElement("div"),t.className="packery-drop-placeholder",t.style.position="absolute"),t.style.width=this.size.width+"px",t.style.height=this.size.height+"px",this.positionDropPlaceholder(),this.layout.element.appendChild(t)},s.positionDropPlaceholder=function(){this.dropPlaceholder.style[n]="translate("+this.rect.x+"px, "+this.rect.y+"px)"},s.hideDropPlaceholder=function(){var t=this.dropPlaceholder.parentNode;t&&t.removeChild(this.dropPlaceholder)},o}),function(t,e){"function"==typeof define&&define.amd?define(["get-size/get-size","outlayer/outlayer","packery/js/rect","packery/js/packer","packery/js/item"],e):"object"==typeof module&&module.exports?module.exports=e(require("get-size"),require("outlayer"),require("./rect"),require("./packer"),require("./item")):t.Packery=e(t.getSize,t.Outlayer,t.Packery.Rect,t.Packery.Packer,t.Packery.Item)}(window,function(t,e,i,n,o){"use strict";function s(t,e){return t.position.y-e.position.y||t.position.x-e.position.x}function r(t,e){return t.position.x-e.position.x||t.position.y-e.position.y}function a(t,e){var i=e.x-t.x,n=e.y-t.y;return Math.sqrt(i*i+n*n)}i.prototype.canFit=function(t){return this.width>=t.width-1&&this.height>=t.height-1};var h=e.create("packery");h.Item=o;var u=h.prototype;u._create=function(){e.prototype._create.call(this),this.packer=new n,this.shiftPacker=new n,this.isEnabled=!0,this.dragItemCount=0;var t=this;this.handleDraggabilly={dragStart:function(){t.itemDragStart(this.element)},dragMove:function(){t.itemDragMove(this.element,this.position.x,this.position.y)},dragEnd:function(){t.itemDragEnd(this.element)}},this.handleUIDraggable={start:function(e,i){i&&t.itemDragStart(e.currentTarget)},drag:function(e,i){i&&t.itemDragMove(e.currentTarget,i.position.left,i.position.top)},stop:function(e,i){i&&t.itemDragEnd(e.currentTarget)}}},u._resetLayout=function(){this.getSize(),this._getMeasurements();var t,e,i;this._getOption("horizontal")?(t=1/0,e=this.size.innerHeight+this.gutter,i="rightwardTopToBottom"):(t=this.size.innerWidth+this.gutter,e=1/0,i="downwardLeftToRight"),this.packer.width=this.shiftPacker.width=t,this.packer.height=this.shiftPacker.height=e,this.packer.sortDirection=this.shiftPacker.sortDirection=i,this.packer.reset(),this.maxY=0,this.maxX=0},u._getMeasurements=function(){this._getMeasurement("columnWidth","width"),this._getMeasurement("rowHeight","height"),this._getMeasurement("gutter","width")},u._getItemLayoutPosition=function(t){if(this._setRectSize(t.element,t.rect),this.isShifting||this.dragItemCount>0){var e=this._getPackMethod();this.packer[e](t.rect)}else this.packer.pack(t.rect);return this._setMaxXY(t.rect),t.rect},u.shiftLayout=function(){this.isShifting=!0,this.layout(),delete this.isShifting},u._getPackMethod=function(){return this._getOption("horizontal")?"rowPack":"columnPack"},u._setMaxXY=function(t){this.maxX=Math.max(t.x+t.width,this.maxX),this.maxY=Math.max(t.y+t.height,this.maxY)},u._setRectSize=function(e,i){var n=t(e),o=n.outerWidth,s=n.outerHeight;(o||s)&&(o=this._applyGridGutter(o,this.columnWidth),s=this._applyGridGutter(s,this.rowHeight)),i.width=Math.min(o,this.packer.width),i.height=Math.min(s,this.packer.height)},u._applyGridGutter=function(t,e){if(!e)return t+this.gutter;e+=this.gutter;var i=t%e,n=i&&1>i?"round":"ceil";return t=Math[n](t/e)*e},u._getContainerSize=function(){return this._getOption("horizontal")?{width:this.maxX-this.gutter}:{height:this.maxY-this.gutter}},u._manageStamp=function(t){var e,n=this.getItem(t);if(n&&n.isPlacing)e=n.rect;else{var o=this._getElementOffset(t);e=new i({x:this._getOption("originLeft")?o.left:o.right,y:this._getOption("originTop")?o.top:o.bottom})}this._setRectSize(t,e),this.packer.placed(e),this._setMaxXY(e)},u.sortItemsByPosition=function(){var t=this._getOption("horizontal")?r:s;this.items.sort(t)},u.fit=function(t,e,i){var n=this.getItem(t);n&&(this.stamp(n.element),n.enablePlacing(),this.updateShiftTargets(n),e=void 0===e?n.rect.x:e,i=void 0===i?n.rect.y:i,this.shift(n,e,i),this._bindFitEvents(n),n.moveTo(n.rect.x,n.rect.y),this.shiftLayout(),this.unstamp(n.element),this.sortItemsByPosition(),n.disablePlacing())},u._bindFitEvents=function(t){function e(){n++,2==n&&i.dispatchEvent("fitComplete",null,[t])}var i=this,n=0;t.once("layout",e),this.once("layoutComplete",e)},u.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&(this.options.shiftPercentResize?this.resizeShiftPercentLayout():this.layout())},u.needsResizeLayout=function(){var e=t(this.element),i=this._getOption("horizontal")?"innerHeight":"innerWidth";return e[i]!=this.size[i]},u.resizeShiftPercentLayout=function(){var e=this._getItemsForLayout(this.items),i=this._getOption("horizontal"),n=i?"y":"x",o=i?"height":"width",s=i?"rowHeight":"columnWidth",r=i?"innerHeight":"innerWidth",a=this[s];if(a=a&&a+this.gutter){this._getMeasurements();var h=this[s]+this.gutter;e.forEach(function(t){var e=Math.round(t.rect[n]/a);t.rect[n]=e*h})}else{var u=t(this.element)[r]+this.gutter,c=this.packer[o];e.forEach(function(t){t.rect[n]=t.rect[n]/c*u})}this.shiftLayout()},u.itemDragStart=function(t){if(this.isEnabled){this.stamp(t);var e=this.getItem(t);e&&(e.enablePlacing(),e.showDropPlaceholder(),this.dragItemCount++,this.updateShiftTargets(e))}},u.updateShiftTargets=function(t){this.shiftPacker.reset(),this._getBoundingRect();var e=this._getOption("originLeft"),n=this._getOption("originTop");this.stamps.forEach(function(t){var o=this.getItem(t);if(!o||!o.isPlacing){var s=this._getElementOffset(t),r=new i({x:e?s.left:s.right,y:n?s.top:s.bottom});this._setRectSize(t,r),this.shiftPacker.placed(r)}},this);var o=this._getOption("horizontal"),s=o?"rowHeight":"columnWidth",r=o?"height":"width";this.shiftTargetKeys=[],this.shiftTargets=[];var a,h=this[s];if(h=h&&h+this.gutter){var u=Math.ceil(t.rect[r]/h),c=Math.floor((this.shiftPacker[r]+this.gutter)/h);a=(c-u)*h;for(var d=0;c>d;d++){var 
21f=o?0:d*h,l=o?d*h:0;this._addShiftTarget(f,l,a)}}else a=this.shiftPacker[r]+this.gutter-t.rect[r],this._addShiftTarget(0,0,a);var p=this._getItemsForLayout(this.items),g=this._getPackMethod();p.forEach(function(t){var e=t.rect;this._setRectSize(t.element,e),this.shiftPacker[g](e),this._addShiftTarget(e.x,e.y,a);var i=o?e.x+e.width:e.x,n=o?e.y:e.y+e.height;if(this._addShiftTarget(i,n,a),h)for(var s=Math.round(e[r]/h),u=1;s>u;u++){var c=o?i:e.x+h*u,d=o?e.y+h*u:n;this._addShiftTarget(c,d,a)}},this)},u._addShiftTarget=function(t,e,i){var n=this._getOption("horizontal")?e:t;if(!(0!==n&&n>i)){var o=t+","+e,s=-1!=this.shiftTargetKeys.indexOf(o);s||(this.shiftTargetKeys.push(o),this.shiftTargets.push({x:t,y:e}))}},u.shift=function(t,e,i){var n,o=1/0,s={x:e,y:i};this.shiftTargets.forEach(function(t){var e=a(t,s);o>e&&(n=t,o=e)}),t.rect.x=n.x,t.rect.y=n.y};var c=120;u.itemDragMove=function(t,e,i){
22function n(){s.shift(o,e,i),o.positionDropPlaceholder(),s.layout()}var o=this.isEnabled&&this.getItem(t);if(o){e-=this.size.paddingLeft,i-=this.size.paddingTop;var s=this,r=new Date;this._itemDragTime&&r-this._itemDragTime<c?(clearTimeout(this.dragTimeout),this.dragTimeout=setTimeout(n,c)):(n(),this._itemDragTime=r)}},u.itemDragEnd=function(t){function e(){n++,2==n&&(i.element.classList.remove("is-positioning-post-drag"),i.hideDropPlaceholder(),o.dispatchEvent("dragItemPositioned",null,[i]))}var i=this.isEnabled&&this.getItem(t);if(i){clearTimeout(this.dragTimeout),i.element.classList.add("is-positioning-post-drag");var n=0,o=this;i.once("layout",e),this.once("layoutComplete",e),i.moveTo(i.rect.x,i.rect.y),this.layout(),this.dragItemCount=Math.max(0,this.dragItemCount-1),this.sortItemsByPosition(),i.disablePlacing(),this.unstamp(i.element)}},u.bindDraggabillyEvents=function(t){this._bindDraggabillyEvents(t,"on")},u.unbindDraggabillyEvents=function(t){this._bindDraggabillyEvents(t,"off")},u._bindDraggabillyEvents=function(t,e){var i=this.handleDraggabilly;t[e]("dragStart",i.dragStart),t[e]("dragMove",i.dragMove),t[e]("dragEnd",i.dragEnd)},u.bindUIDraggableEvents=function(t){this._bindUIDraggableEvents(t,"on")},u.unbindUIDraggableEvents=function(t){this._bindUIDraggableEvents(t,"off")},u._bindUIDraggableEvents=function(t,e){var i=this.handleUIDraggable;t[e]("dragstart",i.start)[e]("drag",i.drag)[e]("dragstop",i.stop)};var d=u.destroy;return u.destroy=function(){d.apply(this,arguments),this.isEnabled=!1},h.Rect=i,h.Packer=n,h});
23
24
25
26
27
28
29
30(function(a,b){function e(a){return new RegExp("(^|\\s+)"+a+"(\\s+|$)")}function o(a,b,c){if(c.indexOf("%")===-1)return c;var d=a.style,e=d.width,f;return d.width=c,f=b.width,d.width=e,f}function p(a,b,c){var d=b!=="height",e=d?a.offsetWidth:a.offsetHeight,f=d?"Left":"Top",g=d?"Right":"Bottom",h=j(a),i=parseFloat(h["padding"+f])||0,k=parseFloat(h["padding"+g])||0,l=parseFloat(h["border"+f+"Width"])||0,m=parseFloat(h["border"+g+"Width"])||0,p=h["margin"+f],q=h["margin"+g],r,s;n||(p=o(a,h,p),q=o(a,h,q)),r=parseFloat(p)||0,s=parseFloat(q)||0;if(e>0)c?e+=r+s:e-=i+k+l+m;else{e=h[b];if(e<0||e===null)e=a.style[b]||0;e=parseFloat(e)||0,c&&(e+=i+k+r+s+l+m)}return e}function q(b,c,d){b.addEventListener?b.addEventListener(c,d,!1):b.attachEvent&&(b["e"+c+d]=d,b[c+d]=function(){b["e"+c+d](a.event)},b.attachEvent("on"+c,b[c+d]))}function r(a,b,c){a.removeEventListener?a.removeEventListener(b,c,!1):a.detachEvent&&(a.detachEvent("on"+b,a[b+c]),a[b+c]=null,a["e"+b+c]=null)}function s(a,b){if(!a)return;this.element=a,this.options={};for(var c in s.defaults)this.options[c]=s.defaults[c];for(c in b)this.options[c]=b[c];this._create(),this.build()}"use strict";var c=a.document,d="classList"in c.createElement("div"),f=d?function(a,b){return a.classList.contains(b)}:function(a,b){return e(b).test(a.className)}
30,g=d?function(a,b){a.classList.add(b)}:function(a,b){f(a,b)||(a.className=a.className+" "+b)},h=d?function(a,b){a.classList.remove(b)}:function(a,b){a.className=a.className.replace(e(b)," ")},i=c.defaultView,j=i&&i.getComputedStyle?function(a){return i.getComputedStyle(a,null)}:function(a){return a.currentStyle},k=c.getElementsByTagName("body")[0],l=c.createElement("div"),m=k||c.createElement("body");l.style.marginTop="1%",m.appendChild(l);var n=j(l).marginTop!=="1%";m.removeChild(l);var t=["position","height"];s.defaults={isResizable:!0,gutterWidth:0,isRTL:!1,isFitWidth:!1},s.prototype={_getBricks:function(a){var b;for(var c=0,d=a.length;c<d;c++)b=a[c],b.style.position="absolute",g(b,"masonry-brick"),this.bricks.push(b)},_create:function(){this.reloadItems();var b=this.element.style;this._originalStyle={};for(var c=0,d=t.length;c<d;c++){var e=t[c];this._originalStyle[e]=b[e]||""}this.element.style.position="relative",this.horizontalDirection=this.options.isRTL?"right":"left",this.offset={};var f=j(this.element),h=this.options.isRTL?"paddingRight":"paddingLeft";this.offset.y=parseFloat(f.paddingTop)||0,this.offset.x=parseFloat(f[h])||0,this.isFluid=this.options.columnWidth&&typeof this.options.columnWidth=="function";var i=this;setTimeout(function(){g(i.element,"masonry")}),this.options.isResizable&&q(a,"resize",function(){i._handleResize()})},build:function(a){this._getColumns(),this._reLayout(a)},_getColumns:function(){var a=this.options.isFitWidth?this.element.parentNode:this.element,b=p(a,"width");this.columnWidth=this.isFluid?this.options.columnWidth(b):this.options.columnWidth||p(this.bricks[0],"width",!0)||b,this.columnWidth+=this.options.gutterWidth,this.cols=Math.floor((b+this.options.gutterWidth)/this.columnWidth),this.cols=Math.max(this.cols,1)},reloadItems:function(){this.bricks=[],this._getBricks(this.element.children)},_reLayout:function(a){var b=this.cols;this.colYs=[];while(b--)this.colYs.push(0);this.layout(this.bricks,a)},layout:function(a,b){if(!a||!a.length)return;var c,d,e,f,g,h,i;for(var j=0,k=a.length;j<k;j++){c=a[j];if(c.nodeType!==1)continue;d=Math.ceil(p(c,"width",!0)/this.columnWidth),d=Math.min(d,this.cols);if(d===1)i=this.colYs;else{e=this.cols+1-d,i=[];for(h=0;h<e;h++)g=this.colYs.slice(h,h+d),i[h]=Math.max.apply(Math,g)}var l=Math.min.apply(Math,i);for(var m=0,n=i.length;m<n;m++)if(i[m]===l)break;c.style.top=l+this.offset.y+"px",c.style[this.horizontalDirection]=this.columnWidth*m+this.offset.x+"px";var o=l+p(c,"height",!0),q=this.cols+1-n;for(h=0;h<q;h++)this.colYs[m+h]=o}var r={};this.element.style.height=Math.max.apply(Math,this.colYs)+"px";if(this.options.isFitWidth){var s=0;j=this.cols;while(--j){if(this.colYs[j]!==0)break;s++}this.element.style.width=(this.cols-s)*this.columnWidth-this.options.gutterWidth+"px"}b&&b.call(a)},_handleResize:function(){function b(){a.resize(),a._resizeTimeout=null}var a=this;this._resizeTimeout&&clearTimeout(this._resizeTimeout),this._resizeTimeout=setTimeout(b,100)},resize:function(){var a=this.cols;this._getColumns(),(this.isFluid||this.cols!==a)&&this._reLayout()},reload:function(a){this.reloadItems(),this.build(a)},appended:function(a,b,c){var d=this,e=function(){d._appended(a,c)};if(b){var f=p(this.element,"height")+"px";for(var g=0,h=a.length;g<h;g++)a[g].style.top=f;setTimeout(e,1)}else e()},_appended:function(a,b){this._getBricks(a),this.layout(a,b)},destroy:function(){var b;for(var c=0,d=this.bricks.length;c<d;c++)b=this.bricks[c],b.style.position="",b.style.top="",b.style.left="",h(b,"masonry-brick");var e=this.element.style;d=t.length;for(c=0;c<d;c++){var f=t[c];e[f]=this._originalStyle[f]}h(this.element,"masonry"),this.resizeHandler&&r(a,"resize",this.resizeHandler)}},s.getWH=p,a.Masonry=s})(window);
31
32var baseURL = window.location.protocol + "//" + window.location.host + "/";
33
34if (typeof Object.create !== 'function') {
35    Object.create = function(obj) {
36        function F() {}
37        F.prototype = obj;
38        return new F();
39    };
40}
41
42(function($, window, document, undefined) {
43    $.fn.socialfeed = function(_options) {
44
45
46        var defaults = {
47            plugin_folder: '', // a folder in which the plugin is located (with a 
47slash in the end)
48            template: 'template.html', // a path to the template file
49            show_media: false, // show images of attachments if available
50            media_min_width: 300,
51            length: 500, // maximum length of post message shown
52            date_format: 'll'
53        };
54        //---------------------------------------------------------------------------------
55        var options = $.extend(defaults, _options),
56            container = $(this),
57            template,
58            social_networks = ['facebook', 'instagram', 'vk', 'google', 'blogspot', 'twitter', 'pinterest', 'rss'],
59            posts_to_load_count = 0,
60            loaded_post_count = 0;
61        // container.empty().css('display', 'block');
62        //---------------------------------------------------------------------------------
63
64        //---------------------------------------------------------------------------------
65        // This function performs consequent data loading from all of the sources by calling corresponding functions
66        function calculatePostsToLoadCount() {
67            social_networks.forEach(function(network) {
68                if (options[network]) {
69                    if (options[network].accounts) {
70                        posts_to_load_count += options[network].limit * options[network].accounts.length;
71                    } else {
72                        posts_to_load_count += options[network].limit;
73                    }
74                }
75            });
76        }
77
78        calculatePostsToLoadCount();
79
80        function fireCallback() {
81            var fire = true;
82            /*$.each(Object.keys(loaded), function() {
83                if (loaded[this] > 0)
84                    fire = false;
85            });*/
86            if (fire && options.callback) {
87                options.callback();
88            }
89        }
90
91        var Utility = {
92            request: function(url, callback) {
93                $.ajax({
94                    url: url,
95                    dataType: 'jsonp',
96                    success: callback
97                });
98            },
99            get_request: function(url, callback) {
100                $.get(url, callback, 'json');
101            },
102            wrapLinks: function(string, social_network) {
103                var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
104                if (social_network === 'google-plus') {
105                    string = string.replace(/(@|#)([a-z0-9_]+['])/ig, Utility.wrapGoogleplusTagTemplate);
106                } else {
107                    string = string.replace(exp, Utility.wrapLinkTemplate);
108                }
109                return string;
110            },
111            wrapLinkTemplate: function(string) {
112                return '<a target="_blank" href="' + string + '">' + string + '<\/a>';
113            },
114            wrapGoogleplusTagTemplate: function(string) {
115                return '<a target="_blank" href="https://plus.google.com/s/' + string + '" >' + string + '<\/a>';
116            },
117            shorten: function(string) {
118                string = $.trim(string);
119                if (string.length > options.length) {
120                    return jQuery.trim(string).substring(0, options.length).split(" ").slice(0, -1).join(" ") + "...";
121                } else {
122                    return string;
123                }
124            },
125            stripHTML: function(string) {
126                if (typeof string === "undefined" || string === null) {
127                    return '';
128                }
129                return string.replace(/(<([^>]+)>)|nbsp;|\s{2,}|/ig, "");
130            }
131        };
132
133        function SocialFeedPost(social_network, data) {
134            this.content = data;
135            this.content.social_network = social_network;
136            this.content.attachment = (this.content.attachment === undefined) ? '' : this.content.attachment;
137            this.content.time_ago = data.dt_create.fromNow();
138            this.content.date = data.dt_create.format(options.date_format);
139            this.content.dt_create = this.content.dt_create.valueOf();
140            this.content.text = Utility.wrapLinks(Utility.shorten(data.message + ' ' + data.description), data.social_network);
141            this.content.moderation_passed = (options.moderation) ? options.moderation(this.content) : true;
142
143            Feed[social_network].posts.push(this);
144        }
145        SocialFeedPost.prototype = {
146            render: function() {
147                var rendered_html = Feed.template(this.content);
148                var data = this.content;
149
150                if ($(container).children('[social-feed-id=' + data.id + ']').length !== 0) {
151                    return false;
152                }
153                if ($(container).children().length === 0) {
154                    $(container).append(rendered_html);
155                } else {
156                    var i = 0,
157                        insert_index = -1;
158                    $.each($(container).children(), function() {
159                        if ($(this).attr('dt-create') < data.dt_create) {
160                            insert_index = i;
161                            return false;
162                        }
163                        i++;
164                    });
165                    $(container).append(rendered_html);
166                    if (insert_index >= 0) {
167                        insert_index++;
168                        var before = $(container).children('div:nth-child(' + insert_index + ')'),
169                            current = $(container).children('div:last-child');
170                        $(current).insertBefore(before);
171                    }
172
173                }
174                if (options.media_min_width) {
175
176                    var query = '[social-feed-id=' + data.id + '] img.attachment';
177                    var image = $(query);
178
179                    // preload the image
180                    var height, width = '';
181                    var img = new Image();
182                    var imgSrc = image.attr("src");
183
184                    $(img).load(function() {
185
186                        if (img.width < options.media_min_width) {
187                            image.hide();
188                        }
189                        // garbage collect img
190                        delete img;
191
192                    }).error(function() {
193                        // image couldnt be loaded
194                        image.hide();
195
196                    }).attr({
197                        src: imgSrc
198                    });
199
200                }
201
202                loaded_post_count++;
203                if (loaded_post_count == posts_to_load_count) {
204                    fireCallback();
205                }
206
207            }
208
209        };
210
211        var Feed = {
212            template: false,
213            init: function() {
214                Feed.getTemplate(function() {
215                    social_networks.forEach(function(network) {
216                        if (options[network]) {
217                            if ( options[network].accounts ) {
218                                //loaded[network] = 0;
219                                options[network].accounts.forEach(function(account) {
220                                    //loaded[network]++;
221                                    Feed[network].getData(account);
222                                });
223                            } else if ( options[network].urls ) {
224                                options[network].urls.forEach(function(url) {
225                                    Feed[network].getData(url);
226                                });
227                            } else {
228                                Feed[network].getData();
229                            }
230                        }
231                    });
232                });
233            },
234            getTemplate: function(callback) {
235                if (Feed.template)
236                    return callback();
237                else {
238                    if (options.template_html) {
239                        Feed.template = doT.template(options.template_html);
240                        return callback();
241                    } else {
242                        $.get(options.template, function(template_html) {
243                            Feed.template = doT.template(template_html);
244                            return callback();
245                        });
246                    }
247                }
248            },
249            twitter: {
250                posts: [],
251                loaded: false,
252                api: 'http://api.tweecool.com/',
253
254                getData: function(account) {
255
256                    var cb = new Codebird();
257                    cb.setConsumerKey(options.twitter.consumer_key, options.twitter.consumer_secret);
258
259                    // Allow setting your own proxy with Codebird
260                    if (options.twitter.proxy !== undefined) {
261                        cb.setProxy(options.twitter.proxy);
262                    }
263
264                    switch (account[0]) {
265                        case '@':
266                            var userid = account.substr(1);
267                            cb.__call(
268                                "statuses_userTimeline",
269                                "id=" + userid + "&count=" + options.twitter.limit,
270                                Feed.twitter.utility.getPosts,
271                                true // this parameter required
272                            );
273                            break;
274                        case '#':
275                            var hashtag = account.substr(1);
276                            cb.__call(
277                                "search_tweets",
278                                "q=" + hashtag + "&count=" + options.twitter.limit,
279                                function(reply) {
280                                    Feed.twitter.utility.getPosts(reply.statuses);
281                                },
282                                true // this parameter required
283                            );
284                            break;
285                        default:
286                    }
287                },
288                utility: {
289                    getPosts: function(json) {
290                        if (json) {
291                            $.each(json, function() {
292                                var element = this;
293                                var post = new SocialFeedPost('twitter', Feed.twitter.utility.unifyPostData(element));
294                                post.render();
295                            });
296                        }
297                    },
298                    unifyPostData: function(element) {
299                        var post = {};
300                        if (element.id) {
301                            post.id = element.id;
302                            //prevent a moment.js console warning due to Twitter's poor date format.
303                            post.dt_create = moment(new Date(element.created_at));
304                            post.author_link = 'http://twitter.com/' + element.user.screen_name;
305                            post.author_picture = element.user.profile_image_url;
306                            post.post_url = post.author_link + '/status/' + element.id_str;
307                            post.author_name = element.user.name;
308                            post.message = element.text;
309                            post.description = '';
310                            post.link = 'http://twitter.com/' + element.user.screen_name + '/status/' + element.id_str;
311
312                            if (options.show_media === true) {
313                                if (element.entities.media && element.entities.media.length > 0) {
314                                    var image_url = element.entities.media[0].media_url;
315                                    if (image_url) {
316                                        post.attachment = '<img class="attachment" src="' + image_url + '" />';
317                                    }
318                                }
319                            }
320                        }
321                        return post;
322                    }
323                }
324            },
325            facebook: {
326                posts: [],
327                graph: 'https://graph.facebook.com/',
328                loaded: false,
329                getData: function(account) {
330                    var proceed = function(request_url){
331                        Utility.request(request_url, Feed.facebook.utility.getPosts);
332                    };
333                    var fields = '?fields=id,from,name,message,created_time,story,description,link';
334                       fields += (options.show_media === true)?',picture,object_id':'';
335                    var request_url, limit = '&limit=' + options.facebook.limit,
336                        query_extention = '&access_token=' + options.facebook.access_token + '&callback=?';
337                    switch (account[0]) {
338                        case '@':
339                            var username = account.substr(1);
340                            Feed.facebook.utility.getUserId(username, function(userdata) {
341                                if (userdata.id !== '') {
342                                    request_url = Feed.facebook.graph + 'v2.4/' + userdata.id + '/posts'+ fields + limit + query_extention;
343                                    proceed(request_url);
344                                }
345                            });
346                            break;
347                        case '!':
348                            var page = account.substr(1);
349                            request_url = Feed.facebook.graph + 'v2.4/' + page + '/feed'+ fields + limit + query_extention;
350                            proceed(request_url);
351                            break;
352                        default:
353                            proceed(request_url);
354                    }
355                },
356                utility: {
357                    getUserId: function(username, callback) {
358                        var query_extention = '&access_token=' + options.facebook.access_token + '&callback=?';
359                        var url = 'https://graph.facebook.com/' + username + '?' + query_extention;
360                        var result = '';
361                        $.get(url, callback, 'json');
362                    },
363                    prepareAttachment: function(element) {
364                        var image_url = element.picture;
365                        if (image_url.indexOf('_b.') !== -1) {
366                            //do nothing it is already big
367                        } else if (image_url.indexOf('safe_image.php') !== -1) {
368                            image_url = Feed.facebook.utility.getExternalImageURL(image_url, 'url');
369
370                        } else if (image_url.indexOf('app_full_proxy.php') !== -1) {
371                            image_url = Feed.facebook.utility.getExternalImageURL(image_url, 'src');
372
373                        } else if (element.object_id) {
374                            image_url = Feed.facebook.graph + element.object_id + '/picture/?type=normal';
375                        }
376                        return '<img class="attachment" src="' + image_url + '" />';
377                    },
378                    getExternalImageURL: function(image_url, parameter) {
379                        image_url = decodeURIComponent(image_url).split(parameter + '=')[1];
380                        if (image_url.indexOf('fbcdn-sphotos') === -1) {
381                            return image_url.split('&')[0];
382                        } else {
383                            return image_url;
384                        }
385
386                    },
387                    getPosts: function(json) {
388                        if (json['data']) {
389                            json['data'].forEach(function(element) {
390                                var post = new SocialFeedPost('facebook', Feed.facebook.utility.unifyPostData(element));
391                                post.render();
392                            });
393                        }
394                    },
395                    unifyPostData: function(element) {
396                        var post = {},
397                            text = (element.message) ? element.message : element.story;
398
399                        post.id = element.id;
400                        post.dt_create = moment(element.created_time);
401                        post.author_link = 'http://facebook.com/' + element.from.id;
402                        post.author_picture = Feed.facebook.graph + element.from.id + '/picture';
403                        post.author_name = element.from.name;
404                        post.name = element.name || "";
405                        post.message = (text) ? text : '';
406                        post.description = (element.description) ? element.description : '';
407                        post.link = (element.link) ? element.link : 'http://facebook.com/' + element.from.id;
408
409                        if (options.show_media === true) {
410                            if (element.picture) {
411                                var attachment = Feed.facebook.utility.prepareAttachment(element);
412                                if (attachment) {
413                                    post.attachment = attachment;
414                                }
415                            }
416                        }
417                        return post;
418                    }
419                }
420            },
421            google: {
422                posts: [],
423                loaded: false,
424                api: 'https://www.googleapis.com/plus/v1/',
425                getData: function(account) {
426                    var request_url;
427                    switch (account[0]) {
428                        case '#':
429                            var hashtag = account.substr(1);
430                            request_url = Feed.google.api + 'activities?query=' + hashtag + '&key=' + options.google.access_token + '&maxResults=' + options.google.limit;
431                            Utility.get_request(request_url, Feed.google.utility.getPosts);
432                            break;
433                        case '@':
434                            var username = account.substr(1);
435                            request_url = Feed.google.api + 'people/' + username + '/activities/public?key=' + options.google.access_token + '&maxResults=' + options.google.limit;
436                            Utility.get_request(request_url, Feed.google.utility.getPosts);
437                            break;
438                        default:
439                    }
440                },
441                utility: {
442                    getPosts: function(json) {
443                        if (json.items) {
444                            $.each(json.items, function(i) {
445                                var post = new SocialFeedPost('google', Feed.google.utility.unifyPostData(json.items[i]));
446                                post.render();
447                            });
448                        }
449                    },
450                    unifyPostData: function(element) {
451                        var post = {};
452
453                        post.id = element.id;
454                        post.attachment = '';
455                        post.description = '';
456                        post.dt_create = moment(element.published);
457                        post.author_link = element.actor.url;
458                        post.author_picture = element.actor.image.url;
459                        post.author_name = element.actor.displayName;
460
461                        if (options.show_media === true) {
462                            if (element.object.attachments) {
463                                $.each(element.object.attachments, function() {
464                                    var image = '';
465                                    if (this.fullImage) {
466                                        image = this.fullImage.url;
467                                    } else {
468                                        if (this.objectType === 'album') {
469                                            if (this.thumbnails && this.thumbnails.length > 0) {
470                                                if (this.thumbnails[0].image) {
471                                                    image = this.thumbnails[0].image.url;
472                                                }
473                                            }
474                                        }
475                                    }
476                                    post.attachment = '<img class="attachment" src="' + image 
476+ '"/>';
477                                });
478                            }
479                        }
480                        post.message = element.title;
481                        post.link = element.url;
482
483                        return post;
484                    }
485                }
486            },
487            instagram: {
488                posts: [],
489                api: 'https://api.instagram.com/v1/',
490                loaded: false,
491                accessType: function() {
492                    // If we have both the client_id and access_token set in options,
493                    // use access_token for authentication. If client_id is not set
494                    // then use access_token. If neither are set, log an error to console.
495                    if (typeof options.instagram.access_token === 'undefined' && typeof options.instagram.client_id === 'undefined') {
496                        console.log('You need to define a client_id or access_token to authenticate with Instagram\'s API.');
497                        return undefined;
498                    }
499                    if (options.instagram.access_token) { options.instagram.client_id = undefined; }
500                    options.instagram.access_type = (typeof options.instagram.client_id === 'undefined' ? 'access_token' : 'client_id');
501                    return options.instagram.access_type;
502                },
503                getData: function(account) {
504                    var url;
505
506                    // API endpoint URL depends on which authentication type we're using.
507                    if (this.accessType() !== 'undefined') {
508                        var authTokenParams = options.instagram.access_type + '=' + options.instagram[options.instagram.access_type];
509                    }
510
511                    switch (account[0]) {
512                        case '@':
513                            var username = account.substr(1);
514                            url = Feed.instagram.api + 'users/search/?q=' + username + '&' + authTokenParams + '&count=1' + '&callback=?';
515                            Utility.request(url, Feed.instagram.utility.getUsers);
516                            break;
517                        case '#':
518                            var hashtag = account.substr(1);
519                            url = Feed.instagram.api + 'tags/' + hashtag + '/media/recent/?' + authTokenParams + '&' + 'count=' + options.instagram.limit + '&callback=?';
520                            Utility.request(url, Feed.instagram.utility.getImages);
521                            break;
522                        case '&':
523                            var id = account.substr(1);
524                            url = Feed.instagram.api + 'users/' + id + '/?' + authTokenParams + '&' + 'count=' + options.instagram.limit + '&callback=?';
525                            Utility.request(url, Feed.instagram.utility.getUsers);
526                        default:
527                    }
528                },
529                utility: {
530                    getImages: function(json) {
531                        if (json.data) {
532                            json.data.forEach(function(element) {
533                                var post = new SocialFeedPost('instagram', Feed.instagram.utility.unifyPostData(element));
534                                post.render();
535                            });
536                        }
537                    },
538                    getUsers: function(json) {
539                        // API endpoint URL depends on which authentication type we're using.
540                        if (options.instagram.access_type !== 'undefined') {
541                            var authTokenParams = options.instagram.access_type + '=' + options.instagram[options.instagram.access_type];
542                        }
543
544                        if (!jQuery.isArray(json.data)) json.data = [json.data]
545                        json.data.forEach(function(user) {
546                            var url = Feed.instagram.api + 'users/' + user.id + '/media/recent/?' + authTokenParams + '&' + 'count=' + options.instagram.limit + '&callback=?';
547                            Utility.request(url, Feed.instagram.utility.getImages);
548                        });
549                    },
550                    unifyPostData: function(element) {
551                        var post = {};
552
553                        post.id = element.id;
554                        post.dt_create = moment(element.created_time * 1000);
555                        post.author_link = 'http://instagram.com/' + element.user.username;
556                        post.author_picture = element.user.profile_picture;
557                        post.author_name = element.user.full_name || element.user.username;
558                        post.message = (element.caption && element.caption) ? element.caption.text : '';
559                        post.description = '';
560                        post.link = element.link;
561                        if (options.show_media) {
562                            post.attachment = '<img class="attachment" src="' + element.images.standard_resolution.url + '' + '" />';
563                        }
564                        return post;
565                    }
566                }
567            },
568            vk: {
569                posts: [],
570                loaded: false,
571                base: 'http://vk.com/',
572                api: 'https://api.vk.com/method/',
573                user_json_template: 'https://api.vk.com/method/' + 'users.get?fields=first_name,%20last_name,%20screen_name,%20photo&uid=',
574                group_json_template: 'https://api.vk.com/method/' + 'groups.getById?fields=first_name,%20last_name,%20screen_name,%20photo&gid=',
575                getData: function(account) {
576                    var request_url;
577
578                    switch (account[0]) {
579                        case '@':
580                            var username = account.substr(1);
581                            request_url = Feed.vk.api + 'wall.get?owner_id=' + username + '&filter=' + options.vk.source + '&count=' + options.vk.limit + '&callback=?';
582                            Utility.get_request(request_url, Feed.vk.utility.getPosts);
583                            break;
584                        case '#':
585                            var hashtag = account.substr(1);
586                            request_url = Feed.vk.api + 'newsfeed.search?q=' + hashtag + '&count=' + options.vk.limit + '&callback=?';
587                            Utility.get_request(request_url, Feed.vk.utility.getPosts);
588                            break;
589                        default:
590                    }
591                },
592                utility: {
593                    getPosts: function(json) {
594                        if (json.response) {
595                            $.each(json.response, function() {
596                                if (this != parseInt(this) && this.post_type === 'post') {
597                                    var owner_id = (this.owner_id) ? this.owner_id : this.from_id,
598                                        vk_wall_owner_url = (owner_id > 0) ? (Feed.vk.user_json_template + owner_id + '&callback=?') : (Feed.vk.group_json_template + (-1) * owner_id + '&callback=?'),
599                                        element = this;
600                                    Utility.get_request(vk_wall_owner_url, function(wall_owner) {
601                                        Feed.vk.utility.unifyPostData(wall_owner, element, json);
602                                    });
603                                }
604                            });
605                        }
606                    },
607                    unifyPostData: function(wall_owner, element, json) {
608                        var post = {};
609
610                        post.id = element.id;
611                        post.dt_create = moment.unix(element.date);
612                        post.description = ' ';
613                        post.message = Utility.stripHTML(element.text);
614                        if (options.show_media) {
615                            if (element.attachment) {
616                                if (element.attachment.type === 'link')
617                                    post.attachment = '<img class="attachment" src="' + element.attachment.link.image_src + '" />';
618                                if (element.attachment.type === 'video')
619                                    post.attachment = '<img class="attachment" src="' + element.attachment.video.image_big + '" />';
620                                if (element.attachment.type === 'photo')
621                                    post.attachment = '<img class="attachment" src="' + element.attachment.photo.src_big + '" />';
622                            }
623                        }
624
625                        if (element.from_id > 0) {
626                            var vk_user_json = Feed.vk.user_json_template + element.from_id + '&callback=?';
627                            Utility.get_request(vk_user_json, function(user_json) {
628                                var vk_post = new SocialFeedPost('vk', Feed.vk.utility.getUser(user_json, post, element, json));
629                                vk_post.render();
630                            });
631
632                        } else {
633                            var vk_group_json = Feed.vk.group_json_template + (-1) * element.from_id + '&callback=?';
634                            Utility.get_request(vk_group_json, function(user_json) {
635                                var vk_post = new SocialFeedPost('vk', Feed.vk.utility.getGroup(user_json, post, element, json));
636                                vk_post.render();
637                            });
638                        }
639                    },
640                    getUser: function(user_json, post, element, json) {
641                        post.author_name = user_json.response[0].first_name + ' ' + user_json.response[0].last_name;
642                        post.author_picture = user_json.response[0].photo;
643                        post.author_link = Feed.vk.base + user_json.response[0].screen_name;
644                        post.link = Feed.vk.base + user_json.response[0].screen_name + '?w=wall' + element.from_id + '_' + element.i
644d;
645
646                        return post;
647                    },
648                    getGroup: function(user_json, post, element, json) {
649                        post.author_name = user_json.response[0].name;
650                        post.author_picture = user_json.response[0].photo;
651                        post.author_link = Feed.vk.base + user_json.response[0].screen_name;
652                        post.link = Feed.vk.base + user_json.response[0].screen_name + '?w=wall-' + user_json.response[0].gid + '_' + element.id;
653
654                        return post;
655                    }
656                }
657            },
658            blogspot: {
659                loaded: false,
660                getData: function(account) {
661                    var url;
662
663                    switch (account[0]) {
664                        case '@':
665                            var username = account.substr(1);
666                            url = 'http://' + username + '.blogspot.com/feeds/posts/default?alt=json-in-script&callback=?';
667                            request(url, getPosts);
668                            break;
669                        default:
670                    }
671                },
672                utility: {
673                    getPosts: function(json) {
674                        $.each(json.feed.entry, function() {
675                            var post = {},
676                                element = this;
677                            post.id = element.id['$t'].replace(/[^a-z0-9]/gi, '');
678                            post.dt_create = moment((element.published['$t']));
679                            post.author_link = element.author[0]['uri']['$t'];
680                            post.author_picture = 'http:' + element.author[0]['gd$image']['src'];
681                            post.author_name = element.author[0]['name']['$t'];
682                            post.message = element.title['$t'] + '</br></br>' + stripHTML(element.content['$t']);
683                            post.description = '';
684                            post.link = element.link.pop().href;
685
686                            if (options.show_media) {
687                                if (element['media$thumbnail']) {
688                                    post.attachment = '<img class="attachment" src="' + element['media$thumbnail']['url'] + '" />';
689                                }
690                            }
691
692                            post.render();
693
694                        });
695                    }
696                }
697            },
698            pinterest: {
699                posts: [],
700                loaded: false,
701                apiv1: 'https://api.pinterest.com/v1/',
702
703                getData: function(account) {
704                    var request_url,
705                      limit = 'limit=' + options.pinterest.limit,
706                      fields = 'fields=id,created_at,link,note,creator(url,first_name,last_name,image),image',
707                      query_extention = fields + '&access_token=' 
707+ options.pinterest.access_token + '&' + limit + '&callback=?';
708                    switch (account[0]) {
709                        case '@':
710                            var username = account.substr(1);
711                            if (username === 'me') {
712                                request_url = Feed.pinterest.apiv1 + 'me/pins/?' + query_extention;
713                            } else {
714                                request_url = Feed.pinterest.apiv1 + 'boards/' + username + '/pins?' + query_extention;
715                            }
716                            break;
717                        default:
718                    }
719                    Utility.request(request_url, Feed.pinterest.utility.getPosts);
720                },
721                utility: {
722
723                    getPosts: function(json) {
724                        json.data.forEach(function(element) {
725                            var post = new SocialFeedPost('pinterest', Feed.pinterest.utility.unifyPostData(element));
726                            post.render();
727                        });
728                    },
729
730                    unifyPostData: function(element){
731                        var post = {};
732
733                        post.id = element.id;
734                        post.dt_create= moment(element.created_at);
735                        post.author_link = element.creator.url;
736                        post.author_picture = element.creator.image['60x60' ].url;
737                        post.author_name =  element.creator.first_name + element.creator.last_name;
738                        post.message = element.note;
739                        post.description = '';
740                        post.social_network = 'pinterest';
741                        post.link = element.link ? element.link : 'https://www.pinterest.com/pin/' + element.id;
742                        if (options.show_media) {
743                            post.attachment = '<img class="attachment" src="' + element.image['original'].url + '" />';
744                        }
745                        return post;
746                    }
747                }
748            },
749            rss : {
750                posts: [],
751                loaded: false,
752                api : 'https://ajax.googleapis.com/ajax/services/feed/load?v=1.0',
753
754                getData: function(url) {
755                    var limit = '&num='+ options.rss.limit,
756                      request_url = Feed.rss.api + limit + '&q=' + encodeURIComponent(url);
757
758                    Utility.request(request_url, Feed.rss.utility.getPosts);
759                },
760                utility: {
761
762                    getPosts: function(json) {
763                        $.each(json.responseData.feed.entries, function(index, element) {
764                            var post = new SocialFeedPost('rss', Feed.rss.utility.unifyPostData(index, element));
765                            post.render();
766                        });
767                    },
768
769                    unifyPostData: function(index, element){
770                        var post = {};
771
772                        post.id = index;
773                        post.dt_create= moment(element.publishedDate, 'ddd, DD MMM YYYY HH:mm:ss ZZ', 'en');
774                        post.author_link = '';
775                        post.author_picture = '';
776                        post.author_name = element.author;
777                        post.message = Utility.stripHTML(element.title);
778                        post.description = Utility.stripHTML(element.content);
779                        post.social_network = 'rss';
780                        post.link = element.link;
781                        if (options.show_media && element.mediaGroups ) {
782                            post.attachment = '<img class="attachment" src="' + element.mediaGroups[0].contents[0].url + '" />';
783                        }
784                        return post;
785                    }
786                }
787            }
788        };
789
790        //make the plugin chainable
791        return this.each(function() {
792            // Initialization
793            Feed.init();
794            if (options.update_period) {
795                setInterval(function() {
796                    return Feed.init();
797                }, options.update_period);
798            }
799        })
800    };
801
802})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.