{"version":3,"file":"js/dlink.js","mappings":"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","sources":["webpack://pcloud-js/webpack/runtime/chunk loaded","webpack://pcloud-js/./src/lib/dlink/ads2016.js","webpack://pcloud-js/./src/lib/dlink/openInApp.js","webpack://pcloud-js/./src/lib/dlink/views/audio.js","webpack://pcloud-js/./src/lib/dlink/views/documentview.js","webpack://pcloud-js/./src/lib/dlink/views/error.js","webpack://pcloud-js/./src/lib/dlink/views/folder.js","webpack://pcloud-js/./src/lib/dlink/views/generic.js","webpack://pcloud-js/./src/lib/dlink/views/image.js","webpack://pcloud-js/./src/lib/dlink/views/overtraffic.js","webpack://pcloud-js/./src/lib/dlink/views/password.js","webpack://pcloud-js/./src/lib/dlink/views/video.js","webpack://pcloud-js/./src/lib/dlink/index.js","webpack://pcloud-js/./src/exports/dlink.js","webpack://pcloud-js/external var \"jQuery\"","webpack://pcloud-js/webpack/bootstrap","webpack://pcloud-js/webpack/runtime/amd options","webpack://pcloud-js/webpack/runtime/compat get default export","webpack://pcloud-js/webpack/runtime/define property getters","webpack://pcloud-js/webpack/runtime/global","webpack://pcloud-js/webpack/runtime/harmony module decorator","webpack://pcloud-js/webpack/runtime/hasOwnProperty shorthand","webpack://pcloud-js/webpack/runtime/make namespace object","webpack://pcloud-js/webpack/runtime/node module decorator","webpack://pcloud-js/webpack/runtime/jsonp chunk loading","webpack://pcloud-js/webpack/runtime/nonce","webpack://pcloud-js/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import dlink from \"./index\";\nimport { CATEGORY } from \"@pcloud/web-utilities/dist/config/constants\";\nimport { rcookie } from \"../utils\";\n\nvar asiaCodes = [\n\t'SA', 'ID', 'CN', 'MM', 'KW', 'TH', 'AE', 'TR', 'MY', 'OM', 'IN', 'TW',\n\t'EG', 'SG', 'YE', 'QA', 'PH', 'JO', 'IQ', 'VN', 'SY', 'IL', 'PK'\n];\n\nfunction getAdTimes() {\n\tvar times = 0;\n\tif (rcookie('ad-times')) {\n\t\ttimes = parseInt(rcookie('ad-times'));\n\t}\n\n\treturn times;\n}\n\nfunction setAdTime() {\n\tsetcookie('ad-times', getAdTimes() + 1);\n}\n\nfunction isAsia() {\n\treturn (asiaCodes.indexOf(dlink.data.country.toUpperCase()) != -1 ||\n\t\t['XZ9kPuZ7UmbmhujfAFdFw41KksjUQEncHC7', 'XZTFiBZ0AGvm0aDhc7ahyC2qsw1QQ0DOUCy',\n\t\t 'XZ2e6uZvJw7eLxgI9muKXt5cD59vmXG5UaX', 'kZxUYXZO2KKG7hDh2FrjyJoV2lNAyItJxBk',\n\t\t 'XZK7guZ6PzAY9Li1q8oLxmsDLvPGpkV3rck', 'XZjQH2Z9oAJXbMpQT4mWbsxX1UnVVEPzBkV',\n\t\t 'XZG0nsZYALq95nK85B7iPCJS8mbBpkUz4yk', 'kZPSRBZbzYSrOcNujXXsc07r58R40crs4sy',\n\t\t 'XZz4DDZ3ExbUEFmzAHGFwF4MgTwLjNiONTy' // infolinks\n\t\t ].indexOf(dlink.code) != -1);\n}\n\nfunction isMyanmar() {\n\treturn dlink.data.country.toUpperCase() == 'MM' ||\n\t\t['XZjQH2Z9oAJXbMpQT4mWbsxX1UnVVEPzBkV'].indexOf(dlink.code) != -1;\n}\n\nfunction isThailand() {\n\treturn dlink.data.country.toUpperCase() == 'TH' ||\n\t\t['XZK7guZ6PzAY9Li1q8oLxmsDLvPGpkV3rck'].indexOf(dlink.code) != -1;\n}\n\nfunction isApk() {\n\treturn dlink.data && dlink.data.metadata && fileext(dlink.data.metadata.name).toLowerCase() == 'apk';\n}\n\nfunction isError() {\n\treturn dlink._view === \"error\";\n}\n\nfunction isVideo() {\n\treturn ['video', 'folder'].indexOf(dlink._view) != -1;\n}\n\nfunction isOvertraffic() {\n\treturn ['overtraffic'].indexOf(dlink._view) != -1;\n}\n\nfunction isNonVideo() {\n\treturn !isVideo();\n}\n\nfunction getCountryCode() {\n\treturn dlink.data.country.toUpperCase();\n}\n\nfunction isPropeller() {\n\treturn ['XZcXfsZP99e9XPwRgpIUM4DyLpIt4IlBTNX'].indexOf(dlink.code) != -1;\n}\n\nfunction isMaven() {\n\treturn false;\n\treturn ['XZG0nsZYALq95nK85B7iPCJS8mbBpkUz4yk'].indexOf(dlink.code) != -1;\n}\n\nfunction isInfolinks() {\n\treturn ['XZz4DDZ3ExbUEFmzAHGFwF4MgTwLjNiONTy'].indexOf(dlink.code) != -1;\n}\n\nfunction gaEvent(adType) {\n\tif (adType) {\n\t\t// gaAll('event', 'ad-2016', 'show-' + ($.browser.mobile ? 'mobile' : 'desktop') + '-' + dlink._view + '-' + adType, dlink.data.country.toUpperCase());\n\t\t// if (typeof ga4 == 'function') {\n\t\t// \tga4({\n\t\t// \t\teventname: \"view_promotion\",\n\t\t// \t\tecommerce: {\n\t\t// \t\t\titems: [{\n\t\t// \t\t\t\tpromotion_name: \"AD 2016 - \" + dlink._view + ($.browser.mobile ? ' mobile' : ' desktop'),\n\t\t// \t\t\t\tcreative_slot: \"button\",\n\t\t// \t\t\t\titem_brand: \"pCloud\",\n\t\t// \t\t\t\titem_id: getPromoParam(\"channelid\"),\n\t\t// \t\t\t\taffiliation: rcookie(\"ref\")\n\t\t// \t\t\t}]\n\t\t// \t\t}\n\t\t// \t});\n\t\t// }\n\t}\n}\n\nfunction gaClick(adType) {\n\tif (adType) {\n\t\t// gaAll('event', 'ad-2016', 'click-' + ($.browser.mobile ? 'mobile' : 'desktop') + '-' + dlink._view + '-' + adType, dlink.data.country.toUpperCase());\n\t\t// if (typeof ga4 == 'function') {\n\t\t// \tga4({\n\t\t// \t\teventname: \"select_promotion\",\n\t\t// \t\tecommerce: {\n\t\t// \t\t\titems: [{\n\t\t// \t\t\t\tpromotion_name: \"AD 2016 - \" + dlink._view + ($.browser.mobile ? ' mobile' : ' desktop'),\n\t\t// \t\t\t\tcreative_slot: \"button\",\n\t\t// \t\t\t\titem_brand: \"pCloud\",\n\t\t// \t\t\t\titem_id: getPromoParam(\"channelid\"),\n\t\t// \t\t\t\taffiliation: rcookie(\"ref\")\n\t\t// \t\t\t}]\n\t\t// \t\t}\n\t\t// \t});\n\t\t// }\n\t}\n}\n\nfunction viewReferral() {\n\tvar defaultRef = 1098;\n\tvar platform = $.browser.mobile ? 'mobile' : 'desktop';\n\tvar refs = {\n\t\tmobile: {\n\t\t\timage: 1099,\n\t\t\tvideo: 1100,\n\t\t\tdocument: 1101,\n\t\t\tfolder: 1102,\n\t\t\taudio: 1103,\n\t\t\tgeneric: 1104\n\n\t\t\t// overtraffic\n\t\t\t// error\n\t\t},\n\t\tdesktop: {\n\t\t\timage: 1105,\n\t\t\tvideo: 1106,\n\t\t\tdocument: 1107,\n\t\t\tfolder: 1108,\n\t\t\taudio: 1109,\n\t\t\tgeneric: 1110\n\n\t\t\t// overtraffic\n\t\t\t// error\n\t\t}\n\t}\n\n\treturn dlink._view in refs[platform] ? refs[platform][dlink._view] : defaultRef;\n}\n\n// only video\nvar ads = {\n\tdesktop: {\n\t\tvideo: {\n\t\t\tnoop: true,\n\t\t\turl: 'https://www.pcloud.com/encrypted-cloud-storage.html?ref=666',\n\t\t\timage: '2.png'\n\t\t},\n\t\tfolder: {\n\t\t\turl: 'https://www.pcloud.com/cloud-storage-pricing-plans.html?freebox=off&features=on&freelink=on&ref=666',\n\t\t\timage: '6.png'\n\t\t}/*,\n\t\tovertraffic: {\n\t\t\turl: 'https://www.pcloud.com/cloud-storage-pricing-plans.html?freebox=off&features=on&freelink=on&ref=666',\n\t\t\timage: '6.png'\n\t\t}*/\n\t},\n\tmobile: {\n\t\tvideo: {\n\t\t\turl: 'https://www.pcloud.com/encrypted-cloud-storage.html?ref=666',\n\t\t\timage: 'kee-video-secure.png',\n\t\t\timageSize: '154px 117px',\n\t\t\ttext: 'Keep your videos secure and encrypt them in the cloud',\n\t\t\tbuttonText: 'Get pCloud Crypto'\n\t\t},\n\t\tfolder: {\n\t\t\turl: 'https://www.pcloud.com/cloud-storage-pricing-plans.html?freebox=off&features=on&freelink=on&ref=666',\n\t\t\timage: 'never-lose-file.png',\n\t\t\timageSize: '154px 117px',\n\t\t\ttext: 'Never lose a file with a pCloud Premium plan',\n\t\t\tbuttonText: 'Order Now'\n\t\t}/*,\n\t\tovertraffic: {\n\t\t\turl: 'https://www.pcloud.com/cloud-storage-pricing-plans.html?freebox=off&features=on&freelink=on&ref=666',\n\t\t\timage: 'never-lose-file.png',\n\t\t\timageSize: '154px 117px',\n\t\t\ttext: 'Never lose a file with a pCloud Premium plan',\n\t\t\tbuttonText: 'Order Now'\n\t\t}*/\n\t}\n};\n\nfor (var n in ads.desktop) {\n\tif (n == 'video') {\n\t\tads.desktop[n] = {\n\t\t\tnoop: true,\n\t\t\turl: 'registration',\n\t\t\timage: '7.png'\n\t\t};\n\t} else {\n\t\tads.desktop[n] = {\n\t\t\turl: 'registration',\n\t\t\timage: '7.png'\n\t\t};\n\t}\n}\n\nfor (var n in ads.mobile) {\n\tif (n == 'video') {\n\t\tads.mobile[n] = {\n\t\t\turl: 'registration',\n\t\t\timage: 'video.png',\n\t\t\timageSize: '245px 245px',\n\t\t\timagePosition: 'top 10px center',\n\t\t\timageHolderSize: { width: '300px', height: '245px' },\n\t\t\ttext: 'Save this video in pCloud so you can watch it later.',\n\t\t\tbuttonText: 'Create Free Account',\n\t\t\tsmallVersion: {\n\t\t\t\timage: '7-small.gif'\n\t\t\t}\n\t\t};\n\t} else {\n\t\tads.mobile[n] = {\n\t\t\turl: 'registration',\n\t\t\timage: 'general.png',\n\t\t\timageSize: '245px 245px',\n\t\t\timagePosition: 'top 10px center',\n\t\t\timageHolderSize: { width: '300px', height: '245px' },\n\t\t\ttext: 'Download in your FREE pCloud account',\n\t\t\tbuttonText: 'Create Free Account',\n\t\t\tsmallVersion: {\n\t\t\t\timage: '8-small.gif'\n\t\t\t}\n\t\t};\n\t}\n}\n\nfunction show(data) {\n\tvar meta = data.metadata;\n\n\tdlink.getUser(function(user) {\n\t\tif (_shouldShowAds(user, data)) {\n\t\t\tif ($.browser.mobile) {\n\t\t\t\treturn _showMobile(_getAd(meta));\n\t\t\t} else {\n\t\t\t\treturn _showDesktop(_getAd(meta));\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction _willShowAd(cb) {\n\tdlink.getUser(function(user) {\n\t\tcb(_shouldShowAds(user));\n\t});\n}\n\nfunction _canShowAds(user) {\n\tvar data = dlink.data;\n\tvar meta = data.metadata;\n\tvar type = getType(meta);\n\n\tif (dlink._view === 'password') {\n\t\treturn false;\n\t}\n\n\tif ($.browser.mobile && !isPortrait()) {\n\t\treturn false;\n\t}\n\n\tif (rcookie('no-ad2016')) {\n\t\treturn false;\n\t}\n\n\tif (data.ownerispremium && !data.showads) {\n\t\treturn false;\n\t}\n\n\tif (data.ownerisbusiness) {\n\t\treturn false;\n\t}\n\n\tif (!data.candownload) {\n\t\treturn false;\n\t}\n\n\treturn true;\n\t//return !user || (!user.premium && !user.business);\n}\n\nfunction _canShowExternalAds(user) {\n\tvar ret = false;\n\n\tif (isInfolinks()) {\n\t\tret = true;\n\t} else if (isOvertraffic()) {\n\t\tif (isAsia()) {\n\t\t\tret = true; // adsense\n\t\t}\n\n\t\t// no ads for overtraffic\n\t\tret = false;\n\t} else if (isVideo()) {\n\t\tret = false; // infolinks\n\t} else if (isNonVideo()) {\n\t\tret = true; // adsense\n\t} else if (isError()) {\n\t\tret = true; // adsense\n\t}\n\n\tif (user && (user.premium || user.business)) {\n\t\tret = false;\n\t}\n\n\treturn ret;\n}\n\nfunction _canShowInternalAds(user) {\n\tvar data = dlink.data;\n\tvar meta = data.metadata;\n\tvar type = getType(meta);\n\n\tconsole.log(ads.mobile);\n\tconsole.log(ads.desktop);\n\n\tif ($.browser.mobile && !(type in ads.mobile)) {\n\t\treturn false;\n\t} else if (!$.browser.mobile && !(type in ads.desktop)) {\n\t\treturn false;\n\t}\n\n\tconsole.log('user');\n\tconsole.log(user);\n\n\treturn !user;\n\t//return (!user || (!user.premium && !user.business));\n}\n\nfunction _shouldShowAds(user) {\n\tconsole.log('_canShowAds', _canShowAds(user));\n\tconsole.log('_canShowExternalAds', _canShowExternalAds(user));\n\tconsole.log('_canShowInternalAds', _canShowInternalAds(user));\n\n\treturn _canShowAds(user) && (_canShowExternalAds(user) || _canShowInternalAds(user));\n}\n\nfunction _showMyanmarAdDesktop(cont) {\n\tcont.append('
');\n\tcont.on('ready', function() {\n\t\tgoogletag.cmd.push(function() {\n\t\t\tgoogletag.display('ros-728x90-1');\n\t\t});\n\t});\n\n\tgaEvent('myanmar');\n}\n\nfunction _showAsiaAdDesktop(cont) {\n\tconsole.log('data', dlink.data);\n\n\tif (0) {\n\t\t_showAdKodeDesktop(cont);\n\t} else {\n\t\t_showAdsenseDesktop(cont);\n\t}\n}\n\nfunction _showAdKodeDesktop(cont) {\n\tcont.append('');\n\n\tgaEvent('adkode');\n}\n\nfunction _showAdsenseDesktop(cont) {\n\tcont.append('');\n\tcont.find('.message-close').remove();\n\tcont.on('ready', function() {\n\t\t(adsbygoogle = window.adsbygoogle || []).push({});\n\t});\n\n\tgaEvent('adsense');\n}\n\nfunction adzoukDesktop(cont) {\n\treturn '';\n\t} else {\n\t\treturn '';\n\t}\n}\n\nfunction adsenseMobileBanner() {\n\tgaEvent('adsense-banner');\n\n\tif (isOvertraffic()) {\n\t\treturn '
';\n\t} else {\n\t\treturn '
';\n\t}\n}\n\nfunction adsenseDesktopBanner() {\n\tgaEvent('adsense-banner');\n\n\tif (isOvertraffic()) {\n\t\treturn '';\n\t} else {\n\t\treturn '';\n\t}\n}\n\nfunction _showAdsenseMobileOverlay(cont) {\n\tcont.find('.message-inner-image')\n\t\t.append('');\n\n\tcont.on('ready', function(e) {\n\t\t(adsbygoogle = window.adsbygoogle || []).push({});\n\t});\n\n\tgaEvent('adsense-overlay');\n}\n\nfunction adzoukMobileBanner() {\n\tgaEvent('adzouk');\n\treturn '';\n}\n\nfunction _showMobile(ad) {\n\n\t// test cases\n\tif (isMaven()) {\n\t\t$('head').append('');\n\t\treturn;\n\t}\n\n\tif (!isVideo() && !isOvertraffic()) {\n\t\tadsenseMobileAd();\n\t} else if (isError()) {\n\t\tadsenseMobileAd();\n\t} else {\n\t\tpCloudMobileAd(ad);\n\t}\n}\n\nfunction _adImagePath(src) {\n\treturn retinaSrc('/ZCDNURL/ZREPLACETHISWITHVERSION/img/mobile/ads-2016/' + src);\n}\n\nfunction _getAd(meta) {\n\tvar type = getType(meta);\n\tvar browserType = $.browser.mobile ? 'mobile' : 'desktop';\n\n\tconsole.log('browserType', browserType);\n\tconsole.log('type', type);\n\n\tif (browserType in ads) {\n\t\tif (type in ads[browserType]) {\n\t\t\treturn ads[browserType][type];\n\t\t}\n\t}\n\n\treturn false;\n}\n\nvar categoryAdsMap = {};\ncategoryAdsMap[CATEGORY.IMAGE] = 'image';\ncategoryAdsMap[CATEGORY.VIDEO] = 'video';\ncategoryAdsMap[CATEGORY.AUDIO] = 'audio';\ncategoryAdsMap[CATEGORY.DOCUMENT] = 'document';\ncategoryAdsMap[CATEGORY.ARCHIVE] = 'archive';\n\nfunction getType(meta) {\n\tif (dlink._view == 'generic') {\n\t\tif (meta.category == CATEGORY.DOCUMENT) {\n\t\t\treturn 'document';\n\t\t}\n\t}\n\n\treturn dlink._view;\n\n\t/*\n\tif (meta.isfolder) {\n\t\ttype = 'folder';\n\t\t//if (isManyPhotos(meta))\n\t\t//\ttype = 'folder-photos';\n\t} else if (meta.category in categoryAdsMap) {\n\t\ttype = categoryAdsMap[meta.category];\n\t} else {\n\t\ttype = 'generic';\n\t}\n\n\treturn type;\n\t*/\n}\n\n/*****************************/\n\nfunction adsenseDesktopAd() {\n\treturn;\n\n\treturn withDesktopOverlay(adsenseDesktopBanner());\n}\n\nfunction adzoukDesktopAd() {\n\tgaEvent('adzouk');\n\treturn withDesktopOverlay(adzoukDesktop())\n}\n\nfunction pCloudDesktopAd(ad) {\n\tgaEvent('pcloud-banner');\n\treturn withDesktopOverlay(pCloudAdContent(ad));\n}\n\nfunction pCloudAdContent(ad) {\n\tvar cont;\n\n\tcont = $('')\n\t\t.attr('href', 'javascript:;')\n\t\t.attr('target', '_self')\n\t\t.append(retinaImage('/ZCDNURL/ZREPLACETHISWITHVERSION/img/mobile/ads-2016/' + ad.image, 728, 90));\n\n\tif (ad.url == 'registration') {\n\t\tcont.on('click', function(e) {\n\t\t\tgaClick('pcloud-banner');\n\t\t\tsetcookie('ref', viewReferral(), 0);\n\t\t\tHFN.initLoginRegModal('register', function() {\n\t\t\t\tdlink._actionCopyToCloud();\n\t\t\t});\n\t\t});\n\t} else {\n\t\tcont.on('click', function() {\n\t\t\tgaClick('pcloud-banner');\n\t\t\tsetcookie('ref', viewReferral(), 0);\n\n\t\t\tsetTimeout(function() {\n\t\t\t\tlocation.href = ad.url;\n\t\t\t}, 200);\n\t\t});\n\t}\n\n\treturn cont;\n}\n\nfunction withDesktopOverlay(adHtml) {\n\tvar cont = HFN.renderTemplate('#desktopMessageAd').addClass('ad');\n\n\tcont.find('.message-img').append(adHtml);\n\tcont.find('.message-close').on('click', function(e) {\n\t\t$('.desktop-message').animate({\n\t\t\tbottom: '-500px'\n\t\t}, 200, function() {\n\t\t\t$('.desktop-message').remove();\n\t\t});\n\t});\n\n\t$(document.body).append(cont.hide());\n\n\tsetTimeout(function() {\n\t\tcont.show();\n\t\tcont.trigger('ready');\n\t}, 1200);\n}\n\n/// mobile ///\n\nfunction adsenseMobileAd() {\n\treturn;\n\n\tsetAdTime();\n\n\tif (getAdTimes() > 50000) {\n\t\treturn withMobileOverlay(adsenseMobileOverlayBanner());\n\t} else {\n\t\treturn withAppend(adsenseMobileBanner());\n\t}\n}\n\nfunction adzoukMobileAd() {\n\treturn withMobileOverlay(adzoukMobileBanner());\n}\n\nfunction pCloudMobileAd(ad) {\n\tsetAdTime();\n\n\tif (getAdTimes() > 2) {\n\t\tgaEvent('pcloud-overlay');\n\t\t//return withMobileOverlay(pCloudMobileOverlayContentBlobk(ad));\n\t\treturn withMobileOverlay(pCloudMobileOverlayContent(ad));\n\t}\n}\n\nfunction pCloudMobileOverlayContentBlobk(ad) {\n\tvar anchor =\n\t\t$('')\n\t\t\t.attr('href', 'javascript:;');\n\tvar url = ad.url;\n\n\tif (ad.url == 'registration') {\n\t\turl = '/#page=login' +\n\t\t\t'&memo=' + encodeURIComponent('Login to save') +\n\t\t\t'&returl=' + encodeURIComponent(dlink._location() + '©now=1');\n\t}\n\n\tanchor.on('click', function(e) {\n\t\tgaClick('pcloud-banner');\n\t\tsetcookie('ref', viewReferral(), 0);\n\n\t\tsetTimeout(function() {\n\t\t\tlocation.href = url;\n\t\t}, 200);\n\t});\n\n\treturn $('
')\n\t\t.append(\n\t\t\tanchor.append(\n\t\t\t\t$('')\n\t\t\t\t\t.attr('src', _adImagePath(ad.image))\n\t\t\t)\n\t\t);\n}\n\nfunction pCloudMobileOverlayContent(ad) {\n\tvar cont = HFN.renderTemplate('#pcloudMessage');\n\n\tconsole.log('===');\n\tconsole.log(ad);\n\tconsole.log('===');\n\n\tcont/*.find('.message-inner')*/\n\t\t.css({\n\t\t\t'background-image': 'url(' + _adImagePath(ad.image) + ')',\n\t\t\t'background-size': ad.imageSize\n\t\t});\n\n\tif (ad.imagePosition) {\n\t\tcont/*.find('.message-inner')*/.css('background-position', ad.imagePosition);\n\t}\n\n\tif (ad.imageHolderSize) {\n\t\tcont.find('.message-inner-image').css(ad.imageHolderSize);\n\t}\n\n\tcont.find('.message-inner-text').text(ad.text);\n\n\tvar anchor = $('')\n\t\t.text('Get pCloud Crypto')\n\t\t.attr('href', 'javascript:;')\n\t\t.text(ad.buttonText);\n\tvar url = ad.url;\n\n\tif (ad.url == 'registration') {\n\t\turl = '/#page=login' +\n\t\t\t'&memo=' + encodeURIComponent('Login to save') +\n\t\t\t'&returl=' + encodeURIComponent(dlink._location() + '©now=1');\n\t}\n\n\tanchor.on('click', function() {\n\t\tgaClick('pcloud-overlay');\n\t\tsetcookie('ref', viewReferral(), 0);\n\t\tsetTimeout(function() {\n\t\t\tlocation.href = url;\n\t\t}, 300);\n\t});\n\n\tcont.find('.message-inner-button').append(anchor);\n\n\treturn cont;\n}\n\nfunction withAppend(adHtml) {\n\t$(document.body).append(adHtml);\n}\n\nfunction withMobileOverlay(adHtml) {\n\tvar cont = HFN.renderTemplate('#mobileMessageAd');\n\n\tcont.find('.message-spot').append(adHtml);\n\tcont.find('.message-close').on('click', _close);\n\tsetTimeout(_appear, 1000);\n\n\t/*\n\tcont.find('.message-spot').css({\n\t\tposition: 'absolute',\n\t\ttop: '50%',\n\t\tleft: '50%',\n\t\t'margin-top': -1 * cont.find('.message-spot').outerHeight() / 2,\n\t\t'margin-left': -1 * cont.find('.message-spot').outerWidth() / 2\n\t});\n\t*/\n\n\tfunction _appear() {\n\t\t$(document.body).append(cont);\n\t\t_center(cont);\n\t\t_overlay();\n\n\t\tsetTimeout(function () {\n\t\t\tcont.addClass('show');\n\t\t\tcont.trigger('ready');\n\t\t}, 200);\n\n\t\t$(window).on('orientationchange', function (e) {\n\t\t\t_close();\n\t\t});\n\t}\n\n\tfunction _close() {\n\t\t//setcookie('no-ad2016', 1, 0);\n\t\t$('.mobile-message').remove();\n\t\t_closeOverlay();\n\t}\n\n\tfunction _center() {\n\t\t/*\n\t\tcont.find('.message-inner').css({\n\t\t\t'margin-top': ($(window).outerHeight() - $('.message-inner').outerHeight() - 20) / 2\n\t\t});\n\t\t*/\n\n\t\tcont.find('.message-spot').css({\n\t\t\t'margin-top': ($(window).outerHeight() - $('.message-spot').outerHeight()) / 2\n\t\t});\n\n\t\t/*\n\t\treturn;\n\t\tcont.css({\n\t\t\ttop: '50%',\n\t\t\tleft: '50%',\n\t\t\t'margin-top': cont.outerHeight() / 2 * -1,\n\t\t\t'margin-left': cont.outerWidth() / 2 * -1\n\t\t});\n\t\t*/\n\t}\n\n\tfunction _closeOverlay() {\n\t\t$('body > .mobile-overlay').remove();\n\t}\n\n\tfunction _overlay() {\n\t\tvar overlay;\n\n\t\toverlay = $('
')\n\t\t\t.appendTo(document.body);\n\n\t\tsetTimeout(function () {\n\t\t\toverlay.addClass('show');\n\t\t}, 5);\n\t}\n}\n\n/*****************************/\n\nexport default { show: show, willShowAd: _willShowAd };\n","// @flow\n\nimport * as React from \"react\";\nimport $ from \"jquery\";\nimport browser from \"../../lib/browser\";\nimport OpenInApp from \"../../components/OpenInApp\";\nimport { componentRender } from \"../../lib/componentMount\";\n\nimport { getLocationFromUrl } from \"../../lib/utils\";\n\nconst deepLinks = {\n ios: \"pcloud://savedownloadlink?code=%code%\",\n android: \"\"\n};\n\nconst storeLinks = {\n ios: \"https://itunes.apple.com/app/pcloud/id692002098\",\n android:\n \"https://play.google.com/store/apps/details?id=com.pcloud.pcloud&referrer=utm_source?website&utm_medium?click\"\n};\n\nexport default function openOnApp(code: string) {\n if ($(\".hidden-under\").length) {\n return;\n }\n const cont = $(\"
\").appendTo(document.body).addClass(\"hidden-under\");\n\n const removeOpenApp = componentRender(\n cont[0],\n \n );\n\n function _close() {\n cont.on(\"transitionend\", () => {\n console.log(\"transition ended\");\n if (removeOpenApp) {\n removeOpenApp();\n }\n });\n cont.removeClass(\"appear\");\n }\n\n setTimeout(() => cont.addClass(\"appear\"), 500);\n\n return () => _close();\n}\n\nexport function canShow() {\n return browser.iphone || browser.ipad || browser.android;\n}\n\nfunction open(code) {\n const deepLink = getDeepLink(code);\n const storeLink = getStoreLink();\n \n return () => {\n if (typeof gtag === \"function\") {\n gtag(\"event\", \"shared_link_click\", {\n action: \"open in app\"\n })\n }\n if (platform() === \"ios\") {\n //setTimeout(() => { window.location = storeLink; }, 500);\n window.location = deepLink;\n } else {\n window.location = deepLink;\n //window.location = \"android-app://\" + deepLink + \"/\" + storeLink;\n }\n }\n}\n\nfunction getDeepLink(code: string): string {\n const location = getLocationFromUrl() || {};\n const locationId = location.id || 2;\n return \"https://www.pcloud.com/app-save.html?code=\" + code + \"&locationid=\" + locationId;\n}\n\nfunction getStoreLink(): string {\n return storeLinks[platform()];\n}\n\nfunction platform(): string {\n return browser.iphone || browser.ipad ? \"ios\" : \"android\";\n}\n","export default function audio(data, holder) {\n\tlet params = {};\n\tif (data.metadata.isfolder) {\n\t\tconst songs = data.metadata.contents;\n\t\tsongs.forEach((item, index) => {\n\t\t\tsongs[index].code = data.metadata.code;\n\t\t})\n\t\tparams = {\n\t\t\tlist: HFN.audioPlayer.getMinifyData(songs),\n\t\t\tplayItemId: songs[0].fileid\n\t\t};\n\t} else {\n\t\tconst song = data.metadata;\n\t\tsong.code = data.code;\n\t\tparams = {\n\t\t\tlist: HFN.audioPlayer.getMinifyData([song]),\n\t\t\tplayItemId: song.fileid\n\t\t}\n\t}\n\n\tparams.data = data;\n\tparams.isPublic = true;\n\tparams.isSingle = true;\n\n\tconst footer = document.getElementsByTagName('footer')[0];\n\n\tif (footer)\n\t\tfooter.style.display = 'none';\n\n\tif (HFN.config.isMobile()) {\n\t\tdocument.documentElement.style.height = '100%';\n\t\tdocument.body.style.height = '100%';\n\t\tdocument.getElementById('megawrap').style.height = '100%'\n\t}\n\n\tthis.audioPlayerBox = prc.AudioPlayer(holder[0], params);\n}","import dlink from \"../\";\nimport { isSameLocation, isInternetExplorer } from \"../../utils\";\n\n\nexport default function documentview(data, holder) {\n\tconsole.log(\"dlink documentview\");\n\tvar meta = data.metadata;\n\tvar canDownload = data.candownload;\n\tvar previewlink = data.previewlink + \"?page=hsn#\";\n\tvar template;\n\n\ttemplate = HFN.renderTemplate('#dLinkDocument', {\n\t\tiframesrc: previewlink\n\t}).appendTo(holder);\n\n\tif (canDownload) {\n\t\tif (isSameLocation()) {\n\t\t\ttemplate.find('.button-area').append(dlink.getSaveButton());\n\t\t}\n\t\ttemplate.find('.button-area').append(dlink.getDownloadButton());\n\n\t\tif (HFN.config.isMobile()) {\n\t\t\tdlink.addMobileButton(dlink.createShareButtonMobile());\n\t\t\tif (dlink._actionSheetDownloadItems().length !== 0) {\n\t\t\t\tdlink.addMobileButton(dlink.createDownloadButtonMobile());\n\t\t\t}\n\t\t}\n\t}\n\t//template.find('.button-area').append(dlink.getDisabledDownloadButton());\n\n\t$('html').addClass('document-preview document-loading');\n\t$('.header .filename').append(document.createTextNode(meta.name)).append(' (' + HFN.formatSize(meta.size) + ')');\n\n\t// local test with download restriction\n\t/*\n\t// run -> npm install http-server -g\n\t// create folder pdf local\n\t// add pdf in the folder\n\t// cd pdf\n\t// run -> http-server --cors pdf\n\tvar node = holder.find(\"#dLinkDocument-container\")[0];\n\t$('html').removeClass('document-loading');\n\tprc.DocPreview(node, {\n\t\tfile: 'http://127.0.0.1:8080/NO%20BRANDING%20Getting%20started%20with%20pCloud.pdfGetting%20started%20with%20pCloud.pdfGetting%20started%20with%20pCloud.pdfGetting%20started%20with%20pCloud.pdfGetting%20started%20with%20pCloud.pdfGetting%20started%20with%20pCloud.pdfGetting%20started%20with%20pCloud.pdfGetting%20sta.pdf',\n\t\tonError: function () {\n\t\t\tdlink.go('generic');\n\t\t}\n\t});\n\t*/\n\n\t// Stop for local testing\n\t// /*\n\tcheckSrc(previewlink, function () {\n\t\t$('html').removeClass('document-loading');\n\t\tif (!canDownload || isInternetExplorer() || $.browser.mobile) {\n\t\t\ttemplate.find(\"iframe\").hide();\n\t\t\tvar node = holder.find(\"#dLinkDocument-container\")[0];\n\t\t\tconsole.log(\"dLinkDocument\", node, previewlink);\n\n\t\t\tprc.DocPreview(node, {\n\t\t\t\tfile: previewlink,\n\t\t\t\tonError: function () {\n\t\t\t\t\tdlink.go('generic');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}, function () {\n\t\tdlink.go('generic');\n\t});\n\t// */\n\n\t//dlink.addDesktopButton(dlink.getShareHeaderButton());\n\tif (data.candownload) {\n\t\tdlink.addDesktopButton(dlink.getShareHeaderIcon());\n\t\tdlink.addDesktopButton(dlink.getDownloadHeaderButton());\n\t}\n}\n\nfunction checkSrc(iframeSrc, callback, errorCallback) {\n\t// debug\n\t// callback();\n\t// return; //stop for local testing\n\n\n\t// prod\n\t$.ajax({\n\t\turl: iframeSrc,\n\t\tcache: false,\n\t\tmethod: 'HEAD',\n\t\tcomplete: function (ret) {\n\t\t\tcallback();\n\t\t\tconsole.log('git it');\n\t\t\tconsole.log(ret);\n\t\t\tconsole.log('all good');\n\t\t}\n\t}).done(function () {\n\t\tcallback();\n\t}).fail(function () {\n\t\terrorCallback();\n\t});\n}\n","import dlink from \"../\";\n\n// XZidPLZow1MrRAcJJuCra1cabPTKVxtfBO7\n\nconst _resize = [];\n\nconst errorMessages = {\n\t7003: \"Pursuant to pCloud’s Terms of Service, access to this file has been disabled.\"\n};\n\nexport default function error(data, holder) {\n\tconst meta = data.metadata;\n\n\tlet message = errorMessages[data.result] || data.error;\n\n\tlet template = HFN.renderTemplate('#dLinkError', {\n\t\terror: message\n\t}).appendTo(holder);\n\n\t$(window).on('resize', resize).trigger('resize');\n}\n\n_resize.push(function () {\n\tdlink.centralizeDlContent('#dl_content .error');\n})\n\nfunction resize() {\n\t_resize.forEach(function (resize) {\n\t\tresize();\n\t});\n}\n","import dlink from \"../\";\nimport hashManager from \"../../hashManager\";\n\n// kZrNcHZ6O4qD1HGEY5kDn03E4dW8HypG0fV\n\nvar meta;\nvar code;\nvar linkpassword;\nvar canupload;\nvar usercanupload;\nvar candownload;\nvar template;\nvar grid_opts;\n\nexport default function folder(data, holder) {\n\tconsole.log(\"dlink folder\", data);\n\n\tcode = dlink.code;\n\tlinkpassword = dlink.data.linkpassword;\n\tcanupload = data.canupload;\n\tcandownload = data.candownload;\n\tusercanupload = data.usercanupload;\n\n\t// init\n\tmeta = data.metadata;\n\ttemplate = HFN.renderTemplate('#dLinkFolder', {}).appendTo(holder);\n\n\t/*\n\tvar filtered = HFN._filterTree(meta.contents);\n\tif (filtered.length)\n\t\tmeta.contents = filtered;\n\t*/\n\n\t_filterTree(meta);\n\n\tHFN.cacheTree(meta, 'public', {});\n\n\t//header title\n\t$('.header .filename').append(document.createTextNode(meta.name));\n\n\t// setup buttons\n\tif (HFN.config.isMobile()) {\n\t\tif (data.candownload) {\n\t\t\tdlink.addMobileButton(dlink.createShareButtonMobile());\n\t\t\tif (dlink._actionSheetDownloadItems().length !== 0) {\n\t\t\t\tdlink.addMobileButton(dlink.createDownloadButtonMobile());\n\t\t\t}\n\t\t}\n\t\t// hide upload button for virtual folders\n\t\tif (meta.folderid !== 0 && data.canupload) {\n\t\t\tdlink.addMobileButton(dlink.createUploadButtonMobile());\n\t\t}\n\t} else {\n\t\t//template.find('.button-area').append(dlink.getDisabledDownloadButton());\n\t\tif (data.candownload) {\n\t\t\tdlink.addDesktopButton(dlink.getShareHeaderIcon());\n\t\t\tdlink.addDesktopButton(dlink.getDownloadHeaderButton());\n\t\t}\n\t}\n\n\tif (HFN.config.isMobile()) {\n\t\tgrid_opts = {\n\t\t\ttemplate: 'pubmobilefoldermixed',\n\t\t\ttitle: '',\n\t\t\tpaging: 20000,\n\t\t\ttemplateswitch: [],\n\t\t\tnoempty: true,\n\t\t\tcode: code,\n\t\t\tlinkpassword: linkpassword,\n\t\t\tcanupload: canupload,\n\t\t\tusercanupload: usercanupload,\n\t\t\tcandownload: candownload,\n\t\t\tplace: '.relativePublink'\n\t\t}\n\t} else {\n\t\tgrid_opts = {\n\t\t\tcode: code,\n\t\t\tlinkpassword: linkpassword,\n\t\t\tcanupload: canupload,\n\t\t\tusercanupload: usercanupload,\n\t\t\tcandownload: candownload,\n\t\t\tplace: '.relativePublink'\n\t\t}\n\t}\n\n\n\ttriggerOpenPublicFolder(hashManager.getState('folder') || meta.folderid, grid_opts).then((data) => {\n\t\tconst blobid = _getParameterByName('blobid');\n\t\t_markFileBlobId(data, blobid);\n\t});\n\n\t$('.contents').addClass('gallery');\n\n\t_setupOnMobileResize();\n\n\t$(window).on('hashchange', openFolder);\n}\n\n/**********************************/\n/* \t\t\t Helpers\t\t\t */\n/**********************************/\n\nfunction _resizeMobile() {\n var width = $(window).outerWidth();\n var peritem = 102;\n var max = $('.mobgriditem').length * 102;\n var minWidth = peritem * 3;\n $('.gridlist.publinkmobile').width(Math.max(minWidth, Math.trunc(width / peritem) * peritem));\n}\n\nfunction openFolder() {\n\ttriggerOpenPublicFolder(hashManager.getState('folder') || meta.folderid, grid_opts);\n\t\n\t$('.contents').addClass('gallery');\n}\n\nfunction _markFileBlobId(data, blobid) {\n\tif (blobid != null) {\n\t\tvar obj = _findByBlobid(meta, blobid, null);\n\t\tif(obj != null) {\n\t\t\tvar parentFolderId = obj.parentfolderid;\n\n\t\t\ttriggerOpenPublicFolder(parentFolderId, grid_opts).then(data => {\n\t\t\t\t$('.gridline .filename').filter(function( text ) {\n\t\t\t\t return $( this ).text() === obj.name;\n\t\t\t\t}).closest('.gridline').css(\"background-color\", \"#ffff00\");\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction _filterTree(meta) {\n\t_filterList(meta);\n\tfor (var n = 0; n < meta.contents.length; ++n)\n\t\tif ('contents' in meta.contents[n])\n\t\t\t_filterList(meta.contents[n]);\n}\n\nfunction _filterList(meta) {\n\tvar filtered = HFN._filterTree(meta.contents);\n\tif (filtered.length)\n\t\tmeta.contents = filtered;\n}\n\nfunction _setupOnMobileResize() {\n\t$.mobile.orientationChangeEnabled = false;\n\t$(window).on('orientationchange', function () {\n\t\t$(window).trigger('onmobileresize');\n\t\t$(window).on('resize.tmp', function() {\n\t\t\t$(window).trigger('onmobileresize');\n\t\t\t$(window).off('resize.tmp');\n\t\t});\n\t});\n}\n\nfunction _getParameterByName (name, url) {\n if (!url) url = window.location.href;\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return '';\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n}\n\nfunction _findByBlobid(metadata, blob_id, result) {\n if(metadata instanceof Array) {\n for(var i = 0; i < metadata.length; i++) {\n result = _findByBlobid(metadata[i], blob_id, result);\n }\n }\n else\n {\n for(var prop in metadata) {\n console.log(prop + ': ' + metadata[prop]);\n if(prop == 'blobid') {\n if(metadata[prop] == blob_id) {\n return metadata;\n }\n }\n if(metadata[prop] instanceof Object || metadata[prop] instanceof Array) {\n result = _findByBlobid(metadata[prop], blob_id, result);\n }\n }\n }\n return result;\n}\n","import dlink from \"../\";\nimport { isSameLocation } from \"../../utils\";\n\nvar _resize = [];\n\nexport default function show(data, holder) {\n\tconsole.log(\"dlink generic\");\n\tvar meta = data.metadata;\n\tvar dynamicTitle = dlink.dynamicTitle(meta);\n\tvar template;\n\n\ttemplate = HFN.renderTemplate('#dLinkGeneric', {\n\t\tfilename: meta.name,\n\t\tfilesize: HFN.formatSize(meta.size)\n\t}).appendTo(holder);\n\n\t$('.header .filename').append(document.createTextNode(meta.name)).append(' (' + HFN.formatSize(meta.size) + ')');\n\n\tif (!data.branding) {\n\t\t$('.header .filename').hide()\n\t\t// dynamic title\n\t\ttemplate.find('._title').append(dynamicTitle.template);\n\t\t_resize.unshift(dynamicTitle.resize);\n\t}\n\n\tvar iconwrap = $('
');\n\tvar icon = HFN.createIcon(HFN.metaIcon(meta), HFN.ICONS.OVERTRAFFIC_PUBLINK);\n\n\ticonwrap.append(icon);\n\ttemplate.find('.icon').append(iconwrap);\n\n\tif (data.candownload) {\n\t\tif (isSameLocation()) {\n\t\t\ttemplate.find('.button-area').append(dlink.getSaveButton());\n\t\t}\n\t\ttemplate.find('.button-area').append(dlink.getDownloadButton());\n\n\t\tif (HFN.config.isMobile()) {\n\t\t\tdlink.addMobileButton(dlink.createShareButtonMobile());\n\t\t\tif (dlink._actionSheetDownloadItems().length !== 0) {\n\t\t\t\tdlink.addMobileButton(dlink.createDownloadButtonMobile());\n\t\t\t}\n\t\t} else {\n\t\t\tdlink.addDesktopButton(dlink.getShareHeaderIcon());\n\t\t}\n\t}\n\n\t$(window).on('resize', windowResize);\n\twindowResize();\n}\n\n_resize.push(function () {\n\tdlink.centralizeDlContent('#dl_content .generic');\n});\n\nfunction windowResize() {\n\tnew DelayedExecution(function () {\n\t\t_resize.forEach(function (eachResize) {\n\t\t\teachResize();\n\t\t});\n\t}, 10, 'generic-resize');\n}\n","import dlink from '../';\n\nvar imageSize;\nvar _resize = [];\n\nexport default function image(data, holder) {\n\tconsole.log(\"dlink image\");\n\n\tvar meta = data.metadata;\n\tvar maxWidth = Math.max(window.screen.availWidth, window.screen.availHeight);\n\tvar maxHeight = Math.max(window.screen.availWidth, window.screen.availHeight);\n\tvar thumbSize = imageSize = HFN.calcImageSize(meta.width || 1024, meta.height || 1024, maxWidth, maxHeight);\n\tvar thumb = $('', { src: dlink.imageUrl(thumbSize[0], thumbSize[1]) });\n\tvar dynamicTitle;\n\n\tvar template = HFN.renderTemplate('#dLinkImage', { filename: meta.name, filesize: HFN.formatSize(meta.size) })\n\t\t.appendTo(holder)\n\t\t.find('.thumb')\n\t\t\t.append(thumb)\n\t\t\t.append(thumb)\n\t\t.end()\n\n\t//header title\n\t$('.header .filename').append(document.createTextNode(meta.name)).append(' (' + HFN.formatSize(meta.size) + ')');\n\t\n\tif (HFN.config.isSite()) {\n\t\tif (data.candownload) {\n\t\t\tdlink.addDesktopButton(dlink.getShareHeaderIcon());\n\t\t\tdlink.addDesktopButton(dlink.getDownloadHeaderButton());\n\t\t}\n\t} else {\n\t\tif (!data.branding) {\n\t\t\t$('.header .filename').hide();\n\t\t\t// dynamic title\n\t\t\tdynamicTitle = dlink.dynamicTitle(meta);\n\t\t\ttemplate.find('._title').append(dynamicTitle.template);\n\t\t\t_resize.push(dynamicTitle.resize);\n\t\t}\n\t\tif (data.candownload) {\n\t\t\tdlink.addMobileButton(dlink.createShareButtonMobile());\n\t\t\tif (dlink._actionSheetDownloadItems().length !== 0) {\n\t\t\t\tdlink.addMobileButton(dlink.createDownloadButtonMobile());\n\t\t\t}\n\t\t}\n\t}\n\n\t$(window).on('resize', windowResize);\n\n\tthumb[0].onload = function() {\n\t\timageSize = [this.naturalWidth, this.naturalHeight];\n\n\t\ttemplate.find('.loading').hide();\n\t\ttemplate.find('.thumb').show();\n\n\t\tresizeArea();\n\t}\n\n\tthumb[0].onerror = function() {\n\t\tdlink.go(\"generic\");\n\t}\n}\n\n/**********************************/\n/* \t\t\t Helpers\t\t\t \t\t\t\t\t*/\n/**********************************/\n\nfunction padHeight() {\n\n\tif (HFN.config.isMobile())\n\t\treturn $('div.header').outerHeight();\n\n\tvar hpad = 0;\n\thpad += $('div.header-wrap').outerHeight();\n\thpad += $('._title').outerHeight();\n\thpad += 40;\n\thpad += $('.button-area').outerHeight(); // download/save buttons\n\n\treturn hpad;\n}\n\nfunction padWidth() {\n\tvar wpad = 0;\n\n\tif ($('.dl-sidebar').length && 0) {\n\t\twpad += $('.dl-sidebar').outerWidth();\n\t\twpad += 100;\n\t}\n\n\treturn wpad;\n}\n\nfunction resizeArea() {\n\tvar hpad = padHeight();\n\tvar wpad = padWidth();\n\tvar heightMax = 1700;\n\tvar widthMax = 1700;\n\n\tconsole.log('hpad', hpad);\n\tconsole.log('wpad', wpad);\n\tconsole.log('outerheight', $(window).outerHeight());\n\n\tvar size = HFN.calcImageSize(\n\t\timageSize[0], imageSize[1],\n\t\t//$(window).outerWidth(),\n\t\tMath.min(widthMax, $(window).outerWidth() - wpad),\n\t\tMath.min(heightMax, $(window).outerHeight() - hpad)\n\t);\n\tvar cssobj = {\n\t\twidth: size[0],\n\t\theight: size[1]\n\t};\n\n\t$('.thumb').css(cssobj);\n\t$('.thumb > img').css(cssobj);\n\n\tdlink.centralizeDlContent('#dl_content .image');\n}\n\n_resize.push(resizeArea);\n\nfunction windowResize() {\n\tnew DelayedExecution(function () {\n\t\t_resize.forEach(function (eachResize) {\n\t\t\teachResize();\n\t\t});\n\t}, 80, 'img-resize');\n}\n","import dlink from \"../\";\nimport { isSameLocation, rcookie } from \"../../utils\";\n\n// XZidPLZow1MrRAcJJuCra1cabPTKVxtfBO7\n\nvar _resize = [];\n\nexport default function overtraffic(data, holder) {\n\tconsole.log(\"dlink overtraffic\");\n\tvar meta = data.metadata;\n\tvar dynamicTitle = dlink.dynamicTitle(meta);\n\tvar template;\n\n\ttemplate = HFN.renderTemplate('#dLinkOvertraffic2', {\n\t\tfilename: meta.name,\n\t\tfilesize: HFN.formatSize(meta.isfolder ? HFN.folderData(meta)[0] : meta.size),\n\t\taccess_limit: __(\"access_limit\", \"Access to '%filename%' was limited due to high download traffic.\", { filename: meta.name }),\n\t\tover_explain_premium: __(\"over_explain_premium\", \"You can still download the content of this link - get Premium plan or higher. %click_to_continue%\", { click_to_continue: '' + __(\"click_to_continue\", \"Click to continue\") + '.' }),\n\t\tover_explain_login: __(\"over_explain_login\", \"If you are already a Premium user, %click_to_login%\", { click_to_login: '' + __(\"click_to_login\", \"click to login\") + '' })\n\t}, { escape: false }).appendTo(holder);\n\n\t// dynamic title\n\ttemplate.find('._title').append(dynamicTitle.template);\n\t_resize.unshift(dynamicTitle.resize);\n\n\tvar iconwrap = $('
');\n\tvar icon = HFN.createIcon(HFN.metaIcon(meta), HFN.ICONS.OVERTRAFFIC_PUBLINK);\n\n\ticonwrap.append(icon);\n\ttemplate.find('.icon').append(iconwrap);\n\tif (meta.thumb) {\n\t\tconsole.log('go now', dlink.code);\n\t\tsetupThumb(icon, meta, HFN.ICONS.OVERTRAFFIC_PUBLINK, { code: dlink.code });\n\n\t\tif (meta.category == HFN.CATEGORY.VIDEO) {\n\t\t\ticonwrap.append($('
'));\n\t\t} else if (meta.category == HFN.CATEGORY.AUDIO) {\n\t\t\ticonwrap.append('
');\n\t\t}\n\t}\n\n\tif (HFN.config.isMobile()) {\n\t\ttemplate.find('.button-area').append(dlink.getMobileSaveButton());\n\t\t//dlink.addMobileButton(dlink.createDownloadButtonMobile());\n\t} else if (data.candownload) {\n\t\tif (isSameLocation()) {\n\t\t\ttemplate.find('.button-area').append(dlink.getSaveButton());\n\t\t}\n\t\ttemplate.find('.button-area').append(dlink.getDownloadButton());\n\n\t\t// no share for overtraffic link?\n\t\t//dlink.addDesktopButton(dlink.getShareHeaderIcon());\n\t}\n\n\t$('.button-area .greenbut').addClass('greendisabled').off('click');\n\t$(window).on('resize', resize).trigger('resize');\n\n\tif (rcookie('pcauth')) {\n\t\ttemplate.find('.not_logged').remove();\n\t}\n\n\ttemplate.find('.go_plan')\n\t\t.attr('href', 'https://www.pcloud.com/cloud-storage-pricing-plans.html?period=year&returnurl=' + encodeURIComponent(location.href))\n\ttemplate.find('.go_login').on('click', function() {\n\t\tHFN.initDownloadlinkLoginRegModal(function(userinfo) {\n\t\t\tlocation.reload();\n\t\t});\n\t});\n}\n\n_resize.push(function () {\n\tdlink.centralizeDlContent('#dl_content .generic');\n})\n\nfunction resize() {\n\t_resize.forEach(function (_func) {\n\t\t_func();\n\t});\n}\n","import dlink from \"../\";\n\n// XZidPLZow1MrRAcJJuCra1cabPTKVxtfBO7\n\n\tvar _resize = [];\n\n\texport default function password(data, holder) {\n\t\tvar meta = data.metadata;\n\t\tvar method = 'post';\n\t\tvar iserror = '';\n\t\tvar template;\n\n\t\tif (location.host == '127.0.0.1') {\n\t\t\tmethod = 'get';\n\t\t}\n\n\t\tvar error = __('dl_password_protected', 'The content of this link is password protected.');\n\t\tif (typeof $.deparam.querystring().linkpassword === 'string' ||\n\t\t\ttypeof $.deparam.querystring().ep === 'string') {\n\t\t\terror = __('dl_wrong_password', 'Wrong password.');\n\t\t\tiserror = 'wrong-password';\n\t\t}\n\n\t\ttemplate = HFN.renderTemplate('#dLinkPasswordError', {\n\t\t\tmethod: method,\n\t\t\tcode: dlink.code,\n\t\t\terror: error,\n\t\t\tcustomclass: iserror\n\t\t}).appendTo(holder);\n\n\t\t$(window).on('resize', resize).trigger('resize');\n\t}\n\n\t_resize.push(function () {\n\t\tdlink.centralizeDlContent('#dl_content .password');\n\t})\n\n\tfunction resize() {\n\t\t_resize.forEach(function (resize) {\n\t\t\tresize();\n\t\t});\n\t}\n","import dlink from '../';\nimport { getProperThumbnailSize, getVideoUrlsAndMaxVideoSize } from '../../../../src/containers/Gallery/utils';\n\nvar _resize = [];\nvar imageSize;\n\nfunction video(data, holder) {\n\tconsole.log(\"dlink video\", data);\n\tvar meta = data.metadata;\n\tvar dynamicTitle;\n\tvar template;\n\n\t// override\n\n\tif (dlink.code == 'XZJFuLZHB2zJ6b1CVJCTmCfv1iRPBBmwXr7') {\n\t\tdata.country = 'sa';\n\t}\n\n\ttemplate = HFN.renderTemplate('#dLinkVideo', {\n\t\tfilename: meta.name,\n\t\tfilesize: HFN.formatSize(meta.size)\n\t}).appendTo(holder);\n\n\tif ($.deparam.querystring().embed == 1) {\n\t\ttemplate.addClass('embed');\n\t}\n\n\t//header title\n\t$('.header .filename').append(document.createTextNode(meta.name)).append(' (' + HFN.formatSize(meta.size) + ')');\n\n\tif (HFN.config.isMobile()) {\n\t\tif (!data.branding) {\n\t\t\t$('.header .filename').hide();\n\t\t\t// $('.header .bookmark').hide();\n\t\t\t// dynamic title\n\t\t\tdynamicTitle = dlink.dynamicTitle(meta);\n\t\t\ttemplate.find('._title').append(dynamicTitle.template);\n\t\t\t_resize.push(dynamicTitle.resize);\n\t\t}\n\n\t\tdlink.addMobileButton(dlink.createShareButtonMobile());\n\t\tif (data.candownload ) {\n\t\t\tif (dlink._actionSheetDownloadItems().length !== 0) {\n\t\t\t\tdlink.addMobileButton(dlink.createDownloadButtonMobile());\n\t\t\t}\n\t\t}\n\t\ttemplate.find('.button-area').remove();\n\t} else {\n\t\tif (data.candownload) {\n\t\t\tdlink.addDesktopButton(dlink.getShareHeaderIcon());\n\t\t\tdlink.addDesktopButton(dlink.getDownloadHeaderButton());\n\t\t}\n\t}\n\t_loadVideoPlayer(data, template.find('.player')[0]);\n\n\t$(window).on('resize', resize);\n}\n\nexport default video;\n\n/**********************************/\n/* \t\t\t Helpers\t\t\t */\n/**********************************/\n\nfunction _loadVideoPlayer(data, node, autoPlay = false, seek = 0) {\n\tvar videoData = {\n\t\tid: data.metadata.id,\n\t\tname: data.metadata.name,\n\t\tvideoUrls: [],\n\t\tthumbUrl: \"\",\n\t\tthumbSize: \"\",//x\n\t\tthumbType: \"image/jpeg\",\n\t\tsubUrl: \"\",\n\t\tmaxWidth: 0,\n\t\tmaxHeight: 0\n\t};\n\n\tvar {videoUrls, videoMaxWidth, videoMaxHeight} = getVideoUrlsAndMaxVideoSize(data.variants, false);\n\t\n\tif (videoUrls.length === 0) {\n\t\tshowErrorLoadingVideo();\n\t\treturn;\n\t}\n\n\tvideoData.videoUrls = videoUrls;\n\tvideoData.maxWidth = videoMaxWidth;\n\tvideoData.maxHeight = videoMaxHeight;\n\t\n\tvar thumbWidth = getProperThumbnailSize(Math.min(videoData.maxWidth, Math.max(window.screen.availWidth, window.screen.availHeight)));\n\tvar thumbHeight = getProperThumbnailSize(Math.min(videoData.maxHeight, Math.max(window.screen.availWidth, window.screen.availHeight)));\n\tvideoData.thumbUrl = dlink.imageUrl(thumbWidth, thumbHeight);\n\tvideoData.thumbSize = thumbWidth + \"x\" + thumbHeight;\n\n\tvar videoContainerRemove = prc.VideoContainer(node, {\n\t\tref: {},\n\t\tvideoData,\n\t\tautoPlay,\n\t\tseek,\n\t\tnoSwipeGesture: true,\n\t\tdefaultDocumentTitle: document.title,\n\t\tsetVideoLoading: toggleLoading,\n\t\tonPlay: () => {\n\t\t\tdelete data.refreshedVideoLinks;\n\t\t},\n\t\tonError: ({autoPlay, mediaType, lastPlayingTime}) => {\n\t\t\tif (mediaType === \"videoThumb\") {\n\t\t\t\t// Broken video thumb. Keep showing the play button on black container.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (data.refreshedVideoLinks) {\n\t\t\t\tshowErrorLoadingVideo();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t\n\t\t\t// Reload video links.\n\t\t\ttoggleLoading(true);\n\t\t\t\n\t\t\tvideoContainerRemove();\n\t\t\tHFN.apiMethod('getpubvideolinks', { code: dlink.code, linkpassword: dlink.linkpassword }, function (vlinksret) {\n\t\t\t\tdata.refreshedVideoLinks = true;\n\t\t\t\tdata.variants = vlinksret.variants;\n\t\t\t\t_loadVideoPlayer(data, node, autoPlay, lastPlayingTime);\n\t\t\t}, {\n\t\t\t\terrorCallback: function (ret) {\n\t\t\t\t\tshowErrorLoadingVideo();\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t});\n\n\treturn videoData;\n}\n\nfunction toggleLoading(loading) {\n\tif(loading) {\n\t\t$(\".player\").addClass(\"loading\");\n\t} else {\n\t\t$(\".player\").removeClass(\"loading\");\n\t}\n}\n\nfunction showErrorLoadingVideo() {\n\t$(\".player\").empty().append(HFN.renderTemplate('#dLinkVideoError'));\n}\n\nfunction resize() {\n\tnew DelayedExecution(function () {\n\t\t_resize.forEach(function (eachResize) {\n\t\t\teachResize();\n\t\t});\n\t}, 80, 'img-resize');\n}\n","// @flow\nimport $ from \"jquery\";\nimport { CATEGORY } from \"@pcloud/web-utilities/dist/config/constants\";\nimport ads2016 from './ads2016';\nimport openInApp, { canShow as canShowOpenInApp } from \"./openInApp\";\nimport { calcRelativeOffset, calcCoverHeight, getCoverPosition, getCoverSize, isSameLocation, getLocationFromUrl, retinaSrc, rcookie, getImageSize } from \"../../lib/utils\"\nimport * as views from \"./views\";\nimport apiConfig from \"../../api/config\";\nimport apiInit from \"../../api/apiInit\";\nimport { handleDisabledInfoModals } from \"../../components/UploadManager/helpers\";\nimport hashManager from \"../hashManager\";\n\nconst asiaCodes = [\n\t'SA', 'ID', 'CN', 'MM', 'KW', 'TH', 'AE', 'TR', 'MY', 'OM', 'IN', 'TW',\n\t'EG', 'SG', 'YE', 'QA', 'PH', 'JO', 'IQ', 'VN', 'SY', 'IL', 'PK'\n];\n\nconst code = $.deparam.querystring().code;\nconst linkpassword = $.deparam.querystring().linkpassword;\nconst showBranding = $.deparam.querystring().br !== \"0\";\nlet pinChecked = false;\nconst config = HFN.config;\nconst locationid = getLocationFromUrl() && getLocationFromUrl().id || HFN.US_LOCATIONID;\nconst dLink = {\n new: true,\n\tcode: code,\n\tlinkpassword: linkpassword,\n\tispinned: false,\n\tviews: {},\n\tholder: null,\n\tbrandingImagesSize: {},\n\tloadData: function (data, callback) {\n\t\tvar queue = [];\n\t\tvar _self = this;\n\t\tvar params = { code: code, iconformat: 'id', linkpassword: linkpassword };\n\t\tconst token = rcookie(\"pcauth\");\n\n\t\tif (token && token !== \"0\") {\n\t\t\tparams.auth = token;\n\t\t}\n\n\t\tHFN.apiMethod('showpublink', params, function (ret) {\n\t\t\tdata.metadata = ret.metadata;\n\t\t\tdata.ownerispremium = ret.ownerispremium;\n\t\t\tdata.ownerisbusiness = ret.ownerisbusiness;\n\t\t\tdata.ownerisme = ret.ownerisme;\n\t\t\tHFN.config.dlinkownerisme = ret.ownerisme;\n\t\t\tdata.linkid = ret.linkid;\n\t\t\tdata.showads = ret.showads;\n\t\t\tdata.linkpassword = linkpassword || ret.linkpassword;\n\t\t\tdata.canupload = ret.canupload || false;\n\t\t\tdata.candownload = ret.candownload || false;\n\t\t\tdata.usercanupload = ret.usercanupload || false;\n\t\t\tdata.showBranding = showBranding;\n\n\t\t\tconsole.log(\"showpublink ret: \", ret);\n\n\t\t\tif (code == 'XZbmXnZNqYXBmmqT5bH89AG5iwOQmnNA2ok') {\n\t\t\t\tdata.ownerispremium = true;\n\t\t\t\tdata.showads = true;\n\t\t\t}\n\n\t\t\tif (code == 'XZB8AnZAb3z52cIdvJasHaXvg9QimaotUry') {\n\t\t\t\tdata.overtraffic = false;\n\t\t\t\tdata.showads = true;\n\t\t\t}\n\n\t\t\tif (code == 'XZh5b7ZuguF7Twiz1X4q4dXnVF0K8sBM0dy') {\n\t\t\t\tdata.ownerispremium = false;\n\t\t\t}\n\n\t\t\tif (code == \"XZkuSIZrATuCQlLGyHoWHOMYHl3TVrYhkM7\") {\n\t\t\t\tdata.overtraffic = true;\n\t\t\t}\n\n\t\t\tif (ret.metadata.category == HFN.CATEGORY.VIDEO) {\n\t\t\t\tqueue.push(HFN.apiMethod('getpubvideolinks', { code: code, linkpassword: linkpassword }, function (vlinksret) {\n\t\t\t\t\tdata.variants = vlinksret.variants;\n\t\t\t\t}, {\n\t\t\t\t\terrorCallback: function (ret) {\n\t\t\t\t\t\tif ([7006, 7014].indexOf(ret.result) != -1) {\n\t\t\t\t\t\t\tdata.overtraffic = true;\n\t\t\t\t\t\t} else if (ret.result != 7005) {\n\t\t\t\t\t\t\tHFN.message(ret.error, 'error');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t}\n\n\t\t\tif (data.metadata.category == HFN.CATEGORY.DOCUMENT) {\n\t\t\t\tvar method = 'getpublinkdownload';\n\t\t\t\tif (HFN.docPreview.canPreview(data.metadata))\n\t\t\t\t\tmethod = 'getpublinkpreviewdownload';\n\n\t\t\t\tqueue.push(HFN.apiMethod(method, { code: code, linkpassword: linkpassword, hashCache: data.metadata.hash }, function (previewRet) {\n\t\t\t\t\tdata.previewlink = HFN.prepUrl(previewRet);\n\t\t\t\t}, {\n\t\t\t\t\terrorCallback: function (previewRet) {\n\t\t\t\t\t\tif (previewRet.result != 7005 && previewRet.error)\n\t\t\t\t\t\t\tHFN.message(previewRet.error, 'error');\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t}\n\n\t\t\tif (data.metadata.category == HFN.CATEGORY.AUDIO) {\n\t\t\t\tvar method = data.candownload ? 'getpublinkdownload' : 'getpubaudiolink'\n\n\n\t\t\t\tqueue.push(HFN.apiMethod(method, { code: code, linkpassword: linkpassword }, function (audioRet) {\n\t\t\t\t\tdata.audiolink = HFN.prepUrl(audioRet);\n\t\t\t\t}, {\n\t\t\t\t\terrorCallback: function (audioRet) {\n\t\t\t\t\t\tif (audioRet.result != 7005)\n\t\t\t\t\t\t\tHFN.message(audioRet.error, 'error');\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t}\n\n\t\t\t// file or folder\n\t\t\t//if (code == 'XZidPLZow1MrRAcJJuCra1cabPTKVxtfBO7') {\n\t\t\tif (code == 'kZ0dFZtQdcAHlqTj59WVXlc9QivJ0A7SnX') {\n\t\t\t\tdata.overtraffic = true;\n\t\t\t\tdata.downloadlink = null;\n\t\t\t\tdata.ownerispremium = false;\n\t\t\t} else if (ret.overtraffic) {\n\t\t\t\tdata.overtraffic = true;\n\t\t\t\tdata.downloadlink = null;\n\t\t\t\tif (data.ownerispremium == undefined) {\n\t\t\t\t\tdata.ownerispremium = ret.ownerispremium;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (data.metadata.isfolder) {\n\t\t\t\t\tconsole.log(\"getpubzip linkpassword\", linkpassword)\n\t\t\t\t\tdata.downloadlink = HFN.apiMethodUrl(null, 'getpubzip', { code: code, linkpassword: linkpassword });\n\t\t\t\t} else {\n\t\t\t\t\tvar method = data.candownload ? 'getpublinkdownload' : 'getpubaudiolink'\n\t\t\t\t\tqueue.push(HFN.apiMethod(method, { code: code, linkpassword: linkpassword, forcedownload: 1 }, function (downloadRet) {\n\t\t\t\t\t\tdata.downloadlink = HFN.prepUrl(downloadRet);\n\t\t\t\t\t\tdata.code = code;\n\t\t\t\t\t}, {\n\t\t\t\t\t\terrorCallback: function (downloadRet) {\n\t\t\t\t\t\t\tif (downloadRet.result == 7005) {\n\t\t\t\t\t\t\t\tdata.overtraffic = true;\n\t\t\t\t\t\t\t\tdata.downloadlink = null;\n\t\t\t\t\t\t\t\tdata.ownerispremium = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// queue.push(HFN.apiMethod('getip', {}, function (ret) {\n\t\t\t// \tdata.country = ret.country;\n\t\t\t// \tdata.language = ret.country;\n\t\t\t// }));\n\n\t\t\tvar langFromUrl = HFN.getSearch(\"lang\") || \"\";\n\t\t\tdata.country = langFromUrl;\n\t\t\tdata.language = langFromUrl;\n\t\t\tconsole.log(\"Language 1\", data.language);\n\n\t\t\tpCloudIntl.updateLang(data.language);\n\n\t\t\tif (ret.branding) {\n\t\t\t\tdata.branding = ret.branding;\n\t\t\t}\n\n\t\t\t/*\n\t\t\tdata.branding = {\n\t\t\t\t\"bgcolor\": \"ff0000\",\n\t\t\t\t\"logo\": {\n\t\t\t\t\t\"expires\": \"Tue, 29 Mar 2016 14:02:28 +0000\",\n\t\t\t\t\t\"path\": \"\\/DLZBolQrZZkZXZeUouq7Z3VZZbFkZZnOZQkZakZaZ5L1SNDQdM64DPcJH1Jlzfbm5Qk9V\\/logo.png\",\n\t\t\t\t\t\"hash\": 4069884332877721245,\n\t\t\t\t\t\"hosts\": [\n\t\t\t\t\t\t\"p-sf1.pcloud.com\",\n\t\t\t\t\t\t\"c138.pcloud.com\"\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t};\n\t\t\t*/\n\n\t\t\t$.when.apply($, queue).then(callback.bind());\n\t\t}, {\n\t\t\terrorCallback: function (ret) {\n\t\t\t\tdata.metadata = false;\n\t\t\t\tdata.result = ret.result;\n\t\t\t\tdata.error = ret.error;\n\n\t\t\t\tif (ret.result === 2331) {\n\t\t\t\t\t// local redirect url (data region relocation) \n\t\t\t\t\twindow.location = ret.moved;\n\t\t\t\t} else if (ret.result === 4008) {\n\t\t\t\t\tdata.error = __(\"error_4008\", \"You can't access the content of this link temporarily. Try again later\");\n\t\t\t\t}\n\t\t\t\tHFN.apiMethod('getip', {}, function (ret) {\n\t\t\t\t\tdata.country = ret.country;\n\t\t\t\t\tcallback();\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t},\n\n\tinit: function(data) {\n\t\tapiInit();\n\t\tif (!data.candownload) {\n\t\t\t// hide context menu\n\t\t\tdocument.addEventListener(\"contextmenu\", event => event.preventDefault());\n\t\t\t// disable pint option\n\t\t\tvar head = document.head || document.getElementsByTagName(\"head\")[0];\n\t\t\tvar style = document.createElement(\"style\");\n\t\t\tvar css = \"* { display: none; }\";\n\t\t\thead.appendChild(style);\n\t\t\tstyle.type = \"text/css\";\n\t\t\tstyle.media = \"print\";\n\t\t\tif (style.styleSheet) {\n\t\t\t\t// This is required for IE8 and below.\n\t\t\t\tstyle.styleSheet.cssText = css;\n\t\t\t} else {\n\t\t\t\tstyle.appendChild(document.createTextNode(css));\n\t\t\t}\n\n\t\t}\n\n\t\tconsole.log('init', data)\n\t\tif (data.metadata) {\n\t\t\tif (!data.metadata.contents) {\n\t\t\t\tdata.metadata.contents = []\n\t\t\t}\n\t\t\tHFN.cacheTree(data.metadata, 'public', HFN.data.fflookup);\n\t\t}\n\n\t\tthis.data = data;\n\t\tconsole.log(\"Language 2\", this.data.language);\n\n\t\tpCloudIntl.setLang(this.data.language);\n\n\t\tvar hasBranding = Boolean(this.data.branding)\n\t\tif (hasBranding && showBranding) {\n\t\t\tvar imgs = [];\n\t\t\tvar hasLogo = Boolean(this.data.branding.logo1x);\n\t\t\tvar hasMobile = Boolean(data.branding.covermobile);\n\t\t\tvar imgUrls = [];\n\t\t\tvar self = this;\n\n\t\t\tif (hasLogo) {\n\t\t\t\tif ($.browser.mobile) {\n\t\t\t\t\tif (this.data.branding.logomobile) {\n\t\t\t\t\t\timgUrls.push(this.data.branding.logomobile);\n\t\t\t\t\t}\n\t\t\t\t} else if (window.devicePixelRatio > 1) {\n\t\t\t\t\timgUrls.push(this.data.branding.logo1x);\n\t\t\t\t\timgUrls.push(this.data.branding.logo2x);\n\t\t\t\t} else {\n\t\t\t\t\timgUrls.push(this.data.branding.logo1x);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (hasMobile && ($.browser.mobile || window.screen.width <= 1080)) {\n\t\t\t\timgUrls.push(this.data.branding.covermobile);\n\t\t\t} else if (window.screen.width <= 1366 && data.branding.coversmall) {\n\t\t\t\timgUrls.push(this.data.branding.coversmall);\n\t\t\t} else if (window.screen.width > 1366) {\n\t\t\t\tlet cover = data.branding.coverbig || data.branding.coversmall;\n\t\t\t\tif (cover) {\n\t\t\t\t\timgUrls.push(cover);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst promises = imgUrls.map(img => getImageSize(img).then(function (img) {\n\t\t\t\tif (!img) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tself.brandingImagesSize[img.path] = {\n\t\t\t\t\twidth: img.width,\n\t\t\t\t\theight: img.height\n\t\t\t\t};\n\t\t\t}));\n\n\t\t\tPromise.all(promises).then(() => {\n\t\t\t\tthis._setupLayout();\n\t\t\t\tthis._compat();\n\t\t\t\tthis._go();\n\t\t\t});\n\t\t} else {\n\t\t\tthis._setupLayout();\n\t\t\tthis._compat();\n\t\t\tthis._go();\n\t\t}\n\n\t\tif (data.dwltag) {\n\t\t\tsetcookie(\"dwltag\", data.dwltag, 1);\n\t\t}\n\t\t\n\t\tHFN.initCrashlytics(HFN.apiMethod);\n\n\t\tif (rcookie(\"pcauth\") && !data.ownerisbusiness) {\n\t\t\tHFN.initAnalytics();\n\t\t\tHFN.initFacebook();\n\t\t\tHFN.initTwitter();\n\t\t\tHFN.initTiktokTracking();\n\t\t} else if (rcookie('cookieconsent') && !data.ownerisbusiness) {\n\t\t\tHFN.initTracking([\n\t\t\t\t{\n\t\t\t\t\ttype: HFN.config.GA_FLAG, \n\t\t\t\t\tonStart: HFN.initAnalytics\n\t\t\t\t}, \n\t\t\t\t{\n\t\t\t\t\ttype: HFN.config.FBQ_FLAG,\n\t\t\t\t\tonStart: function() {\n\t\t\t\t\t\tHFN.initFacebook();\n\t\t\t\t\t\tHFN.initTwitter();\n\t\t\t\t\t\tHFN.initTiktokTracking();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t},\n\n\tsetCookieConsent: function () {\n\t\tvar self = this;\n\t\t$('#megawrap').append(\"\");\n\n\t\tif (!rcookie('cookieconsent')) {\n\t\t\tthis.removeCookieConsent = prc.CookieConsent($('.cookie_consent_holder')[0], {\n\t\t\t\tinitAnalyticsTracking: HFN.initAnalytics,\n\t\t\t\tinitFacebookTracking: HFN.initFacebook,\n\t\t\t\tinitTiktokTracking: HFN.initTiktokTracking,\n\t\t\t\tinitTwitterTracking: HFN.initTwitter,\n\t\t\t\tonAgreed: () => {\n\t\t\t\t\tif (self.removeCookieConsent) {\n\t\t\t\t\t\tself.removeCookieConsent();\n\t\t\t\t\t}\n\t\t\t\t\t$(\".cookie_consent_holder\").closest('body').removeClass('cookie_consent');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\n\trefresh: function () {\n\t\twindow.location.reload();\n\t},\n\n\t_userPromise: null,\n\n\tgetUser: function(callback) {\n\t\tthis._userPromise.done(function(user) {\n\t\t\tif (!obLength(user)) {\n\t\t\t\tuser = false;\n\t\t\t}\n\t\t\tcallback(user);\n\t\t});\n\t},\n\n\t// compat method to equalize the publink to a normal my environment\n\t_compat: function() {\n\t\tvar self = this;\n\n\t\tthis._userPromise = $.Deferred();\n\t\tconst token = rcookie(\"pcauth\");\n\n\t\tif (token && token !== \"0\") {\n\t\t\tHFN.apiMethod(\"userinfo\", { auth: rcookie('pcauth') }, ret => {\n\t\t\t\tself._userPromise.resolve(ret);\n\n\t\t\t\tHFN.config.user = $.extend({}, ret);\n\t\t\t\tHFN.config.auth = rcookie('pcauth');\n\t\t\t}, { errorCallback: () => { self._userPromise.resolve({}); }});\n\t\t} else {\n\t\t\tself._userPromise.resolve({});\n\n //HFN.initPushNotifications();\n if (!this.data.ownerisbusiness) {\n this.setCookieConsent();\n }\n\t\t}\n\n\t\t/*\n\t\tHFN.initUser(rcookie('pcauth') || '', function(user) {\n\n\t\t\tself._userPromise.resolve(HFN.config.user);\n\n\t\t\tif (!HFN.config.auth) {\n\t\t\t\t//$('.logo > a > span').removeClass('pcloud-logo').addClass('pcloud-logo-my')\n\t\t\t\t//$('.logo > a').attr('href', '//www.pcloud.com');\n\t\t\t}\n\t\t});\n\t\t*/\n\n\t\tif (HFN.config.isMobile()) {\n\t\t\t$.mobile.orientationChangeEnabled = false;\n\t\t\t$(window).on('orientationchange', function () {\n\t\t\t\t$(window).trigger('onmobileresize');\n\t\t\t\t$(window).on('resize.tmp', function() {\n\t\t\t\t\t$(window).trigger('onmobileresize');\n\t\t\t\t\t$(window).off('resize.tmp');\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\t//\n\t\tHFN.init({\n\t\t\ttype: $.browser.mobile ? 'mobile' : 'site',\n\t\t\tdlink: true\n\t\t});\n\t\tconsole.log(\"Language 3\", this.data.language);\n\n\t\t// language\n\t\tpCloudIntl.init({\n\t\t\tlanguage: this.data.language\n\t\t});\n\n\t\t// setup branding based on owner ot public link\n\t\tif (this.data.branding) {\n\t\t\tHFN.branding.init(this.data.branding);\n\t\t}\n\n\t},\n\tinitBookmark: function() {\n\t\tconsole.info('initBookmark');\n\t\tvar bookmark = $(\".bookmark\");\n\t\tvar node = $(\"
\").appendTo(\".bookmark\")[0];\n\t\tvar dataName = this.data.metadata.name;\n\n\n\t\tif (\n\t\t\tHFN.config.isMobile() &&\n\t\t\t!this.data.metadata.isfolder &&\n\t\t\tthis.data.metadata.audiolink &&\n\t\t\tthis.data.metadata.category === HFN.CATEGORY.AUDIO\n\t\t) {\n\t\t\t// Disable bookmark for one page mobile audio player\n\t\t\tbookmark.css({ display: \"none\" });\n\t\t} else {\n\t\t\tbookmark.css({ display: \"flex\" });\n\t\t}\n\n\t\tprc.EditBookmarkTooltip(node, {\n\t\t\tcode,\n\t\t\tname: dataName,\n\t\t\tlocationId: locationid,\n\t\t\tholderObject: document.createElement(\"div\")\n\t\t});\n\t},\n\t_setupLayout: function() {\n\t\tconsole.log(\"PUB data: \", this.data)\n\n\t\tvar self = this;\n\t\tvar hasBranding = Boolean(this.data.branding)\n\t\tvar layout = '#desktopLayout';\n\t\tvar headline = \"\";\n\t\tvar description = \"\";\n\t\tvar imageSrc = \"\";\n\t\tvar coverSrc = \"\";\n\t\tvar coverPosition = 0;\n\t\tvar coverSize = \"100%\";\n\t\tvar hideRibbon = this.data.ownerisbusiness || this.data.ownerispremium || hasBranding;\n\n\t\tif (!hideRibbon) {\n\t\t\tsetTimeout(function () {\n\t\t\t\t// Show promo modal and ribbon\n\t\t\t\tHFN.initShowPromoOffer();\n\t\t\t}, 500);\n\t\t}\n\n\t\t// var showBranding = this.data.branding;\n\n\t\tif (hasBranding && showBranding) {\n\t\t\theadline = this.data.branding.header;\n\t\t\tdescription = this.data.branding.description;\n\t\t\tvar hasLogo = Boolean(this.data.branding.logo1x);\n\t\t\tvar hasCover = Boolean(this.data.branding.coversmall);\n\t\t\tvar coverColor = hasBranding && this.data.branding.covercolor ? this.data.branding.covercolor : false;\n\t\t\tvar coverGradient = hasBranding && this.data.branding.covergradient ? this.data.branding.covergradient : false;\n\n\t\t\tif (hasLogo) {\n\t\t\t\tif ($.browser.mobile) {\n\t\t\t\t\tif (this.data.branding.logomobile) {\n\t\t\t\t\t\timageSrc = HFN.prepUrl(this.data.branding.logomobile);\n\t\t\t\t\t}\n\t\t\t\t} else if (window.devicePixelRatio > 1) {\n\t\t\t\t\timageSrc = HFN.prepUrl(this.data.branding.logo2x);\n\t\t\t\t} else {\n\t\t\t\t\timageSrc = HFN.prepUrl(this.data.branding.logo1x);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction initCoverData(data) {\n\t\t\t\tvar currentWidth = hasBranding && data.branding.coverwidth ? window.innerWidth : 1;\n\t\t\t\tvar originalWidth = data.branding.coverwidth || 1;\n\t\t\t\tvar coverOffset = hasBranding && data.branding.coveroffsety ? calcRelativeOffset(currentWidth, originalWidth, data.branding.coveroffsety) : 0;\n\t\t\t\tvar coverImageHeight;\n\t\t\t\tvar coverContainerHeight = $.browser.mobile ? 180 : 300;\n\t\t\t\tvar hasMobile = Boolean(data.branding.covermobile);\n\n\t\t\t\tif (hasMobile && ($.browser.mobile || window.screen.width <= 1080)) {\n\t\t\t\t\tcoverSrc = HFN.prepUrl(data.branding.covermobile);\n\t\t\t\t\tcoverImageHeight = calcCoverHeight(self.getBrandingImageSize(data.branding.covermobile, 'height'), self.getBrandingImageSize(data.branding.covermobile, 'width'));\n\t\t\t\t} else if (window.screen.width <= 1366 && data.branding.coversmall) {\n\t\t\t\t\tcoverSrc = HFN.prepUrl(data.branding.coversmall);\n\t\t\t\t\tcoverImageHeight = calcCoverHeight(self.getBrandingImageSize(data.branding.coversmall, 'height'), self.getBrandingImageSize(data.branding.coversmall, 'width'));\n\t\t\t\t} else if (window.screen.width > 1366) {\n\t\t\t\t\tlet cover = data.branding.coverbig || data.branding.coversmall;\n\t\t\t\t\tif (cover) {\n\t\t\t\t\t\tcoverSrc = HFN.prepUrl(cover);\n\t\t\t\t\t\tcoverImageHeight = calcCoverHeight(self.getBrandingImageSize(cover, 'height'), self.getBrandingImageSize(cover, 'width'));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (coverImageHeight) {\n\t\t\t\t\tcoverPosition = getCoverPosition(coverOffset, coverImageHeight, coverContainerHeight);\n\t\t\t\t\tcoverSize = getCoverSize(coverOffset, coverImageHeight, coverContainerHeight);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction repositionCover(coverSrc, coverPosition, coverSize) {\n\t\t\t\tif (!$.browser.mobile) {\n\t\t\t\t\t$('.branding-header').css({\n\t\t\t\t\t\t\"background-image\": \"url(\" + coverSrc + \")\",\n\t\t\t\t\t\t\"background-size\": coverSize,\n\t\t\t\t\t\t\"background-position\": coverPosition === \"bottom\" ? coverPosition : \"0px \" + coverPosition + \"px\"\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$('#branding .cover-photo').css({\n\t\t\t\t\t\t\"background-image\": \"url(\" + coverSrc + \")\",\n\t\t\t\t\t\t\"background-size\": coverSize,\n\t\t\t\t\t\t\"background-position\": coverPosition === \"bottom\" ? coverPosition : \"0px \" + coverPosition + \"px\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (hasCover) {\n\t\t\t\tvar data = this.data;\n\t\t\t\tinitCoverData(data);\n\t\t\t\t$( window ).resize(function() {\n\t\t\t\t\tinitCoverData(data);\n\t\t\t\t\trepositionCover(coverSrc, coverPosition, coverSize);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif ($.browser.mobile) {\n\t\t\tlayout = '#mobileLayout';\n\t\t\t$('html').addClass('mobile');\n\t\t\t$('link.files').after('');\n\t\t}\n\n\t\t$('html').addClass('dlink');\n\t\t$('#megawrap').empty();\n\n\t\ttry {\n\t\t\tthis.holder = HFN.renderTemplate(layout, {\n\t\t\t\theadline: headline,\n\t\t\t\tdescription: description,\n\t\t\t\timageSrc: imageSrc,\n\t\t\t\tpowered_by: __(\"powered_by\", \"Powered by pCloud\")\n\t\t\t}).appendTo('#megawrap').find('#dl_content');\n\t\t} catch (error) {\n\t\t\tconsole.error(\"Loading preview error\", error, error.message);\n\t\t}\n\n\t\twindow.addEventListener(\"error\", (error) => {\n\t\t\tconsole.error(\"THIS IS AN ERROR FROM EVENT LISTENER\", error, error.message);\n\t\t});\n\n\n\t\tconsole.log(\"title-image src:\", imageSrc)\n\t\tconsole.log(\"headline:\", headline)\n\t\tconsole.log(\"description:\", description)\n\n\t\tif (hasBranding && showBranding) {\n\t\t\tif (!imageSrc) {\n\t\t\t\t$('.branding-header .title-image').remove();\n\t\t\t} else {\n\t\t\t\tvar imgWidth = $.browser.mobile ? (this.getBrandingImageSize(this.data.branding.logomobile, 'width') / 2) : this.getBrandingImageSize(this.data.branding.logo1x, 'width');\n\t\t\t\tvar imgHeight = $.browser.mobile ? (this.getBrandingImageSize(this.data.branding.logomobile, 'height') / 2) : this.getBrandingImageSize(this.data.branding.logo1x, 'height');\n\n\t\t\t\tif ($.browser.mobile && imgWidth > 300) {\n\t\t\t\t\tvar imgWidthMobile = $(\".branding-header\").width();\n\t\t\t\t\tvar imgHeightMobile = imgHeight / (imgWidth / imgWidthMobile);\n\t\t\t\t\t$('.branding-header .title-image').css({\n\t\t\t\t\t\t\"width\": imgWidthMobile + \"px\",\n\t\t\t\t\t\t\"height\": imgHeightMobile,\n\t\t\t\t\t\t\"max-width\": imgWidth,\n\t\t\t\t\t\t\"max-height\": imgHeight,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$('.branding-header .title-image').css({\n\t\t\t\t\t\t\"width\": imgWidth,\n\t\t\t\t\t\t\"height\": imgHeight,\n\t\t\t\t\t\t\"border\": \"3px solid #fff\",\n\t\t\t\t\t\t\"border-radius\": \"3px\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!$.browser.mobile) {\n\t\t\t\t$(\".branding-header\").css({\n\t\t\t\t\t\"height\": 300,\n\t\t\t\t\t\"box-sizing\": \"border-box\"\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (coverSrc && !$.browser.mobile) {\n\t\t\t\t$('.branding-header').css({\n\t\t\t\t\t\"background-image\": \"url(\" + coverSrc + \")\",\n\t\t\t\t\t\"background-size\": coverSize,\n\t\t\t\t\t\"background-repeat\": \"no-repeat\",\n\t\t\t\t\t\"background-position\": coverPosition === \"bottom\" ? coverPosition : \"0px \" + coverPosition + \"px\"\n\t\t\t\t});\n\t\t\t\t$('.branding-header .texts').css({\n\t\t\t\t\tcolor: \"#fff\"\n\t\t\t\t})\n\n\t\t\t\tif (headline || description) {\n\t\t\t\t\t$('.branding-header .gradient-bg').css({\n\t\t\t\t\t\tdisplay: \"inline-block\"\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif (!imageSrc) {\n\t\t\t\t\t$('.branding-header .texts').css({\n\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\tleft: \"0px\",\n\t\t\t\t\t\tbottom: \"36px\"\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else if (coverSrc && $.browser.mobile) {\n\t\t\t\t$(\".branding-header\").css({\n\t\t\t\t\t\"height\": \"initial\"\n\t\t\t\t});\n\n\t\t\t\t$('#branding .cover-photo').css({\n\t\t\t\t\t\"display\": \"inline-block\",\n\t\t\t\t\t\"background-image\": \"url(\" + coverSrc + \")\",\n\t\t\t\t\t\"background-size\": coverSize,\n\t\t\t\t\t\"background-repeat\": \"no-repeat\",\n\t\t\t\t\t\"background-position\": coverPosition === \"bottom\" ? coverPosition : \"0px \" + coverPosition + \"px\"\n\t\t\t\t});\n\n\t\t\t\tif (imageSrc) {\n\t\t\t\t\t$(\".branding-header\").css({\n\t\t\t\t\t\t\"padding-top\": \"120px\",\n\t\t\t\t\t\t\"min-height\": \"180px\"\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\t$(\".branding-header\").css({\n\t\t\t\t\t\t\"padding-top\": $('#branding .cover-photo').outerHeight()\n\t\t\t\t\t})\n\t\t\t\t\t$(\".branding-header .texts\").css({\n\t\t\t\t\t\t\"margin-top\": \"30px\"\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t} else if ((coverColor || coverGradient)&& !$.browser.mobile) {\n\t\t\t\tif (coverColor) {\n\t\t\t\t\t$('.branding-header').css({\n\t\t\t\t\t\t\"background-color\": \"#\" + coverColor\n\t\t\t\t\t});\n\t\t\t\t} else if (coverGradient) {\n\t\t\t\t\tcoverGradient = coverGradient.split(\",\");\n\t\t\t\t\t$('.branding-header').css({\n\t\t\t\t\t\t\"background\": \"linear-gradient(to right, #\" + coverGradient[0] + \", #\" + coverGradient[1] + \")\"\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t$('.branding-header .texts').css({\n\t\t\t\t\tcolor: \"#fff\"\n\t\t\t\t})\n\n\t\t\t} else if ((coverColor || coverGradient) && $.browser.mobile) {\n\t\t\t\tif (imageSrc) {\n\t\t\t\t\tif (coverColor) {\n\t\t\t\t\t\t$('.cover-photo').css({\n\t\t\t\t\t\t\t\"display\": \"inline-block\",\n\t\t\t\t\t\t\t\"background-color\": \"#\" + coverColor\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (coverGradient) {\n\t\t\t\t\t\tcoverGradient = coverGradient.split(\",\");\n\t\t\t\t\t\t$('.cover-photo').css({\n\t\t\t\t\t\t\t\"display\": \"inline-block\",\n\t\t\t\t\t\t\t\"background\": \"linear-gradient(to right, #\" + coverGradient[0] + \", #\" + coverGradient[1] + \")\"\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\t$(\".branding-header\").css({\n\t\t\t\t\t\t\"padding-top\": \"120px\",\n\t\t\t\t\t\t\"min-height\": \"180px\"\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tif (coverColor) {\n\t\t\t\t\t\t$(\".branding-header\").css({\n\t\t\t\t\t\t\t\"background-color\": \"#\" + coverColor\n\t\t\t\t\t\t})\n\t\t\t\t\t} else if (coverGradient) {\n\t\t\t\t\t\tcoverGradient = coverGradient.split(\",\");\n\t\t\t\t\t\t$('.branding-header').css({\n\t\t\t\t\t\t\t\"background\": \"linear-gradient(to right, #\" + coverGradient[0] + \", #\" + coverGradient[1] + \")\"\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\t$('.branding-header .texts').css({\n\t\t\t\t\t\tcolor: \"#fff\"\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else if (!(coverColor || coverSrc || coverGradient) && $.browser.mobile && (headline || description)) {\n\t\t\t\t$(\".branding-header\").css({\n\t\t\t\t\t\"height\": \"initial\"\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (!headline) {\n\t\t\t\t$('.branding-header .headline').remove();\n\t\t\t} else {\n\t\t\t\tif ($.browser.mobile) {\n\t\t\t\t\t$('.branding-header .title-image').css({ \"margin-bottom\": \"26px\" });\n\t\t\t\t} else {\n\t\t\t\t\t$('.branding-header .title-image').css({ \"margin-bottom\": \"36px\" });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (imageSrc && !headline && description) {\n\t\t\t\t$('.branding-header .title-image').css({ \"margin-bottom\": \"36px\" });\n\t\t\t}\n\n\t\t\tif (!description) {\n\t\t\t\t$('.branding-header .description').remove();\n\t\t\t} else {\n\t\t\t\t$('.branding-header .headline').css({ \"margin-bottom\": \"8px\" });\n\t\t\t}\n\n\t\t\t$(\"#basic\").remove();\n\t\t\t$(\"#branding > .header-wrap\").css({\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: $(\".branding-header\").outerHeight()\n\t\t\t});\n\n\t\t\tvar header = $(\"#branding > .header-wrap\").offset().top;\n\n\t\t\t$(window).scroll(function() {\n\t\t\t\t//close dropdown menu\n\t\t\t\tdropDown.close();\n\n\t\t\t\tvar currentScroll = $(window).scrollTop();\n\n\t\t\t\tif (currentScroll >= header) {\n\t\t\t\t\t$(\"#branding > .header-wrap\").css({\n\t\t\t\t\t\tposition: \"fixed\",\n\t\t\t\t\t\ttop: \"0\",\n\t\t\t\t\t\tleft: \"0\"\n\t\t\t\t\t});\n\t\t\t\t\t$(\".dl-sidebar\").css({\n\t\t\t\t\t\ttop: $(\".header-wrap\").outerHeight() + $(\".headerunder\").outerHeight()\n\t\t\t\t\t})\n\t\n\t\t\t\t} else {\n\t\t\t\t\t$(\"#branding > .header-wrap\").css({\n\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\ttop: $(\".branding-header\").outerHeight()\n\t\t\t\t\t});\n\n\t\t\t\t\t$(\".dl-sidebar\").css({\n\t\t\t\t\t\ttop: $(\".branding-header\").outerHeight() + $(\".header-wrap\").outerHeight()\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t} else {\n\t\t\tif (!showBranding) {\n\t\t\t\t$(\"#basic\").remove();\n\t\t\t\t$(\"#branding > .branding-header\").css({\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t})\n\t\t\t\t$(\"#branding > .header-wrap\").css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t$(\"#branding\").remove();\n\t\t\t}\n\t\t}\n\n\t\t$(\".logo-place\").find(\"a\").prop(\"href\", \"https://my.pcloud.com\");\n\n\t\t// Add bookmark\n\t\t// Bookmark is now inited in initUser\n\n\t\t// Add services button\n\n\t\tthis.addDesktopButton(this.getServicesButton());\n\t},\n\n\t_go: function(view) {\n\t\tvar self = this;\n\n\t\tif (view) {\n\t\t\tthis._view = view;\n\t\t} else {\n\t\t\tthis._view = this._template();\n\t\t}\n\n\t\t\tconsole.log(views);\n\t\t\tconsole.log(this._view);\n\n\t\tviews[this._view](this.data, this.holder);\n\t\tthis._postView();\n\n\t\t//this.yellowLine.show();\n\t\tads2016.show(this.data);\n\t\t// this.initSidebar();\n\n\t\tsetcookie(\"refcode\", this.code, 0.83);\n\t\tsetcookie(\"publinkcode\", this.code, 0.83);\n\n\t\t/*\n\t\tthis.ads2016.willShowAd(function(showAd) {\n\t\t\tif (!showAd) {\n\t\t\t\tself.inviteToLogin();\n\t\t\t}\n\t\t});\n\t\t*/\n\t},\n\n\t_template: function() {\n\t\tvar view = 'generic';\n\t\tvar data = this.data;\n\t\tvar meta = data.metadata;\n\t\tvar viewCategoryMap = {};\n\t\tvar blobid;\n\n\t\tviewCategoryMap[CATEGORY.IMAGE] = 'image';\n\t\tviewCategoryMap[CATEGORY.VIDEO] = 'video';\n\t\tviewCategoryMap[CATEGORY.AUDIO] = 'audio';\n\t\tviewCategoryMap[CATEGORY.DOCUMENT] = 'documentview';\n\n\t\t// hide/show document preview for mobile\n\t\t// if ($.browser.mobile)\n\t\t// \tdelete viewCategoryMap[CATEGORY.DOCUMENT];\n\n\t\tconsole.log('data', data);\n\n\t\tif (data.result === 4008) {\n\t\t\tdata.error = __(\"error_4008\", \"You can't access the content of this link temporarily. Try again later\");\n\t\t}\n\n\t\tif (data.error) {\n\t\t\tif ([2258, 1125].indexOf(data.result) != -1) {\n\t\t\t\tview = 'password';\n\t\t\t} else {\n\t\t\t\tview = 'error';\n\t\t\t}\n\t\t} else if (data.overtraffic) {\n\t\t\tview = 'overtraffic';\n\t\t} else if (meta.isfolder) {\n\t\t\tview = 'folder';\n\t\t} else if (meta.category in viewCategoryMap) {\n\t\t\tview = viewCategoryMap[meta.category];\n\t\t}\n\n\t\tif (view === \"documentview\" && !HFN.docPreview.canPreview(meta) && fileext(meta.name).toLowerCase() !== \"pdf\") {\n\t\t view = \"generic\";\n\t\t}\n\n\t\tif (isAsia() && isVideo(view) && data.showads) {\n\t\t\tview = 'overtraffic';\n\t\t}\n\n\t\treturn view;\n\t},\n\n\tgo: function(view) {\n\t\tthis._setupLayout();\n\t\tthis._compat();\n\t\tthis._go(view);\n\t},\n\n\tgetDownloadButton: function() {\n\t\tvar self = this;\n\t\treturn HFN.renderTemplate('#downloadButton')\n\t\t\t.on('click', this._actionDownloadFile.bind(this));\n\t},\n\n\t_postView: function() {\n\t\tvar isCopynow = $.deparam.querystring().copynow;\n\t\tvar self = this;\n\n\t\tif (isCopynow) {\n\t\t\tself.getUser(function(user) {\n\t\t\t\tself._actionCopyToCloud();\n\t\t\t});\n\t\t} else {\n\t\t\tthis._gaEvent('show');\n\t\t}\n\n\t\tif ($.browser.mobile && this._view === \"documentview\") {\n\t\t\t$(\"footer\").hide();\n\t\t}\n\n\t\tvar isPDF = this.data && this.data.metadata && this.data.metadata.category === CATEGORY.DOCUMENT && fileext(this.data.metadata.name).toLowerCase() === \"pdf\";\n\n\t\tif (canShowOpenInApp() && isSameLocation() && this.data.candownload && !isPDF) {\n\t\t\topenInApp(this.code);\n\t\t}\n\t},\n\n\t_isManyPhotos: function(meta) {\n\t\tvar cnt = 0;\n\t\tvar n = 0;\n\t\tvar eachFile = function eachFile(meta) {\n\t\t\tif (meta.category == HFN.CATEGORY.IMAGE)\n\t\t\t\tcnt++;\n\t\t\tn++;\n\n\t\t\tif (meta.isfolder) {\n\t\t\t\tfor (var i = 0; i < meta.contents.length; ++i) {\n\t\t\t\t\teachFile(meta.contents[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\teachFile(meta);\n\t\tn--;\n\n\t\treturn cnt > n / 2;\n\t},\n\n\t_gaEvent: function (type) {\n\t\tvar eventCategory = (config.isMobile() ? 'Mobile' : 'Desktop') + ' DLink ';\n\t\tvar view = this._view;\n\t\tvar data = this.data;\n\t\tvar meta = data.metadata;\n\n\t\tif (this._isManyPhotos(meta)) {\n\t\t\tview = 'photos';\n\t\t}\n\n\t\tif (view == 'overtraffic') {\n\t\t\tview = view + ' - ' + (data.ownerispremium ? 'premium' : 'free');\n\t\t}\n\t},\n\n\tgetDisabledDownloadButton: function () {\n\t\treturn this.getDownloadButton().off('click').addClass('disabled');\n\t},\n\n\tgetSaveButton: function() {\n\t\tvar self = this, meta = this.data.metadata;\n\t\treturn HFN.renderTemplate('#saveButton')\n\t\t\t.on('click', this._actionCopyToCloud.bind(this));\n\t},\n\n\t_actionCopyToCloud: function (data, modalContainer) {\n\t if (!data) {\n\t\t data = this.data\n\t }\n\t\tvar dLinkMeta = HFN.dLink.data.metadata;\n\t\t\n\t\tvar meta = data.metadata || data.metaData;\n\t\tif (dLinkMeta) {\n\t\t\tmeta = dLinkMeta;\n\t\t}\n\t\t\n\t\tvar self = this;\n\t\tvar refId = 558;\n\t\tvar clearAfterMe = function () { fs.reset(); };\n\t\tvar copy = function () {\n\t\t\tif (typeof gtag === \"function\") {\n\t\t\t\tgtag(\"event\", \"shared_link_click\", {\n\t\t\t\t\taction: \"save to pCloud\",\n\t\t\t\t\tlocation: \"header\",\n\t\t\t\t\tuser: HFN.config.auth ? 1 : 0\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (meta && meta.ismine) {\n\t\t\t\tHFN.message(__('File or folder already exists.'), 'error');\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (!HFN.config.user.emailverified && data.overtraffic) {\n\t\t\t\tHFN.message(__('verify_account_check_email_info', 'You need verified account for this action. Check your e-mail for more info.'), 'error');\n\t\t\t\tself.sendVerifyMail();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconsole.log('calling copyToCloud: code, linkpassword, meta', code, data.linkpassword, meta);\n\n\t\t\tHFN.copyToCloud({\n\t\t\t\tcode: code,\n\t\t\t\tlinkpassword: data.linkpassword,\n\t\t\t\ttoCopy: meta,\n\t\t\t\tonDone: function () {}\n\t\t\t}, modalContainer);\n\t\t}\n\n\t\tif (HFN.config.auth) {\n\t\t\tcopy();\n\t\t} else {\n\t\t\tif (this._view == 'overtraffic') {\n\t\t\t\trefId = 564;\n\t\t\t}\n\n\t\t\tsetcookie('ref', refId, 0);\n\n\t\t\tif (this._view == 'overtraffic') {\n\t\t\t\tlocation.href =\n\t\t\t\t\t'https://www.pcloud.com/cloud-storage-pricing-plans.html?custombox=on&returnurl=' +\n\t\t\t\t\tencodeURIComponent(this._location() + '©now=1') +\n\t\t\t\t\t'&ref=' + refId;\n\t\t\t} else {\n\t\t\t\tHFN.initSaveFileLoginRegModal(copy, modalContainer);\n\t\t\t\t//HFN.initSurpriseLoginRegModal('register', copy);\n\t\t\t}\n\t\t}\n\t},\n\n\tpremiumOnlyUrl: function(url) {\n\n\t},\n\n\tsendVerifyMail: function () {\n\t\tif (rcookie('_verifymail')) {\n\t\t\treturn;\n\t\t}\n\n\t\tHFN.apiMethod('sendverificationemail', {}, function() {}, { errorCallback: function() {} });\n\t\tsetcookie('_verifymail', 1, 0);\n\t},\n\tgetDownloadHeaderButton: function (outheader) {\n\t\tvar self = this;\n\t\tvar meta = this.data.metadata;\n\t\tvar btn;\n\t\tvar actions;\n\t\tvar options;\n\n\t\toptions = {\n\t\t\tholderClass: 'mn-share'\n\t\t}\n\n\t\tif (outheader) {\n\t\t\toptions.holderClass = 'mn-share';\n\t\t}\n\n\t\tbtn = $('')\n\t\t\t.text(__('Download', 'Download'))\n\t\t\t.addClass(\"download_button\")\n\n\t\tactions = [\n\t\t\t[meta.isfolder ? __('save_to_device_zip', 'Download as ZIP') : __('direct_download', 'Direct download'), '', false, \"download\", { action: 'download', subtext: __('save_to_device_zip_description', 'Save directly to your device')}]\n\t\t];\n\t\tif (isSameLocation()) {\n\t\t\tactions.unshift([__('save_to_pcloud', 'Save to pCloud'), '', false, \"save-to-pcloud\", { action: 'save', subtext: __('save_to_pcloud_description', 'Save directly to pCloud for free') }])\n\t\t}\n\n\t\tdropDown.bindList(actions, btn, {\n\t\t\tdirection: dropDown.DIR_LEFT,\n\t\t\teventTrigger: 'click',\n\t\t\teventClose: 'click',\n\t\t\tposition: 'fixed',\n\t\t\tshowTip: true,\n\t\t\tholderClass: options.holderClass,\n\t\t\toverwriteTip: {\n\t\t\t\tright: 9\n\t\t\t},\n\t\t\tbuildCell: function (item, el) {\n\t\t\t\tconsole.log(\"DOWNLOAD ITEM\", item, dropDown.N_SUB);\n\t\t var a = $('')\n\t\t .attr('href', 'javascript:void(0);')\n\t\t .attr('data-action', item[4].action)\n\t\t .append(\n\t\t $('
  • ')\n\t\t\t\t\t\t\t//.append(''\n\t\t\t\t\t\t\t.append(\n\t\t\t\t\t\t\t\t$('
    ')\n\t\t\t\t\t\t\t\t\t.append($('
    ').text(item[dropDown.N_TEXT] + ( item[dropDown.N_SUB] && 0 ? ' (sub)': '' ) ))\n\t\t\t\t\t\t\t\t\t.append($('
    ').text(item[4].subtext))\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.append('
    ')\n\t\t )\n\t\t .on('click', function (e) {\n\t\t \te.preventDefault();\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\tif ($(this).data(\"action\") == \"download\") {\n\t\t\t\t\t\t\t\t\t\tself._actionDownloadFile();\n\t\t\t\t\t\t\t\t\t} else if ($(this).data(\"action\") == \"save\") {\n\t\t\t\t\t\t\t\t\t\tself._actionCopyToCloud();\n\t\t\t\t\t\t\t\t\t}\n\n\t\t \tdropDown.resetTo(0);\n\t\t })\n\t\t .appendTo(el);\n\n\t\t return a;\n\t\t\t}\n\t\t});\n\n\t\treturn btn;\n\t},\n\n\tgetShareHeaderIcon: function () {\n\t\tvar self = this;\n\t\tvar icon;\n\t\tvar actions;\n\t\tvar list;\n\n\t\ticon = $('')\n\t\t\t.text(__(\"Share\"))\n\t\t\t.addClass(\"share_button\")\n\n\t\tlist = [\n\t\t\t//['fb', 'Facebook'],\n\t\t\t//['tw', 'Twitter'],\n\t\t\t//['gp', 'Google Plus']\n\t\t\t['fb', '
    Facebook
    '],\n\t\t\t['tw', '
    Twitter
    '],\n\t\t];\n\n\t\tif (copySupported()) {\n\t\t\t//list.unshift(['copy', __('Copy link')]);\n\t\t\tlist.unshift(['copy', '
    '+i18n.get('Copy link')+'
    '+'']);\n\t\t\tattachCopy('.sharer-copy', this._location(), function (e) {\n\t\t\t\tHFN.message('Link Copied');\n\t\t\t});\n\t\t}\n\n\t\tdropDown.bindList(list, icon, {\n\t\t\tdirection: dropDown.DIR_LEFT,\n\t\t\tchildDirection: dropDown.DIR_LEFT,\n\t\t\teventTrigger: 'click',\n\t\t\teventClose: 'click',\n\t\t\tposition: 'fixed',\n\t\t\tholderClass: 'mnnew share',\n\t\t\tshowTip: true,\n\t\t\tholderClass: 'mn-share',\n\t\t\toverwriteTip: {\n\t\t\t\tright: 8\n\t\t\t},\n\t\t\tbuildHolder: function (obj) {\n\t\t\t\t// obj/*.addClass('mn-blue')*/.css('z-index', 101);\n\t\t\t},\n\t\t\tbuildCell: function (item, el) {\n\n\t\t\t\tvar litem = $('
  • '+item[1]+'
  • ')\n\t\t\t\t\t.on('click', function(e){\n\t\t\t\t\t\tconsole.log(item[0]);\n\t\t\t\t\t\tconsole.log('ccc', e);\n\t\t\t\t\t\tif (typeof gtag === \"function\") {\n\t\t\t\t\t\t\tif (item[0] == 'copy') {\n\t\t\t\t\t\t\t\tgtag(\"event\", \"shared_link_click\", {\n\t\t\t\t\t\t\t\t\taction: \"copy link\",\n\t\t\t\t\t\t\t\t\tcategory: \"share\",\n\t\t\t\t\t\t\t\t\ttype: \"copy\",\n\t\t\t\t\t\t\t\t\tlocation: \"header\",\n\t\t\t\t\t\t\t\t\tuser: HFN.config.auth ? 1 : 0\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else if (item[0] == 'fb') {\n\t\t\t\t\t\t\t\tgtag(\"event\", \"shared_link_click\", {\n\t\t\t\t\t\t\t\t\taction: `initaite facebook share`,\n\t\t\t\t\t\t\t\t\tcategory: \"share\",\n\t\t\t\t\t\t\t\t\ttype: \"social share\",\n\t\t\t\t\t\t\t\t\tlocation: \"header\",\n\t\t\t\t\t\t\t\t\tuser: HFN.config.auth ? 1 : 0\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t} else if (item[0] == 'tw') {\n\t\t\t\t\t\t\t\tgtag(\"event\", \"shared_link_click\", {\n\t\t\t\t\t\t\t\t\taction: `initaite twitter share`,\n\t\t\t\t\t\t\t\t\tcategory: \"share\",\n\t\t\t\t\t\t\t\t\ttype: \"social share\",\n\t\t\t\t\t\t\t\t\tlocation: \"header\",\n\t\t\t\t\t\t\t\t\tuser: HFN.config.auth ? 1 : 0\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (item[0] == 'copy') {\n\t\t\t\t\t\t\tdropDown.resetTo(0);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// share\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\tself.desktopShare(item[0]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}).appendTo(el);\n\n\t\t\t\t/*\n\t\t\t\tif (item[0] == 'copy') {\n\t\t\t\t\t$('#sharer-cp').zclip({\n\t\t\t\t\t\tpath: '/swf/ZeroClipboard.swf',\n\t\t\t\t\t\tcopy: \"https://\" + window.location.host + window.location.pathname + \"?code=\" + self.code\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t*/\n\n\t\t\t\treturn litem;\n\t\t\t}\n\t\t});\n\n\t\treturn icon;\n\t},\n\n\tgetServicesButton: function () {\n\t\tvar wrapper = $('');\n\t\tprc.PCloudServicesDropdown(wrapper[0], {});\n\t\treturn wrapper;\n\t},\n\n\taddDesktopButton: function (button) {\n\t\t$('.header .header-links').prepend(button);\n\t},\n\n\tgetMobileSaveButton: function () {\n\t\tvar self = this, meta = this.data.metadata;\n\t\treturn HFN.renderTemplate('#saveButton')\n\t\t\t.on('click', this._actionCopyToCloud.bind(this));\n\t},\n\n\tgetDesktopButtons: function() {\n\t\treturn [this.getSaveButton(), this.getDownloadButton()];\n\t},\n\n\tclearMobileButtons: function () {\n\t\t$('.header .buttons').empty();\n\t},\n\n\taddMobileButton: function(button) {\n\t\t$('.header .buttons').append(button);\n\t},\n\n\taddHeaderFilename: function(value) {\n\t\t$('.header .name-wrapper .filename').text(value);\n\t},\n\n\t_initiateLogin: function() {\n\t\tif ($.browser.mobile) {\n\t\t\tlocation.href =\n\t\t\t\t'/#page=login' +\n\t\t\t\t'&memo=' + encodeURIComponent('Login to save') +\n\t\t\t\t'&returl='+ encodeURIComponent(this._location() + '©now=1');\n\t\t} else {\n\n\t\t}\n\t},\n\n\t_actionDownloadFile: function(data) {\n\t \tif (!data) {\n\t\t\t data = this.data;\n\t\t}\n\t\tvar self = this;\n\t\tvar isLogged = HFN.config.auth;\n\t\tvar isOwnerPremium = data.ownerispremium;\n\t\tvar isOwnerBusiness = data.ownerisbusiness;\n\n if (typeof gtag === \"function\") {\n gtag(\"event\", \"shared_link_click\", {\n action: \"download\",\n location: \"header\",\n type: \"archive\",\n user: HFN.config.auth ? 1 : 0\n })\n }\n\n\t\tif (isOwnerPremium) {\n\t\t\tHFN.initShowDownloadLinkModal();\n\t\t} else if (!isLogged && !isOwnerPremium && !isOwnerBusiness) {\n\t\t\tHFN.initDownloadZipLoginRegModal();\n\t\t}\n\n\t\t/*\n\t\tif (!HFN.config.auth && $.browser.android) {\n\t\t\tthis.ads.showAd(this.data);\n\t\t}\n\t\t*/\n\n\t\tif ($.browser.mobile)\n\t\t\tlocation.href = self.data.downloadlink;\n\t\telse\n\t\t\twindow.open(self.data.downloadlink);\n\t},\n\n\t_actionSheetDownloadItems: function(data) {\n\t\tvar meta = data ? data : this.data.metadata;\n\t\tvar actions = [];\n\n\t\tif (isSameLocation()) {\n\t\t\tactions.push({\n\t\t\t\taction: 'savetopcloud',\n\t\t\t\ttitle: __('save_to_pcloud', 'Save to pCloud'),\n\t\t\t\tsubtext: __('save_to_pcloud_description'),\n\t\t\t\ticon: 'icon-save',\n\t\t\t\tactive: true\n\t\t\t});\n\t\t}\n\n\t\tactions.push({\n\t\t\taction: 'download',\n\t\t\ttitle: meta.isfolder ? __('save_to_mob_device_zip', 'Save to Device as ZIP') : __('save_to_device', 'Save to Device'),\n\t\t\tsubtext: __('save_to_device_zip_description'),\n\t\t\ticon: 'icon-dwl',\n\t\t\tactive: true\n\t\t});\n\n\t\treturn actions;\n\t},\n\n\tcreateDownloadButtonMobile: function (data) {\n\t \tif (!data) {\n\t\t\tdata = this.data;\n\t\t}\n\t\tvar self = this;\n\t\tvar shareBtn = $('');\n\t\tvar meta = data.metadata;\n\t\tvar shareBtn;\n\n\t \tactionSheet.setup({\n\t\t el: shareBtn,\n\t\t actionTitle: meta.isfolder && 0 ? __('save_folder_zip', 'Save folder as ZIP') : false,\n\t\t items: this._actionSheetDownloadItems(),\n\t\t onClick: function (item) {\n\t\t\t\t\tif (item.action == 'savetopcloud') {\n\t\t\t\t\t\tself._actionCopyToCloud();\n\t\t\t\t\t} else if (item.action == 'download' && item.active) {\n\t\t\t\t\t\tself._actionDownloadFile();\n\t\t\t\t\t}\n\n\t\t\t\t\tactionSheet.closeAll();\n\t\t },\n\t\t buildItem: function (item, obj) {\n\t\t\t\t\t// item.append($('').text(obj.title));\n\n\t\t\t\t\titem.append(\n\t\t\t\t\t\t$('
    ')\n\t\t\t\t\t\t\t.append($('
    ').text(obj.title))\n\t\t\t\t\t\t\t.append($('
    ').text(obj.subtext))\n\t\t\t\t\t)\n\t\t\t\t\t.addClass(\"download-mobile-sheet\");\n\n\t\t\t\t\tif (!obj.isaction && !obj.iscancel) {\n \t\t\t\t\t\titem.append($('').addClass(obj.icon));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (obj.active != undefined && !obj.active) {\n\t\t\t\t\t\titem.addClass('inactive');\n\t\t\t\t\t}\n\n\t\t\t\t\t/*\n\t\t\t\t\tif (obj.action === \"savetopcloud\") {\n\t\t\t\t\t\titem.find(\".title\").remove();\n\t\t\t\t\t\titem.append(\n\t\t\t\t\t\t\t$(\"\")\n\t\t\t\t\t\t\t\t.addClass(\"title\")\n\t\t\t\t\t\t\t\t.attr(\"href\", \"https://www.pcloud.com/app-save.html?code=\" + self.code)\n\t\t\t\t\t\t\t\t.text(obj.title)\n\t\t\t\t\t\t\t\t.on(\"click\", function(e) {\n\t\t\t\t\t\t\t\t\t//e.stopPropagation();\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t).on(\"click\", function(e) {\n\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t*/\n\t\t\t\t}\n\t\t});\n\t\treturn shareBtn;\n\t},\n\n\tcreateUploadButtonMobile: function () {\n\t\tvar self = this;\n\t\tvar uploadBtn = $('');\n\t\tvar data = self.data;\n\t\tuploadBtn.off('click').on('click', function() {\n\t\t\thandleDisabledInfoModals(HFN.uploadControl.uploadFileFromCustomButton);\n\t\t})\n\t\treturn uploadBtn;\n\t},\n\n\tcreateShareButtonMobile: function () {\n\t\tvar self = this;\n\t\tvar shareButton = $('');\n\t\tvar items = [{\n\t\t\tact: 'copy',\n\t\t\tanalytics: \"copy\",\n\t\t\ttitle: __('Copy link', 'Copy Link'),\n\t\t\ticon: 'icon-copy'\n\t\t}];\n\n\t\tif (navigator.userActivation && typeof navigator.share === 'function') {\n\t\t\titems.unshift({\n\t\t\t\tact: 'share',\n\t\t\t\tanalytics: \"share\",\n\t\t\t\ttitle: __('Share', 'Share'),\n\t\t\t\ticon: 'icon-share'\n\t\t\t});\n\t\t} else {\n\t\t\titems.push({\n\t\t\t\tact: 'fb',\n\t\t\t\tanalytics: \"facebook\",\n\t\t\t\ttitle: __('Share on Facebook', 'Share on Facebook'),\n\t\t\t\ticon: 'icon-fb'\n\t\t\t});\n\t\t\titems.push({\n\t\t\t\tact: 'tw',\n\t\t\t\tanalytics: \"twitter\",\n\t\t\t\ttitle: __('Share on Twitter', 'Share on Twitter'),\n\t\t\t\ticon: 'icon-tw'\n\t\t\t});\n\t\t}\n\n\t\tactionSheet.setup({\n\t\t\tel: shareButton,\n\t\t\tonClick: function (item) {\n\t\t\t\tif (item.act === \"share\" && typeof gtag === \"function\") {\n\t\t\t\t\tgtag(\"event\", \"shared_link_click\", {\n\t\t\t\t\t\taction: \"initiate mobile share\",\n\t\t\t\t\t\tcategory: \"share\",\n\t\t\t\t\t\ttype: \"mobile share\",\n\t\t\t\t\t\tlocation: \"header\",\n\t\t\t\t\t\tuser: HFN.config.auth ? 1 : 0\n\t\t\t\t\t})\n\t\t\t\t} else if (item.act === \"copy\" && typeof gtag === \"function\") {\n\t\t\t\t\tgtag(\"event\", \"shared_link_click\", {\n\t\t\t\t\t\taction: \"copy link\",\n\t\t\t\t\t\tcategory: \"share\",\n\t\t\t\t\t\ttype: \"copy\",\n\t\t\t\t\t\tlocation: \"header\",\n\t\t\t\t\t\tuser: HFN.config.auth ? 1 : 0\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tgtag(\"event\", \"shared_link_click\", {\n\t\t\t\t\t\taction: `initaite ${item.analytics} share`,\n\t\t\t\t\t\tcategory: \"share\",\n\t\t\t\t\t\ttype: \"social share\",\n\t\t\t\t\t\tlocation: \"header\",\n\t\t\t\t\t\tuser: HFN.config.auth ? 1 : 0\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tself.mobileShare(item.act);\n\t\t\t},\n\t\t\titems: items,\n\t\t\tbuildItem: function (item, obj) {\n\t\t\t\titem.append($('')\n\t\t\t\t\t.text(obj.title))\n\t\t\t\t\t.addClass(\"share-mobile-sheet\");\n\t\t\t\tif (!obj.isaction && !obj.iscancel)\n\t\t\t\t\titem.append($('').addClass(obj.icon))\n\t\t\t}\n\t\t});\n\n\t\treturn shareButton;\n\t},\n\n\t_location: function () {\n \treturn location.protocol + '//' + location.host + location.pathname + '?code=' + this.code;\n\t},\n\n\tdesktopShare: function (act) {\n\t\tswitch (act) {\n\t\t\tcase 'mail':\n\t\t\t\tvar cont=HFN.renderTemplate('.viewpublink', {puburl: this._location()});\n\t\t\t\tPopup.open(cont, { title: 'Download Link' });\n\t\t\t\t$('.modal a#copy-publink').zclip({\n\t\t\t\t\tpath: '/swf/ZeroClipboard.swf',\n\t\t\t\t\tcopy: $('.modal input[name=publinkurl]').val()\n\t\t\t\t});\n\t\t\tbreak;\n\t\t\tcase 'cp':\n\t\t\t/*\n\t\t\tvar cont=HFN.renderTemplate('.viewpublink', {puburl: publink.sharer.location()});\n\t\t\tPopup.open(cont, { title: 'Download Link' });\n\t\t\t$('.modal a#copy-publink').zclip({\n\t\t\tpath: '/swf/ZeroClipboard.swf',\n\t\t\tcopy: $('.modal input[name=publinkurl]').val()\n\t\t\t});\n\t\t\t*/\n\t\t\tbreak;\n\t\t\tcase 'fb':\n\t\t\t\tvar popup = window.open('https://www.facebook.com/sharer/sharer.php?u='+ encodeURIComponent(this._location()), 'fbshare', 'height=400,width=570');\n\t\t\t\tif (window.focus) {\n\t\t\t\t\tpopup.focus();\n\t\t\t\t}\n\n\t\t\t\tconsole.log('share', 'https://www.facebook.com/sharer/sharer.php?u='+ encodeURIComponent(this._location()));\n\t\t\tbreak;\n\t\t\tcase 'tw':\n\t\t\t\tvar popup=window.open('https://twitter.com/intent/tweet?url=' + encodeURIComponent(this._location()) + '&text=pCloud Download Link','twshare','height=400,width=570');\n\t\t\t\tif (window.focus) {\n\t\t\t\t\tpopup.focus();\n\t\t\t\t}\n\t\t\tbreak;\n\t\t};\n\t},\n\n\tmobileShare: function (act) {\n\t\tvar self = this;\n\n\t\tswitch (act) {\n\t\t\tcase 'copy':\n\t\t\t\ttry {\n\t\t\t\t\tnavigator.clipboard.writeText(location.href).then(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tHFN.message(__('Link copied.'));\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tthrow new Error();\n\t\t\t\t\t\t}\n\t\t\t\t\t).catch(() => {\n\t\t\t\t\t\tthis.mobileShareView(HFN.renderTemplate('#shareCopylink', {\n\t\t\t\t\t\t\tpuburl: self._location()\n\t\t\t\t\t\t}));\n\t\t\t\t\t});\n\t\t\t\t} catch (err) {\n\t\t\t\t\tthis.mobileShareView(HFN.renderTemplate('#shareCopylink', {\n\t\t\t\t\t\tpuburl: self._location()\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\tbreak;\n\t\t\tcase 'fb':\n\t\t\t\tthis.mobileShareView(\n\t\t\t\t\tHFN.renderTemplate('#shareFacebook', { puburl: self._location() })\n\t\t\t\t\t\t.find('.button')\n\t\t\t\t\t\t.on('click', function (e) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\twindow.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(self._location()));\n\t\t\t\t\t\t}).end()\n\t\t\t\t);\n\t\t\tbreak;\n\t\t\tcase 'tw':\n\t\t\t\tthis.mobileShareView(\n\t\t\t\t\tHFN.renderTemplate('#shareTwitter', { puburl: self._location() })\n\t\t\t\t\t\t.find('.button')\n\t\t\t\t\t\t.on('click', function (e) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\twindow.open('https://twitter.com/intent/tweet?url=' + encodeURIComponent(self._location()) + '&text=pCloud Download Link');\n\t\t\t\t\t\t}).end()\n\t\t\t\t);\n\t\t\tbreak;\n\t\t\tcase 'share':\n\t\t\t\tif (navigator.userActivation.isActive && typeof navigator.share === 'function') {\n\t\t\t\t\tnavigator.share({\n\t\t\t\t\t\ttitle: 'pCloud Download Link',\n\t\t\t\t\t\ttext: (self.data.metadata.name != '') ? self.data.metadata.name : '',\n\t\t\t\t\t\turl: self._location(),\n\t\t\t\t\t})\n\t\t\t\t\t.then(() => '')\n\t\t\t\t\t.catch(() => '');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t},\n\n\tmobileShareView: function (content) {\n\t\tconsole.log('viewing', content);\n\n\t\tvar self = this;\n\t\tvar view;\n\n\t\tif ($('.mob-dialog').length)\n\t\t\t$('.mob-dialog').remove();\n\n\t\tview = $('
    ').append(content);\n\n view.prepend($('div.header').clone().css('position', 'static'));\n view.find('.buttons').empty().append(\n \t$('')\n \t\t.on('click', function (e) {\n \t\t\tself.mobileShareClose();\n \t\t\thashManager.removeState('sh');\n \t\t})\n );\n view.css({ width: '100%', height: '200%', top: 0 });\n $('body').append(view);\n\n setTimeout(function () {\n \tview.addClass('show');\n \t$('html').addClass('noscroll');\n }, 0);\n\t},\n\n\tmobileShareClose: function () {\n\t\t$('.mob-dialog').remove();\n\t\t$('html').removeClass('noscroll');\n\t\t// Dummy change\n\t},\n\n\timageUrl: function(width, height) {\n\t\treturn HFN.apiMethodUrl(false, 'getpubthumb', {\n\t\t\tcode: this.code,\n\t\t\tlinkpassword: this.data.linkpassword,\n\t\t\tsize: width + 'x' + height,\n\t\t\tcrop: 0,\n\t\t\ttype: 'auto'\n\t\t});\n\t},\n\n\tcheckImageUrl: function(imageUrl, onSuccess, onError) {\n\t\t$.ajax({\n\t\t\turl: imageUrl,\n\t\t\ttype: 'GET',\n\t\t\tdataType: 'json',\n\t\t\tprocessData: false,\n\t\t\tsuccess: function({ error }) {\n\t\t\t\tif (error) {\n\t\t\t\t\tonError();\n\t\t\t\t} else {\n\t\t\t\t\tonSuccess();\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: function() {\n\t\t\t\tonSuccess();\n\t\t\t}\n\t\t})\n\t},\n\n\tdynamicTitle: function (meta) {\n\t\tvar template = HFN.renderTemplate('#dLinkDynamicTitle', {\n\t\t\tfilename: meta.name,\n\t\t\tfilesize: HFN.formatSize(meta.isfolder ? HFN.folderData(meta)[0] : meta.size)\n\t\t});\n\n\t\tvar resize = function () {\n\t\t\ttemplate.find('.filename').css('max-width', $(window).outerWidth() - template.find('.size').outerWidth() - 30);\n\t\t}\n\n\t\tsetTimeout(resize, 0);\n\n\t\treturn { template: template, resize: resize };\n\t},\n\n\tsetFooterPosition: function(content) {\n\t\tvar areaHeight = $(window).outerHeight();\n\t\tvar contentHeight = $(content).outerHeight();\n\t\tvar footerHeight = $('footer').outerHeight();\n\n\t\tconsole.log(\"setFooterPosition areaHeight\", areaHeight)\n\t\tconsole.log(\"setFooterPosition contentHeight\", contentHeight)\n\t\tconsole.log(\"setFooterPosition footerHeight\", footerHeight)\n\t},\n\n\tcentralizeDlContent: function(content) {\n\n\t\t// resets\n\t\t$(content).css('marginTop', 0);\n\n\t\tvar contentHeight = $(content).outerHeight();\n\t\tvar areaHeight = $(window).outerHeight();\n\t\tvar headerHeight = $('.header-wrap').outerHeight();\n\t\tvar titleHeight = $('._title').outerHeight();\n\t\tvar footerHeight = $('footer').outerHeight();\n\t\tvar minMTop = headerHeight + 10;\n\t\tvar mtop;\n\n\t\tconsole.log('content', content);\n\t\tconsole.log('headerHeight', headerHeight);\n\t\tconsole.log('contentHeight', contentHeight);\n\t\tconsole.log('titleHeight', titleHeight);\n\n\t\t// to centeralize the video only\n\t\t// count the title two times\n\t\t//\n\t\tconsole.log(contentHeight);\n\t\tconsole.log(titleHeight);\n\n\t\t// contentHeight += titleHeight;\n\n\t\tconsole.log('contentHeight', contentHeight);\n\n\t\t// remove header\n\t\t//areaHeight -= headerHeight;\n\n\t\tconsole.log(\"areaHeight\", areaHeight);\n\t\tconsole.log(\"contentHeight\", contentHeight);\n\n\t\tvar freeSpace = 0;\n\t\tif (this.data.branding) {\n\t\t\tvar brandingHeight = $(\".branding-header\").outerHeight();\n\n\t\t\tfreeSpace = areaHeight - contentHeight - footerHeight - brandingHeight;\n\t\t} else {\n\t\t\tfreeSpace = areaHeight - contentHeight - footerHeight;\n\t\t}\n\n\t\tconsole.log(\"freeSpace\", freeSpace);\n\t\tconsole.log(\"this.data.branding\", this.data.branding);\n\n\t\tmtop = ((freeSpace) / 2) + (headerHeight / 2);\n\t\tmtop = Math.max(minMTop, mtop);\n\n\t\t$('#dl_content').addClass('centralized').css('marginTop', mtop);\n\t},\n\n\tinviteToLogin: function() {\n\t\tvar self = this;\n\n\t\tif (this.shouldBotherUser()) {\n\t\t\tsetTimeout(function() {\n\t\t\t\tsetcookie('ref', 1139, 0);\n\t\t\t\tHFN.initSurpriseLoginRegModal('register', function() {\n\t\t\t\t\tself._actionCopyToCloud();\n\t\t\t\t});\n\t\t\t}, 3000);\n\t\t}\n\t},\n\n\tshouldBotherUser: function() {\n\t\tvar data = this.data;\n\n\t\tif (rcookie('pcauth')) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (data.ownerispremium && !data.showads) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (data.ownerisbusiness) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t},\n\n\tinitSidebar: function() {\n\t\tvar self = this;\n\n\t\tif (this.data.ownerisme && HFN.config.isSite()) {\n\n\t\t\tif (!$(\".dl-sidebar\").length) {\n\t\t\t\t$(\"#megawrap > div\").append('
    ');\n// to do:\n\t\t\t\tif(true) {\n\t\t\t\t\t$(\".dl-sidebar\").css({\n\t\t\t\t\t\ttop: $(\".branding-header\").outerHeight() + $(\".header-wrap\").outerHeight()\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/*\n\t\t\t$('.profile').before(\n\t\t\t\t$('
    ')\n\t\t\t\t\t.on(\"click\", function() {\n\t\t\t\t\t\tif (self.removeSidebar) {\n\t\t\t\t\t\t\tself.closeSidebar();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.openSidebar();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t);\n\t\t\t*/\n\n\t\t\tsetTimeout(this.openSidebar.bind(this), 500);\n\t\t}\n\t},\n\n\tremoveSidebar: false,\n\tstatsSidebar: function(opened) {\n\t\tvar self = this;\n\n\t\tself.removeSidebar = prc.DLStatsSidebar($('.dl-sidebar')[0], {\n\t\t\topen: opened,\n\t\t\ttoken: rcookie('pcauth'),\n\t\t\tlinkid: this.data.linkid,\n\t\t\tonButtonClicked: opened ? this.closeSidebar.bind(this) : this.openSidebar.bind(this),\n\t\t\tonInviteUsers: function() {\n\t\t\t\tconsole.log(self);\n\n\t\t\t\t//HFN.sharePublink(this.data.metadata);\n\t\t\t\tlocation.href = \"/#page=shares&tab=myshares-tab\" + '&sharelink=' + self.data.linkid;\n\t\t\t}\n\t\t});\n\t},\n\topenSidebar: function() {\n\t\tvar self = this;\n\n\n\t\t//$('html').addClass('sidebar-opened');\n\n\t\tthis.statsSidebar(true);\n\t\t$(\".dl-sidebar\").removeClass(\"minimized\");\n\n\t\t/*\n\t\tthis.removeSidebar = prc.DLStatsSidebar($('.dl-sidebar')[0], {\n\t\t\ttoken: rcookie('pcauth'),\n\t\t\tlinkid: this.data.linkid,\n\t\t\tonCloseRequest: this.closeSidebar.bind(this),\n\t\t\tonInviteUsers: function() {\n\t\t\t\t//HFN.sharePublink(this.data.metadata);\n\t\t\t\tlocation.href = \"/#page=shares&tab=myshares-tab\" + '&sharelink=' + self.data.linkid;\n\t\t\t}\n\t\t});\n\t\t*/\n\n\t\t//$(window).trigger('resize');\n\t},\n\n\tcloseSidebar: function() {\n\n\t\tconsole.log(\"closing\");\n\n\t\tthis.statsSidebar(false);\n\n\t\tif (this.removeSidebar && 0) {\n\t\t\tthis.removeSidebar();\n\t\t\tthis.removeSidebar = false;\n\t\t}\n\n\t\t$(\".dl-sidebar\").addClass(\"minimized\");\n\t\t//$('.dl-sidebar').remove();\n\n\t},\n\n\tgetBrandingImageSize: function(img, prop) {\n\t\treturn (this.brandingImagesSize[img.path] && this.brandingImagesSize[img.path][prop]) || null;\n\t}\n}\n\nfunction isVideo(view) {\n\treturn ['video', 'folder'].indexOf(view) != -1;\n}\n\nfunction isAsia() {\n\treturn (asiaCodes.indexOf(dLink.data.country.toUpperCase()) != -1 ||\n\t\t['XZ9kPuZ7UmbmhujfAFdFw41KksjUQEncHC7', 'XZTFiBZ0AGvm0aDhc7ahyC2qsw1QQ0DOUCy',\n\t\t 'XZ2e6uZvJw7eLxgI9muKXt5cD59vmXG5UaX', 'kZxUYXZO2KKG7hDh2FrjyJoV2lNAyItJxBk',\n\t\t 'XZK7guZ6PzAY9Li1q8oLxmsDLvPGpkV3rck', 'XZjQH2Z9oAJXbMpQT4mWbsxX1UnVVEPzBkV',\n\t\t 'XZG0nsZYALq95nK85B7iPCJS8mbBpkUz4yk', 'kZPSRBZbzYSrOcNujXXsc07r58R40crs4sy',\n\t\t 'XZB8AnZAb3z52cIdvJasHaXvg9QimaotUry', 'kZQCAmZfgodlRVqq5paWk7s0Cp2p7bFVdry',\n\t\t 'XZz4DDZ3ExbUEFmzAHGFwF4MgTwLjNiONTy' // infolinks\n\t\t ].indexOf(dLink.code) != -1);\n}\n\nexport default dLink;\n","import \"../styles/dlink.less\";\n\nimport dlink from \"../lib/dlink\";\n\nHFN.dLink = dlink;\n","module.exports = jQuery;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t6: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkpcloud_js\"] = self[\"webpackChunkpcloud_js\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [0], () => (__webpack_require__(62789)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","asiaCodes","getAdTimes","times","rcookie","_parseInt","setAdTime","setcookie","isError","dlink","_view","isVideo","indexOf","isOvertraffic","viewReferral","platform","$","browser","mobile","refs","image","video","document","folder","audio","generic","desktop","ads","noop","url","imageSize","text","buttonText","n","imagePosition","imageHolderSize","width","height","smallVersion","_canShowAds","user","data","getType","metadata","isPortrait","ownerispremium","showads","ownerisbusiness","candownload","_canShowExternalAds","ret","code","country","toUpperCase","premium","business","_canShowInternalAds","type","console","log","_shouldShowAds","_adImagePath","src","retinaSrc","_getAd","meta","browserType","categoryAdsMap","category","CATEGORY","DOCUMENT","withDesktopOverlay","adHtml","cont","HFN","renderTemplate","addClass","find","append","on","e","animate","bottom","remove","body","hide","setTimeout","show","trigger","withMobileOverlay","_close","css","window","outerHeight","overlay","appendTo","IMAGE","VIDEO","AUDIO","ARCHIVE","getUser","ad","anchor","attr","encodeURIComponent","_location","location","href","pCloudMobileOverlayContent","pCloudMobileAd","_showMobile","retinaImage","initLoginRegModal","_actionCopyToCloud","pCloudAdContent","pCloudDesktopAd","willShowAd","cb","storeLinks","ios","android","open","deepLink","locationId","getLocationFromUrl","id","getDeepLink","gtag","action","iphone","ipad","holder","params","isfolder","songs","contents","forEach","item","index","list","audioPlayer","getMinifyData","playItemId","fileid","song","isPublic","isSingle","footer","getElementsByTagName","style","display","config","isMobile","documentElement","getElementById","this","audioPlayerBox","prc","AudioPlayer","documentview","template","iframeSrc","callback","errorCallback","canDownload","previewlink","iframesrc","isSameLocation","getSaveButton","getDownloadButton","addMobileButton","createShareButtonMobile","_actionSheetDownloadItems","length","createDownloadButtonMobile","createTextNode","name","formatSize","size","removeClass","isInternetExplorer","node","DocPreview","file","onError","go","ajax","cache","method","complete","done","fail","addDesktopButton","getShareHeaderIcon","getDownloadHeaderButton","_resize","errorMessages","error","message","result","resize","push","centralizeDlContent","linkpassword","canupload","usercanupload","grid_opts","_filterList","_filterTree","cacheTree","folderid","createUploadButtonMobile","title","paging","templateswitch","noempty","place","triggerOpenPublicFolder","hashManager","getState","then","blobid","obj","_findByBlobid","parentFolderId","parentfolderid","filter","closest","_markFileBlobId","replace","results","RegExp","exec","decodeURIComponent","_getParameterByName","orientationChangeEnabled","off","openFolder","filtered","blob_id","Array","i","prop","Object","dynamicTitle","filename","filesize","branding","unshift","iconwrap","icon","createIcon","metaIcon","ICONS","OVERTRAFFIC_PUBLINK","windowResize","DelayedExecution","eachResize","maxWidth","Math","max","screen","availWidth","availHeight","maxHeight","thumbSize","calcImageSize","thumb","imageUrl","end","isSite","onload","naturalWidth","naturalHeight","resizeArea","onerror","hpad","padHeight","wpad","min","outerWidth","cssobj","overtraffic","folderData","access_limit","__","over_explain_premium","click_to_continue","over_explain_login","click_to_login","escape","setupThumb","getMobileSaveButton","initDownloadlinkLoginRegModal","userinfo","reload","_func","password","iserror","host","deparam","querystring","ep","customclass","embed","_loadVideoPlayer","autoPlay","arguments","undefined","seek","videoData","videoUrls","thumbUrl","thumbType","subUrl","_getVideoUrlsAndMaxVi","getVideoUrlsAndMaxVideoSize","variants","videoMaxWidth","videoMaxHeight","thumbWidth","getProperThumbnailSize","thumbHeight","videoContainerRemove","VideoContainer","ref","noSwipeGesture","defaultDocumentTitle","setVideoLoading","toggleLoading","onPlay","refreshedVideoLinks","_ref","mediaType","lastPlayingTime","showErrorLoadingVideo","apiMethod","vlinksret","loading","empty","showBranding","br","locationid","US_LOCATIONID","dLink","new","ispinned","views","brandingImagesSize","loadData","queue","iconformat","token","auth","ownerisme","dlinkownerisme","linkid","docPreview","canPreview","hashCache","hash","previewRet","prepUrl","audioRet","audiolink","downloadlink","apiMethodUrl","forcedownload","downloadRet","langFromUrl","getSearch","language","pCloudIntl","updateLang","apply","bind","moved","init","_this","apiInit","addEventListener","event","preventDefault","head","createElement","appendChild","media","styleSheet","cssText","fflookup","setLang","Boolean","hasLogo","logo1x","hasMobile","covermobile","imgUrls","self","logomobile","devicePixelRatio","logo2x","coversmall","cover","coverbig","promises","map","img","getImageSize","path","_Promise","_setupLayout","_compat","_go","dwltag","initCrashlytics","initAnalytics","initFacebook","initTwitter","initTiktokTracking","initTracking","GA_FLAG","onStart","FBQ_FLAG","setCookieConsent","removeCookieConsent","CookieConsent","initAnalyticsTracking","initFacebookTracking","initTwitterTracking","onAgreed","refresh","_userPromise","obLength","resolve","initBookmark","info","bookmark","dataName","EditBookmarkTooltip","holderObject","hasBranding","layout","headline","description","imageSrc","coverSrc","coverPosition","coverSize","initShowPromoOffer","initCoverData","coverImageHeight","currentWidth","coverwidth","innerWidth","originalWidth","coverOffset","coveroffsety","calcRelativeOffset","coverContainerHeight","calcCoverHeight","getBrandingImageSize","getCoverPosition","getCoverSize","header","hasCover","coverColor","covercolor","coverGradient","covergradient","repositionCover","after","powered_by","imgWidth","imgHeight","imgWidthMobile","imgHeightMobile","color","position","left","split","top","offset","scroll","dropDown","close","scrollTop","getServicesButton","view","_template","_postView","ads2016","viewCategoryMap","fileext","toLowerCase","_actionDownloadFile","isCopynow","copynow","_gaEvent","isPDF","removeOpenApp","componentRender","React","OpenInApp","onOpen","onClose","openInApp","_isManyPhotos","cnt","eachFile","getDisabledDownloadButton","modalContainer","dLinkMeta","metaData","refId","copy","ismine","emailverified","sendVerifyMail","copyToCloud","toCopy","onDone","initSaveFileLoginRegModal","premiumOnlyUrl","outheader","btn","actions","options","holderClass","subtext","bindList","direction","DIR_LEFT","eventTrigger","eventClose","showTip","overwriteTip","right","buildCell","el","N_SUB","N_TEXT","stopPropagation","resetTo","copySupported","i18n","get","attachCopy","_defineProperty","childDirection","desktopShare","wrapper","PCloudServicesDropdown","button","prepend","getDesktopButtons","clearMobileButtons","addHeaderFilename","value","_initiateLogin","isLogged","isOwnerPremium","isOwnerBusiness","initShowDownloadLinkModal","initDownloadZipLoginRegModal","active","shareBtn","actionSheet","setup","actionTitle","items","onClick","closeAll","buildItem","isaction","iscancel","uploadBtn","handleDisabledInfoModals","uploadControl","uploadFileFromCustomButton","shareButton","act","analytics","navigator","userActivation","share","concat","mobileShare","protocol","pathname","puburl","Popup","zclip","val","popup","focus","_this2","clipboard","writeText","Error","mobileShareView","err","isActive","content","clone","mobileShareClose","removeState","crop","checkImageUrl","onSuccess","dataType","processData","success","setFooterPosition","areaHeight","contentHeight","footerHeight","mtop","headerHeight","titleHeight","minMTop","freeSpace","inviteToLogin","shouldBotherUser","initSurpriseLoginRegModal","initSidebar","openSidebar","removeSidebar","statsSidebar","opened","DLStatsSidebar","onButtonClicked","closeSidebar","onInviteUsers","module","exports","jQuery","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","call","m","amdO","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","keys","every","key","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","g","globalThis","Function","hmd","create","children","set","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","nc","__webpack_exports__"],"sourceRoot":""}