YUI.add("photo-selector-photolist-view",(function(e){e.namespace("Views")[this.name]=e.Base.create(this.name,e.FlickrView,[],{initializer:function(i){return i.photolistViewClasses&&(i.additionalViewClasses=i.photolistViewClasses),i.photoListConfig=e.merge(i.primaryPhotoListConfig),i.publicOnlyPhotos=i.publicOnlyPhotos,""===this.get("container").get("innerHTML")&&this.setContainerHTML(""),this},subviewConfig:{"photo-list-view":{requiredToShowOnClient:!0,requiredToShowOnServer:!0}},buildContainer:function(){return this.setContainerWithTemplate("photo-selector-photolist-subview"),this}})}),"@VERSION@",{requires:["flickr-view","photo-list-view","hermes-template-photo-selector-photolist-subview"]});YUI.add("hermes-template-search-photos-single-row",(function(l,n){var e=l.Template.Handlebars.revive({1:function(l,n,e,t,a){var o,r,s,i=null!=n?n:l.nullContext||{},u=l.hooks.helperMissing,c="function",p=l.lookupProperty||function(l,n){if(Object.prototype.hasOwnProperty.call(l,n))return l[n]},h='\t<h5 class="search-results-header">\n\t\t'+(null!=(o=p(e,"unless").call(i,null!=n?p(n,"loading"):n,{name:"unless",hash:{},fn:l.program(2,a,0),inverse:l.noop,data:a,loc:{start:{line:3,column:2},end:{line:7,column:24}}}))?o:"")+"\n\t\t"+l.escapeExpression(typeof(r=null!=(r=p(e,"title")||(null!=n?p(n,"title"):n))?r:u)===c?r.call(i,{name:"title",hash:{},data:a,loc:{start:{line:8,column:2},end:{line:8,column:11}}}):r)+"\n";return r=null!=(r=p(e,"showBetaLabel")||(null!=n?p(n,"showBetaLabel"):n))?r:u,s={name:"showBetaLabel",hash:{},fn:l.program(6,a,0),inverse:l.noop,data:a,loc:{start:{line:9,column:2},end:{line:11,column:20}}},o=typeof r===c?r.call(i,s):r,p(e,"showBetaLabel")||(o=l.hooks.blockHelperMissing.call(n,o,s)),null!=o&&(h+=o),h+(null!=(o=p(e,"if").call(i,null!=n?p(n,"loading"):n,{name:"if",hash:{},fn:l.program(8,a,0),inverse:l.noop,data:a,loc:{start:{line:12,column:2},end:{line:14,column:9}}}))?o:"")+"\t</h5>\n"+(null!=(o=p(e,"if").call(i,null!=n?p(n,"loading"):n,{name:"if",hash:{},fn:l.program(10,a,0),inverse:l.program(12,a,0),data:a,loc:{start:{line:16,column:1},end:{line:20,column:8}}}))?o:"")},2:function(l,n,e,t,a){var o,r=l.lookupProperty||function(l,n){if(Object.prototype.hasOwnProperty.call(l,n))return l[n]};return null!=(o=r(e,"unless").call(null!=n?n:l.nullContext||{},null!=n?r(n,"singleResult"):n,{name:"unless",hash:{},fn:l.program(3,a,0),inverse:l.noop,data:a,loc:{start:{line:3,column:21},end:{line:7,column:13}}}))?o:""},3:function(l,n,e,t,a){var o,r,s=null!=n?n:l.nullContext||{},i=l.hooks.helperMissing,u=l.escapeExpression,c=l.lookupProperty||function(l,n){if(Object.prototype.hasOwnProperty.call(l,n))return l[n]};return'\n\t\t\t<a href="'+u("function"==typeof(r=null!=(r=c(e,"viewAll")||(null!=n?c(n,"viewAll"):n))?r:i)?r.call(s,{name:"viewAll",hash:{},data:a,loc:{start:{line:4,column:12},end:{line:4,column:23}}}):r)+'" class="view-more-link"'+(null!=(o=c(e,"if").call(s,null!=n?c(n,"viewAllDataTrack"):n,{name:"if",hash:{},fn:l.program(4,a,0),inverse:l.noop,data:a,loc:{start:{line:4,column:47},end:{line:4,column:112}}}))?o:"")+">\n\t\t\t\t"+u((c(e,"intlHTMLMessage")||n&&c(n,"intlHTMLMessage")||i).call(s,{name:"intlHTMLMessage",hash:{count:null!=n?c(n,"total"):n,intlName:"search.VIEW_ALL_COUNT"},data:a,loc:{start:{line:5,column:4},end:{line:5,column:68}}}))+"\n\t\t\t</a>\n\t\t"},4:function(l,n,e,t,a){var o,r=l.lookupProperty||function(l,n){if(Object.prototype.hasOwnProperty.call(l,n))return l[n]};return' data-track="'+l.escapeExpression("function"==typeof(o=null!=(o=r(e,"viewAllDataTrack")||(null!=n?r(n,"viewAllDataTrack"):n))?o:l.hooks.helperMissing)?o.call(null!=n?n:l.nullContext||{},{name:"viewAllDataTrack",hash:{},data:a,loc:{start:{line:4,column:84},end:{line:4,column:104}}}):o)+'"'},6:function(l,n,e,t,a){var o=l.lookupProperty||function(l,n){if(Object.prototype.hasOwnProperty.call(l,n))return l[n]};return'\t\t\t<span class="label-beta">'+l.escapeExpression((o(e,"intlMessage")||n&&o(n,"intlMessage")||l.hooks.helperMissing).call(null!=n?n:l.nullContext||{},{name:"intlMessage",hash:{intlName:"common.BETA"},data:a,loc:{start:{line:10,column:28},end:{line:10,column:67}}}))+"</span>\n"},8:function(l,n,e,t,a){return'\t\t\t<div class="flickr-dots inline"></div>\n'},10:function(l,n,e,t,a){var o,r=l.lookupProperty||function(l,n){if(Object.prototype.hasOwnProperty.call(l,n))return l[n]};return'\t\t<div style="height: '+l.escapeExpression("function"==typeof(o=null!=(o=r(e,"placeholderHeight")||(null!=n?r(n,"placeholderHeight"):n))?o:l.hooks.helperMissing)?o.call(null!=n?n:l.nullContext||{},{name:"placeholderHeight",hash:{},data:a,loc:{start:{line:17,column:22},end:{line:17,column:43}}}):o)+'px;"></div>\n'},12:function(l,n,e,t,a){var o=l.lookupProperty||function(l,n){if(Object.prototype.hasOwnProperty.call(l,n))return l[n]};return"\t\t"+l.escapeExpression((o(e,"outlet")||n&&o(n,"outlet")||l.hooks.helperMissing).call(null!=n?n:l.nullContext||{},null!=n?o(n,"photo-list-view"):n,{name:"outlet",hash:{},data:a,loc:{start:{line:19,column:2},end:{line:19,column:28}}}))+"\n"},compiler:[8,">= 4.3.0"],main:function(l,n,e,t,a){var o,r=l.lookupProperty||function(l,n){if(Object.prototype.hasOwnProperty.call(l,n))return l[n]};return null!=(o=r(e,"unless").call(null!=n?n:l.nullContext||{},null!=n?r(n,"emptySearch"):n,{name:"unless",hash:{},fn:l.program(1,a,0),inverse:l.noop,data:a,loc:{start:{line:1,column:0},end:{line:21,column:11}}}))?o:""},useData:!0}),t={};l.Array.each([],(function(n){var e=l.Template.get("hermes/"+n);e&&(t[n]=e)})),l.Template.register("hermes/search-photos-single-row",(function(n,a){return(a=a||{}).partials=a.partials?l.merge(t,a.partials):t,e(n,a)}))}),"@VERSION@",{requires:["template-base","handlebars-base"]});YUI.add("photo-lite-models",(function(e){function t(e){t.superclass.constructor.call(this,e)}e.Models[this.name]=t,e.extend(t,e.FlickrModelRegistry,{name:this.name,remote:{update:e.PhotoModelHelper.updateEngagement,addReaction:function(t){return e.ModelUpdaters["flickr-reactions-add"].run(t,this.appContext)},removeReaction:function(t){return e.ModelUpdaters["flickr-reactions-remove"].run(t,this.appContext)}},toggleFave:e.PhotoModelHelper.toggleFave,addAsFave:e.PhotoModelHelper.addAsFave,toggleReaction:function(e,t,o){var r="photo-engagement-models",i=this.getValue(e,"reactions")[t].count,a=Object.assign({},this.getValue(e,"reactions")),n=Object.assign({},a[t]);return n.didViewerReact=o,n.count=o?i+1:i-1,a[t]=n,this.setValue(e,"reactions",a),this.name!==r&&this.appContext.getModelRegistry(r).then((function(r){r.exists(e)&&r.toggleReaction(e,t,o)})),this.getValue(e,"reactions")[t]},updateReactionRemote:function(t,o){return e.Promise.resolve({})},getLargestSize:e.PhotoModelHelper.getLargestSize,getSizeToFit:e.PhotoModelHelper.getSizeToFit,getSizeIfExact:e.PhotoModelHelper.getSizeIfExact,isSizeSquare:e.PhotoModelHelper.isSizeSquare,isPhotoSquare:e.PhotoModelHelper.isPhotoSquare,attributes:{owner:{readOnly:!0,isModel:!0,getter:function(e,t){var o=this;return{id:o.getValue(t,"ownerNsid"),getValue:function(e){return"id"===e||"nsid"===e?o.getValue(t,"ownerNsid"):"url"===e?o.getValue(t,"ownerUrl"):o.getValue(t,e)},toJSON:function(){return{id:o.getValue(t,"ownerNsid"),url:o.getValue(t,"ownerUrl"),pathAlias:o.getValue(t,"pathAlias"),username:o.getValue(t,"username"),realname:o.getValue(t,"realname"),displayname:o.getValue(t,"displayname"),nsid:o.getValue(t,"ownerNsid"),ownerUrl:o.getValue(t,"ownerUrl"),isMe:o.getValue(t,"isMe")}},exists:function(e){return!1}}}},pathAlias:e.PersonModelHelper.attributes.pathAlias,username:e.PersonModelHelper.attributes.username,realname:e.PersonModelHelper.attributes.realname,displayname:e.PersonModelHelper.attributes.displayname,nsid:e.PersonModelHelper.attributes.nsid,ownerUrl:e.PersonModelHelper.attributes.url,isMe:e.PersonModelHelper.attributes.isMe,engagement:{readOnly:!0,isModel:!0,getter:function(e,t){var o=this;return{registry:this,getValue:function(e){return o.getValue(t,e)},toJSON:function(){return{ownerNsid:o.getValue(t,"ownerNsid"),isFaved:o.getValue(t,"isFaved"),faveCount:o.getValue(t,"faveCount"),commentCount:o.getValue(t,"commentCount"),canFave:o.getValue(t,"canFave"),reactions:o.getValue(t,"reactions")}},exists:function(e){return!1}}}},ownerNsid:e.PhotoModelHelper.attributes.ownerNsid,isFaved:e.PhotoModelHelper.attributes.isFaved,faveCount:e.PhotoModelHelper.attributes.faveCount,commentCount:e.PhotoModelHelper.attributes.commentCount,canFave:e.PhotoModelHelper.attributes.canFave,title:e.PhotoModelHelper.attributes.title,description:e.PhotoModelHelper.attributes.description,mediaType:e.PhotoModelHelper.attributes.mediaType,contentType:e.PhotoModelHelper.attributes.contentType,license:e.PhotoModelHelper.attributes.license,isVideo:e.PhotoModelHelper.attributes.isVideo,isOwner:e.PhotoModelHelper.attributes.isOwner,sizes:e.PhotoModelHelper.attributes.sizes,descendingSizes:e.PhotoModelHelper.attributes.descendingSizes,ascendingSizes:e.PhotoModelHelper.attributes.ascendingSizes,aspectRatio:e.PhotoModelHelper.attributes.aspectRatio,needsInterstitial:e.PhotoModelHelper.attributes.needsInterstitial,canComment:e.PhotoModelHelper.attributes.canComment,url:e.PhotoModelHelper.attributes.url,rotation:e.PhotoModelHelper.attributes.rotation,oWidth:{validator:function(t){return e.AttributeHelpers.validateInteger(t)},setter:function(t){return e.AttributeHelpers.coerceInteger(t)},defaultValue:0},oHeight:{validator:function(t){return e.AttributeHelpers.validateInteger(t)},setter:function(t){return e.AttributeHelpers.coerceInteger(t)},defaultValue:0},isPublic:{validator:function(t){return e.AttributeHelpers.validateBoolean(t)},setter:function(t){return e.AttributeHelpers.coerceBoolean(t)},defaultValue:!1},isVisibleByFriends:{validator:function(t){return e.AttributeHelpers.validateBoolean(t)},setter:function(t){return e.AttributeHelpers.coerceBoolean(t)},defaultValue:!1},isVisibleByFamily:{validator:function(t){return e.AttributeHelpers.validateBoolean(t)},setter:function(t){return e.AttributeHelpers.coerceBoolean(t)},defaultValue:!1},reactions:{defaultValue:{like:{id:"like",count:5,didViewerReact:!0,canReact:!0},someOtherReaction:{id:"someOtherReaction",count:3,didViewerReact:!1,canReact:!0}},derivedBy:["canFave"],getter:function(e,t){var o=this.getValue(t,"canFave");return e&&e.like&&(e.like.canReact=o,e.like.didViewerReact=!!o&&e.like.didViewerReact),e}}}})}),"@VERSION@",{requires:["flickr-model-registry","photo-model-helper","person-model-helper","flickr-favorites-add-updater","flickr-favorites-remove-updater","photo-models","photo-engagement-models","person-models"]});YUI.add("search-photos-lite-models",(function(e){function t(e){t.superclass.constructor.call(this,e)}e.Models[this.name]=t,e.extend(t,e.FlickrModelRegistry,{name:this.name,remote:{read:function(t){return t.getPhotoLiteModels=!0,e.ListFetchers["flickr-photos-search"].run(t,this.appContext)}},attributes:{photos:{isCollection:!0,pageFetch:{fetchParams:{getPhotoLiteModels:!0},listFetcher:e.ListFetchers["flickr-photos-search"],listItemIdField:"photoId"}},totalItems:{setter:function(t){return(t=e.AttributeHelpers.coerceInteger(t))<0&&(t=0),t},defaultValue:0},apiParams:{writeOnce:"initOnly"},emptyQuery:{defaultValue:!1}}})}),"@VERSION@",{requires:["flickr-model-registry","flickr-photos-search-fetcher","attribute-helpers"]});YUI.add("flickr-photos-search-fetcher",(function(e,t){"use strict";require("hermes-core/flog")(t);e.namespace("ListFetchers")["flickr-photos-search"]={run:function(o,r){var s=r.getViewer();return new e.Promise(((t,o)=>{if(s&&s.signedIn)return r.callAPI("flickr.prefs.getPrefs",{user_id:s.nsid,extras:["content_type_search","no_video_search"].join(",")}).then((function(o){e.SearchHelper.formatContentTypeParams(r,{content_types:o.settings_prefs.content_type_search,no_video_search:o.settings_prefs.no_video_search}),t()}));e.SearchHelper.formatContentTypeParams(r),t()})).then((s=>{var a,p=o.emptyQuery?{}:this._processParams(e.merge({lang:r.lang||e.config.lang},o),r);return p||(o.emptyQuery=!0),a=[o.emptyQuery?e.Promise.resolve({photos:{photo:[]}}):r.callAPI("flickr.photos.search",p)],a=o.getPhotoLiteModels?a.concat([r.getModelRegistry("search-photos-lite-models"),r.getModelRegistry("photo-lite-models")]):a.concat([r.getModelRegistry("search-photos-models"),r.getModelRegistry("photo-models"),r.getModelRegistry("person-models"),r.getModelRegistry("photo-engagement-models"),r.getModelRegistry("photo-stats-models"),r.getModelRegistry("photo-geo-models")]),e.Promise.all(a).then((e=>this._processResponse(e,o,r)),e.FetcherErrorLogger(t))}))},_processParams:function(t,o){var r,s=e.merge(e.SearchHelper.UNIFIED_DEFAULT_PARAMS,{extras:e.APIHelper.request[t.getPhotoLiteModels?"getRebootPhotoLiteExtras":"getRebootPhotoExtras"](),per_page:t.perPage||50,page:t.page||"1",lang:t.lang});return t.fetchGeo&&(s.extras+=",geo"),t.additionalExtras&&(s.extras+=","+t.additionalExtras.join(",")),t&&t.apiParams&&(t.apiParams.video_content_types&&!t.apiParams.content_types&&delete s.content_types,!t.apiParams.video_content_types&&t.apiParams.content_types&&delete s.video_content_types),r=e.merge(s,t.apiParams||{}),t.privacyFilter&&(r.privacy_filter=t.privacyFilter),YUI.Env.isServer&&e.SearchHelper.unescapeParameters(r),e.SearchHelper.isParameterlessSearch(r)?null:r},_processResponse:function(t,o,r){var s,a,p,i,n,l,h=t[0],d=t[1],g=t[2],c={id:o.id||e.SearchUrl.EMPTY_SEARCH_ID,apiParams:{},emptyQuery:!!o.emptyQuery,photos:[]};if(o.id&&o.id!==e.SearchUrl.EMPTY_SEARCH_ID&&(c.apiParams=e.QueryString.parse(o.id)),!o.id)throw new ReferenceError("No `id` provided by request.");if(!h.photos||!h.photos.photo){var m=new Error("No `photos.photo` property returned by search API v1.");throw m.fatal=!0,m}var u=h.photos.photo;return o.getPhotoLiteModels?p=u.map((function(t){return n=e.APIHelper.response.parsePhotoLite(t),g.addOrUpdate(n)})):(p=e.APIHelper.response.parsePhotos({photos:h.photos.photo,photoModelRegistry:g,personModelRegistry:t[3],photoEngagementModelRegistry:t[4],photoStatsModelRegistry:t[5]}),o.fetchGeo&&(s=t[6],h.photos.photo.forEach((function(e){i=void 0!==e.latitude?{id:e.id,hasGeo:!0,latitude:e.latitude,longitude:e.longitude}:{id:e.id,hasGeo:!1},s.addOrUpdate(i)})))),c.photos={perPage:h.photos.perpage,page:h.photos.page,pageContent:p,totalItems:parseInt(h.photos.total,10),totalPages:h.photos.pages/o.perPage},h.photos.maxAllowedResults&&(c.photos.totalItems=Math.min(h.photos.maxAllowedResults,parseInt(h.photos.total,10))),h.photos.maxAllowedPages&&(c.photos.totalPages=Math.min(h.photos.maxAllowedPages,h.photos.pages)),c.totalItems=parseInt(h.photos.total,10),d.exists(c.id)?(a=d.getValue(c.id,"photos").getList(),l=a.filter((function(e){return!!e})).reduce((function(e,t){return e[t.id]=!0,e}),{}),c.photos.pageContent=c.photos.pageContent.filter((function(e){return!l[e.id]})),1===c.photos.page&&(c.photos.forceAppend=!0),d.addOrUpdate(c)):d.add(c),p}}}),"@VERSION@",{requires:["flickr-promise","search-helper","search-url","api-helper","querystring-parse-simple"],optionalRequires:["superagent","hermes-core"],optional:["search-photos-models","search-photos-lite-models","photo-models","photo-lite-models","person-models","photo-engagement-models","photo-stats-models","photo-geo-models"]});YUI.add("search-photos-models",(function(e){function t(e){t.superclass.constructor.call(this,e)}e.Models[this.name]=t,e.extend(t,e.FlickrModelRegistry,{name:this.name,remote:{read:function(t){return e.ListFetchers["flickr-photos-search"].run(t,this.appContext)}},attributes:{photos:{isCollection:!0,pageFetch:{listFetcher:e.ListFetchers["flickr-photos-search"],listItemIdField:"photoId"}},totalItems:{setter:function(t){return(t=e.AttributeHelpers.coerceInteger(t))<0&&(t=0),t},defaultValue:0},apiParams:{writeOnce:"initOnly"},emptyQuery:{defaultValue:!1}}})}),"@VERSION@",{requires:["flickr-model-registry","flickr-photos-search-fetcher"]});YUI.add("photo-selector-limited-rows-photolist-view",(function(e){e.namespace("Views")[this.name]=e.Base.create(this.name,e.FlickrView,[],{langBundles:this.details.langBundles,initializer:function(t){return t.photolistViewClasses&&(t.additionalViewClasses=t.photolistViewClasses),t.photoListConfig=e.merge(t.primaryPhotoListConfig),this.searchUrl=t.searchUrl,this.listId=t.listId,""===this.get("container").get("innerHTML")&&this.setContainerHTML(""),this},subviewConfig:{"photo-list-view":{requiredToShowOnClient:!0,requiredToShowOnServer:!0}},loadState:function(){return this.appContext.getModel("search-photos-lite-models",this.searchUrl.getId(),{}).then(function(e){this.searchModel=e,e.getValue("totalItems")<=0&&this.set("emptySearch",!0)}.bind(this))},buildContainer:function(){var e="search.YOUR_PHOTOS";return"contacts"===this.listId?e="search.FROM_YOUR_CONTACTS":"everyone"===this.listId&&(e="search.EVERYONES_PHOTOS"),this.setContainerWithTemplate("search-photos-single-row",{emptySearch:this.get("emptySearch"),total:this.searchModel.getValue("totalItems"),singleResult:1===this.searchModel.getValue("totalItems"),viewAll:"#"+this.listId,"photo-list-view":this.subviews["photo-list-view"].get("container"),title:this.intlMessage({intlName:e})}),this},activate:function(){return this.registerEventHandler(this.get("container").on("click",this.handleClick.bind(this))),this},handleClick:function(e){e.halt();var t,i=e.target;i.hasClass("view-more-link")&&(t=i.getDOMNode().href.split("#")[1],this.fire("subviewViewEvent","viewEntireSearchList",{list:t,searchUrl:this.searchUrl}))}},{ATTRS:{emptySearch:{value:!1}}})}),"@VERSION@",{requires:["flickr-view","photo-list-view","hermes-template-search-photos-single-row","search-photos-lite-models"],langBundles:["common","search"]});