YUI.add("hermes-lang-common_zh-hk",(function(e,a){e.Intl.add("hermes/common","zh-HK",{SIGN_UP:[{type:0,value:"註冊"}],YOU:[{type:0,value:"你的足跡"}],PHOTOSTREAM:[{type:0,value:"所有相片"}],SETS:[{type:0,value:"相片集"}],ALBUMS:[{type:0,value:"相簿"}],MAP:[{type:0,value:"地圖"}],FAVORITES:[{type:0,value:"最愛"}],GALLERIES:[{type:0,value:"博覽館"}],COLLECTIONS:[{type:0,value:"珍藏集"}],ARCHIVES:[{type:0,value:"資料庫"}],TAGS:[{type:0,value:"標籤"}],PHOTOS_OF:[{type:0,value:"相片"}],PROFILE:[{type:0,value:"個人檔案"}],POPULAR:[{type:0,value:"熱門"}],EXPLORE:[{type:0,value:"發掘"}],ACTIVITY:[{type:0,value:"最近活動"}],STATS:[{type:0,value:"統計資料"}],ORGANIZE:[{type:0,value:"管理"}],HELP:[{type:0,value:"服務中心"}],SETTINGS:[{type:0,value:"設定"}],SIGN_OUT:[{type:0,value:"登出"}],FLICKRMAIL:[{type:0,value:"FlickrMail"}],ERROR:[{type:0,value:"錯誤"}],OK:[{type:0,value:"確定"}],OOPS:[{type:0,value:"糟糕了！"}],SIGN_IN:[{type:0,value:"登入"}],FORGET_IT:[{type:0,value:"忘了它"}],WARNING:[{type:0,value:"警告"}],DONE:[{type:0,value:"完成"}],ZOINKS:[{type:0,value:"什麼！"}],CANCEL:[{type:0,value:"取消"}],ON:[{type:0,value:"開啟"}],OFF:[{type:0,value:"關閉"}],ABOUT:[{type:0,value:"關於"}],JOBS:[{type:0,value:"工作機會"}],BLOG:[{type:0,value:"Blog"}],APPS:[{type:0,value:"應用程式"}],BRAND:[{type:0,value:"品牌"}],DEVELOPERS:[{type:0,value:"開發人員"}],STATUS:[{type:0,value:"狀態"}],COMMUNITY_GUIDELINES:[{type:0,value:"社群指南"}],REPORT_ABUSE:[{type:0,value:"檢舉濫用"}],PRIVACY:[{type:0,value:"私隱政策"}],TERMS:[{type:0,value:"服務條款"}],YAHOO_SAFELY:[{type:0,value:"Yahoo Safely"}],FEEDBACK:[{type:0,value:"意見"}],MOBILE:[{type:0,value:"手機"}],APP_GARDEN:[{type:0,value:"App Garden"}],COMMUNITY:[{type:0,value:"社群"}],API_DOC:[{type:0,value:"API 說明文件"}],DEVELOPER_GUIDE:[{type:0,value:"開發人員指南"}],DEVELOPER_BLOG:[{type:0,value:"開發人員 Blog"}],HELP_FORUM:[{type:0,value:"說明討論區"}],GUIDELINES:[{type:0,value:"指南"}],NUMBER:[{type:2,value:"num",style:null}],RETRY:[{type:0,value:"重試"}],EDIT:[{type:0,value:"編輯"}],MORE:[{type:0,value:"更多"}],DELETE:[{type:0,value:"刪除"}],LOADING:[{type:0,value:"載入中"}],FOLLOW:[{type:0,value:"追蹤"}],FOLLOWING:[{type:0,value:"正在追蹤"}],UNFOLLOW:[{type:0,value:"取消追蹤"}],FRIEND:[{type:0,value:"朋友"}],FRIENDS:[{type:0,value:"朋友"}],FAMILY:[{type:0,value:"家人"}],PUBLIC:[{type:0,value:"公開"}],FRIENDS_AND_FAMILY:[{type:0,value:"朋友與家人"}],FRIEND_AND_FAMILY:[{type:0,value:"朋友及家人"}],ALL:[{type:0,value:"全部"}],A_YAHOO_COMPANY:[{type:0,value:"Flickr，Yahoo 旗下公司"}],A_YAHOO_COMPANY_WITH_LINK:[{type:0,value:'Flickr，<a href="https://info.yahoo.com">Yahoo 旗下公司</a>'}],A_YAHOO_COMPANY_WITH_TRACKED_LINK:[{type:0,value:'Flickr，<a href="https://info.yahoo.com" data-track="footer-yahoo">Yahoo 旗下公司</a>'}],CONFIRMATION:[{type:0,value:"確認"}],FAVORITE:[{type:0,value:"最愛"}],SEARCH:[{type:0,value:"搜尋"}],CONFIRM:[{type:0,value:"確認"}],SELECT:[{type:0,value:"選擇"}],NEW:[{type:0,value:"新增"}],LOADING_WITH_ELLIPSES:[{type:0,value:"正在載入..."}],NONE:[{type:0,value:"無"}],TITLE:[{type:0,value:"標題"}],DESCRIPTION:[{type:0,value:"描述"}],DECLINE:[{type:0,value:"拒絕"}],ACCEPT:[{type:0,value:"接受"}],CIRCA:[{type:0,value:"拍攝年份"}],SOMETIME_IN:[{type:0,value:"大約年份..."}],JANUARY:[{type:0,value:"1 月"}],FEBRUARY:[{type:0,value:"2 月"}],MARCH:[{type:0,value:"3 月"}],APRIL:[{type:0,value:"4 月"}],MAY:[{type:0,value:"5 月"}],JUNE:[{type:0,value:"6 月"}],JULY:[{type:0,value:"7 月"}],AUGUST:[{type:0,value:"8 月"}],SEPTEMBER:[{type:0,value:"9 月"}],OCTOBER:[{type:0,value:"10 月"}],NOVEMBER:[{type:0,value:"11 月"}],DECEMBER:[{type:0,value:"12 月"}],SAVE:[{type:0,value:"儲存"}],PLEASE_TRY_AGAIN:[{type:0,value:"請再試一次"}],YES:[{type:0,value:"是"}],SQUARE:[{type:0,value:"正方形"}],THUMBNAIL:[{type:0,value:"縮圖"}],SMALL:[{type:0,value:"小"}],MEDIUM:[{type:0,value:"中"}],LARGE:[{type:0,value:"大"}],XLARGE:[{type:0,value:"加大"}],ORIGINAL:[{type:0,value:"原本大小"}],REPLACE:[{type:0,value:"取代"}],SAVING:[{type:0,value:"正在儲存"}],REPLACING:[{type:0,value:"正在取代"}],JOIN:[{type:0,value:"加入"}],SELECTED:[{type:6,value:"count",options:{one:{value:[{type:7},{type:0,value:" 張相片已選擇"}]},other:{value:[{type:7},{type:0,value:" 張相片已選擇"}]}},offset:0,pluralType:"cardinal"}],PREVIEW:[{type:0,value:"預覽"}],DATE_TAKEN:[{type:0,value:"拍攝日期"}],DATE_POSTED:[{type:0,value:"發佈日期"}],DATE_UPLOADED:[{type:0,value:"上傳日期"}],PEOPLE:[{type:0,value:"人員"}],BETA:[{type:0,value:"Beta"}],INVALID_DATE:[{type:0,value:"日期無效。"}],INVALID_DATE_TAKEN:[{type:0,value:"無效的拍攝日期。"}],INVALID_DATE_POSTED:[{type:0,value:"無效的發佈日期。"}],INVALID_DATE_UPLOADED:[{type:0,value:"上傳日期無效。"}],FUTURE_DATE_POSTED:[{type:0,value:"發佈日期設定為未來日期。"}],FUTURE_DATE_UPLOADED:[{type:0,value:"上傳日期為未來日期。"}],INVALID_DATE_VALUE:[{type:0,value:"你輸入的日期中，有一個或多個無效。"}],INVALID_DATE_TAKEN_VALUE:[{type:0,value:"拍攝日期值無效。"}],INVALID_DATE_POSTED_VALUE:[{type:0,value:"發佈日期值無效。"}],INVALID_DATE_UPLOADED_VALUE:[{type:0,value:"上傳日期值無效。"}],JOIN_FLICKR:[{type:0,value:"加入 Flickr"}],GET_PRO:[{type:0,value:"購買 Pro"}],DATE_UPLOADED_BEFORE_ACCOUNT:[{type:0,value:"上傳日期必須在你建立帳戶的日期 "},{type:3,value:"intlDate",style:"long"},{type:0,value:" 之後。"}],DOWNLOAD:[{type:0,value:"下載"}],CHOOSE_VALID_DATE:[{type:0,value:"請選擇有效日期。"}],CHANGE:[{type:0,value:"更改"}],FUTURE_DATE_TAKEN:[{type:0,value:"拍攝日期設定為未來日期。"}],BY_USER:[{type:0,value:"相片擁有者 "},{type:1,value:"user"}],BY_YOU:[{type:0,value:"拍攝者：你！"}],PHOTO_SELECTOR_ERROR_MESSAGE_GENERIC:[{type:0,value:"上傳相片時發生問題。 請再試一次。"}],PHOTO_SELECTOR_ERROR_MESSAGE_FILE_TYPE:[{type:0,value:"此相片的檔案類型似乎無效。 上傳 PNG 或 JPG 格式的相片。"}],PHOTO_SELECTOR_ERROR_MESSAGE_FILE_SIZE:[{type:0,value:"此相片似乎太大，無法上傳。 上傳的相片尺寸上限為 250 MB。"}],PHOTO_SELECTOR_ERROR_MESSAGE_FILE_COUNT:[{type:0,value:"請只選擇一張相片上傳。"}],PHOTO_SELECTOR_ERROR_MESSAGE_LOW_QUALITY:[{type:0,value:'此相片未達到最低要求，故無法印製。 請選擇一張相片，解像度最小為 975 x 825。 了解更多有關印刷產品的<a href="http://help.yahoo.com/kb/index?page=content&y=PROD_FLICKR&locale=en_US&id=SLN22567" target="_blank">要求</a>。'}],PHOTO_SELECTOR_ERROR_MESSAGE_COLOR_SPACE:[{type:0,value:'對不起，我們無法列印 CMYK 或 ProPhoto RGB 色域的相片。 我們建議你使用 sRGB 色域的相片。 <a href="https://help.yahoo.com/kb/flickr/creations-faq-sln22216.html?impressions=true#cont33" target="_blank">了解更多</a>。'}],PHOTO_SELECTOR_BACK_TO_ALBUM_LIST:[{type:0,value:"返回相簿清單"}],PHOTO_SELECTOR_BACK_TO_CATEGORY_LIST:[{type:0,value:"返回類別清單"}],PHOTO_SELECTOR_BACK_TO_SEARCH_LIST:[{type:0,value:"返回搜尋清單"}],PHOTO_SELECTOR_EMPTY_PUBLIC_PHOTOS:[{type:0,value:"沒有公開相片。"}],PHOTO_SELECTOR_EMPTY_PHOTOS:[{type:0,value:"沒有相片。"}],PHOTO_SELECTOR_NO_ALBUMS:[{type:0,value:"沒有相簿。"}],MARKETPLACE:[{type:0,value:"市集"}],USERS_FAVES:[{type:1,value:"who"},{type:0,value:" 的最愛"}],USERS_ALBUMS:[{type:1,value:"who"},{type:0,value:" 的相簿"}],USERS_GALLERIES:[{type:1,value:"who"},{type:0,value:" 的博覽館"}],USERS_GROUPS:[{type:1,value:"who"},{type:0,value:" 加入的群組"}],LOAD_MORE_RESULTS:[{type:0,value:"載入更多結果"}],CREATE_AN_ACCOUNT:[{type:0,value:"建立帳戶"}],SIGN_IN_MESSAGE:[{type:0,value:"使用你的 Yahoo 帳戶登入 Flickr 即可開始。"}],MISMATCHED_NSID_ERROR:[{type:0,value:"發生錯誤。 按一下「確定」以重新載入頁面，如果你想繼續瀏覽頁面，請按「取消」(然而，你將無法執行任何操作)。"}],NETWORK_CONNECTIVITY_ISSUE:[{type:0,value:"從伺服器讀取資料時發生錯誤。請驗證網絡設定和瀏覽器外掛程式/擴充程式的設定。<br><br>按一下「確定」重新載入頁面；如果你想繼續瀏覽此頁面，請按一下「取消」(但你無法執行任何操作)。"}],IE_STORAGE_ISSUE:[{type:0,value:"在你的瀏覽器顯示圖片時發生錯誤。請前往<b>「工具」>「互聯網選項」>「一般標籤」、「瀏覽紀錄」、「設定」按鈕 >「快取與資料庫」</b>。<br><br>按一下「確定」重新載入頁面；如果你想繼續瀏覽此頁面，請按一下「取消」(但你無法執行任何操作)。"}],PHOTO_REMOVE_ERROR:[{type:0,value:"移除相片時發生錯誤...請再試一次。"}],LEARN_MORE:[{type:0,value:"了解更多"}],LEARN_MORE_ABOUT_PRO:[{type:0,value:"了解更多有關 Pro 的資料"}],EVERYTHING:[{type:0,value:"所有內容"}],ALPHA:[{type:0,value:"Alpha"}],BACK:[{type:0,value:"上一頁"}],UNTITLED:[{type:0,value:"無標題"}],HIDE_PHOTOS_FROM_PERSON:[{type:0,value:"暫時向此用戶隱藏所有相片"}],SHOW_MORE:[{type:0,value:"顯示更多"}],CHOOSE_FILE:[{type:0,value:"選擇檔案"}],PHOTO_BOOKS:[{type:0,value:"實體相簿"}],WALL_ART:[{type:0,value:"相片掛畫"}],UPLOADING:[{type:0,value:"正在上傳"}],NUMERIC_PROGRESS_COUNT:[{type:0,value:"第 "},{type:1,value:"progress"},{type:0,value:" 個，共 "},{type:1,value:"total"},{type:0,value:" 個項目"}],UPLOAD_DROP_TARGET:[{type:0,value:"別擔心！ 我們會妥善處理所有項目。"}],DRAG_AND_DROP:[{type:0,value:"你可以將相片拖曳至此頁面的任何位置"}],OR:[{type:0,value:"或"}],SELECT_FILES_TO_UPLOAD:[{type:0,value:"選擇檔案以上傳"}],INSTALL:[{type:0,value:"安裝"}],INSTALL_FLICKR_UPLOADER_FOR_MAC:[{type:0,value:"安裝 Mac 版的 Flickr Uploadr，即可安全快捷地備份你的所有相片收藏。"}],INSTALL_FLICKR_UPLOADER_FOR_WINDOWS:[{type:0,value:"安裝 Windows 版的 Flickr Uploadr，即可安全快捷地備份你的所有相片收藏。"}],FLICKR_IS_ALMOST_CERTAINLY:[{type:0,value:"Flickr 幾乎可說是世界上最出色的網上相片管理工具和分享應用程式。 你可與全世界分享你最愛的相片和影片，並安全地以私人方式向朋友和家人展示各種內容，或是將你使用手機所拍攝的相片和影片分享至網誌。"}],TOGGLE_SLIDESHOW:[{type:0,value:"切換幻燈片"}],UPLOAD_MORE_INFO:[{type:0,value:'如需我們支援的檔案格式相關詳情，<a href="https://flickrhelp.com/hc/en-us/articles/4404079649300-Flickr-upload-requirements" target="_blank">請按一下這裡</a>。'}],UPLOAD_MORE_INFO_WITH_LINK:[{type:0,value:'如需我們支援的檔案格式相關詳情，<a href="'},{type:1,value:"supportURL"},{type:0,value:'" target="_blank">請按一下這裡</a>。'}],UPLOAD_ERROR_TITLE:[{type:0,value:"糟糕..."}],UPLOAD_ERROR_CATEGORY_INVALID:[{type:0,value:'我們不支援這些檔案類型，或是這些檔案已損壞。 <a href="https://flickrhelp.com/hc/en-us/articles/4404079649300-Flickr-upload-requirements" target="_blank">按一下這裡</a>以了解詳情。'}],UPLOAD_ERROR_CATEGORY_INVALID_WITH_LINK:[{type:0,value:'我們不支援這些檔案類型，或是這些檔案已損壞。<a href="'},{type:1,value:"supportURL"},{type:0,value:'" target="_blank">按一下這裡</a> 了解詳情。'}],UPLOAD_ERROR_CATEGORY_GENERIC:[{type:0,value:'無法上傳這些檔案。 你可以嘗試再次上傳。 <a href="https://flickrhelp.com/hc/en-us/articles/4404079649300-Flickr-upload-requirements" target="_blank">按一下這裡</a>以了解詳情。'}],UPLOAD_ERROR_CATEGORY_GENERIC_WITH_LINK:[{type:0,value:'無法上載這些檔案。你可以嘗試再次上載。<a href="'},{type:1,value:"supportURL"},{type:0,value:'" target="_blank">按一下這裡</a>了解詳情。'}],TRY_MDOT:[{type:0,value:"試用你的流動裝置專用的 Flickr 優化版本"}],VIDEO_NOT_SUPPORTED:[{type:0,value:"很抱歉。 你的瀏覽器不支援 HTML5 影片。"}],UNBLOCK:[{type:0,value:"取消封鎖"}],START_SLIDESHOW:[{type:0,value:"開始播放幻燈片"}],EACH_FLICKR_ACCOUNT_HAS_STORAGE:[{type:0,value:"每個 Flickr 帳戶隨附 1,000GB 免費相片儲存空間。"}],BUY_LICENSE:[{type:0,value:"授權"}],BUY_PHOTO:[{type:0,value:"購買相片"}],BUY:[{type:0,value:"購買"}],LICENSE_PHOTO:[{type:0,value:"授權相片"}],HAVE_YAHOO_ACCOUNT:[{type:0,value:"已有 Yahoo 帳戶嗎？"}],SIGN_UP_WITH_YAHOO:[{type:0,value:"使用 Yahoo 帳號註冊"}],SIGN_INTO_FLICKR:[{type:0,value:"登入 Flickr"}],NEVER_DELETE_WITH_ONE_TB:[{type:0,value:"有了免費的 1 TB 儲存空間，不再需要刪除相片。"}],CLICK_BUTTON_THIRD_PARTY:[{type:0,value:"按一下此按鈕，你將連至第三方網站。"}],LICENSE_TITLE_0:[{type:0,value:"保留所有權利"}],LICENSE_DESC_0:[{type:0,value:"你必須獲得創作者許可，才可使用此作品。"}],LICENSE_TITLE_1:[{type:0,value:"署名-非商業性-相同方式分享 (CC BY-NC-SA 2.0)"}],LICENSE_DESC_1:[{type:0,value:"你可以使用此作品，但不得作商業用途，且必須標示作者的身份。 你亦必須允許其他人使用你的作品，且受相同的條款約束。"}],LICENSE_TITLE_2:[{type:0,value:"署名-非商業性 (CC BY-NC 2.0)"}],LICENSE_DESC_2:[{type:0,value:"你可以使用此作品，但不得作商業用途，且必須標示作者的身份。"}],LICENSE_TITLE_3:[{type:0,value:"署名-非商業性-無保留意見 (CC BY-NC-ND 2.0)"}],LICENSE_DESC_3:[{type:0,value:"你可以在不作任何修改的情況下使用此作品，但不得作商業用途，且必須標示作者的身份。"}],LICENSE_TITLE_4:[{type:0,value:"署名 (CC BY 2.0)"}],LICENSE_DESC_4:[{type:0,value:"你可以使用此作品，但必須標示作者的身份。"}],LICENSE_TITLE_5:[{type:0,value:"署名相同方式分享 (CC BY-SA 2.0)"}],LICENSE_DESC_5:[{type:0,value:"你可以使用此作品，但必須標示作者的身份。 你亦必須允許其他人使用你的作品，且受相同的條款約束。"}],LICENSE_TITLE_6:[{type:0,value:"署名-非遺傳承人 (CC BY-ND 2.0)"}],LICENSE_DESC_6:[{type:0,value:"你可以在不作任何修改的情況下使用此作品，但必須標示作者的身份。"}],LICENSE_TITLE_7:[{type:0,value:"沒有任何已知的限制"}],LICENSE_DESC_7:[{type:0,value:"發佈此作品的人士或組織並沒有任何限制。 繼續使用前，請務必檢視作品。"}],LICENSE_TITLE_8:[{type:0,value:"美國政府作品"}],LICENSE_DESC_8:[{type:0,value:"任何美國政府的作品均沒有版權保護。"}],LICENSE_TITLE_9:[{type:0,value:"公共領域專用 (CC0)"}],LICENSE_DESC_9:[{type:0,value:"由於版權不再有效，你可以使用此作品。"}],LICENSE_TITLE_10:[{type:0,value:"公共領域的作品"}],LICENSE_DESC_10:[{type:0,value:"由於版權過期，你可以使用此作品。"}],TRENDING:[{type:0,value:"熱門相片"}],GROUP_YOUR_BEST_SHOT:[{type:0,value:"你的2015最佳一拍"}],GROUP_YOUR_BEST_SHOT_2016:[{type:0,value:"你的 2016 最佳一拍"}],DELETED_USER:[{type:0,value:"已刪除"}],EXPLORE_SLOW:[{type:0,value:"我們目前無法顯示「發掘」資料。請再試一次。"}],MODULES_BLOCKED:[{type:0,value:"載入所需模組以顯示此頁面時發生錯誤。請停用任何可能封鎖頁面資源的瀏覽器擴充功能。<br><br>停用擴充功能後，按一下「確定」重新載入頁面；如果你想繼續瀏覽此頁面，請按一下「取消」(但你無法執行任何操作)。"}],HOME:[{type:0,value:"首頁"}],MAIN:[{type:0,value:"主選單"}],SECONDARY:[{type:0,value:"次選單"}],FILTER:[{type:0,value:"過濾器"}],CLOSE:[{type:0,value:"關閉"}],USER_ICON:[{type:0,value:"用戶圖示"}],GROUP_ICON:[{type:0,value:"群組圖示"}],AD_ICON:[{type:0,value:"廣告圖示"}],ADD_TO_FAVORITES:[{type:0,value:"新增至最愛"}],LEFT_ARROW:[{type:0,value:"向左鍵"}],RIGHT_ARROW:[{type:0,value:"向右鍵"}],DONT_SHOW_IN_FEED:[{type:0,value:"不要在我的資訊提供中顯示"}],SHOW_IN_FEED:[{type:0,value:"在我的資訊提供中顯示"}],SEARCH_FOR_SIMILAR_PHOTOS:[{type:0,value:"搜尋類似的相片"}],SEARCH_FOR_SIMILAR_PHOTOS_WITH_TERM:[{type:0,value:"使用原本的搜尋字詞搜尋類似的相片"}],FAVES_SHORT:[{type:0,value:"最愛"}],GROUP_BAN_USER:[{type:0,value:"從群組中禁制用戶"}],GROUP_BAN_USER_REMOVE_PHOTOS:[{type:0,value:"從群組中禁制用戶並移除他們的相片"}],GROUP_REMOVE_USER:[{type:0,value:"從群組中移除用戶"}],GROUP_REMOVE_USER_REMOVE_PHOTOS:[{type:0,value:"從群組中移除用戶並移除他們的相片"}],REFRESH:[{type:0,value:"重新整理"}],ALMOST_DONE:[{type:0,value:"即將完成..."}],GROUPS:[{type:0,value:"群組"}],"404_PHOTOSTREAM_DELETED":[{type:0,value:"看來你搜尋的所有相片不再存在。"}],"404_PHOTOSTREAM_NONEXISTENT":[{type:0,value:"看來你搜尋的所有相片並不存在。"}],"404_PROFILE_DELETED":[{type:0,value:"看來你搜尋的個人檔案不再存在。"}],"404_PROFILE_NONEXISTENT":[{type:0,value:"看來你搜尋的個人檔案並不存在。"}],"404_PHOTO_VIDEO_NONEXISTENT":[{type:0,value:"看來你搜尋的相片或影片不再存在。"}],"404_PHOTO_VIDEO_PRIVATE":[{type:0,value:"看來你沒有檢視此相片或影片的權限。"}],"404_ALBUM_NONEXISTENT":[{type:0,value:"看來你搜尋的相簿並不存在。"}],"404_ALBUM_PRIVATE":[{type:0,value:"看來你沒有檢視此相簿的權限。"}],"404_GROUP_NONEXISTENT":[{type:0,value:"看來你搜尋的群組並不存在。"}],"404_GROUP_PRIVATE":[{type:0,value:"看來你沒有檢視此群組的權限。"}],"404_GROUP_TOPIC_NONEXISTENT":[{type:0,value:"看來你搜尋的討論主題並不存在。"}],"404_GROUP_REPLY_NONEXISTENT":[{type:0,value:"看來你搜尋的討論回覆並不存在。"}],"404_EXPLORE_NONEXISTENT":[{type:0,value:"看來你要求的日期沒有任何相片。"}],"404_PERSON_NONEXISTENT":[{type:0,value:"看來你搜尋的帳戶並不存在。"}],"404_DOWNLOAD_NONEXISTENT":[{type:0,value:"你搜尋的下載檔案似乎不存在。"}],"404_GALLERY_NONEXISTENT":[{type:0,value:"看來你搜尋的博覽館並不存在。"}],DISMISS:[{type:0,value:"關閉"}],BLURB:[{type:0,value:"Blurb"}],ALPHA_GROUP_SHARE_FEEDBACK:[{type:0,value:'只有 Alpha 群組成員可看到這個全新的 Flickr 功能。請在<a href="'},{type:1,value:"url"},{type:0,value:'" target="_blank">這裡</a>分享你的意見。'}],JUSTIFIED_VIEW:[{type:0,value:"平均對齊檢視"}],THUMBNAIL_VIEW:[{type:0,value:"縮圖檢視"}],TILE_VIEW:[{type:0,value:"並排檢視"}],LARGE_VIEW:[{type:0,value:"大圖檢視"}],ITEM_COUNT_FORMATTED:[{type:6,value:"itemCount",options:{one:{value:[{type:1,value:"countString"},{type:0,value:" 個項目"}]},other:{value:[{type:1,value:"countString"},{type:0,value:" 個項目"}]}},offset:0,pluralType:"cardinal"}],PHOTO_COUNT_FORMATTED:[{type:6,value:"photoCount",options:{one:{value:[{type:1,value:"countString"},{type:0,value:" 張相片"}]},other:{value:[{type:1,value:"countString"},{type:0,value:" 張相片"}]}},offset:0,pluralType:"cardinal"}],VIDEO_COUNT_FORMATTED:[{type:6,value:"videoCount",options:{one:{value:[{type:1,value:"countString"},{type:0,value:" 段影片"}]},other:{value:[{type:1,value:"countString"},{type:0,value:" 段影片"}]}},offset:0,pluralType:"cardinal"}],VIEW_COUNT_FORMATTED:[{type:6,value:"viewCount",options:{one:{value:[{type:1,value:"countString"},{type:0,value:" 次檢視"}]},other:{value:[{type:1,value:"countString"},{type:0,value:" 次檢視"}]}},offset:0,pluralType:"cardinal"}],COMMENT_COUNT_FORMATTED:[{type:6,value:"commentCount",options:{one:{value:[{type:1,value:"countString"},{type:0,value:" 則留言"}]},other:{value:[{type:1,value:"countString"},{type:0,value:" 則留言"}]}},offset:0,pluralType:"cardinal"}],FAVE_COUNT_FORMATTED:[{type:6,value:"faveCount",options:{one:{value:[{type:1,value:"countString"},{type:0,value:" 個最愛"}]},other:{value:[{type:1,value:"countString"},{type:0,value:" 個最愛"}]}},offset:0,pluralType:"cardinal"}],ALBUM_LABEL:[{type:0,value:"相簿"}],GALLERY_LABEL:[{type:0,value:"博覽館"}],BY_USER_WITH_URL:[{type:0,value:'<a href="'},{type:1,value:"userUrl"},{type:0,value:'"> (由 '},{type:1,value:"username"},{type:0,value:" 製作)</a>"}],BY_USER_WITH_URL_TARGET_BLANK:[{type:0,value:'來源：<a href="'},{type:1,value:"userUrl"},{type:0,value:'" target="_blank">'},{type:1,value:"username"},{type:0,value:"</a>"}],ADD:[{type:0,value:"加入"}],ITEMS:[{type:0,value:"項目"}],FLICKR_LOVES_OLD_SCHOOL_PROS:[{type:0,value:"Flickr ♥ Pro 長期支持者"}],MODIFIED_FROM_WITH_LICENSE:[{type:0,value:'由<a href="'},{type:1,value:"userUrl"},{type:0,value:'">'},{type:1,value:"user"},{type:0,value:'</a>修改，<a href="'},{type:1,value:"licenseUrl"},{type:0,value:'">'},{type:1,value:"licenseName"},{type:0,value:"</a>"}],PHOTO_BY_WITH_LICENSE:[{type:0,value:'<a href="'},{type:1,value:"userUrl"},{type:0,value:'">'},{type:1,value:"user"},{type:0,value:'</a>的相片，<a href="'},{type:1,value:"licenseUrl"},{type:0,value:'">'},{type:1,value:"licenseName"},{type:0,value:"</a>"}],PHOTOS_BY_MULTIPLE_WITH_LICENSE:[{type:0,value:'相片提供：<a href="'},{type:1,value:"user1Url"},{type:0,value:'">'},{type:1,value:"user1"},{type:0,value:'</a>、<a href="'},{type:1,value:"user2Url"},{type:0,value:'">'},{type:1,value:"user2"},{type:0,value:'</a>，及 <a href="'},{type:1,value:"user3Url"},{type:0,value:'">'},{type:1,value:"user3"},{type:0,value:'</a>，<a href="'},{type:1,value:"licenseUrl"},{type:0,value:'">'},{type:1,value:"licenseName"},{type:0,value:"</a>"}],PHOTOS_BY:[{type:0,value:"攝影者："}],LOG_OUT:[{type:0,value:"登出"}],REMIND_ME_LATER:[{type:0,value:"稍後提醒我"}],GET_FLICKR_PRO:[{type:0,value:"購買 Flickr Pro"}],ERROR_UH_OH:[{type:0,value:"哦哦！"}],DR_SOMETHING_WENT_WRONG_ERROR_MESSAGE:[{type:0,value:'請檢查你的瀏覽器擴充功能和廣告封鎖功能，並再試一次。如果問題持續，請前往 <a href="https://flickrhelp.com" target="_blank">https://flickrhelp.com</a> 聯絡我們。'}],SUPPORT:[{type:0,value:"支援"}],GOT_IT:[{type:0,value:"知道了"}],VIDEO_STREAMING_OFF:[{type:0,value:'目前無法使用影片串流功能。了解詳情：<a href="'},{type:1,value:"url"},{type:0,value:'">連結</a>'}],VIDEO_STILL_PROCESSING:[{type:0,value:'正在處理此影片。可能需要一點時間處理。了解詳情：<a href="'},{type:1,value:"url"},{type:0,value:'">連結</a>'}],HAVE_A_FLICKR_ACCOUNT:[{type:0,value:"擁有 Flickr 帳戶嗎？"}],HI_MESSAGE_GREETING:[{type:1,value:"username"},{type:0,value:" 你好："}],MYSTERIOUS_PLACE:[{type:0,value:"未知名的神祕地"}],NEW_TITLE:[{type:0,value:"新功能！"}],GO_BACK_BUTTON:[{type:0,value:"返回"}],EVENTS:[{type:0,value:"活動"}],SMUG_FLICKR_FOOTER_ATTRIBUTION:[{type:0,value:'<a class="smug-link" href="'},{type:1,value:"smugUrl"},{type:0,value:'">SmugMug</a>+<a class="flickr-link" href="'},{type:1,value:"flickrUrl"},{type:0,value:'">Flickr</a>。'}],CONNECTING_PEOPLE_THROUGH_PHOTOGRAPHY:[{type:0,value:"透過攝影與人聯繫。"}],UPGRADE_PRO_HIDE_ADS:[{type:0,value:"升級 Flickr Pro 即可隱藏廣告"}],LOAD_MORE:[{type:0,value:"載入更多"}],VIEW_MORE_LOWER:[{type:0,value:"顯示更多"}],VIEW_LESS_LOWER:[{type:0,value:"顯示較少"}],AD_INTERSTITIAL_TIMER:[{type:0,value:"在 "},{type:1,value:"adTimerStartCount"},{type:0,value:" 秒後繼續"}],WHATS_NEW:[{type:0,value:"有甚麼新鮮事？"}],VIEW_MORE:[{type:0,value:"查看更多"}],SMALL_PORTRAIT:[{type:0,value:"小型直向"}],MEDIUM_PORTRAIT:[{type:0,value:"中型直向"}],LARGE_PORTRAIT:[{type:0,value:"大型直向"}],SEND:[{type:0,value:"發送"}],REPORT_QUESTION:[{type:0,value:"你想舉報甚麼？"}],REPORT_ISSUES:[{type:0,value:"此內容有以下哪項問題？"}],REPORT_SPAM:[{type:0,value:"垃圾郵件、詐騙或欺詐"}],REPORT_EXPLICIT:[{type:0,value:"露骨或令人不安的內容"}],REPORT_IMAGE_OF_ME:[{type:0,value:"我想移除有我在內的相片"}],REPORT_COPYRIGHT:[{type:0,value:"侵犯知識產權 (DMCA)"}],REPORT_OTHER:[{type:0,value:"其他問題"}],REPORT_MODERATION:[{type:0,value:"審核不當"}],REPORT_CHILDREN:[{type:0,value:"涉及兒童的有害內容"}],REPORT_HATE:[{type:0,value:"仇恨言論"}],REPORT_SELF_HARM:[{type:0,value:"自殺或自殘"}],REPORT_DANGEROUS:[{type:0,value:"危險的組織或個人"}],REPORT_INTIMATE:[{type:0,value:"未經我同意發佈的私密內容"}],REPORT_SUBJECT:[{type:0,value:"要求移除以我為拍攝對象的相片"}],REPORT_BULLYING:[{type:0,value:"欺凌或騷擾"}],REPORT_ILLEGAL:[{type:0,value:"禁止或非法內容"}],REPORT_COMMERCIAL:[{type:0,value:"免費帳戶上的商業活動"}],REPORT_BULLYING_PHOTO:[{type:0,value:"相片中有欺凌或騷擾內容"}],REPORT_BULLYING_COMMENT:[{type:0,value:"評論中有欺凌或騷擾內容"}],CONTINUE_POLICY_PAGE:[{type:0,value:"繼續前往政策頁面"}],CONTINUE_ARTICLE:[{type:0,value:"繼續前往文章"}],MORE_ABUSE_INFO:[{type:0,value:"請分享你對此頁面問題部分的任何其他資訊。(選擇性)"}],DMCA_MESSAGE:[{type:0,value:"Flickr 信任及安全團隊的專家會為我們處理侵權問題。"}],DMCA_MESSAGE_INFO:[{type:0,value:'有關如何提交侵權通知的資料，請參閱<a href="'},{type:1,value:"helpUrl"},{type:0,value:'">此幫助文章</a>。'}],INTIMATE_REPORT_MESSAGE:[{type:0,value:"發現有人未經你同意將你的私人相片或影片放到網上，實在是晴天霹靂。"}],INTIMATE_REPORT_MORE:[{type:0,value:'請前往<a href="'},{type:1,value:"helpUrl"},{type:0,value:'">這裡</a>提供所有相關詳情，在我們審核你舉報的問題期間，<a href="'},{type:1,value:"orgUrl"},{type:0,value:'">這裡的機構</a>能夠為你提供所需協助。'}],SUBJECT_REPORT_MESSAGE:[{type:0,value:'刪除相片的要求由我們信任及安全團隊的專家處理。有關你有哪些選項的資料，請參閱<a href="'},{type:1,value:"helpUrl"},{type:0,value:'">此幫助文章</a>。'}],CHILDREN_REPORT_MESSAGE:[{type:0,value:"Flickr 對於涉及未成年人的虐待、剝削或有害的圖像、影片、評論和通訊均採取零容忍政策。"}],CHILDREN_REPORT_MORE:[{type:0,value:"請提供有關問題令你憂慮的原因，以及出現問題的位置 (例如評論、相片、小組討論、最愛收藏夾等)"}],BULLYING_REPORT_MESSAGE:[{type:0,value:"Flickr 並非騷擾、虐待或恐嚇他人的場所。"}],BULLYING_REPORT_MORE:[{type:0,value:'請提供有關問題令你憂慮的原因，以及出現問題的位置 (例如評論、相片、小組討論、最愛收藏夾等)，然後封鎖用戶。可以在<a href="'},{type:1,value:"helpUrl"},{type:0,value:'">這裡</a>找到我們封鎖工具的完整功能列表。'}],REPORT_ADDITIONAL_INFO:[{type:0,value:"請分享有關舉報問題的其他資料。(選擇性)"}],SELF_HARM_REPORT_MESSAGE:[{type:0,value:'如果你或你認識的某人打算自殺，你可以尋求幫助以度過難關。與可信賴的親友交談，或在<a href="'},{type:1,value:"helpUrl"},{type:0,value:'">這裡</a>查看我們整理的資源。'}],HATE_SPEECH_REPORT_MESSAGE:[{type:0,value:"請提供仇恨言論發生的背景。(例如評論、小組討論、相片標題等)"}],CONTINUE_FORM:[{type:0,value:"繼續前往聯絡表格"}],SELECT_OPTION:[{type:0,value:"請選擇一個選項。"}],REPORT_NOT_SUPPORTED:[{type:0,value:'與社群守則相關的問題由我們的信任與安全團隊處理。想了解如何報告問題或與團隊聯絡，請參閱<a class="help-url" href="'},{type:1,value:"helpUrl"},{type:0,value:'">此文章</a>。'}],REPORT_GROUP:[{type:0,value:"群組成員間的問題，或違反群組規則的行為則建議由群組管理員處理。請直接聯絡他們尋求協助。如果你想報告群組內有成員違反社群守則，請點擊「繼續」，以聯絡我們的支援團隊。"}],TYPE:[{type:0,value:"類型"}],FLICKR_META_DESCRIPTION:[{type:0,value:"攝影愛好者中最安全、最有包容性的全球社群。取得靈感以及與人連結和分享的最佳網站！"}],PHOTO:[{type:0,value:"相片"}],VIDEO:[{type:0,value:"視訊"}],SCREENSHOT:[{type:0,value:"螢幕截圖"}],SCREENCAST:[{type:0,value:"螢幕場景"}],ILLUSTRATION_ART:[{type:0,value:"圖解/插圖"}],ANIMATION_CGI:[{type:0,value:"動畫/CGI"}],VIRTUAL_PHOTOGRAPHY:[{type:0,value:"虛擬攝影"}],MACHINIMA:[{type:0,value:"機造影片"}],SPONSORED_BY_ISTOCK:[{type:0,value:'贊助圖片來自 <img class="getty-istock-logo" src="'},{type:1,value:"assetRoot"},{type:1,value:"iStockLogo"},{type:0,value:'" loading="lazy"/>'}],GETTY_FLICKR_10_FREE:[{type:0,value:"10 次免費下載。任何月訂閱方案。請使用代碼： FLICKR10"}],FROM:[{type:0,value:"開始"}],SAFETY_PRIV_UPSELL_TITLE:[{type:0,value:"安全相片"}],SAFETY_PRIV_UPSELL_MSG:[{type:0,value:"升級到 Flickr Pro 以上傳，或是把您的相片設為適度或受限。"}],UPGRADE_TO_PRO_BTN:[{type:0,value:"升級至 Pro"}],SAFETY_PRIV_SAFE_ERR_TITLE:[{type:0,value:"本相片的安全等級已鎖定"}],SAFETY_PRIV_SAFE_ERR_MSG:[{type:0,value:'免費帳戶僅限發布安全內容。<a href="'},{type:1,value:"upgradeURL"},{type:0,value:'" target="_blank">升級到 Pro </a>以解鎖適度或受限相片的安全等級。<a href="'},{type:1,value:"helpCenterURL"},{type:0,value:'" target="_blank">拜訪幫助中心</a>以進一步了解關於安全等級，或是聯絡我們的支援英雄以更改安全等級。'}],PLEASE_WAIT:[{type:0,value:"Please wait"}],FLICKR_PRO:[{type:0,value:"Flickr Pro"}],REPORT_NON_SAFE_CONTENT:[{type:0,value:"Non-safe content in a free account"}]})}),"@VERSION@",{requires:["intl"]});YUI.add("model-proxy",(function(e,r){var t=require("hermes-core/flog")(r);e.getModelProxyConstructor=function(r){var o;return(o=function(e){this.id=e,this.registry=r,this.isModel=!0}).prototype={},e.getModelProxyConstructor.skipList.forEach((function(e){o.prototype[e]=function(){var r=new Error("Registry methods are not exposed on models.");throw t.error({err:r,method:e}),r}})),e.Object.each(r,(function(t,i){var n;o.prototype[i]||0!==i.indexOf("_")&&e.Lang.isFunction(t)&&(Object.keys(t.prototype).length>0||(o.prototype[i]=(n=i,function(){for(var e=new Array(arguments.length),t=0;t<e.length;++t)e[t]=arguments[t];return e.unshift(this.id),r[n].apply(r,e)})))}),this,!0),o},e.getModelProxyConstructor.skipList=["add","get","load","proxy","remoteRead","remoteCreate","attributeSearch","removeAll","getCount","serialize","deserialize"]}),"@VERSION@",{requires:[],optionalRequires:["hermes-core"]});YUI.add("flickr-collection",(function(t){var i,n={};(i=t.FlickrCollection=function(t,i,n){this.registry=t,this.id=i,this.attrName=n,this._data=[],this.fetchedStart=!1,this.fetchedEnd=!1,this.totalItems=Number.MAX_VALUE}).prototype={constructor:i,push:function(t){var i=this._data.concat();i.push(t),this.registry.setValue(this.id,this.attrName,i)},unshift:function(t){var i=this._data.concat();i.unshift(t),this.registry.setValue(this.id,this.attrName,i)},concat:function(t){var i=this._data.concat(t);this.registry.setValue(this.id,this.attrName,i)},remove:function(t){"string"==typeof t&&(t={id:t});var i,n=this.find(t,!0);return n&&((i=this._data.concat()).splice(n.index,1),this.registry.setValue(this.id,this.attrName,i)),n&&n.value},find:function(t,i){if(!t)return null;var n=null,e=Object.keys(t);return this._data.some((function(i,r){if(i)return e.every((function(n){return i[n]===t[n]}))?(n={value:i,index:r},!0):void 0})),i?n:n?n.value:null},getFirstItem:function(){var t,i;for(t=0;t<this._data.length;t++)if(i=this._data[t])return{item:i,index:t};return null},getLastItem:function(){var t,i;for(t=this._data.length-1;t>=0;t--)if(i=this._data[t])return{item:i,index:t};return null},getList:function(){return this._data.concat()},size:function(){return this._data.length},toJSON:function(){var i=[];return t.Array.each(this.getList(),(function(t){t&&i.push(t.toJSON())})),i},toString:function(){return this.registry.name+'["'+this.attrName+'"]'},appendToListMulti:function(t){this.concat(t)},appendToList:function(t){this.push(t)},prependToList:function(t){this.unshift(t)},getFromListByID:function(t,i){var n={};return n[i||"id"]=t,this.find(n)||void 0},removeFromList:function(t,i){var n={};return n[i||"id"]=t,this.remove(n)},hasMinBoundary:function(){return this.fetchedStart},hasMaxBoundary:function(){return this.fetchedEnd},_setValue:function(t){this._data=t}},t.FlickrCollection.executeFetch=function(i,e,r,a){var s;return a&&t.Lang.isFunction(a.run)?(s=JSON.stringify(i),n[s]||(n[s]=a.run.call(a,i,e.appContext).then((function(t){return delete n[s],t}),(function(t){throw delete n[s],t})),n[s])):t.Promise.reject("(flickr-collection::executeFetch) invalid fetcher for "+e.name+"["+r+"]")},t.FlickrCollection.trimArray=function(t){for(var i=0,n=t.length-1;i<t.length&&!t[i];)i++;for(;n>i&&!t[n];)n--;return t.slice(i,n+1)}}),"@VERSION@",{requires:[]});YUI.add("paged-collection",(function(t,e){var a=require("hermes-core/flog")(e);t.PagedCollection=function(t,e,a,s){this.constructor.superclass.constructor.call(this,t,e,a),s&&(s instanceof Array&&(s={pageContent:s,page:1,perPage:s.length}),s.totalPages&&(this.totalPages=s.totalPages),void 0===s.totalItems||isNaN(parseFloat(s.totalItems))||(this.totalItems=parseFloat(s.totalItems)),this.fetchedStart=!!s.fetchedStart,this.fetchedEnd=!!s.fetchedEnd,this.addPage(s))},t.extend(t.PagedCollection,t.FlickrCollection,{getPage:function(e){var a,s,i,o,r,n,h;if(e&&e.page&&e.perPage&&!e.forceAPICall){if(n=this.totalPages&&e.page>=this.totalPages,h=this.totalItems&&s>=this.totalItems,a=e.perPage*(e.page-1),s=Math.min(e.perPage*e.page,this.totalItems),!n&&!h||!this.fetchedEnd)for(i=a;i<s;i++)if(void 0===this._data[i]||!this._data[i].exists()){o=!0;break}}else e||(e={}),o=!0;return o?(e.pathAlias||(e.id=this.id),e.isCollection=!0,(r=this.registry.attributes[this.attrName].pageFetch).fetchParams&&(e=t.merge(e,r.fetchParams)),t.FlickrCollection.executeFetch(e,this.registry,this.attrName,r.listFetcher)):t.Promise.resolve(this._data.slice(a,s))},addPage:function(t){var e,a,s=t.perPage*(t.page-1),i=s+Math.min(t.pageContent.length,t.perPage),o=0;if(t.forceAppend)this._data=this._data.concat(t.pageContent);else if(this._data.length<=s)this._data.length=s,this._data=this._data.concat(t.pageContent);else for(this._data.length<i&&(this._data.length=i),e=s;e<i;e++)this._data[e]=t.pageContent[o],o++;t.totalPages&&(this.totalPages=t.totalPages,t.page>=this.totalPages&&(this.fetchedEnd=!0)),void 0===t.totalItems||isNaN(parseFloat(t.totalItems))||(a=parseFloat(t.totalItems),this.totalItems=a,(this._data.length>=a||s+parseInt(t.perPage,10)>a&&this._data.length<a)&&(this.fetchedEnd=!0)),this.fetchedStart=this._data&&void 0!==this._data[0]},removePage:function(t){},getPageOf:function(t,e){e||(a.warn("`perPage` must be specified; defaulting to 50."),e=50);var s=this.find(t,!0);return s?Math.floor(s.index/e)+1:-1},getNextIncompletePage:function(t){for(var e=t.page*(t.perPage-1),a=Math.floor(this._data.length/t.perPage)+1;e<this._data.length;e++)if(void 0===this._data[e]||!this._data[e].exists()){a=Math.floor(e/t.perPage)+1;break}return a},_setValue:function(e){if(e instanceof Array)this.constructor.superclass._setValue.call(this,e);else{if(!(e=(function(e){var s={page:1,perPage:0,pageContent:[]};if(!e)return a.warn("No pageData sent to PagedCollection; aborting."),null;e instanceof Array&&(e={pageContent:e});return e=t.merge(s,e)})(e)))return;e.remove?this.removePage(e):this.addPage(e)}}})}),"@VERSION@",{requires:["flickr-collection"],optionalRequires:["hermes-core"]});YUI.add("flickr-model-registry",(function(e,t){var i=require("hermes-core/flog")(t);e.Models={};var s=e.FlickrModelRegistry=function(t){this.appContext=t,this.attributes=this.attributes||{},this.attributes.id={writeOnce:"initOnly",setter:function(t){return e.Lang.isString(t)||(e.Lang.isNumber(t)?t+="":(i.info("`id` falling back to a Y.guid",{topic:this.name,val:t}),t=e.guid())),t}},this._setDefaultRemoteMethods(),this._validateAttributes(),this._data={},this._dataSize=0,this._subscribers=[],this.hasWeakSubscribers=!1,this._chainedEvents={},this._derivedCache=void 0,this._unsavedModels={}};function a(t,i,s){return!1===s&&"string"==typeof t&&"string"==typeof i&&(t=t.toLowerCase(),i=i.toLowerCase()),t===i||(e.moment.isMoment(t)&&e.moment.isMoment(i)?0===t.diff(i):!!(e.Lang.isArray(t)&&e.Lang.isArray(i)&&(function(t,i){var s=!0;t.length!==i.length&&(s=!1);s&&e.Array.some(t,(function(e,t){if(!a(i[t],e))return s=!1,!0}));return s})(t,i))||!!(e.Lang.isObject(t,!0)&&e.Lang.isObject(i,!0)&&(function(t,i){var s=!0;e.Object.size(t)!==e.Object.size(i)&&(s=!1);s&&e.Object.some(t,(function(e,t){if(!i.hasOwnProperty(t)||!a(i[t],e))return s=!1,!0}));s&&e.Object.some(i,(function(e,i){if(!t.hasOwnProperty(i)||!a(t[i],e))return s=!1,!0}));return s})(t,i)))}function r(t){var i=t;return"object"==typeof t&&null!==t&&(Object.getPrototypeOf(t)===Array.prototype?(i=t.slice(),void 0!==t.hasMinBoundary&&(i.hasMinBoundary=t.hasMinBoundary),void 0!==t.hasMaxBoundary&&(i.hasMaxBoundary=t.hasMaxBoundary)):Object.getPrototypeOf(t)===Object.prototype&&(i={},e.Object.each(t,(function(e,t){i[t]=e}),this))),i}s.prototype={attributeSearch:function(t,i){var s=[];return t.id?s.push(t.id):e.Object.each(this._data,(function(r,n){var o=!0;e.Object.some(t,(function(e,t){if(!a(e,r[t],!1)){if(!0!==i)return o=!1,!0;if(!a(e,this.getDefaultValue(r.id,t),!1))return o=!1,!0}}),this),o&&s.push(n)}),this),s},load:function(t,i){var s,a,r=this;return i||(i={}),e.Lang.isObject(t,!0)?(s=this.attributeSearch(t).sort()[0],i=e.merge(t,i||{})):(s=t,i=e.merge({id:s},i)),s&&this.exists(s)?e.Promise.resolve(s):(this._fetchPromises||(this._fetchPromises={}),a=s||JSON.stringify(i),this._fetchPromises[a]||(this._fetchPromises[a]=this.remoteRead(i).then((function(){var e,i,n=s;if(s||(e=r.attributeSearch(t)).length>0&&(n=e[0]),delete r._fetchPromises[a],n&&r.exists(n))return n;throw(i=new Error("["+r.name+"] Model ID is missing after fetching.")).getModelFailure=!0,i}))),this._fetchPromises[a])},get:function(e,t){return this.load(e,t).then(this.proxy.bind(this))},add:function(t,s,a){var r;if(e.Lang.isObject(t,!0)&&!e.Lang.isArray(t))return void 0===s&&(s=!1),r=this.attributes.id.setter.apply(this,[t.id,void 0]),this._data[r]?i.warn("Attempt to add a model that is already in the registry.",{topic:this.name,id:r}):(this._data[r]={},this._dataSize++,this._queueEvent("modelsAdded",{id:r}),s?this._data[r]=t:Object.keys(this.attributes).forEach((function(e){var i=this.attributes[e],s=t[e];i.readOnly||this.setValue(r,e,s,!0,a)}),this),this.appContext.markAsNewlyFetched(this.name,r)),this.proxy(r);i.warn("`add` requires an object",{topic:this.name,data:t})},remove:function(e){this.exists(e)&&(delete this._data[e],this._dataSize--,this._removeChainedEvents(e),this._removeEventSubscribers(e),this._queueEvent("modelsRemoved",{id:e}))},removeAll:function(){e.Object.each(this._data,(function(e,t){this.remove(t)}),this)},removeAllExcept:function(t){var i=t.reduce((function(e,t){return e[t]=!0,e}),{});e.Object.each(this._data,(function(e,t){i[t]||this.remove(t)}),this)},_removeChainedEvents:function(t){var i;this._chainedEvents[t]&&(e.Object.each(this._chainedEvents[t],(function(t,s){(i=this.attributes[s])&&(i.isModel?t.detach():(i.isListProxy||i.isCollection)&&e.Array.each(t,(function(e){e.detach&&e.detach()})))}),this),delete this._chainedEvents[t])},_removeEventSubscribers:function(t){var i=[];this._subscribers.length&&(e.Array.each(this._subscribers,(function(e,s){e.id===t&&i.push(s)}),this),e.Array.each(i,(function(e){this._subscribers.splice(e,1)}),this))},proxy:function(t){return this._ModelProxy||(this._ModelProxy=e.getModelProxyConstructor(this)),new this._ModelProxy(t)},getValue:function(t,s,a){var n,o,h;if(t&&s)if(this.exists(t)){if(o=this.attributes[s])return o.isListProxy?n=new e.ListProxy(this,t,s):(void 0===(n=this._data[t][s])&&(n=this.getDefaultValue(t,s)),h=o.getter,!a&&h&&(n=h.apply(this,[n,t])),n=r(n)),n;i.warn("`getValue` called for an attribute that isn't defined",{topic:this.name,id:t,attr:s})}else i.warn("`getValue` called for an id that doesn't exist in the registry.",{topic:this.name,id:t,attr:s});else i.warn("`getValue` requires two arguments.",{topic:this.name,id:t,attr:s})},setValue:function(t,s,n,o,h){var d,u,l,c,f,v,g;if(!t||!s||arguments.length<3)i.warn("`setValue` requires three arguments.",{topic:this.name,id:t});else if(this.exists(t))if(d=this.attributes[s])if(d.readOnly)i.warn("Attribute is readOnly.",{topic:this.name,id:t,attr:s});else if("initOnly"!==d.writeOnce||o)if(!0===d.writeOnce&&this._data[t][s])i.warn("Attribute can only be set once.",{topic:this.name,id:t,attr:s});else{if(l=this.getValue(t,s),c=this._data[t][s],d.isListProxy&&(l=c),!h&&d.validator){if(v=d.validator,!e.Lang.isFunction(v))return void i.warn("Attribute has an invalid validator.",{topic:this.name,validator:d.validator,attr:s});if(!v.apply(this,[n,t]))return void i.info("Attribute validation failed.",{topic:this.name,id:t,val:n,attr:s})}n=r(n),!h&&d.setter&&(n=d.setter.apply(this,[n,t])),d.isListProxy&&!e.Lang.isArray(n)&&(n=[]),d.isCollection&&(n?"object"==typeof n&&n instanceof e.PagedCollection||(l?(c=l.getList(),l._setValue(n),n=l):(c=null,n=new e.PagedCollection(this,t,s,n))):n=new e.PagedCollection(this,t,s)),this._isDifferentValue(t,s,n,l)&&(!d.isModel||e.Lang.isObject(n)&&n.isModel?(o||(u=this._getAttributeValuesDerivedBy(t,s)),this._data[t][s]=n,d.isListProxy&&n&&(n.hasMinBoundary&&this.getValue(t,s).setMinBoundary(),n.hasMaxBoundary&&this.getValue(t,s).setMaxBoundary()),(d.isModel||d.isListProxy||d.isCollection)&&this._chainEvents(t,s),o||(f=this.getValue(t,s),d.isListProxy||d.isCollection||this._setUnsaved(t,s,f,l,c),g={id:t,attrName:s,prevVal:l,newVal:f},d.isListProxy?g.listDiff=this._calcListDiff(f,l):d.isCollection&&(g.listDiff=this._calcListDiff(f,c)),this._queueEvent("valuesChanged",g),e.Object.size(u)&&e.Object.each(u,(function(e,i){var r=this.getValue(t,i);a(r,e)||(g={id:t,attrName:i,prevVal:e,newVal:r,derivedBy:[s]},(this.attributes[i].isListProxy||this.attributes[i].isCollection)&&(g.listDiff=this._calcListDiff(r,e)),this._queueEvent("valuesChanged",g))}),this))):i.warn("Attribute must be a ModelProxy instance.",{topic:this.name,id:t,attr:s}))}else i.warn("Attribute can only be set during initialization.",{topic:this.name,id:t,attr:s});else i.warn("Attribute is not present in the attributes list.",{topic:this.name,id:t,attr:s});else i.warn("`setValue called for an id that is not in the registry.",{topic:this.name,id:t})},setValues:function(t,i){var s={};e.Object.each(i,(function(e,i){"id"!==i&&(s[i]=this.setValue(t,i,e))}),this)},revertValue:function(e,t){this._unsavedModels[e]&&void 0!==this._unsavedModels[e][t]&&this.setValue(e,t,this._unsavedModels[e][t].lastSavedValRaw)},exists:function(t){var i;return i=e.Lang.isArray(t)?t[0]:e.Lang.isObject(t,!0)?this.attributeSearch(t)[0]:t,!!this._data[i]},addOrUpdate:function(e){var t,i;this.exists(e.id)?Object.keys(e).forEach((function(s){t=this.attributes[s],i=e[s],t&&!t.readOnly&&"initOnly"!==t.writeOnce&&this.setValue(e.id,s,i)}),this):this.add(e);return this.appContext.markAsNewlyFetched(this.name,e.id),this.markChildModelsAsNewlyFetched(e.id),this.proxy(e.id)},markChildModelsAsNewlyFetched:function(e){var t=this.getOwnedModels(e),i=this;t.forEach((function(e){e&&(i.appContext.markAsNewlyFetched(e.registry.name,e.id),e.markChildModelsAsNewlyFetched(e.id))}))},getOwnedModels:function(t){var s,a,r,n=[];if(!t)return i.warn("`getOwnedModels` requires a model id.",{topic:this.name,id:t}),n;if(!this.exists(t))return n;for(s in this._ModelProxy||(this._ModelProxy=e.getModelProxyConstructor(this)),this.attributes)(a=this.attributes[s]).isModel?(r=this.getValue(t,s))&&r.exists()&&n.push(r):(a.isListProxy||a.isCollection)&&(n=n.concat(this.getValue(t,s).getList().filter((function(e){return e&&e.isModel&&e.exists()}))));return n},hasAttribute:function(e){return!!this.attributes[e]},toJSON:function(e){var t,i,s={};if(e)for(t in this.attributes)s[t]=this.getValue(e,t),s[t]&&(this.attributes[t].isModel||this.attributes[t].isListProxy||this.attributes[t].isCollection)&&(s[t]=s[t].toJSON());else for(i in this._data)s[i]=this.toJSON(i);return s},on:function(t,i,s,a){var r;return t||(t=null),r={eventName:i,fn:s,id:t,weak:a},this._subscribers.push(r),a&&(this.hasWeakSubscribers=!0),{detach:function(){var t=e.Array.indexOf(this._subscribers,r);this._subscribers.splice(t,1)}.bind(this)}},removeWeakSubscribers:function(){var e=this._subscribers.length;if(e)for(;e--;)this._subscribers[e].weak&&this._subscribers.splice(e,1);this.hasWeakSubscribers=!1},getCount:function(){return this._dataSize},getDefaultValue:function(e,t){var i,s;return"function"==typeof(i=this.attributes[t]).defaultFn&&(s=i.defaultFn.call(this,e)),void 0===s&&void 0!==i.defaultValue&&(s=i.defaultValue),s},_isDifferentValue:function(e,t,i,s){var r=this.attributes[t],n=r.getter;if(n&&(i=n.apply(this,[i,e])),void 0!==r.isListProxy&&r.isListProxy&&void 0!==s){if(i.hasMaxBoundary!==(void 0!==s.hasMaxBoundary&&s.hasMaxBoundary)||i.hasMinBoundary!==(void 0!==s.hasMinBoundary&&s.hasMinBoundary))return!0}else if(r.isCollection)return!0;return!a(i,s)},_calcListDiff:function(t,i){var s,a,r,n,o={added:null,removed:null};return s=t instanceof e.ListProxy||t instanceof e.PagedCollection?t.getList():t,a=i instanceof e.ListProxy||i instanceof e.PagedCollection?i.getList():i,r=a.reduce((function(e,t){return t&&t.id&&(e[t.id]=!0),e}),{}),n=s.reduce((function(e,t){return t&&t.id&&(e[t.id]=!0),e}),{}),o.added=s.filter((function(e){return e&&!r[e.id]})),o.removed=a.filter((function(e){return e&&!n[e.id]})),o},_getAttributesDerivedBy:function(t){return this._derivedCache||(this._derivedCache={},e.Object.each(this.attributes,(function(t,i){t.derivedBy&&e.Lang.isArray(t.derivedBy)&&e.Array.each(t.derivedBy,(function(e){this._derivedCache[e]||(this._derivedCache[e]=[]),this._derivedCache[e].push(i)}),this)}),this)),this._derivedCache[t]},_getAttributeValuesDerivedBy:function(t,i){var s=this._getAttributesDerivedBy(i),a={};return s&&s.length&&e.Array.each(s,(function(e){a[e]=this.getValue(t,e)}),this),a},_queueEvent:function(t,i){var s;this._eventQueue||(this._eventQueue=[]),(s=this._eventQueue).push({type:t,data:i}),this._eventPending||(this._eventPending=!0,setTimeout(function(){var t={};this._eventPending=!1,delete this._eventQueue,e.Array.each(s,(function(e){var i=e.type,s=e.data,a=s.id;switch(i){case"modelsAdded":case"modelsRemoved":t[i]=t[i]||{},t[i][a]=s;break;case"valuesChanged":if(t.valuesChanged&&t.valuesChanged[a]&&t.valuesChanged[a][s.attrName]&&t.valuesChanged[a][s.attrName].newVal){t.valuesChanged[a][s.attrName].newVal=s.newVal,t.valuesChanged[a][s.attrName].derivedBy&&s.derivedBy&&(t.valuesChanged[a][s.attrName].derivedBy=t.valuesChanged[a][s.attrName].derivedBy.concat(s.derivedBy)),t.valuesChanged[a][s.attrName].chained&&!s.chained&&delete t.valuesChanged[a][s.attrName].chained;break}t.valuesChanged=t.valuesChanged||{},t.valuesChanged[a]=t.valuesChanged[a]||{},t.valuesChanged[a][s.attrName]=s}})),e.Object.each(t,(function(e,t){this._fireEvent(t,e)}),this)}.bind(this),0))},_fireEvent:function(e,t){this._subscribers.slice().forEach((function(i){i&&i.eventName===e&&(i.id?t[i.id]&&i.fn.call(void 0,t[i.id]):i.fn.call(void 0,t))}))},_chainEvents:function(t,i){var s,a,r=this.attributes[i];this._chainedEvents[t]=this._chainedEvents[t]||{},r.isModel?(this._chainedEvents[t][i]&&this._chainedEvents[t][i].detach(),a=this.getValue(t,i),this._chainedEvents[t][i]=a.on("valuesChanged",function(e){this._queueChainedEvent(t,i)}.bind(this))):(r.isListProxy||r.isCollection)&&(this._chainedEvents[t][i]&&e.Array.each(this._chainedEvents[t][i],(function(e){e.detach()})),this._chainedEvents[t][i]=[],s=this.getValue(t,i),e.Array.each(s.getList(),(function(e){e&&this._chainedEvents[t][i].push(e.on("valuesChanged",function(e){this._queueChainedEvent(t,i)}.bind(this)))}),this))},_queueChainedEvent:function(t,i){var s,a=this.getValue(t,i);this._queueEvent("valuesChanged",{id:t,attrName:i,prevVal:a,newVal:a,chained:!0}),s=this._getAttributeValuesDerivedBy(t,i),e.Object.size(s)&&e.Object.each(s,(function(e,s){this._queueEvent("valuesChanged",{id:t,attrName:s,newVal:e,derivedBy:[i],chained:!0})}),this)},_deleteUnsaved:function(t,i){this._unsavedModels[t]&&this._unsavedModels[t][i]&&(delete this._unsavedModels[t][i],0===e.Object.size(this._unsavedModels[t])&&delete this._unsavedModels[t])},_setUnsaved:function(e,t,i,s,r){this._unsavedModels[e]&&this._unsavedModels[e][t]?a(i,this._unsavedModels[e][t].lastSavedVal)&&this._deleteUnsaved(e,t):(this._unsavedModels[e]=this._unsavedModels[e]||{},this._unsavedModels[e][t]={lastSavedVal:s,lastSavedValRaw:r})},_validateAttributes:function(){var t,s;t=["setter","getter","validator","defaultValue","defaultFn","derivedBy","readOnly","writeOnce","isModel","serialize","deserialize"],s=["isListProxy","isCollection","pageFetch","contextFetch","rangeFetch"],e.Object.each(this.attributes,(function(a,r){e.Object.each(a,(function(n,o){a.isListProxy||a.isCollection?-1===e.Array.indexOf(s,o)&&i.warn("Unknown property on collection attribute.",{topic:this.name,prop:o,attr:r}):-1===e.Array.indexOf(t,o)&&i.warn("Unknown property on attribute.",{topic:this.name,prop:o,attr:r})}),this)}),this)},_setDefaultRemoteMethods:function(){this.remote=this.remote||{},this.remote.create||(this.remote.create=function(t){return i.error("`remote.create` was called without being implemented.",{topic:this.name,attrs:t}),e.Promise.reject()}),this.remote.read||(this.remote.read=function(t){Object.keys(this.attributes).some((function(e){var t=this.attributes[e];if(!("id"===e||t.readOnly||t.isListProxy||t.isCollection||t.defaultValue||t.defaultFn))return!0}),this),"object"!=typeof t&&(t={id:t});var i={id:t.id};return this.add(i),e.Promise.resolve(i)}),this.remote.update||(this.remote.update=function(t,s){return i.error("`remote.update` was called without being implemented.",{topic:this.name,id:t,attrs:s}),e.Promise.reject()}),this.remote.delete||(this.remote.delete=function(t){return i.error("`remote.delete` was called without being implemented.",{topic:this.name,id:t}),e.Promise.reject()})},remoteCreate:function(e){return this.remote.create.call(this,e)},remoteRead:function(e){return this.remote.read.call(this,e)},remoteUpdate:function(t){var i={},s=this;return this._unsavedModels[t]&&e.Object.each(this._unsavedModels[t],(function(e,s){i[s]={newVal:this.getValue(t,s),prevVal:e.lastSavedVal}}),this),e.Object.size(i)>0?this.remote.update.call(this,t,i).then((function(e){return s._unsavedModels={},e})):e.Promise.resolve()},remoteBatchUpdate:function(e,t){return this.remote.batchUpdate.call(this,e,t)},remoteDelete:function(e){var t=this;return this.remote.delete.call(this,e).then((function(){t.remove(e)}))},getListPageByContinuation:function(t,i){var s,a,r,n,o,h,d,u,l,c,f=this,v=f.appContext,g="-1",m=e.APIHelper.request.getRebootPhotoExtras();switch(f.name){case"photo-groups-models":s="group-pool-models",a="groups",r="flickr.photos.getGroups",n="groups.group",m+=","+e.APIHelper.request.getRebootGroupExtras();break;case"photo-sets-models":s="set-models",a="sets",r="flickr.photos.getSets",n="sets.set";break;case"photo-galleries-models":s="gallery-models",a="galleries",r="flickr.photos.getGalleries",n="galleries.gallery"}return r?f.exists(t)?(f.continuationKeys=f.continuationKeys||{},f.getMorePromises=f.getMorePromises||{},(h=f.continuationKeys[t]||"0")===g?e.Promise.resolve({newItems:[],loadedAll:!0}):("0"===h&&(i+=f.getValue(t,a).getList().length),o={photo_id:t,extras:m,primary_photo_extras:"url_sq, url_t, url_s, url_m",continuation:h,per_page:i},u=t+"_"+h,(l=f.getMorePromises[u])?l:(c={apiResponse:v.callAPI(r,o,!0),contextRegistry:v.getModelRegistry(s),personRegistry:v.getModelRegistry("person-models")},"photo-groups-models"===f.name&&(c.groupRegistry=v.getModelRegistry("group-models")),f.getMorePromises[u]=new e.FlickrPromise(c).then((function(i){var s,r,o,h=[],l=i.apiResponse,c=i.contextRegistry,v=i.personRegistry,m=i.groupRegistry;return(r=n.split(".").reduce((function(t,i){return e.Lang.isObject(t)?t[i]:void 0}),l))&&(e.Array.each(r,(function(t){e.APIHelper.response.addContextToRegistry(t,c,v,m),h.push(c.proxy(t.id))})),h.length&&(o=f.getValue(t,a).getList().map((function(e){return e.getValue("id")})),(h=h.filter((function(e){return-1===o.indexOf(e.getValue("id"))}))).length&&f.getValue(t,a).appendToListMulti(h))),void 0===(d=l[a].continuation)?d=g:e.Lang.isNumber(d)&&(d+=""),s=d===g,f.continuationKeys[t]=d,delete f.getMorePromises[u],{newItems:h,loadedAll:s}}),(function(e){throw delete f.getMorePromises[u],e})),f.getMorePromises[u]))):e.Promise.reject("[api-helper] getListPageByContinuation was called for an ID that isn't in the registry: "+t):e.Promise.reject("[api-helper] getListPageByContinuation was called without an invalid registry type: "+f.name)},getBuriedValue:function(e,t){var i,s={};return(i=this.getValue(e,t))&&i.payload&&(s=i.payload),s},setBuriedValue:function(e,t,i,s){return this.setValue(e,t,{payload:i},s)}},e.mix(s.prototype,e.Localizable)}),"@VERSION@",{requires:["flickr-promise","model-proxy","list-proxy","moment","paged-collection","localizable"],optionalRequires:["hermes-core"]});YUI.add("timezone-helper",(function(t){"use strict";t.TimezoneHelper=function(e,i,s){s?(this.tz=s,this.dst=!1):(this.tz=e.getViewer().prefs.timezonePref.offset,this.dst=e.getViewer().prefs.timezonePref.dst),this.momentObject=t.moment(i,"X"),this.momentObject.utcOffset(this.tz),this.dst&&this.momentObject.isDST()&&this.momentObject.add(1,"hour")},t.TimezoneHelper.prototype.toFormat=function(t){return this.momentObject.format(t)}}),"@VERSION@",{requires:["moment"]});YUI.add("subscriptions-helper",(function(e,t){"use strict";var n=require("hermes-core/flog")(t);e.SubscriptionsHelper=function(){this.FLICKR_PRO_3_MONTH_PLAN_ID=1,this.FLICKR_PRO_1_YEAR_PLAN_ID=2,this.FLICKR_PRO_2_YEARS_PLAN_ID=3,this.FLICKR_PRO_MONTHLY_PLAN_ID=7,this.FLICKR_PRO_ANNUAL_PLAN_ID=8,this.FLICKR_PRO_ANNUAL_TRIAL=9,this.FLICKR_PRO_OLD_ANNUAL_TRIAL=10,this.FLICKR_PRO_3_MONTH_V2_PLAN_ID=11,this.FLICKR_PRO_2_YEAR_V2_PLAN_ID=12,this.FLICKR_PRO_1_MONTH_V2_APPLE_ID=13,this.FLICKR_PRO_1_YEAR_V2_APPLE_ID=14,this.FLICKR_PRO_1_MONTH_V2_GOOGLE_ID=15,this.FLICKR_PRO_1_YEAR_V2_GOOGLE_ID=16,this.FLICKR_PRO_STRIPE_MONTHLY_PLAN_ID=17,this.FLICKR_PRO_STRIPE_ANNUAL_PLAN_ID=18,this.FLICKR_PRO_STRIPE_3_MONTH_PLAN_ID=19,this.FLICKR_PRO_STRIPE_2_YEAR_PLAN_ID=20,this.FLICKR_PRO_ANNUAL_PRICE=71.99,this.FLICKR_PRO_MONTHLY_PRICE=8.25,this.FLICKR_PRO_3_MONTH_V2_PRICE=18.99,this.FLICKR_PRO_2_YEAR_V2_PRICE=117.99,this.FLICKR_PRO_WEEK_PRICE=1.99,this.ADOBE_PARTNERSHIP_COUPON="FlickrAdobe25",this.BT_MIG_5_1_ANNUAL_COUPON="BTMIG5135A",this.BT_MIG_3_1_ANNUAL_COUPON="BTMIG3125A",this.BT_MIG_3_2_ANNUAL_COUPON="BTMIG3225A",this.BT_MIG_5_2_30_COUPON="BTMIG5230",this.BT_MIG_5_2_20_COUPON="BTMIG5220",this.EXPLORE_EXPERIMENT_MONTHLY_COUPON="EXPLOREFLICKRPRO50",this.EXPLORE_EXPERIMENT_WEEKLY_TRIAL="FLICKR7DAYTRIAL",this.UTM_PRO_BADGE="pro-badge",this.UTM_HIDE_ADS="hide-ads",this.UTM_UPSELL_LINK="upsell-link",this.UTM_GLOBAL_NAV="global-nav",this.UTM_HIDE_ADS_GETTY_SEARCH="hide-ads-getty",this.UTM_EXPLORED_BANNER_DISCOUNT="explored_segment_discount",this.UTM_CHURNED_BANNER_PRO="churned_pro_banner",this.UTM_SAFETY_UPSELL="safety-upsell",this.subscriptionsIdByName={"pro-3month":this.FLICKR_PRO_3_MONTH_PLAN_ID,"pro-3month-v2":this.FLICKR_PRO_3_MONTH_V2_PLAN_ID,"pro-1year":this.FLICKR_PRO_1_YEAR_PLAN_ID,"pro-2year":this.FLICKR_PRO_2_YEARS_PLAN_ID,"pro-2year-v2":this.FLICKR_PRO_2_YEAR_V2_PLAN_ID,"pro-monthly":this.FLICKR_PRO_MONTHLY_PLAN_ID,"pro-annual":this.FLICKR_PRO_ANNUAL_PLAN_ID,"pro-trial":this.FLICKR_PRO_ANNUAL_TRIAL,"pro-2-year":this.FLICKR_PRO_STRIPE_2_YEAR_PLAN_ID},this.subscriptionsIdByNameOnStripe={"pro-3month":this.FLICKR_PRO_STRIPE_3_MONTH_PLAN_ID,"pro-3month-v2":this.FLICKR_PRO_STRIPE_3_MONTH_PLAN_ID,"pro-1year":this.FLICKR_PRO_STRIPE_ANNUAL_PLAN_ID,"pro-2year":this.FLICKR_PRO_STRIPE_ANNUAL_PLAN_ID,"pro-2year-v2":this.FLICKR_PRO_STRIPE_ANNUAL_PLAN_ID,"pro-monthly":this.FLICKR_PRO_STRIPE_MONTHLY_PLAN_ID,"pro-annual":this.FLICKR_PRO_STRIPE_ANNUAL_PLAN_ID,"pro-2-year":this.FLICKR_PRO_STRIPE_2_YEAR_PLAN_ID},this.subscriptionStatusMap={initiated:1,active:2,closed:3,canceled:4,failed:5,refunded:6,pending:7,subscription_canceled:8,subscription_charged_successfully:9,subscription_charged_unsuccessfully:10,subscription_expired:11,subscription_went_past_due:12,change_initiated:13,closed_pending:14},this.subscriptionsIdHasAnnualPerk={1:!1,2:!0,3:!0,4:!0,6:!1,7:!1,8:!0,9:!0,10:!0,11:!1,12:!0,13:!1,14:!0,15:!1,16:!0,17:!1,18:!0,19:!1,20:!0},this.cardTypeMap={1:"visa",2:"master-card",3:"discover",4:"american-express",5:"JCB"},this.paymentVendorMap={braintree:10,oldpaypal:20,digitalriver:30,apple:40,google:50,stripe:60},this.countriesArray=[{countryCode:"US",countryName:"United States"},{countryCode:"AF",countryName:"Afghanistan"},{countryCode:"AX",countryName:"Åland"},{countryCode:"AL",countryName:"Albania"},{countryCode:"DZ",countryName:"Algeria"},{countryCode:"AS",countryName:"American Samoa"},{countryCode:"AD",countryName:"Andorra"},{countryCode:"AO",countryName:"Angola"},{countryCode:"AI",countryName:"Anguilla"},{countryCode:"AQ",countryName:"Antarctica"},{countryCode:"AG",countryName:"Antigua and Barbuda"},{countryCode:"AR",countryName:"Argentina"},{countryCode:"AM",countryName:"Armenia"},{countryCode:"AW",countryName:"Aruba"},{countryCode:"AU",countryName:"Australia"},{countryCode:"AT",countryName:"Austria"},{countryCode:"AZ",countryName:"Azerbaijan"},{countryCode:"BS",countryName:"Bahamas"},{countryCode:"BH",countryName:"Bahrain"},{countryCode:"BD",countryName:"Bangladesh"},{countryCode:"BB",countryName:"Barbados"},{countryCode:"BE",countryName:"Belgium"},{countryCode:"BZ",countryName:"Belize"},{countryCode:"BJ",countryName:"Benin"},{countryCode:"BM",countryName:"Bermuda"},{countryCode:"BT",countryName:"Bhutan"},{countryCode:"BO",countryName:"Bolivia"},{countryCode:"BQ",countryName:"Bonaire, Sint Eustatius and Saba"},{countryCode:"BA",countryName:"Bosnia and Herzegovina"},{countryCode:"BW",countryName:"Botswana"},{countryCode:"BV",countryName:"Bouvet Island"},{countryCode:"BR",countryName:"Brazil"},{countryCode:"IO",countryName:"British Indian Ocean Territory"},{countryCode:"BN",countryName:"Brunei Darussalam"},{countryCode:"BG",countryName:"Bulgaria"},{countryCode:"BF",countryName:"Burkina Faso"},{countryCode:"BI",countryName:"Burundi"},{countryCode:"KH",countryName:"Cambodia"},{countryCode:"CM",countryName:"Cameroon"},{countryCode:"CA",countryName:"Canada"},{countryCode:"CV",countryName:"Cape Verde"},{countryCode:"KY",countryName:"Cayman Islands"},{countryCode:"CF",countryName:"Central African Republic"},{countryCode:"TD",countryName:"Chad"},{countryCode:"CL",countryName:"Chile"},{countryCode:"CN",countryName:"China"},{countryCode:"CX",countryName:"Christmas Island"},{countryCode:"CC",countryName:"Cocos (Keeling) Islands"},{countryCode:"CO",countryName:"Colombia"},{countryCode:"KM",countryName:"Comoros"},{countryCode:"CG",countryName:"Congo (Brazzaville)"},{countryCode:"CD",countryName:"Congo (Kinshasa)"},{countryCode:"CK",countryName:"Cook Islands"},{countryCode:"CR",countryName:"Costa Rica"},{countryCode:"CI",countryName:"Côte d'Ivoire"},{countryCode:"HR",countryName:"Croatia"},{countryCode:"CW",countryName:"Curaçao"},{countryCode:"CY",countryName:"Cyprus"},{countryCode:"CZ",countryName:"Czech Republic"},{countryCode:"DK",countryName:"Denmark"},{countryCode:"DJ",countryName:"Djibouti"},{countryCode:"DM",countryName:"Dominica"},{countryCode:"DO",countryName:"Dominican Republic"},{countryCode:"EC",countryName:"Ecuador"},{countryCode:"EG",countryName:"Egypt"},{countryCode:"SV",countryName:"El Salvador"},{countryCode:"GQ",countryName:"Equatorial Guinea"},{countryCode:"ER",countryName:"Eritrea"},{countryCode:"EE",countryName:"Estonia"},{countryCode:"ET",countryName:"Ethiopia"},{countryCode:"FK",countryName:"Falkland Islands"},{countryCode:"FO",countryName:"Faroe Islands"},{countryCode:"FJ",countryName:"Fiji"},{countryCode:"FI",countryName:"Finland"},{countryCode:"FR",countryName:"France"},{countryCode:"GF",countryName:"French Guiana"},{countryCode:"PF",countryName:"French Polynesia"},{countryCode:"TF",countryName:"French Southern Lands"},{countryCode:"GA",countryName:"Gabon"},{countryCode:"GM",countryName:"Gambia"},{countryCode:"GE",countryName:"Georgia"},{countryCode:"DE",countryName:"Germany"},{countryCode:"GH",countryName:"Ghana"},{countryCode:"GI",countryName:"Gibraltar"},{countryCode:"GR",countryName:"Greece"},{countryCode:"GL",countryName:"Greenland"},{countryCode:"GD",countryName:"Grenada"},{countryCode:"GP",countryName:"Guadeloupe"},{countryCode:"GU",countryName:"Guam"},{countryCode:"GT",countryName:"Guatemala"},{countryCode:"GG",countryName:"Guernsey"},{countryCode:"GN",countryName:"Guinea"},{countryCode:"GW",countryName:"Guinea-Bissau"},{countryCode:"GY",countryName:"Guyana"},{countryCode:"HT",countryName:"Haiti"},{countryCode:"HM",countryName:"Heard and McDonald Islands"},{countryCode:"HN",countryName:"Honduras"},{countryCode:"HK",countryName:"Hong Kong"},{countryCode:"HU",countryName:"Hungary"},{countryCode:"IS",countryName:"Iceland"},{countryCode:"IN",countryName:"India"},{countryCode:"ID",countryName:"Indonesia"},{countryCode:"IE",countryName:"Ireland"},{countryCode:"IM",countryName:"Isle of Man"},{countryCode:"IL",countryName:"Israel"},{countryCode:"IT",countryName:"Italy"},{countryCode:"JM",countryName:"Jamaica"},{countryCode:"JP",countryName:"Japan"},{countryCode:"JE",countryName:"Jersey"},{countryCode:"JO",countryName:"Jordan"},{countryCode:"KZ",countryName:"Kazakhstan"},{countryCode:"KE",countryName:"Kenya"},{countryCode:"KI",countryName:"Kiribati"},{countryCode:"KR",countryName:"Korea, South"},{countryCode:"KW",countryName:"Kuwait"},{countryCode:"KG",countryName:"Kyrgyzstan"},{countryCode:"LA",countryName:"Laos"},{countryCode:"LV",countryName:"Latvia"},{countryCode:"LB",countryName:"Lebanon"},{countryCode:"LS",countryName:"Lesotho"},{countryCode:"LR",countryName:"Liberia"},{countryCode:"LY",countryName:"Libya"},{countryCode:"LI",countryName:"Liechtenstein"},{countryCode:"LT",countryName:"Lithuania"},{countryCode:"LU",countryName:"Luxembourg"},{countryCode:"MO",countryName:"Macau"},{countryCode:"MK",countryName:"Macedonia"},{countryCode:"MG",countryName:"Madagascar"},{countryCode:"MW",countryName:"Malawi"},{countryCode:"MY",countryName:"Malaysia"},{countryCode:"MV",countryName:"Maldives"},{countryCode:"ML",countryName:"Mali"},{countryCode:"MT",countryName:"Malta"},{countryCode:"MH",countryName:"Marshall Islands"},{countryCode:"MQ",countryName:"Martinique"},{countryCode:"MR",countryName:"Mauritania"},{countryCode:"MU",countryName:"Mauritius"},{countryCode:"YT",countryName:"Mayotte"},{countryCode:"MX",countryName:"Mexico"},{countryCode:"FM",countryName:"Micronesia"},{countryCode:"MD",countryName:"Moldova"},{countryCode:"MC",countryName:"Monaco"},{countryCode:"MN",countryName:"Mongolia"},{countryCode:"ME",countryName:"Montenegro"},{countryCode:"MS",countryName:"Montserrat"},{countryCode:"MA",countryName:"Morocco"},{countryCode:"MZ",countryName:"Mozambique"},{countryCode:"MM",countryName:"Myanmar"},{countryCode:"NA",countryName:"Namibia"},{countryCode:"NR",countryName:"Nauru"},{countryCode:"NP",countryName:"Nepal"},{countryCode:"NL",countryName:"Netherlands"},{countryCode:"AN",countryName:"Netherlands Antilles"},{countryCode:"NC",countryName:"New Caledonia"},{countryCode:"NZ",countryName:"New Zealand"},{countryCode:"NI",countryName:"Nicaragua"},{countryCode:"NE",countryName:"Niger"},{countryCode:"NG",countryName:"Nigeria"},{countryCode:"NU",countryName:"Niue"},{countryCode:"NF",countryName:"Norfolk Island"},{countryCode:"MP",countryName:"Northern Mariana Islands"},{countryCode:"NO",countryName:"Norway"},{countryCode:"OM",countryName:"Oman"},{countryCode:"PK",countryName:"Pakistan"},{countryCode:"PW",countryName:"Palau"},{countryCode:"PS",countryName:"Palestine"},{countryCode:"PA",countryName:"Panama"},{countryCode:"PG",countryName:"Papua New Guinea"},{countryCode:"PY",countryName:"Paraguay"},{countryCode:"PE",countryName:"Peru"},{countryCode:"PH",countryName:"Philippines"},{countryCode:"PN",countryName:"Pitcairn"},{countryCode:"PL",countryName:"Poland"},{countryCode:"PT",countryName:"Portugal"},{countryCode:"PR",countryName:"Puerto Rico"},{countryCode:"QA",countryName:"Qatar"},{countryCode:"RE",countryName:"Reunion"},{countryCode:"RO",countryName:"Romania"},{countryCode:"RW",countryName:"Rwanda"},{countryCode:"BL",countryName:"Saint Barthélemy"},{countryCode:"SH",countryName:"Saint Helena"},{countryCode:"KN",countryName:"Saint Kitts and Nevis"},{countryCode:"LC",countryName:"Saint Lucia"},{countryCode:"MF",countryName:"Saint Martin (French part)"},{countryCode:"PM",countryName:"Saint Pierre and Miquelon"},{countryCode:"VC",countryName:"Saint Vincent and the Grenadines"},{countryCode:"WS",countryName:"Samoa"},{countryCode:"SM",countryName:"San Marino"},{countryCode:"ST",countryName:"Sao Tome and Principe"},{countryCode:"SA",countryName:"Saudi Arabia"},{countryCode:"SN",countryName:"Senegal"},{countryCode:"RS",countryName:"Serbia"},{countryCode:"SC",countryName:"Seychelles"},{countryCode:"SL",countryName:"Sierra Leone"},{countryCode:"SG",countryName:"Singapore"},{countryCode:"SX",countryName:"Sint Maarten (Dutch part)"},{countryCode:"SK",countryName:"Slovakia"},{countryCode:"SI",countryName:"Slovenia"},{countryCode:"SB",countryName:"Solomon Islands"},{countryCode:"SO",countryName:"Somalia"},{countryCode:"ZA",countryName:"South Africa"},{countryCode:"GS",countryName:"South Georgia and South Sandwich Islands"},{countryCode:"SS",countryName:"South Sudan"},{countryCode:"ES",countryName:"Spain"},{countryCode:"LK",countryName:"Sri Lanka"},{countryCode:"SD",countryName:"Sudan"},{countryCode:"SR",countryName:"Suriname"},{countryCode:"SJ",countryName:"Svalbard and Jan Mayen Islands"},{countryCode:"SZ",countryName:"Swaziland"},{countryCode:"SE",countryName:"Sweden"},{countryCode:"CH",countryName:"Switzerland"},{countryCode:"TW",countryName:"Taiwan"},{countryCode:"TJ",countryName:"Tajikistan"},{countryCode:"TZ",countryName:"Tanzania"},{countryCode:"TH",countryName:"Thailand"},{countryCode:"TL",countryName:"Timor-Leste"},{countryCode:"TG",countryName:"Togo"},{countryCode:"TK",countryName:"Tokelau"},{countryCode:"TO",countryName:"Tonga"},{countryCode:"TT",countryName:"Trinidad and Tobago"},{countryCode:"TN",countryName:"Tunisia"},{countryCode:"TR",countryName:"Turkey"},{countryCode:"TM",countryName:"Turkmenistan"},{countryCode:"TC",countryName:"Turks and Caicos Islands"},{countryCode:"TV",countryName:"Tuvalu"},{countryCode:"UG",countryName:"Uganda"},{countryCode:"AE",countryName:"United Arab Emirates"},{countryCode:"GB",countryName:"United Kingdom"},{countryCode:"UM",countryName:"United States Minor Outlying Islands"},{countryCode:"UY",countryName:"Uruguay"},{countryCode:"UZ",countryName:"Uzbekistan"},{countryCode:"VU",countryName:"Vanuatu"},{countryCode:"VA",countryName:"Vatican City"},{countryCode:"VN",countryName:"Vietnam"},{countryCode:"VG",countryName:"Virgin Islands, British"},{countryCode:"VI",countryName:"Virgin Islands, U.S."},{countryCode:"WF",countryName:"Wallis and Futuna Islands"},{countryCode:"EH",countryName:"Western Sahara"},{countryCode:"YE",countryName:"Yemen"},{countryCode:"ZM",countryName:"Zambia"},{countryCode:"ZW",countryName:"Zimbabwe"}],this.usStatesArray=["AL","AK","AZ","AR","AE","AA","AP","CA","CO","CT","DE","DC","FL","GA","HI","ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY"],this.canadaProvincesArray=["AB","BC","MB","NB","NL","NT","NS","NU","ON","PE","QC","SK","YT"],this.US_TERRITORIES_COUNTRIES_CODES=["PR","UM","GU","VI","AS","MP"],this.EU=new Set(["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","GB"])},e.SubscriptionsHelper.prototype.canPlanIdSeeAnnualPerks=function(e){return this.subscriptionsIdHasAnnualPerk[e]},e.SubscriptionsHelper.prototype.convertDesiredPlan=function(e){var t;if("pro-3month"===e||"pro-3month-v2"===e||"pro-1year"===e||"pro-2year"===e||"pro-2year-v2"===e)switch(e){case"pro-monthly":case"pro-3month":case"pro-3month-v2":t="pro-monthly";break;case"pro-1year":default:t="pro-annual";break;case"pro-2year":case"pro-2year-v2":t="pro-2-year"}else t=""===e?"pro-annual":e;return t},e.SubscriptionsHelper.prototype.getPlanIdWithPlanName=function(e,t){var n=this.FLICKR_PRO_ANNUAL_PLAN_ID,r=t?this.subscriptionsIdByNameOnStripe:this.subscriptionsIdByName;return void 0!==r[e]&&(n=r[e]),n},e.SubscriptionsHelper.prototype.getPlanNameWithPlanId=function(e,t){var n="",r=t?this.subscriptionsIdByNameOnStripe:this.subscriptionsIdByName;for(var o in this.subscriptionsIdByName)if(r[o]===e){n=o;break}return n},e.SubscriptionsHelper.prototype.canPurchaseAtLeastOnePlan=function(e){var t=[];return e&&(t=e.filter((function(e){return 1===e.canPurchase}))),t.length>0},e.SubscriptionsHelper.prototype.canPurchaseThisPlanId=function(e,t){var n=[];return e&&t&&(n=t.filter((function(t){return t.planId===e}))),n.length>0},e.SubscriptionsHelper.prototype.getNewProPlans=function(e){if(e)return e.filter((function(e){return"FlickrNewPro"===e.familyName}))},e.SubscriptionsHelper.prototype.getOldProPlans=function(e){if(e)return e.filter((function(e){return"FlickrPro"===e.familyName}))},e.SubscriptionsHelper.prototype.getPlanWithIdInPlansList=function(e){},e.SubscriptionsHelper.prototype.sanitizeCouponCode=function(e){var t=!1;if(e){if(t=e.trim(),e.length<=1)return!1;if(!t.match(/^[\w\-]+$/))return!1}return t},e.SubscriptionsHelper.prototype.convertLocaleToPaypalFormat=function(e){if(e){return{"de-DE":"de_DE","en-US":"en_US","es-US":"es_ES","fr-FR":"fr_FR","id-ID":"id_ID","it-IT":"it_IT","ko-KR":"ko_KR","pt-BR":"pt_PT","vi-VN":"en_US","zh-HK":"zh_HK"}[e]}},e.SubscriptionsHelper.prototype.getStripeLocale=function(e){var t="en";if(e){t={"de-DE":"de","en-US":"en","es-US":"es-419","fr-FR":"fr","id-ID":"id","it-IT":"it","ko-KR":"ko","pt-BR":"pt-BR","vi-VN":"vi","zh-HK":"zh"}[e]}return t},e.SubscriptionsHelper.prototype.getGooglePayLocale=function(e){var t="en";if(e){t={"de-DE":"de","en-US":"en","es-US":"es","fr-FR":"fr","id-ID":"id","it-IT":"it","ko-KR":"ko","pt-BR":"pt","vi-VN":"en","zh-HK":"zh"}[e]}return t},e.SubscriptionsHelper.prototype.getNiceCardType=function(e){return this.cardTypeMap[e]},e.SubscriptionsHelper.prototype.getPaymentVendorType=function(e){return this.paymentVendorMap[e]},e.SubscriptionsHelper.prototype.isPaymentVendorBraintree=function(e){return e===this.paymentVendorMap.braintree},e.SubscriptionsHelper.prototype.isPaymentVendorDigitalRiver=function(e){return e===this.paymentVendorMap.digitalriver},e.SubscriptionsHelper.prototype.isPaymentVendorStripe=function(e){return e===this.paymentVendorMap.stripe},e.SubscriptionsHelper.prototype.isPaymentVendorAppleOrGoogle=function(e){return e===this.paymentVendorMap.apple||e===this.paymentVendorMap.google},e.SubscriptionsHelper.prototype.isPaymentVendorApple=function(e){return e===this.paymentVendorMap.apple},e.SubscriptionsHelper.prototype.isPaymentVendorGoogle=function(e){return e===this.paymentVendorMap.google},e.SubscriptionsHelper.prototype.hasYearlyLegalNotice=function(e){return this.subscriptionsIdHasAnnualPerk[e]},e.SubscriptionsHelper.prototype.log=function(t,n){!YUI.Env.isServer&&e.config.win.beaconError&&e.config.win.beaconError("[flickr-add-payment-method] "+t,e.config.win.location.href,n||{})},e.SubscriptionsHelper.prototype.beaconTransactionStep=function(t,n){!YUI.Env.isServer&&e.config.win.beaconError&&e.config.win.beaconError("[PRO] "+t,e.config.win.location.href,n||{})},e.SubscriptionsHelper.prototype.doesPlanIdHaveTrial=function(e){return e===this.FLICKR_PRO_ANNUAL_PLAN_ID||e===this.FLICKR_PRO_1_YEAR_PLAN_ID||e===this.FLICKR_PRO_2_YEARS_PLAN_ID},e.SubscriptionsHelper.prototype.canPurchaseTrialPlan=function(t,n){if(t&&n){var r;return r=t.getValue("products"),e.Array.filter(r,function(e){return e.planId===this.FLICKR_PRO_ANNUAL_TRIAL&&1===e.canPurchase||e.planId===this.FLICKR_PRO_OLD_ANNUAL_TRIAL&&1===e.canPurchase}.bind(this)).length>0}},e.SubscriptionsHelper.prototype.getTrialLength=function(){return 45},e.SubscriptionsHelper.prototype.formatSubscriptionModels=function(t){if(!t)return[];var n=t.toJSON();return n&&n.subscriptions&&n.subscriptions instanceof Array&&0!==n.subscriptions.length?e.Array.map(n.subscriptions,this.formatSubscriptionModel.bind(this)):[]},e.SubscriptionsHelper.prototype.formatSubscriptionModel=function(t){var n,r,o,a,i=!1;return t.amountBilled&&("number"==typeof t.amountBilled?t.amountBilled=t.amountBilled.toFixed(2):"string"==typeof t.amountBilled?t.amountBilled=parseInt(t.amountBilled,10).toFixed(2):t.amountBilled="0.00"),n=t.amountBilled,r=t.pendingPrice?t.pendingPrice.toFixed(2):"0.00",(o=this.isPaymentVendorStripe(parseInt(t.vendorId,10)))&&t.futureChanges&&(i={type:parseInt(t.futureChanges.type,10),intlName:this.getPlanIntlName(parseInt(t.futureChanges.type,10)),startDate:1e3*parseInt(t.futureChanges.startDate,10),currency:t.futureChanges.currency,hasDiscount:t.futureChanges.hasDiscount,basePrice:t.futureChanges.basePrice,totalPrice:t.futureChanges.totalPrice}),a=parseInt(t.status,10),{type:t.type,canSeeAnnualPerks:this.canPlanIdSeeAnnualPerks(t.type),startDate:1e3*parseInt(t.startDate,10),nextBillingDate:a===this.subscriptionStatusMap.active||a===this.subscriptionStatusMap.pending?e.moment(1e3*parseInt(t.nextBillingDate,10)):0,id:t.id,intlName:this.getPlanIntlName(parseInt(t.type,10)),name:t.prettyName,duration:t.billingScheduleMonths,price:n,pendingPrice:r,status:a,isClosed:a===this.subscriptionStatusMap.closed,isPastDue:a===this.subscriptionStatusMap.subscription_went_past_due,effectiveEndDate:1e3*parseInt(t.effectiveEndDate,10),paymentVendorType:t.paymentVendorType||t.vendorId,paymentMethodType:t.paymentMethodType,isBraintreeSubscription:this.isPaymentVendorBraintree(parseInt(t.paymentVendorType||t.vendorId,10)),isDigitalRiverSubscription:this.isPaymentVendorDigitalRiver(parseInt(t.paymentVendorType||t.vendorId,10)),isStripeSubscription:o,isGoogleOrAppleSubscription:this.isPaymentVendorAppleOrGoogle(parseInt(t.paymentVendorType||t.vendorId),10),transactions:t.transactions,futureChanges:i,isPayPal:t.paymentMethodType&&["1","2","4"].includes(t.paymentMethodType),btMigrationSegment:t.btMigrationSegment||void 0}},e.SubscriptionsHelper.prototype.getEligibleSubscription=function(e,t){var n,r,o=e.getValue("pending"),a=e.getValue("active"),i=e.getValue("pastDue");return t&&(r=e.getValue("closed")),o&&o.length?n=o[0]:a&&a.length?n=a[0]:i&&i.length?n=i[0]:t&&r&&r[0]&&(n=r[0]),n},e.SubscriptionsHelper.prototype.getActiveAndPendingSubscriptions=function(t){var n;return n=e.Array.filter(this.formatSubscriptionModels(t),function(e){return e.status===this.subscriptionStatusMap.pending}.bind(this)),{activeSubs:e.Array.filter(this.formatSubscriptionModels(t),function(t){return t.status===this.subscriptionStatusMap.active||t.status===this.subscriptionStatusMap.closed&&void 0!==t.effectiveEndDate&&e.moment(t.effectiveEndDate).isAfter(e.moment())||t.status===this.subscriptionStatusMap.subscription_went_past_due}.bind(this)),pendingSubs:n}},e.SubscriptionsHelper.prototype.isUserOnActiveButClosedPro=function(t){var n=this.getActiveAndPendingSubscriptions(t);return e.Array.filter(n.activeSubs,function(e){return e.status!==this.subscriptionStatusMap.active}.bind(this)).length>=1&&n.pendingSubs&&0===n.pendingSubs.length},e.SubscriptionsHelper.prototype.isUserCurrentlyOnADigitalRiverSub=function(e){var t=this.getActiveAndPendingSubscriptions(e),n=!1;if(t.activeSubs&&t.activeSubs.length>0){var r=t.activeSubs[0];if(t.pendingSubs&&t.pendingSubs.length>0){var o=t.pendingSubs[0];o&&(n=o.isDigitalRiverSubscription)}else n=r.isDigitalRiverSubscription}return n},e.SubscriptionsHelper.prototype.isUserCurrentlyOnABraintreeSub=function(e){var t=this.getActiveAndPendingSubscriptions(e),n=!1,r=!1;if(t.activeSubs&&t.activeSubs.length>0){var o=t.activeSubs[0];if(t.pendingSubs&&t.pendingSubs.length>0){var a=t.pendingSubs[0];a&&(n=a.isBraintreeSubscription,r=a.nextBillingDate)}else o.isClosed||(n=o.isBraintreeSubscription,r=o.nextBillingDate)}return{isUserCurrentlyOnABraintreeSub:n,renewalDate:r}},e.SubscriptionsHelper.prototype.isUserCurrentlyOnAStripeSub=function(e){var t=this.getActiveAndPendingSubscriptions(e),n=!1,r=!1;if(t.activeSubs&&t.activeSubs.length>0){var o=t.activeSubs[0];if(t.pendingSubs&&t.pendingSubs.length>0){var a=t.pendingSubs[0];a&&(n=a.isStripeSubscription,r=a.nextBillingDate)}else o.isClosed||(n=o.isStripeSubscription,r=o.nextBillingDate)}return{isStripeSubscription:n,renewalDate:r}},e.SubscriptionsHelper.prototype.isUserCurrentlyOnAIAPSub=function(e){var t=this.getActiveAndPendingSubscriptions(e),n=!1;if(t.activeSubs&&t.activeSubs.length>0){var r=t.activeSubs[0];if(t.pendingSubs&&t.pendingSubs.length>0){var o=t.pendingSubs[0];o&&(n=o.isGoogleOrAppleSubscription)}else r.isClosed||(n=r.isGoogleOrAppleSubscription)}return n},e.SubscriptionsHelper.prototype.isUserPastDue=function(t){var n,r=this.getActiveAndPendingSubscriptions(t);return(n=e.Array.filter(r.activeSubs,function(e){return e.status===this.subscriptionStatusMap.subscription_went_past_due}.bind(this)))&&n.length>=1},e.SubscriptionsHelper.prototype.hasPurchasedTrialInThePast=function(t){var n=t.toJSON();return e.Array.filter(n,function(e){return e.planId===this.FLICKR_PRO_ANNUAL_TRIAL||e.planId===this.FLICKR_PRO_OLD_ANNUAL_TRIAL}.bind(this)).length>0},e.SubscriptionsHelper.prototype.isOnActiveTrial=function(e){var t=this.getActiveAndPendingSubscriptions(e),n=!1;return t&&t.activeSubs&&t.activeSubs.length>0&&(n=t.activeSubs[0].type===this.FLICKR_PRO_ANNUAL_TRIAL||t.activeSubs[0].type===this.FLICKR_PRO_OLD_ANNUAL_TRIAL),n},e.SubscriptionsHelper.prototype.isOneTimePro=function(e){return e.toJSON().oneTimePro.isOneTimePro},e.SubscriptionsHelper.prototype.getShopperCurrencyAndLocale=function(t){var n="US",r="en_US",o="USD",a=!1;if(!t&&e.config.flickr.geo?(e.config.flickr.geo.countryCode&&(n=e.config.flickr.geo.countryCode),e.config.flickr.geo.eu&&(a=e.config.flickr.geo.eu)):t&&(n=t.countryCode||"US",a=t.eu||!1),a)"GB"===n?(r="en_IE",o="GBP"):(r="en_IE",o="EUR");else if(this.US_TERRITORIES_COUNTRIES_CODES.indexOf(n)>-1)r="en_US",o="USD";else switch(n){case"US":r="en_US",o="USD";break;case"CA":r="en_IE",o="CAD";break;default:r="en_IE",o="USD"}return{locale:r,currency:o}},e.SubscriptionsHelper.prototype.getPlanIntlName=function(e){switch(e){case this.FLICKR_PRO_MONTHLY_PLAN_ID:case this.FLICKR_PRO_1_MONTH_V2_APPLE_ID:case this.FLICKR_PRO_1_MONTH_V2_GOOGLE_ID:case this.FLICKR_PRO_STRIPE_MONTHLY_PLAN_ID:return"checkout.FLICKR_MONTHLY_PRO_PLAN";case this.FLICKR_PRO_3_MONTH_PLAN_ID:case this.FLICKR_PRO_3_MONTH_V2_PLAN_ID:case this.FLICKR_PRO_STRIPE_3_MONTH_PLAN_ID:return"checkout.FLICKR_3_MONTHS_PRO_PLAN";case this.FLICKR_PRO_1_YEAR_PLAN_ID:case this.FLICKR_PRO_ANNUAL_PLAN_ID:case this.FLICKR_PRO_1_YEAR_V2_APPLE_ID:case this.FLICKR_PRO_1_YEAR_V2_GOOGLE_ID:case this.FLICKR_PRO_STRIPE_ANNUAL_PLAN_ID:return"checkout.FLICKR_ANNUAL_PRO_PLAN";case this.FLICKR_PRO_2_YEARS_PLAN_ID:case this.FLICKR_PRO_2_YEAR_V2_PLAN_ID:case this.FLICKR_PRO_STRIPE_2_YEAR_PLAN_ID:return"checkout.FLICKR_2_YEAR_PRO_PLAN";default:return"common.FLICKR_PRO"}},e.SubscriptionsHelper.prototype.getPriceWithCurrency=function(e,t,n){var r=n.replace("_","-");return new Intl.NumberFormat(r,{style:"currency",currency:t}).format(e)},e.SubscriptionsHelper.prototype.doesCountryRequiresSignedInGifting=function(e){return!(!e||!e.countryCode||"VN"!==e.countryCode)},e.SubscriptionsHelper.prototype.isADeniedCountry=function(e){return!!(e&&e.countryCode&&["VE","CU","IR","IQ","KP","SY"].indexOf(e.countryCode)>-1)},e.SubscriptionsHelper.prototype.isProductPubliclyAvailable=function(e){return!(!e||e===this.FLICKR_PRO_2_YEAR_V2_PLAN_ID)},e.SubscriptionsHelper.prototype.parseEffectiveSubscriptionData=function(e,t){var n=!1,r=!1,o=!1,a=void 0,i=void 0;if(e&&t&&t.length){t.length>1&&t.sort((function(e,t){return parseInt(e.startDate,10)<parseInt(t.startDate)}));var u=parseInt(t[0].status,10),c=parseInt(t[0].effectiveEndDate,10),s=parseInt(t[0].nextBillingDate,10);n=u===this.subscriptionStatusMap.closed&&c>parseInt((new Date).getTime()/1e3,10),!!(o=u===this.subscriptionStatusMap.pending)&&this.isSubscriptionPendingAndPaidFor(t[0]),u===this.subscriptionStatusMap.active&&s>parseInt((new Date).getTime()/1e3,10),r=u===this.subscriptionStatusMap.subscription_went_past_due,i=parseInt(t[0].type,10),a=parseInt(t[0].status,10)}return{status:a,planType:i,isPro:e,isClosed:n,isPastDue:r,isPending:o}},e.SubscriptionsHelper.prototype.isOneTimePro=function(e){return!(!e||!e.getValue("isPro"))&&(e.getValue("proExpireDate")&&e.getValue("proExpireDate").isAfter())},e.SubscriptionsHelper.prototype.parseEffectiveSubscriptions=function(t){return t?e.Array.map(t,this.formatSubscriptionModel.bind(this)):[]},e.SubscriptionsHelper.prototype.isAMonthlySub=function(e){var t=[this.FLICKR_PRO_3_MONTH_PLAN_ID,this.FLICKR_PRO_MONTHLY_PLAN_ID,this.FLICKR_PRO_3_MONTH_V2_PLAN_ID];return!!(e&&t.indexOf(e)>-1)},e.SubscriptionsHelper.prototype.isSubscriptionPendingAndPaidFor=function(e){return!!e&&(parseInt(e.status,10)===this.subscriptionStatusMap.pending&&e.transactions&&e.transactions.length>0)},e.SubscriptionsHelper.prototype.getErrorMessageIntlKeyForStripeErrorCode=function(e){if(e){var t=!1;switch(e){case"incorrect_cvc":t="checkout.PLEASE_ENTER_CORRECT_VALID_CVV";break;case"processing_error":default:t="checkout.PROCESSING_ERROR";break;case"expired_card":t="checkout.YOUR_CARD_IS_EXPIRED";break;case"card_declined":t="checkout.YOUR_CARD_WAS_DECLINED"}return t}},e.SubscriptionsHelper.prototype.trackAddToCart=function(t){e.Snowplough&&t?e.Snowplough.sendSelfDescribingEvent({schema:e.Snowplough.SCHEMAS.ADD_TO_CART,data:{sku:t.sku,name:t.name,category:"subscription",unitPrice:t.unitPrice,quantity:1,currency:t.currency}}):n.error("Missing Y.Snowplough in Y.SubscriptionsHelper.trackAddToCart")},e.SubscriptionsHelper.prototype.sendSuccessfulPurchaseEvent=function(t){e.Snowplough&&t?e.Snowplough.sendSelfDescribingEvent({schema:e.Snowplough.SCHEMAS.SUBSCRIPTION_PURCHASE_EVENT,data:{sku:parseInt(t.sku,10),nsid:t.nsid,flow:"purchase",currency:t.currency,totalPrice:t.totalPrice}}):n.error("Missing Y.Snowplough in Y.SubscriptionsHelper.sendSuccessfulPurchaseEvent")},e.SubscriptionsHelper.prototype.sendPurchaseFunnelEvent=function(t){e.Snowplough&&t?e.Snowplough.sendSelfDescribingEvent({schema:e.Snowplough.SCHEMAS.SUBSCRIPTION_PURCHASE_FUNNEL_EVENT,data:{nsid:t.nsid||"",sku:parseInt(t.sku,10)||0,step:t.step,currency:t.currency||"",signedIn:t.signedIn||!1}}):n.error("Missing Y.Snowplough in Y.SubscriptionsHelper.sendPurchaseFunnelEvent")},e.SubscriptionsHelper.prototype.sendCancellationFlowEvent=function(t){e.Snowplough&&t?e.Snowplough.sendSelfDescribingEvent({schema:e.Snowplough.SCHEMAS.SUBSCRIPTION_CANCEL_FLOW_EVENT,data:{nsid:t.nsid,currentSku:parseInt(t.currentSku,10),feedbackId:t.feedbackId?t.feedbackId:null,paymentVendorType:parseInt(t.paymentVendorType,10),cancellationStep:t.cancellationStep,cancellationReasonPicked:t.cancellationReasonPicked?parseInt(t.cancellationReasonPicked,10):null,cancellationReasonText:t.cancellationReasonText||null,bucket:t.bucket,eligibleForSurvey:t.eligibleForSurvey}}):n.error("Missing Y.Snowplough in Y.SubscriptionsHelper.sendCancellationFlowEvent")},
e.SubscriptionsHelper.prototype.sendGiftPurchaseEvent=function(t){e.Snowplough&&t?e.Snowplough.sendSelfDescribingEvent({schema:e.Snowplough.SCHEMAS.GIFT,data:{step:t.step,recipientNsid:t.recipientNsid,gifterNsid:t.gifterNsid||"",gifterEmail:t.gifterEmail||"",price:t.price||0,duration:t.duration||"",error:t.error||"",giftId:t.giftId||0}}):n.error("Missing Y.Snowplough in Y.SubscriptionsHelper.sendGiftPurchaseEvent")},e.SubscriptionsHelper.prototype.sendFreeTrialEvent=function(t){if(e.Snowplough&&t){var r={category:"free_trial"};t.action&&(r.action=t.action),t.couponCode&&(r.label=t.couponCode),t.planId&&(r.value=t.planId),e.Snowplough.sendStructuredEvent(r)}else n.error("Missing Y.Snowplough in Y.SubscriptionsHelper.sendFreeTrialEvent")},e.SubscriptionsHelper.prototype.getProLandingPageUrl=function(e,t){var n="/account/upgrade/pro";switch(t=t||{},e){case this.UTM_PRO_BADGE:n+="?utm_campaign=web&utm_source=desktop&utm_content=badge"+(t&&t.utm_medium?"&utm_medium="+t.utm_medium:"");break;case this.UTM_HIDE_ADS:n+="?utm_campaign=web&utm_source=desktop&utm_medium=ads_upsell&utm_content=upgrade";break;case this.UTM_UPSELL_LINK:n+="?utm_campaign=web&utm_source=desktop&utm_content=upgrade"+(t&&t.utm_medium?"&utm_medium="+encodeURIComponent(t.utm_medium):"");break;case this.UTM_GLOBAL_NAV:n+="?utm_campaign=web&utm_source=desktop&utm_medium=gn"+(t&&t.utm_content?"&utm_content="+encodeURIComponent(t.utm_content):"");break;case this.UTM_HIDE_ADS_GETTY_SEARCH:n+="?utm_campaign=getty-search&utm_source=desktop&utm_medium=ads_upsell&utm_content=upgrade";break;case this.UTM_EXPLORED_BANNER_DISCOUNT:n+="/pro-monthly?coupon=2KZNQDGG&utm_campaign=explored_banner_discount&utm_source="+encodeURIComponent(t.utm_source)+"&utm_content=banner";break;case this.UTM_CHURNED_BANNER_PRO:n+=t.planType+t.couponCode+"&utm_campaign=cap-banner&utm_source=Flickr&utm_medium=blue-banner&utm_content=text-link";break;case this.UTM_SAFETY_UPSELL:n+=`?utm_campaign=safetyLevel&utm_source=${t.source||"desktop"}&utm_medium=${t.medium}&utm_content=upgrade`}return n},e.SubscriptionsHelper.prototype.getMostRecentSubscription=function(e){return e&&e.length>1&&(e=e.sort((function(e,t){return parseInt(e.dateCreate,10)<parseInt(t.dateCreate,10)?1:parseInt(e.dateCreate,10)>parseInt(t.dateCreate,10)?-1:0}))),e[0]}}),"@VERSION@",{requires:["moment","timezone-helper","array-extras"],optionalRequires:["hermes-core"],optional:[]});YUI.add("effective-subscriptions-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.ModelFetchers["flickr-subscriptions-getEffectiveSubscriptions-fetcher"].run(t,this.appContext)}},attributes:{active:{validator:function(t){if(t.length>0){var i=!1;return t.forEach((function(t){i=e.AttributeHelpers.validateDate(t.nextBillingDate)})),i}return!0},serialize:function(e){return e.forEach((function(e){e.nextBillingDate=e.nextBillingDate.format("X")})),e},deserialize:function(t){return t.forEach((function(t){t.nextBillingDate=e.moment(t.nextBillingDate,"X")})),t}},closed:{},pending:{validator:function(t){if(t.length>0){var i=!1;return t.forEach((function(t){i=e.AttributeHelpers.validateDate(t.nextBillingDate)})),i}return!0},serialize:function(e){return e.forEach((function(e){e.nextBillingDate=e.nextBillingDate.format("X")})),e},deserialize:function(t){return t.forEach((function(t){t.nextBillingDate=e.moment(t.nextBillingDate,"X")})),t}},pastDue:{},all:{},length:{defaultValue:0}}})}),"@VERSION@",{requires:["flickr-model-registry","flickr-promise","flickr-subscriptions-getEffectiveSubscriptions-fetcher","moment"]});