define("metaserver/static/js/modules/clean/react/starred/browse_exports",["require","exports","metaserver/static/js/modules/clean/react/home/resource_id_types","metaserver/static/js/modules/clean/react/starred/actions","metaserver/static/js/modules/clean/react/starred/browse_update","metaserver/static/js/modules/clean/react/starred/constants","metaserver/static/js/modules/clean/react/starred/id_type_pair","metaserver/static/js/modules/clean/react/starred/star","metaserver/static/js/modules/clean/react/starred/store","metaserver/static/js/modules/clean/react/starred/redux/store","metaserver/static/js/modules/clean/react/starred/redux/slice","metaserver/static/js/modules/clean/react/starred/redux/selectors"],(function(e,d,t,s,r,n,a,i,o,l,c,u){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.getStarredBoolObject=d.getIsStarred=d.getStarredFileIds=d.getStarredState=d.updateStarredStatus=d.fetchMissingStarredStatuses=d.getStoreForStarred=d.StarredStore=d.Star=d.itemNameFromStarrableItem=d.idTypePairFromStarrableItem=d.StarredSource=d.checkForMissingStarredData=d.StarredActions=d.HOME_RESOURCE_ID_TYPE=void 0,Object.defineProperty(d,"HOME_RESOURCE_ID_TYPE",{enumerable:!0,get:function(){return t.HOME_RESOURCE_ID_TYPE}}),Object.defineProperty(d,"StarredActions",{enumerable:!0,get:function(){return s.StarredActions}}),Object.defineProperty(d,"checkForMissingStarredData",{enumerable:!0,get:function(){return r.checkForMissingStarredData}}),Object.defineProperty(d,"StarredSource",{enumerable:!0,get:function(){return n.StarredSource}}),Object.defineProperty(d,"idTypePairFromStarrableItem",{enumerable:!0,get:function(){return a.idTypePairFromStarrableItem}}),Object.defineProperty(d,"itemNameFromStarrableItem",{enumerable:!0,get:function(){return a.itemNameFromStarrableItem}}),Object.defineProperty(d,"Star",{enumerable:!0,get:function(){return i.Star}}),Object.defineProperty(d,"StarredStore",{enumerable:!0,get:function(){return o.StarredStore}}),Object.defineProperty(d,"getStoreForStarred",{enumerable:!0,get:function(){return l.getStoreForStarred}}),Object.defineProperty(d,"fetchMissingStarredStatuses",{enumerable:!0,get:function(){return c.fetchMissingStarredStatuses}}),Object.defineProperty(d,"updateStarredStatus",{enumerable:!0,get:function(){return c.updateStarredStatus}}),Object.defineProperty(d,"getStarredState",{enumerable:!0,get:function(){return u.getStarredState}}),Object.defineProperty(d,"getStarredFileIds",{enumerable:!0,get:function(){return u.getStarredFileIds}}),Object.defineProperty(d,"getIsStarred",{enumerable:!0,get:function(){return u.getIsStarred}}),Object.defineProperty(d,"getStarredBoolObject",{enumerable:!0,get:function(){return u.getStarredBoolObject}})})),define("metaserver/static/js/modules/clean/mobile_tracker",["require","exports","tslib","metaserver/static/js/modules/core/browser","metaserver/static/js/modules/core/uri"],(function(e,d,t,s,r){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.getMobileTrackerCampaignParams=void 0,s=t.__importStar(s);const n=["src","campaign","adgroup","creative"];d.getMobileTrackerCampaignParams=function(){const e=r.URI.parse(s.get_href()).getQuery(),d={};for(const t in e)n.includes(t)&&(d[t]=e[t]);return d}})),define("metaserver/static/js/modules/clean/react/browse/file_actions/action_handlers",["require","exports","tslib","metaserver/static/js/modules/clean/sharing/views/copy_link_mini_modal/copy_link_mini_modal","spectrum-sharing/utils/sharing_constants","metaserver/static/js/modules/clean/react/browse/file_actions/actions/download","metaserver/static/js/modules/clean/browse_interface","metaserver/static/js/modules/clean/filepath/filepath","metaserver/static/js/modules/clean/react/action_bar/file_actions/portable/go_to_folder","metaserver/static/js/modules/clean/react/async_file_modal_controller","metaserver/static/js/modules/clean/react/browse/action_logger","metaserver/static/js/modules/clean/react/browse/actions","metaserver/static/js/modules/clean/react/browse/actions_navigate","metaserver/static/js/modules/clean/react/browse/constants","metaserver/static/js/modules/clean/react/browse/data/folder_overview_selectors","metaserver/static/js/modules/clean/react/browse/data/store","metaserver/static/js/modules/clean/react/browse/data/types","metaserver/static/js/modules/clean/react/browse/file_actions/file_action_helpers","metaserver/static/js/modules/clean/react/browse/models","metaserver/static/js/modules/clean/react/file_lock/api","metaserver/static/js/modules/clean/react/file_transfers/async/browse_entry_point_onboarding_modal_async","metaserver/static/js/modules/clean/react/files_view/data/action_creators","metaserver/static/js/modules/clean/react/files_view/data/store","metaserver/static/js/modules/clean/react/files_view/types","metaserver/static/js/modules/clean/react/folder_overview/async_components","metaserver/static/js/modules/clean/react/folder_overview/data/action_creators","metaserver/static/js/modules/clean/react/folder_overview/data/store","metaserver/static/js/modules/clean/react/folder_overview/utils","metaserver/static/js/modules/clean/react/snackbar","metaserver/static/js/modules/clean/react/starred/browse_exports","metaserver/static/js/modules/clean/search/single_page/data/action_creators/file_actions","metaserver/static/js/modules/clean/search/single_page/data/action_creators/index","metaserver/static/js/modules/clean/search/single_page/data/store","metaserver/static/js/modules/clean/search/single_page/data/types","metaserver/static/js/modules/clean/sharing/browse_exports","metaserver/static/js/modules/clean/unity/features","metaserver/static/js/modules/clean/viewer","metaserver/static/js/modules/clean/web_user_action_events","metaserver/static/js/modules/constants/python","metaserver/static/js/modules/core/browser","metaserver/static/js/modules/core/i18n","metaserver/static/js/modules/core/notify","metaserver/static/js/modules/clean/user_survey/user_survey","metaserver/static/js/modules/clean/react/browse/data/selectors","metaserver/static/js/modules/clean/file_store/utils","metaserver/static/js/modules/clean/react/file_transfers/lib/urls","metaserver/static/js/modules/clean/sync_everything/constants","metaserver/static/js/modules/constants/web_experience_constants","metaserver/static/js/modules/clean/react/starred/redux/slice"],(function(e,d,t,s,r,n,a,i,o,l,c,u,$,p,m,h,f,g,_,b,v,y,S,E,M,w,C,k,A,N,I,T,L,R,P,x,O,D,F,j,B,U,W,G,q,V,K,H,Q){"use strict";function Y(e,d){const t=e.files.first();if(H.STARRED_STORE_REDUX){N.getStoreForStarred().dispatch(Q.updateStarredStatus({id:t.file_id,newStatus:d,itemName:N.itemNameFromStarrableItem(t),showSnackbar:!0}))}else N.StarredActions.updateWithSnackbar(e.user.role,t.file_id,N.HOME_RESOURCE_ID_TYPE.ENCODED_FILE_OBJ_ID,d,N.itemNameFromStarrableItem(t))}function X(e,d,t,s=!0){var r,n;g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.OPEN_DESKTOP});const a=e.files.first(),i=a?a.ns_id:null===(r=e.context)||void 0===r?void 0:r.currentNSID,o=a?a.ns_path:null===(n=e.context)||void 0===n?void 0:n.currentNSPath;x.UnityFeatures.open_file(i||null,o||"/",e.user.id,d,t,s)}Object.defineProperty(d,"__esModule",{value:!0}),d.handleSendForSignature=d.handleShowInFolder=d.handleShareCopyLink=d.handleOpenInDesktop=d.handleOpenInDesktopWithoutStandardHandlers=d.handlePreview=d.handleOpenInNewTab=d.handleReplay=d.handleAddToTransfer=d.handleReAdd=d.handleRewind=d.handleExtensionClick=d.handleExtensionDropdownOpen=d.handleUnstar=d.handleStar=d.handlePermanentDelete=d.handleRestore=d.handleDelete=d.handleUnpin=d.handleBrowsePinTo=d.handleBrowsePin=d.handleManageAsAdmin=d.handleCalculateFolderSize=d.handleEvents=d.handleVersions=d.handleFileRequestUnlock=d.handleFileUnlock=d.handleFileLock=d.handleArchive=d.handleRenameTeamFolder=d.handleComment=d.handleDownload=d.handleRename=d.handleRequestFiles=void 0,i=t.__importStar(i),l=t.__importStar(l),c=t.__importStar(c),m=t.__importStar(m),b=t.__importStar(b),y=t.__importStar(y),w=t.__importStar(w),I=t.__importStar(I),T=t.__importStar(T),j=t.__importStar(j),Q=t.__importStar(Q),d.handleRequestFiles=function(e){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.REQUEST_FILES_CLICK});const{ns_id:d,ns_path:t}=e.files.first();j.redirect(`/requests?ns_id=${d}&path=${t}&referrer=web_browse_file_action`)},d.handleRename=function(e){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.RENAME}),S.getStoreForFilesView().dispatch(y.setFileRename({file:e.files.first(),renameState:E.RenameState.PENDING_INPUT}))},d.handleDownload=function(e,d){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.DOWNLOAD});const{user:t,files:s}=e;n.downloadFiles({files:s,context:d,user:t,source:e.isSearchMode?"search":"browse",root_ns_id:K.isBackupBrowse()&&d.rootNSID?d.rootNSID:void 0}),W.UserSurvey.trackEvent("download_item","browse")},d.handleComment=function(e){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.ADD_COMMENT});const d=e.files.first();d instanceof _.FileSharedWithMe?j.redirect(d.href):e.isSearchMode?L.getStoreForSearch().dispatch(T.setPreviewFile({previewFileId:d.file_id})):$.browseNavigateActions.navigateToFileOrFolder({file:d,shouldFocusComment:!0})},d.handleRenameTeamFolder=function(e){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.RENAME_TEAM_FOLDER}),l.showContentManagerBridge(e.files.toArray(),"rename",O.Viewer.get_viewer().team_is_limited)},d.handleArchive=function(e){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.ARCHIVE}),l.showContentManagerBridge(e.files.toArray(),"archive",O.Viewer.get_viewer().team_is_limited)},d.handleFileLock=function(e){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.LOCK_FILE}),b.showFileLockConfirmModal(e.user.id,e.files.first())},d.handleFileUnlock=function(e){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.UNLOCK_FILE}),b.asyncUnlockFile(e.user.id,[e.files.first()])},d.handleFileRequestUnlock=function(e){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.REQUEST_UNLOCK_FILE}),b.showRequestUnlockConfirmModal(e.user.id,e.files.first())},d.handleVersions=function(e){var d,t;g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.VERSIONS});const s=K.isBackupBrowse()&&(null===(d=e.context)||void 0===d?void 0:d.rootNSID)?{inside_backup:"true",ns_id:`${null===(t=e.context)||void 0===t?void 0:t.rootNSID}`,return_url:j.get_href()}:{},r=a.getFileHistoryUrl({fqPath:e.files.first().fq_path,userId:e.user.id},s);j.redirect(r)},d.handleEvents=function(e){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.EVENTS}),j.redirect(`/events?ns=${e.files.first().target_ns}`)},d.handleCalculateFolderSize=function(e){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.CALCULATE_SIZE});const{files:d}=e;u.browseActions.fetchMultipleFolderSizes({files:d})},d.handleManageAsAdmin=function(d){new Promise((d,t)=>{e(["metaserver/static/js/modules/clean/sharing/content_manager"],d,t)}).then(t.__importStar).then(({goToContentManagerForPath:e})=>{const t=d.files.first();e({containingFolder:t.is_dir?t.fq_path:i.parent_dir(t.fq_path)})})},d.handleBrowsePin=function(e,{snackbarWithShowButton:d}){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.FOLDER_OVERVIEW_PIN});const t=C.getStoreForFolderOverview(),s=G.path(t.getState());t.dispatch(w.addContentReferences({folderFileId:m.folderOverviewFolderFileId(t.getState()),fileIds:e.files.toArray().map(k.fileToContentReferenceId),componentNamespace:p.BrowseFolderOverviewComponentNamespace,snackbarConfig:d?{onShow:()=>{u.browseActions.setUrl({path:s,expandedBlade:"pinned_items",forceExpandRightRail:!0})},folderName:i.filename(s,O.Viewer.get_root_name(e.user))}:void 0}))},d.handleBrowsePinTo=function(e,d,{snackbarWithShowButton:t}){const{files:s,user:r}=e;M.asyncShowPinToModal({user:r,path:d.currentFQPath,files:s.toArray(),onFolderSelected:n=>{g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.FOLDER_OVERVIEW_PIN}),C.getStoreForFolderOverview().dispatch(w.addContentReferencesForPath({files:s.toArray(),path:n,currentPath:d.currentFQPath,snackbarConfig:t?{onShow:()=>{u.browseActions.setUrl({path:n,expandedBlade:"pinned_items",forceExpandRightRail:!0})},folderName:i.filename(n,O.Viewer.get_root_name(r))}:void 0}))},isCurrentPathReadOnly:!d.isCurrentPathWriteable()})},d.handleUnpin=function(e,d){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.FOLDER_OVERVIEW_UNPIN});const t=C.getStoreForFolderOverview(),s=G.path(t.getState());t.dispatch(w.removeContentReferences({folderFileId:m.folderOverviewFolderFileId(t.getState()),fileIds:e.files.toArray().map(k.fileToContentReferenceId),componentNamespace:p.BrowseFolderOverviewComponentNamespace,snackbarConfig:d?{onShow:()=>{u.browseActions.setUrl({path:s,expandedBlade:"pinned_items",forceExpandRightRail:!0})},folderName:i.filename(s,O.Viewer.get_root_name(e.user))}:void 0}))},d.handleDelete=function(e,d){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.DELETE}),W.UserSurvey.trackEvent("delete_item","browse");const t=e.files.toArray(),s=t.some(_.File.isTeamSharedFolder),r=t.some(e=>e.read_only),n=t.every(e=>e.isDeleted);if(!d.isCurrentPathWriteable()||s||r)s?U.Notify.error(B.intl.formatMessage({id:"AjarNz",defaultMessage:"Team folders can’t be deleted."})):U.Notify.warning(B.intl.formatMessage({id:"q5LxGC",defaultMessage:"You don’t have permission to delete files in this folder."}));else if(e.isSearchMode){const s=L.getStoreForSearch();n?s.dispatch(T.purgeFiles({files:t,user:e.user,context:d})):s.dispatch(I.deleteFiles({files:t}))}else n?u.browseActions.doPermanentDeleteWithModal(t):u.browseActions.doDeleteFilesWithModal({files:t})},d.handleRestore=function(e,d){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.RESTORE});const t=e.files.toArray();if(e.isSearchMode){L.getStoreForSearch().dispatch(T.restoreFiles({files:t,user:e.user,context:d}))}else u.browseActions.doRestoreFilesWithUnifiedTrashModal({files:t})},d.handlePermanentDelete=function(e,d){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.PERMANENT_DELETE});const t=e.files.toArray();if(e.isSearchMode){L.getStoreForSearch().dispatch(T.purgeFiles({files:t,user:e.user,context:d}))}else u.browseActions.doPermanentDeleteWithModal(t)},d.handleStar=function(e){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.STAR}),Y(e,!0)},d.handleUnstar=function(e){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.REMOVE_STAR}),Y(e,!1)},d.handleExtensionDropdownOpen=function(e,d){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.OPEN_EXTENSIONS,action_surface:d})},d.handleExtensionClick=function(e,d,t){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.EXTENSIONS_SELECTED,action_surface:d,extra:{extensions_option:t||"unknown"}})},d.handleRewind=function(e){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.REWIND_CLICK});const d=a.browse_uri_for_fq_path(e.user,e.files.first().fq_path);d.setQuery({rewind:"true"}),j.replace_location(d.toString())},d.handleReAdd=function(e,d){const t=e.files.first().target_ns;t?(g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.RE_ADD_SHARED_FOLDER_CLICK}),P.asyncMountSharedFolder(t,e.user.role,r.SHARE_ACTION_ORIGIN_TYPE.BROWSE_FILE_ACTIONS,!1,null,!0)):g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.RE_ADD_SHARED_FOLDER_CLICK,extra:{error:"No nsId found, no-op"}})},d.handleAddToTransfer=function(e){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.ADD_TO_TRANSFER}),v.asyncShowBrowseEntryPointOnboardingModal({primaryActionOnClick:()=>{const d=e.files.toArray(),t=V.prepareFileIdsParam(d);A.Snackbar.sync(B.intl.formatMessage({id:"EmOY+w",defaultMessage:"Creating new transfer..."}),!1,"create-transfer");let s="browse";e.actionSurface&&(s=`browse_${e.actionSurface}`,e.actionSurface===D.ActionSurfaceLogValue.RIGHT_SIDEBAR&&1===d.length?s=`browse_${e.actionSurface}_single_file`:e.actionSurface===D.ActionSurfaceLogValue.RIGHT_SIDEBAR&&d.length>1&&(s=`browse_${e.actionSurface}_multi_file`)),j.redirect(V.createTransferUrlWithParams({referrer:s,fileids:t}))},userId:e.user.id})},d.handleReplay=function(e){const{files:d}=e,t=d.first(),{file_id:s}=t;j.unsafeRedirect(`https://replay.dropbox.com/project/creating/${s}?creationSource=dropbox_web`)},d.handleOpenInNewTab=function(e){const{files:d,user:t}=e,s=d.first();let r;r=s.is_dir?a.browse_uri_for_fq_path(t,s.fq_path):a.preview_uri_for_fq_path(t,s.fq_path),window.open(r.toString(),"_blank")},d.handlePreview=function(e,d){const{files:t,user:s,rightRailState:r}=e,n=t.first();if(e.isSearchMode){L.getStoreForSearch().dispatch(T.handleNavigateToFileOrFolder(n,{actionSource:d}))}else{const{ns_id:t,sjid:a,file_id:o,fq_path:l,bytes:u,ext:p,request_id:m}=n;c.logOpenRow({uid:s.id,entity_type:n.is_dir?"folder":"file",source:"list_browse",view_type:e.viewType,file_nsid:t,file_sjid:a,file_id:o,file_name:i.filename(n.fq_path),file_path:l,file_size:u,file_type:n.type,file_extension:p,request_id:m,action_source:d,rightRailState:r}),d===D.ActionSourceValue.DETAILS_PANE_PREVIEW&&c.logBrowseAction({uid:s.id,num_files_selected:1,num_folders_selected:0,action:D.WebUserActionLogEvent.THUMBNAIL_OPEN_PREVIEW,action_surface:D.ActionSurfaceLogValue.RIGHT_SIDEBAR,right_sidebar_state:"opened"}),$.browseNavigateActions.openPreviewForBrowseFile({file:n,shouldFocusComment:!1,user:s,fileViewAction:F.FileViewActionType.CLICK,fileViewOrigin:F.FileViewOriginType.BROWSE,onFileViewerUnmount:()=>{}})}},d.handleOpenInDesktopWithoutStandardHandlers=X,d.handleOpenInDesktop=function(e,d,t,s){X(e,e=>(d&&d(e),x.UnityFeatures.standard_open_file_handler(e)),e=>{t&&t(e),x.UnityFeatures.standard_open_file_handler(!1)},s)},d.handleShareCopyLink=function(e,d,t,r){g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.SHARE_COPY_LINK}),s.CopyLinkMiniModal.show({user:e.user,file:e.files.first(),setIsCreatingSharedLink:(d,t)=>{(e.isSearchMode?L.getStoreForSearch():h.getStoreForBrowse()).dispatch({type:e.isSearchMode?R.ActionTypes.SET_IS_CREATING_SHARED_LINK:f.ActionTypes.SET_IS_CREATING_SHARED_LINK,payload:{fileIdOrPath:t,isCreatingSharedLink:d}})},userActionSource:e.actionSource,anchorRef:d,onHoverLocked:t,onActionFlowComplete:r})},d.handleShowInFolder=function(e){const{user:d,files:t}=e,s=t.map(e=>e.fq_path).toArray();g.logUserEventOnFile({args:e,action_type:D.WebUserActionLogEvent.SHOW_IN_FOLDER}),o.handleShowInFolder({fqPaths:s,user:d})},d.handleSendForSignature=function(d,s){const{files:r,user:n}=d,a=r.first();return a&&q.isBrowseFile(a)&&n?new Promise((d,t)=>{e(["metaserver/static/js/modules/clean/integrations/hellosign_deep_integration/launcher"],d,t)}).then(t.__importStar).then(({getLauncher:e})=>{const t=e();return t.init({entryPoint:s?"file_hover_overflow_menu_self_sign":"file_hover_overflow_menu",file:a,user:n,source:s?"dropbox-file-hover-overflow-menu-send-for-self-sign":"dropbox-file-hover-overflow-menu-send-for-esign",selfSign:s}),g.logUserEventOnFile({args:d,action_type:s?D.WebUserActionLogEvent.SELF_SIGN_ENTRY_POINT:D.WebUserActionLogEvent.SEND_FOR_SIGNATURE}),t}).then(e=>(e.launch(),e)):Promise.resolve()}})),define("metaserver/static/js/modules/clean/react/browse/file_actions/actions/download",["require","exports","tslib","metaserver/static/js/modules/clean/downloads","metaserver/static/js/modules/clean/react/browse/models","metaserver/static/js/modules/clean/react/action_bar/file_actions/portable/download","metaserver/static/js/modules/clean/sync_everything/constants"],(function(e,d,t,s,r,n,a){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.downloadFiles=void 0,s=t.__importStar(s),d.downloadFiles=function({files:e,context:d,user:i,source:o,root_ns_id:l}){return t.__awaiter(this,void 0,void 0,(function*(){if(1===e.count()&&!e.first().is_dir&&!a.isUnmountedBackupBrowse(i,l)){const d=e.first();return void n.downloadSingleFile({href:d.href,source:o,isFswm:d instanceof r.FileSharedWithMe})}if(!d.blockHash)return;const t=d.currentFQPath,c=e.toArray().map(e=>e.fq_path);s.get_zip({fq_paths:c,subject_uid:i.id,block_hash:d.blockHash,parent_path:t,source:`${o}_zip`,root_ns_id:l})}))}})),define("metaserver/static/js/modules/clean/react/browse/file_actions/file_action_helpers",["require","exports","tslib","metaserver/static/js/modules/clean/react/browse/action_logger","metaserver/static/js/modules/clean/react/browse/logger_util","metaserver/static/js/modules/clean/search/single_page/data/selectors/index","metaserver/static/js/modules/clean/search/single_page/data/store","metaserver/static/js/modules/clean/search/single_page/logger","metaserver/static/js/modules/clean/web_user_action_events","metaserver/static/js/modules/clean/react/browse/models"],(function(e,d,t,s,r,n,a,i,o,l){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.logUserEventOnFile=void 0,s=t.__importStar(s),r=t.__importStar(r),n=t.__importStar(n),d.logUserEventOnFile=function({args:e,action_type:d,action_source:t,action_surface:c,extra:u}){var $;const{user:p,files:m,isSearchMode:h,source:f,viewType:g,isSidebar:_}=e,{num_files_selected:b,num_folders_selected:v}=r.countFilesAndFolders(m),y=e.actionSurface?e.actionSurface:c||(_?o.ActionSurfaceLogValue.RIGHT_SIDEBAR:o.ActionSurfaceLogValue.OVERFLOW_MENU),S=e.actionSource?e.actionSource:t,E=m.first();h?i.logResultAction(d,n.resultsList(a.getStoreForSearch().getState()),E,y,S,Object.assign(Object.assign({},u),{num_files_selected:b.toString(),num_folders_selected:v.toString(),right_sidebar_state:null!==($=e.rightRailState)&&void 0!==$?$:null})):E instanceof l.FileSharedWithMe||s.logBrowseAction({uid:p.id,source:f,action:d,num_files_selected:b,num_folders_selected:v,view_type:g,result:E,action_surface:y,action_source:S,right_sidebar_state:e.rightRailState,extra:u})}})),define("metaserver/static/js/modules/clean/react/action_bar/file_actions/portable/download",["require","exports","tslib","metaserver/static/js/modules/clean/downloads","metaserver/static/js/modules/clean/react/share_download/api","spectrum-sharing/utils/sharing_constants","metaserver/static/js/modules/clean/filepath/filepath"],(function(e,d,t,s,r,n,a){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.downloadSingleFileAsZip=d.downloadSingleFile=void 0,s=t.__importStar(s),a=t.__importStar(a),d.downloadSingleFile=({href:e,source:d,isFswm:a=!1},{onSuccess:i}={})=>t.__awaiter(void 0,void 0,void 0,(function*(){const t=a?yield r.fetchDownloadUrl(e,void 0,n.SHARE_ACTION_ORIGIN_TYPE.PREVIEW_PAGE):e;s.get({url:t,source:`${d}_direct`}),null==i||i()})),d.downloadSingleFileAsZip=({fqPath:e,rootNsId:d,source:r,blockHash:n,user:i},{onSuccess:o}={})=>t.__awaiter(void 0,void 0,void 0,(function*(){s.get_zip({fq_paths:[e],subject_uid:i.id,block_hash:n,parent_path:a.parent_dir(e),source:r,root_ns_id:d}),null==o||o()}))})),define("metaserver/static/js/modules/clean/react/action_bar/file_actions/portable/go_to_folder",["require","exports","tslib","metaserver/static/js/modules/clean/filepath/filepath","metaserver/static/js/modules/clean/browse_interface"],(function(e,d,t,s,r){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.handleShowInFolder=void 0,s=t.__importStar(s),d.handleShowInFolder=({fqPaths:e,user:d})=>{if(0===e.length)return;const t=e.map(e=>s.filename(e)),n=s.parent_dir(e[0]),a=r.browse_uri_for_fq_path(d,n);t.length>1?a.updateQuery({select_multi:JSON.stringify(t)}):a.updateQuery({select:t[0]}),window.open(a.toString(),"_blank")}})),define("metaserver/static/js/modules/clean/react/file_lock/api",["require","exports","tslib","metaserver/static/js/api_v2/user_client","metaserver/static/js/modules/clean/react/browse/models","metaserver/static/js/modules/core/i18n","metaserver/static/js/modules/clean/react/snackbar","metaserver/static/js/modules/clean/components/modals/show_modal","metaserver/static/js/modules/clean/react/locked_files/view/modals/lock_confirm_modal","metaserver/static/js/modules/clean/react/locked_files/view/modals/request_unlock_confirm_modal","metaserver/static/js/modules/clean/filepath/filepath","metaserver/static/js/modules/core/cookies"],(function(e,d,t,s,r,n,a,i,o,l,c,u){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.showRequestUnlockConfirmModal=d.showFileLockConfirmModal=d.asyncRequestUnlockFile=d.asyncUnlockFile=d.asyncLockFile=d.showFeedbackForFileLockAction=d.unlockFailureString=d.unlockSuccessString=void 0,c=t.__importStar(c);function $(){return n.intl.formatMessage({id:"uGHYAs",defaultMessage:"Unlocked editing. Any one else with access can edit again."})}function p(){return n.intl.formatMessage({id:"v/COiN",defaultMessage:"Unlocking editing failed."})}function m(e){return{entries:e.map(e=>({path:e.fq_path}))}}function h(e){return e.result.then(d=>d.entries&&d.entries.length>0&&d.entries.every(e=>"success"===e[".tag"])?(a.Snackbar.complete(e.onSuccessMsg(d),"file-lock-status"),Promise.resolve()):Promise.reject()).catch(()=>(a.Snackbar.fail(e.onFailMsg,"file-lock-status"),Promise.reject()))}function f(e,d){return t.__awaiter(this,void 0,void 0,(function*(){const t=(new s.UserApiV2Client).ns("files").rpc("lock_file_batch",m(d),{subjectUserId:e});yield h({result:t,onSuccessMsg:e=>n.intl.formatMessage({id:"nv3jy/",defaultMessage:"Editing locked. Now only you can make changes."}),onFailMsg:n.intl.formatMessage({id:"MmwXT2",defaultMessage:"Locking editing failed."})})}))}function g(e,d){return t.__awaiter(this,void 0,void 0,(function*(){const t=r.File.getFilename(d[0]),a=d[0].lockholder_name,i=(new s.UserApiV2Client).ns("files").rpc("request_unlock_file_batch",m(d),{subjectUserId:e});yield h({result:i,onSuccessMsg:e=>{const d=e.entries[0];return d.lock&&d.lock.content&&"unlocked"===d.lock.content[".tag"]?$():n.intl.formatMessage({id:"im3MR+",defaultMessage:"Asked {name} to unlock {filename}"},{filename:t,name:a})},onFailMsg:n.intl.formatMessage({id:"i/KiYl",defaultMessage:"Error asking {name} to unlock {filename}"},{filename:t,name:a})})}))}d.unlockSuccessString=$,d.unlockFailureString=p,d.showFeedbackForFileLockAction=h,d.asyncLockFile=f,d.asyncUnlockFile=function(e,d){return t.__awaiter(this,void 0,void 0,(function*(){const t=(new s.UserApiV2Client).ns("files").rpc("unlock_file_batch",m(d),{subjectUserId:e});yield h({result:t,onSuccessMsg:e=>$(),onFailMsg:p()})}))},d.asyncRequestUnlockFile=g,d.showFileLockConfirmModal=function(e,d){const t=()=>{f(e,[d])},s=()=>{u.Cookies.create("do_not_show_lock_confirmation_dialog","true",365)};"true"===u.Cookies.read("do_not_show_lock_confirmation_dialog")?t():i.showModal(o.FileLockConfirmModal({filename:c.filename(d.fq_path),onLock:t,onNeverShowAgain:s}))},d.showRequestUnlockConfirmModal=function(e,d){void 0!==d.ts_locked&&void 0!==d.lockholder_name?i.showModal(l.RequestUnlockConfirmModal({lockCreatedTime:d.ts_locked,lockholderName:d.lockholder_name,onRequestUnlock:()=>{g(e,[d])}})):a.Snackbar.fail(n.intl.formatMessage({id:"LDj5Eu",defaultMessage:"Could not ask to unlock. Please try again later."}),"file-lock-status")}})),define("metaserver/static/js/modules/clean/react/locked_files/view/modals/lock_confirm_modal",["require","exports","tslib","react","react-intl","spectrum/modal/index","metaserver/static/js/modules/core/i18n","metaserver/static/js/modules/clean/ux_analytics/utils","metaserver/static/js/modules/clean/ux_analytics_modal_tracking","metaserver/static/js/modules/core/browser","spectrum/checkbox/index","metaserver/static/js/modules/clean/react/components/css"],(function(e,d,t,s,r,n,a,i,o,l,c,u){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.FileLockConfirmModal=d.FileLockConfirmModalWithCSS=void 0,s=t.__importDefault(s),l=t.__importStar(l);class $ extends s.default.Component{constructor(e){super(e),this.onClickCheckbox=()=>{this.setState({checkboxMarked:!this.state.checkboxMarked})},this.onRequestClose=()=>{this.setState({isModalOpen:!1}),i.dispatchModalClosed()},this.onRequestLock=()=>{this.props.onLock(),this.state.checkboxMarked&&this.props.onNeverShowAgain()},this.state={checkboxMarked:!1,isModalOpen:!0}}render(){const e=a.intl.formatMessage({id:"cRptek",defaultMessage:"Lock editing for this file?"}),d=r.defineMessage({id:"dBZbCY",defaultMessage:"Only you can make changes to {path} while editing is locked. Anyone else with access to the file can still view it."}),t=a.intl.formatMessage({id:"iR68zV",defaultMessage:"Lock"}),u=a.intl.formatMessage({id:"d9/SE1",defaultMessage:"Cancel"}),$=a.intl.formatMessage({id:"gk12sS",defaultMessage:"Learn more"}),p=a.intl.formatMessage({id:"s0mqEc",defaultMessage:"Don’t ask me this again"});return s.default.createElement(n.UtilityModal,{title:e,primaryAction:t,onReady:i.dispatchModalOpened,onPrimaryAction:this.onRequestLock,secondaryAction:u,onRequestClose:this.onRequestClose,ariaLabel:e,open:this.state.isModalOpen,shouldFocusAfterRender:!0,link:$,onLink:()=>{l.open_tab("https://help.dropbox.com/files-folders/share/file-locking")}},s.default.createElement(o.UXAnalyticsModalTracking,{id:"file_lock_confirm_modal"}),a.intl.formatMessage(d,{st:e=>s.default.createElement("strong",null,e),path:this.props.filename}),s.default.createElement("div",{className:"checkbox-with-label"},s.default.createElement(c.Checkbox,{checked:this.state.checkboxMarked?"checked":"unchecked",onChange:this.onClickCheckbox,id:"accept-checkbox"}),s.default.createElement("label",{className:"checkbox-with-label-label",htmlFor:"accept-checkbox"},s.default.createElement("div",null,p))))}}$.displayName="FileLockConfirmModalBase",d.FileLockConfirmModalWithCSS=u.requireCssWithComponent($,["/static/css/file_locking/file_locking_modal-vflDp2_5Q.css"]),d.FileLockConfirmModal=({filename:e,onLock:t,onNeverShowAgain:r})=>s.default.createElement(d.FileLockConfirmModalWithCSS,{onLock:t,onNeverShowAgain:r,filename:e})})),define("metaserver/static/js/modules/clean/react/locked_files/view/modals/request_unlock_confirm_modal",["require","exports","tslib","react","react-intl","spectrum/modal/index","metaserver/static/js/modules/core/i18n","metaserver/static/js/modules/clean/datetime/datetime","metaserver/static/js/modules/clean/ux_analytics/utils","metaserver/static/js/modules/clean/ux_analytics_modal_tracking","metaserver/static/js/modules/core/browser"],(function(e,d,t,s,r,n,a,i,o,l,c){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.RequestUnlockConfirmModal=void 0,s=t.__importDefault(s),c=t.__importStar(c);const u=e=>()=>{e(),o.dispatchModalClosed()};d.RequestUnlockConfirmModal=({lockCreatedTime:e,lockholderName:d,onRequestUnlock:t})=>{const $=a.intl.formatMessage({id:"yd0RsA",defaultMessage:"Editing is locked for this file"}),p=r.defineMessage({id:"iRKebb",defaultMessage:"{lockholder_name} temporarily locked editing for this file {ago}. You can view it while it’s locked, or ask them to unlock it."}),m=a.intl.formatMessage({id:"PMI4xl",defaultMessage:"Ask to unlock"}),h=a.intl.formatMessage({id:"nOO9Qi",defaultMessage:"OK"}),f=a.intl.formatMessage({id:"gk12sS",defaultMessage:"Learn more"}),g=1e3*Number(e),_=i.agoFromDate(new Date(g),new Date);return s.default.createElement(n.UtilityModal,{title:$,primaryAction:m,onReady:o.dispatchModalOpened,onPrimaryAction:u(t),secondaryAction:h,onRequestClose:o.dispatchModalClosed,ariaLabel:$,open:!0,shouldFocusAfterRender:!0,link:f,onLink:()=>{c.open_tab("https://help.dropbox.com/files-folders/share/file-locking")}},s.default.createElement(l.UXAnalyticsModalTracking,{id:"file_lock_confirm_modal"}),a.intl.formatMessage(p,{lockholder_name:d,ago:_}))}})),define("metaserver/static/js/modules/clean/account_page/widgets/two_step_verification/modals/flow_steps",["require","exports","tslib","jquery","react","dig-components/buttons","dig-components/text_fields","dig-components/controls","metaserver/static/js/modules/clean/account_page/widgets/two_step_verification/modals/phone_input","metaserver/static/js/modules/clean/account_page/widgets/two_step_verification/modals/twofactor_api","metaserver/static/js/modules/clean/deprecated_ajax/ajax_as_promised_jquery","metaserver/static/js/api_v2/user_client","metaserver/static/js/modules/clean/auth/authenticator","metaserver/static/js/modules/clean/react/image","metaserver/static/js/modules/clean/react/input_dig","metaserver/static/js/modules/clean/react/components/modal_controller","metaserver/static/js/modules/clean/react/modal_dig","metaserver/static/js/modules/clean/static_urls","metaserver/static/js/modules/core/i18n","metaserver/static/js/modules/core/notify","jquery.qrcode"],(function(e,d,t,s,r,n,a,i,o,l,c,u,$,p,m,h,f,g,_,b){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.RevokeAllTrustedDevicesModal=d.SecurityKeyRegisterModal=d.SecurityKeyIntroModal=d.FinishTwofactorDisableModal=d.FinishTwofactorEnableModal=d.EditRecoveryCodesModal=d.ViewRecoveryCodesModal=d.BackupPhoneModal=d.ConfirmDeliveryModal=d.SetupOfflineModal=d.EnterPhoneModal=d.fetchPhoneNumberConstants=d.ChooseDeliveryModal=d.ConfirmPasswordModal=d.StartModal=void 0,s=t.__importDefault(s),r=t.__importDefault(r),l=t.__importStar(l),$=t.__importStar($),m=t.__importStar(m),h=t.__importStar(h);const v=m.password,y=_.intl.formatMessage({id:"fvZIUX",defaultMessage:"Sorry, an error occurred. Please try again later."});class S extends r.default.Component{render(){const e=this.props.acceptButtonText||_.intl.formatMessage({id:"vJgZg+",defaultMessage:"Next"});let d,t=void 0;return this.props.dismissOptions&&(d=this.props.dismissOptions.text,t=e=>{-1!==e.currentTarget.className.indexOf("dbmodal-button")&&(e.preventDefault(),this.props.dismissOptions.onDismiss())}),r.default.createElement(f.Modal,{acceptButtonText:null===this.props.onAccept?null:e,autoClose:!1,onAccept:this.props.onAccept,onDismiss:t,title:this.props.title,submitting:this.props.submitting,id:this.props.id,className:this.props.className,dismissButtonText:d,helpLink:this.props.helpLink,onShow:this.props.onShow},r.default.createElement("div",{className:"twofactor-account-form"},this.props.children,this.props.errorText&&r.default.createElement("div",{className:"error-message"},this.props.errorText)))}}S.displayName="ModalStepModal";class E extends r.default.Component{render(){return r.default.createElement(S,{id:"twofactor-start",onAccept:this.props.onConfirm,title:this.props.title,acceptButtonText:_.intl.formatMessage({id:"kOQNUE",defaultMessage:"Get started"}),helpLink:r.default.createElement("a",{className:"learn-more",href:"https://www.dropbox.com/help/363",target:"_blank",rel:"noreferrer"},_.intl.formatMessage({id:"gk12sS",defaultMessage:"Learn more"}))},r.default.createElement("p",null,_.intl.formatMessage({id:"EIHDne",defaultMessage:"Two-step verification adds an extra layer of protection to your account. Whenever you sign in to the Dropbox website or link a new device, you’ll need to enter both your password and also a security code sent to your mobile phone."})))}}d.StartModal=E,E.displayName="StartModal";class M extends r.default.Component{constructor(e){super(e),this.onAccept=()=>t.__awaiter(this,void 0,void 0,(function*(){this.setState({submitting:!0});const e=yield l.confirmPassword(this.props.user.id,this.state.password,this.props.context);if(this.setState({submitting:!1}),"success"===e.type)this.props.onSuccessfulPassword(e.checkpointToken);else if("error"===e.type)switch(e.error){case"INVALID":this.setState({error:_.intl.formatMessage({id:"l/9ohN",defaultMessage:"Invalid password"})})}else this.setState({unexpectedError:y})})),this.setPassword=e=>this.setState({password:e.currentTarget.value}),this.state={password:"",submitting:!1}}render(){return r.default.createElement(S,{id:"twofactor-enter-password",onAccept:this.onAccept,title:this.props.title,submitting:this.state.submitting,errorText:this.state.unexpectedError},r.default.createElement("p",null,_.intl.formatMessage({id:"+HVGgM",defaultMessage:"For security, please enter your password for {email}."},{email:this.props.user.email})),r.default.createElement(v,{id:"password",value:this.state.password,variant:"small",onChange:this.setPassword,error:void 0===this.state.error?void 0:{message_text:this.state.error},placeholder:_.intl.formatMessage({id:"i+PJQ7",defaultMessage:"Password"})}))}}d.ConfirmPasswordModal=M,M.displayName="ConfirmPasswordModal";class w extends r.default.Component{constructor(e){super(e),this.onAccept=()=>t.__awaiter(this,void 0,void 0,(function*(){if(this.state.usePhoneDelivery)this.props.onSelectionConfirmed({type:"phone"});else{this.setState({submitting:!0});const e=yield l.fetchOfflineKey(this.props.user.id,this.props.checkpointToken);this.setState({submitting:!1}),"success"===e.type?this.props.onSelectionConfirmed({type:"offline",offlineKey:e.b32EncodedKey}):"error"===e.type?this.props.onPasswordExpired():this.setState({unexpectedError:y})}})),this.state={usePhoneDelivery:!0,submitting:!1}}render(){const e=e=>()=>{this.setState({usePhoneDelivery:e})};return r.default.createElement(S,{title:this.props.title,submitting:this.state.submitting,onAccept:this.onAccept,id:"twofactor-delivery-choice",errorText:this.state.unexpectedError},r.default.createElement("p",null,r.default.createElement("b",null,_.intl.formatMessage({id:"6Ooe3V",defaultMessage:"How would you like to receive your security codes?"}))),r.default.createElement("div",{className:`delivery-choice ${this.state.usePhoneDelivery?"selected":""}`,id:"sms-choice"},r.default.createElement(i.RadioButton,{id:"use-sms",name:"delivery","aria-label":"Use SMS",checked:this.state.usePhoneDelivery,"aria-checked":this.state.usePhoneDelivery,onChange:e(!0),tabIndex:0}),r.default.createElement("label",{htmlFor:"use-sms"},r.default.createElement("strong",null,_.intl.formatMessage({id:"ribcyl",defaultMessage:"Use text messages"})),r.default.createElement("br",null),_.intl.formatMessage({id:"rkKFQh",defaultMessage:"Security codes will be sent to your mobile phone"}))),r.default.createElement("div",{className:`delivery-choice ${this.state.usePhoneDelivery?"":"selected"}`,id:"app-choice"},r.default.createElement(i.RadioButton,{id:"use-app",name:"delivery",type:"radio",checked:!this.state.usePhoneDelivery,"aria-checked":!this.state.usePhoneDelivery,onChange:e(!1),tabIndex:0}),r.default.createElement("label",{htmlFor:"use-app"},r.default.createElement("strong",null,_.intl.formatMessage({id:"gbLFmN",defaultMessage:"Use a mobile app"})),r.default.createElement("br",null),_.intl.formatMessage({id:"9W0BXd",defaultMessage:"Security codes will be generated by an authenticator app"}))))}}d.ChooseDeliveryModal=w,w.displayName="ChooseDeliveryModal";let C=[];function k(){return t.__awaiter(this,void 0,void 0,(function*(){try{return yield c.WebRequest({url:"/account/get_phone_input_data",dataType:"json"})}catch(e){return null}}))}d.fetchPhoneNumberConstants=k;const A=e=>{let d=[];if(e){const{country_list:t,phone_code_map:s}=e;d=t.map(e=>({countryCode:e[0],countryName:e[1],phoneCode:s[e[0]]}))}return d};class N extends r.default.Component{constructor(e){super(e),this.BAD_CARRIER=_.intl.formatMessage({id:"ffjRA4",defaultMessage:"Unfortunately, your carrier isn’t supported at this time."}),this.INVALID_NUMBER=_.intl.formatMessage({id:"ffjRA4",defaultMessage:"Unfortunately, your carrier isn’t supported at this time."}),this.NOTAMOBILE=_.intl.formatMessage({id:"ffjRA4",defaultMessage:"Unfortunately, your carrier isn’t supported at this time."}),this.UNREACHABLE=_.intl.formatMessage({id:"ffjRA4",defaultMessage:"Unfortunately, your carrier isn’t supported at this time."}),this.RATE_LIMIT=_.intl.formatMessage({id:"O7BCIr",defaultMessage:"You’ve asked for too many SMS messages. Please try again in a few minutes."}),this.onAccept=()=>t.__awaiter(this,void 0,void 0,(function*(){if(this.state.phoneNumber&&"success"===this.state.phoneNumber.type){this.setState({submitting:!0});const e=yield l.submitPhoneNumber(this.props.user.id,this.props.checkpointToken,this.state.phoneNumber.phoneNumber);if(this.setState({submitting:!1}),"success"===e.type)this.props.onAccept({phoneNumber:this.state.phoneNumber.phoneNumber,phoneSig:e.phoneSig});else if("error"===e.type){const d=e=>{this.setState({unexpectedError:e})};switch(e.error){case"EXPIRED":this.props.onPasswordExpired();break;case"UNREACHABLE":d(this.UNREACHABLE);break;case"BADCARRIER":d(this.BAD_CARRIER);break;case"INVALIDNUMBER":d(this.INVALID_NUMBER);break;case"NOTAMOBILE":d(this.NOTAMOBILE);break;case"RATELIMIT":b.Notify.error(this.RATE_LIMIT)}}else this.setState({unexpectedError:y})}})),this.setPhoneNumber=e=>this.setState({phoneNumber:e}),this.state={submitting:!1,loadedUserConstants:C}}UNSAFE_componentWillMount(){return t.__awaiter(this,void 0,void 0,(function*(){if(0===C.length){const e=yield k();if(e&&0===this.state.loadedUserConstants.length){const d=A(e);C=d,this.setState({loadedUserConstants:d})}}}))}render(){return r.default.createElement(S,{id:"twofactor-enter-phone",className:"twofactor-overflow",title:this.props.title,onAccept:this.onAccept,submitting:this.state.submitting,errorText:this.state.unexpectedError,dismissOptions:{text:_.intl.formatMessage({id:"tSs2ty",defaultMessage:"Back"}),onDismiss:this.props.onDismiss}},r.default.createElement("p",{className:"subtitle"},_.intl.formatMessage({id:"HKKwpB",defaultMessage:"Enter your mobile phone number"})),r.default.createElement("p",null,_.intl.formatMessage({id:"NvAM7e",defaultMessage:"We’ll send a security code to this phone number whenever you sign in to the Dropbox website or link a new Device."})),r.default.createElement(o.PhoneInput,{onPhoneNumberInput:this.setPhoneNumber,isLoading:0===this.state.loadedUserConstants.length,countryList:this.state.loadedUserConstants}))}}d.EnterPhoneModal=N,N.displayName="EnterPhoneModal";class I extends r.default.Component{constructor(e){super(e),this.qrCodeContainer=r.default.createRef(),this.state={showBarcode:!0}}componentDidMount(){this.setupQrCode()}componentDidUpdate(){this.setupQrCode()}componentWillUpdate(e,d){this.clearQrCode()}setupQrCode(){const e=s.default(this.qrCodeContainer.current);e.empty();const d=this.parseB32Key(this.props.totpB32Secret,!1),t={text:`otpauth://totp/Dropbox:${this.props.user.email}?secret=${d}&issuer=Dropbox`,height:200,width:200},r=document.createElement("canvas"),n=!(!r.getContext||!r.getContext("2d"));n||(t.render="table"),e.qrcode(t).show(),n||e.children("table").css("margin","0 auto")}clearQrCode(){s.default(this.qrCodeContainer.current).empty()}parseB32Key(e,d){const t=e.replace(new RegExp("=+$"),"");return d?t.toLowerCase().replace(/(.{4})/g,"$1 "):t}render(){const e=e=>()=>{this.setState({showBarcode:e})};return r.default.createElement(S,{title:this.props.title,onAccept:this.props.onAccept,id:"twofactor-offline-setup",dismissOptions:{text:_.intl.formatMessage({id:"tSs2ty",defaultMessage:"Back"}),onDismiss:this.props.onDismiss},onShow:()=>this.setupQrCode()},r.default.createElement("p",null,_.intl.formatMessage({id:"u09i+4",defaultMessage:"An authenticator app lets you generate security codes on your phone without needing to receive text messages. If you don’t already have one, we support any of these apps."},{a:e=>r.default.createElement("a",{href:"https://www.dropbox.com/help/363#2fa-apps",rel:"noopener noreferrer",target:"_blank"},e)})),r.default.createElement("p",null,_.intl.formatMessage({id:"b+PDmn",defaultMessage:"To configure your authenticator app:"})),r.default.createElement("ul",{className:"blue-bullets"},r.default.createElement("li",null,_.intl.formatMessage({id:"bKmf0p",defaultMessage:"Add a new time-based token."})),this.state.showBarcode?r.default.createElement("li",null,_.intl.formatMessage({id:"+kJxW6",defaultMessage:"Use your app to scan the barcode below, or ."},{button:d=>r.default.createElement(n.Button,{variant:"transparent",onClick:e(!1)},d)})):r.default.createElement("li",null,_.intl.formatMessage({id:"LzEh8h",defaultMessage:"Enter the secret key below, or ."},{button:d=>r.default.createElement(n.Button,{variant:"transparent",onClick:e(!0)},d)}))),this.state.showBarcode?r.default.createElement("div",{id:"qr-div",ref:this.qrCodeContainer}):r.default.createElement("div",{id:"secret-div"},this.parseB32Key(this.props.totpB32Secret,!0)))}}d.SetupOfflineModal=I,I.displayName="SetupOfflineModal";class T extends r.default.Component{constructor(e){super(e),this.INVALID_CODE_GENERAL=_.intl.formatMessage({id:"LGWy5v",defaultMessage:"Invalid code."}),this.INVALID_CODE_TOTP=_.intl.formatMessage({id:"PEgSVc",defaultMessage:"Invalid code. Check the clock on your phone: it must be accurate to the minute."}),this.bindToInput=e=>d=>{this.setState(Object.assign(Object.assign({},this.state),{[e]:d.currentTarget.value}))},this.onAccept=()=>t.__awaiter(this,void 0,void 0,(function*(){this.setState({submitting:!0});const e="phone"===this.props.deliveryDetails.type?this.props.deliveryDetails.phoneData.phoneSig:void 0,d=yield l.confirmCode(this.props.user.id,this.props.checkpointToken,this.state.code,e);if(this.setState({submitting:!1}),"success"===d.type)this.props.onSuccessfulConfirm(d.backupCodes);else if("error"===d.type)switch(d.error){case"EXPIRED":this.props.onPasswordExpired();break;case"INVALID":const e=this.state.invalidCodeAttempts+1;0===this.state.invalidCodeAttempts||"phone"===this.props.deliveryDetails.type?this.setState({unexpectedError:this.INVALID_CODE_GENERAL,invalidCodeAttempts:e}):this.setState({unexpectedError:this.INVALID_CODE_TOTP,invalidCodeAttempts:e});break;case"RATELIMIT":b.Notify.error(_.intl.formatMessage({id:"kU4PMt",defaultMessage:"Too many invalid codes. Try again in a few minutes."}))}else this.setState({unexpectedError:y})})),this.state={submitting:!1,invalidCodeAttempts:0,code:""}}render(){return"phone"===this.props.deliveryDetails.type?(e=>r.default.createElement(S,{title:this.props.title,onAccept:this.onAccept,submitting:this.state.submitting,id:"twofactor-enable-confirm",errorText:this.state.unexpectedError,dismissOptions:{text:_.intl.formatMessage({id:"tSs2ty",defaultMessage:"Back"}),onDismiss:this.props.onDismiss}},r.default.createElement("p",null,_.intl.formatMessage({id:"HONi9s",defaultMessage:"We sent a security code to {phone_number}. Enter it below to verify your phone number"},{phone_number:e})),r.default.createElement("div",{className:"twofactor-input-wrapper"},r.default.createElement(a.TextInput,{id:"phone-code",value:this.state.code,onChange:this.bindToInput("code"),placeholder:_.intl.formatMessage({id:"DFLqLE",defaultMessage:"6-digit code"})}))))(this.props.deliveryDetails.phoneData.phoneNumber):(()=>r.default.createElement(S,{title:this.props.title,onAccept:this.onAccept,submitting:this.state.submitting,id:"twofactor-enable-confirm",errorText:this.state.unexpectedError,dismissOptions:{text:_.intl.formatMessage({id:"tSs2ty",defaultMessage:"Back"}),onDismiss:this.props.onDismiss}},r.default.createElement("p",null,_.intl.formatMessage({id:"lG9gS/",defaultMessage:"Enter the security code generated by your mobile authenticator app to make sure it’s configured correctly."})),r.default.createElement("div",{className:"twofactor-input-wrapper"},r.default.createElement(a.TextInput,{id:"phone-code",value:this.state.code,onChange:this.bindToInput("code"),placeholder:_.intl.formatMessage({id:"DFLqLE",defaultMessage:"6-digit code"})}))))()}}d.ConfirmDeliveryModal=T,T.displayName="ConfirmDeliveryModal";class L extends r.default.Component{constructor(e){super(e),this.SAME_AS_PRIMARY_ERROR=_.intl.formatMessage({id:"yJcqG4",defaultMessage:"You can’t use your primary phone as your backup"}),this.numberIsSameAsPrimary=()=>{const e=this.state.backupPhoneNumber,d=e&&"success"===e.type?e.phoneNumber:void 0;return d&&this.props.primaryPhone&&d===this.props.primaryPhone},this.onAccept=()=>t.__awaiter(this,void 0,void 0,(function*(){if(this.numberIsSameAsPrimary())return;const e=this.state.backupPhoneNumber,d=e&&"success"===e.type?e.phoneNumber:void 0;if("edit_backup_phone"===this.props.flow){this.setState({submitting:!0});const e=yield l.addBackupPhone(this.props.user.id,this.props.checkpointToken,d);this.setState({submitting:!1}),"success"===e.type?this.props.onAccept(d):"error"===e.type?this.props.onPasswordExpired():this.setState({unexpectedError:y})}else if("edit_twofactor"===this.props.flow){this.setState({submitting:!0});const e=yield l.enableTwofactorFinish(this.props.user.id,this.props.checkpointToken,d||null);if(this.setState({submitting:!1}),"success"===e.type)this.props.onAccept(d);else if("error"===e.type)switch(e.error){case"EXPIRED":this.props.onPasswordExpired()}else this.setState({unexpectedError:y})}else this.props.onAccept(d)})),this.setBackupPhoneNumber=e=>this.setState({backupPhoneNumber:e}),this.state={submitting:!1,isSameAsPrimary:!1,loadedUserConstants:C}}UNSAFE_componentWillMount(){return t.__awaiter(this,void 0,void 0,(function*(){if(0===C.length){const e=yield k();if(e&&0===this.state.loadedUserConstants.length){const d=A(e);C=d,this.setState({loadedUserConstants:d})}}}))}render(){const e=this.numberIsSameAsPrimary()&&this.SAME_AS_PRIMARY_ERROR;return r.default.createElement(S,{title:this.props.title,onAccept:this.onAccept,submitting:this.state.submitting,id:"twofactor-enter-backup-phone",className:"twofactor-overflow",errorText:e||this.state.unexpectedError,dismissOptions:{text:_.intl.formatMessage({id:"tSs2ty",defaultMessage:"Back"}),onDismiss:this.props.onDismiss}},r.default.createElement("p",{className:"subtitle"},_.intl.formatMessage({id:"PVsh9/",defaultMessage:"Backup phone number (optional)"},{strong:e=>r.default.createElement("strong",null,e)})),r.default.createElement("p",null,_.intl.formatMessage({id:"MLWfyM",defaultMessage:"If you lose access to your primary security code source, we can send them to your backup mobile number instead."})),r.default.createElement(o.PhoneInput,{onPhoneNumberInput:this.setBackupPhoneNumber,isLoading:0===this.state.loadedUserConstants.length,countryList:this.state.loadedUserConstants}),r.default.createElement("p",{id:"backup-phone-number-description"},_.intl.formatMessage({id:"djBo1i",defaultMessage:"While this step is optional, we encourage you to set up a backup phone number in case you lose your mobile phone or are otherwise unable to receive your security code."})))}}function R(e){return e.toLowerCase().replace(/(.{4})/g,"$1 ")}d.BackupPhoneModal=L,L.displayName="BackupPhoneModal";class P extends r.default.Component{constructor(e){super(e),this.onAccept=()=>t.__awaiter(this,void 0,void 0,(function*(){this.setState({submitting:!0});const e=yield l.enableTwofactorFinish(this.props.user.id,this.props.checkpointToken,this.props.backupPhone||null);if(this.setState({submitting:!1}),"success"===e.type)this.props.onAccept();else if("error"===e.type)switch(e.error){case"EXPIRED":this.props.onPasswordExpired()}else this.setState({unexpectedError:y})})),this.state={submitting:!1}}render(){const e=void 0!==this.props.primaryPhone?_.intl.formatMessage({id:"HyWjj5",defaultMessage:"Your security codes will be sent by text message"}):_.intl.formatMessage({id:"bQoyjz",defaultMessage:"Your security codes will be generated by your authenticator app"});return r.default.createElement(S,{title:this.props.title,onAccept:this.onAccept,submitting:this.state.submitting,id:"twofactor-recovery",errorText:this.state.unexpectedError,dismissOptions:{text:_.intl.formatMessage({id:"tSs2ty",defaultMessage:"Back"}),onDismiss:this.props.onDismiss}},r.default.createElement("div",{className:"deliveryLabel"},e),r.default.createElement("div",{className:"confirm-phones-outer"},this.props.primaryPhone&&r.default.createElement("div",{id:"confirm-phone-primary",className:"confirm-phones-inner"},r.default.createElement("span",{className:"confirm-phone-label"},_.intl.formatMessage({id:"9m9zTf",defaultMessage:"Primary phone number"})),r.default.createElement("span",{id:"confirm-phone-primary-number",className:"confirm-phone-number"},this.props.primaryPhone)),this.props.backupPhone&&r.default.createElement("div",{id:"confirm-phone-backup",className:"confirm-phones-inner"},r.default.createElement("span",{className:"confirm-phone-label"},_.intl.formatMessage({id:"4KZf0Q",defaultMessage:"Backup phone number"})),r.default.createElement("span",{id:"confirm-phone-backup-number",className:"confirm-phone-number"},this.props.backupPhone))),r.default.createElement("div",{className:"codesbox"},r.default.createElement("p",{className:"desc"},_.intl.formatMessage({id:"zSj4X8",defaultMessage:"You can use these one-time backup codes to access your account."})),r.default.createElement("div",{id:"backup-code-list-container"},r.default.createElement("ol",{className:"twofactor-backup-list"},this.props.recoveryCodes.map(e=>r.default.createElement("li",{className:"twofactor-backup-list__item"},r.default.createElement("span",{className:"twofactor-backup-list__code"},R(e)))))),r.default.createElement("p",{className:"sub-desc"},_.intl.formatMessage({id:"Lb5frQ",defaultMessage:"Write these down and keep them safe."}))))}}d.ViewRecoveryCodesModal=P,P.displayName="ViewRecoveryCodesModal";class x extends r.default.Component{constructor(e){super(e),this.loadRecoveryCodes=e=>t.__awaiter(this,void 0,void 0,(function*(){this.setState({submitting:!0});const d=yield l.getRecoveryCodes(this.props.user.id,this.props.checkpointToken,e);if(this.setState({submitting:!1}),"success"===d.type)this.setState({backupCodes:d.backupCodes});else if("error"===d.type)switch(d.error){case"EXPIRED":this.props.onPasswordExpired()}else this.setState({unexpectedError:y})})),this.state={submitting:!1}}componentWillMount(){return t.__awaiter(this,void 0,void 0,(function*(){this.loadRecoveryCodes(!1)}))}render(){const{backupCodes:e}=this.state;return r.default.createElement(S,{title:this.props.title,onAccept:this.props.onClose,acceptButtonText:_.intl.formatMessage({id:"nOO9Qi",defaultMessage:"OK"}),dismissOptions:{text:_.intl.formatMessage({id:"rnNUn1",defaultMessage:"Generate new codes"}),onDismiss:()=>this.loadRecoveryCodes(!0)},id:"twofactor-recovery-edit",submitting:this.state.submitting,errorText:this.state.unexpectedError},(e=>e?r.default.createElement("div",{className:"codesbox"},r.default.createElement("p",{className:"desc"},_.intl.formatMessage({id:"zSj4X8",defaultMessage:"You can use these one-time backup codes to access your account."})),r.default.createElement("div",{id:"backup-code-list-container"},r.default.createElement("ol",{className:"twofactor-backup-list"},e.map(e=>r.default.createElement("li",{className:"twofactor-backup-list__item"},r.default.createElement("span",{className:"twofactor-backup-list__code"},R(e)))))),r.default.createElement("p",{className:"sub-desc"},_.intl.formatMessage({id:"Lb5frQ",defaultMessage:"Write these down and keep them safe."}))):r.default.createElement(p.Image,{src:g.static_url("/static/images/icons/ajax-loading-small-blue-vflVk_QNP.gif"),alt:_.intl.formatMessage({id:"jybGUg",defaultMessage:"Loading"})}))(e))}}d.EditRecoveryCodesModal=x,x.displayName="EditRecoveryCodesModal";class O extends r.default.Component{render(){return r.default.createElement(S,{title:this.props.title,onAccept:this.props.onAccept,id:"twofactor-done"},r.default.createElement("p",null,_.intl.formatMessage({id:"4cZi/F",defaultMessage:"From now on, when you sign in to the Dropbox website or link a new device, you’ll need to enter a security code from your phone."})))}}d.FinishTwofactorEnableModal=O,O.displayName="FinishTwofactorEnableModal";class D extends r.default.Component{constructor(e){super(e),this.onAccept=()=>t.__awaiter(this,void 0,void 0,(function*(){this.setState({submitting:!0});const e=yield l.disableTwofactor(this.props.user.id,this.props.checkpointToken);if(this.setState({submitting:!1}),"success"===e.type)this.props.onAccept();else if("error"===e.type)switch(e.error){case"EXPIRED":this.props.onPasswordExpired()}else this.setState({unexpectedError:y})})),this.state={submitting:!1}}render(){return r.default.createElement(S,{title:this.props.title,onAccept:this.onAccept,submitting:this.state.submitting,id:"twofactor-disable",errorText:this.state.unexpectedError},r.default.createElement("p",null,_.intl.formatMessage({id:"wAS6mz",defaultMessage:"If you disable two-step verification, you’ll only need your email and password when you sign in to the Dropbox website or link a new device."})))}}d.FinishTwofactorDisableModal=D,D.displayName="FinishTwofactorDisableModal";class F extends r.default.Component{constructor(e){super(e),this.UNSUPPORTED_U2F_ERROR_STRING=_.intl.formatMessage({id:"nr9Ux4",defaultMessage:"Currently, security keys are only supported with Google Chrome, version 38 or higher."}),this.UNSUPPORTED_ERROR_STRING=_.intl.formatMessage({id:"oHNNG5",defaultMessage:"Currently, security keys are only supported with Google Chrome, version 38 or higher, and Firefox, version 60 or higher."}),this.onAccept=()=>{this.state.unsupportedBrowser?h.unmountModal():this.props.onAccept()},this.state={submitting:!0,unsupportedBrowser:!1,unsupportedErrorText:this.UNSUPPORTED_U2F_ERROR_STRING}}componentDidMount(){return t.__awaiter(this,void 0,void 0,(function*(){let e;try{if(e=yield l.startSecurityKeyRegistration(this.props.user.id),"unknown_error"===e.type)throw e}catch(e){return this.setState({submitting:!1,unsupportedBrowser:!0,unsupportedErrorText:this.UNSUPPORTED_U2F_ERROR_STRING}),void this.props.onGetRequest()}const d=!$.canRegisterAuthenticator(e.request);let t=this.UNSUPPORTED_U2F_ERROR_STRING;$.isWebAuthnEnabled(e.request)&&(t=this.UNSUPPORTED_ERROR_STRING),this.setState({submitting:!1,unsupportedBrowser:d,unsupportedErrorText:t}),this.props.onGetRequest(e)}))}render(){const e=this.state.unsupportedBrowser?this.state.unsupportedErrorText:"";return r.default.createElement(S,{title:this.props.title,id:"twofactor-security-key-unsupported-browser",onAccept:this.onAccept,errorText:e,acceptButtonText:this.state.unsupportedBrowser?_.intl.formatMessage({id:"6bRQ0U",defaultMessage:"Done"}):_.intl.formatMessage({id:"6fTvLO",defaultMessage:"Begin setup"}),submitting:this.state.submitting},r.default.createElement("div",{className:"modal-img"},r.default.createElement(p.Image,{src:g.static_url("/static/images/security_keys/insert-vflkCfC4_.png"),srcHiRes:g.static_url("/static/images/security_keys/insert@2x-vflTxG2RJ.png")})),r.default.createElement("div",{className:"instructions"},r.default.createElement("p",null,_.intl.formatMessage({id:"mgikY5",defaultMessage:"A security key allows you to complete two-step verification securely and conveniently, when logging into Dropbox. Learn more"},{a:e=>r.default.createElement("a",{href:"/help/363#2fa-security-keys",rel:"noopener noreferrer",target:"_blank"},e)}))))}}d.SecurityKeyIntroModal=F,F.displayName="SecurityKeyIntroModal";class j extends r.default.Component{constructor(e){super(e),this.onPrepareAccept=()=>t.__awaiter(this,void 0,void 0,(function*(){this.setState({registrationStatus:"pending_registration"})})),this.onAuthenticatorCallback=e=>t.__awaiter(this,void 0,void 0,(function*(){this.setState({submitting:!0});const d=yield l.finishSecurityKeyRegistration(this.props.user.id,this.props.checkpointToken,e);this.setState({submitting:!1}),"success"===d.type?(this.props.onKeyAdded(),this.setState({registrationStatus:"success",deviceGid:d.data.device_gid})):"error"===d.type?this.setState({registrationStatus:"error",unexpectedError:d.localizedError}):this.setState({registrationStatus:"error"})})),this.renderPrepare=()=>r.default.createElement(S,{title:this.props.title,onAccept:this.onPrepareAccept,acceptButtonText:_.intl.formatMessage({id:"cTRGoc",defaultMessage:"Key inserted"}),submitting:this.state.submitting,errorText:this.state.unexpectedError},r.default.createElement("div",{className:"modal-img"},r.default.createElement(p.Image,{src:g.static_url("/static/images/security_keys/insert-vflkCfC4_.png"),srcHiRes:g.static_url("/static/images/security_keys/insert@2x-vflTxG2RJ.png")})),r.default.createElement("div",{className:"instructions"},r.default.createElement("p",null,_.intl.formatMessage({id:"3Ol37w",defaultMessage:"Start by inserting your security key into a USB port. Learn more"},{a:e=>r.default.createElement("a",{href:"/help/363#2fa-security-keys",rel:"noopener noreferrer",target:"_blank"},e)})))),this.renderPending=()=>r.default.createElement(S,{title:this.props.title,errorText:this.state.unexpectedError},r.default.createElement("div",{className:"modal-img"},r.default.createElement(p.Image,{src:g.static_url("/static/images/security_keys/detect-vflwOn2Nf.png"),srcHiRes:g.static_url("/static/images/security_keys/detect@2x-vflx2BPRH.png")})),r.default.createElement("div",{className:"instructions"},r.default.createElement("p",null,r.default.createElement(p.Image,{src:g.static_url("/static/images/icons/ajax-loading-small-vfl3Wt7C_.gif"),className:"scanning-wheel"}),_.intl.formatMessage({id:"tq1aa1",defaultMessage:"Scanning for security key"})),r.default.createElement("p",null,_.intl.formatMessage({id:"e8eCgM",defaultMessage:"If your key has a button or a gold disk, tap it now. Learn more"},{a:e=>r.default.createElement("a",{href:"/help/363#2fa-security-keys",rel:"noopener noreferrer",target:"_blank"},e)})))),this.retryRegister=()=>{this.setState({registrationStatus:"pending_registration"})},this.renderError=()=>r.default.createElement(S,{title:this.props.title,onAccept:this.retryRegister,acceptButtonText:_.intl.formatMessage({id:"n1zYou",defaultMessage:"Retry"}),errorText:this.state.unexpectedError},r.default.createElement("div",{className:"modal-img"},r.default.createElement(p.Image,{src:g.static_url("/static/images/security_keys/detect-vflwOn2Nf.png"),srcHiRes:g.static_url("/static/images/security_keys/detect@2x-vflx2BPRH.png")})),r.default.createElement("div",{className:"instructions"},r.default.createElement("p",null,_.intl.formatMessage({id:"50+STL",defaultMessage:"Re-insert your key and click ‘Retry’"})))),this.setNickname=e=>this.setState({nickname:e.currentTarget.value}),this.renameAndFinish=()=>{if(this.state.nickname){this.setState({renameSubmitting:!0}),(new u.UserApiV2Client).ns("security_settings").rpc("rename_auth_device_v2",{device_gid:this.state.deviceGid,nickname:this.state.nickname},{subjectUserId:this.props.user.id}).then(e=>{this.setState({renameSubmitting:!1}),this.props.onKeyAdded(),this.props.onFinish()},e=>{this.setState({renameSubmitting:!1}),this.props.onFinish()})}else this.props.onFinish()},this.state={submitting:!1,renameSubmitting:!1,registrationStatus:"prepare",deviceGid:"",nickname:""},this.currentRequest=this.props.request}componentDidUpdate(e,d){return t.__awaiter(this,void 0,void 0,(function*(){if(d.registrationStatus!==this.state.registrationStatus&&"pending_registration"===this.state.registrationStatus)if(void 0===this.currentRequest&&(this.setState({submitting:!0}),this.currentRequest=yield l.startSecurityKeyRegistration(this.props.user.id,this.props.checkpointToken),this.setState({submitting:!1})),"success"===this.currentRequest.type){const e=yield $.register(this.currentRequest.request);this.currentRequest=void 0,this.onAuthenticatorCallback(e)}else this.setState({registrationStatus:"error",unexpectedError:y})}))}renderSuccess(){return r.default.createElement(S,{title:this.props.title,acceptButtonText:_.intl.formatMessage({id:"t0ve6c",defaultMessage:"Finish"}),onAccept:this.renameAndFinish,submitting:this.state.renameSubmitting},r.default.createElement("div",{className:"modal-img"},r.default.createElement(p.Image,{src:g.static_url("/static/images/security_keys/success-vfldNQ5IO.png"),srcHiRes:g.static_url("/static/images/security_keys/success@2x-vflv-3UZY.png")})),r.default.createElement("div",{className:"instructions"},r.default.createElement("p",null,_.intl.formatMessage({id:"qAhMHO",defaultMessage:"Key added!"})),r.default.createElement("p",null,_.intl.formatMessage({id:"FvQTeI",defaultMessage:"You can now use your security key to complete two-step verification when you sign into Dropbox."})),r.default.createElement("p",null,_.intl.formatMessage({id:"/8wKhI",defaultMessage:"If you’d like, you can also set a nickname for this security key, so that it’s easier to tell apart from any other key you have."}))),r.default.createElement(a.TextInput,{id:"nickname",value:this.state.nickname,onChange:this.setNickname,"disable-errors":!0,placeholder:_.intl.formatMessage({id:"J/uM6N",defaultMessage:"for example, ‘yellow USB key’"}),maxLength:100}))}render(){switch(this.state.registrationStatus){case"prepare":return this.renderPrepare();case"pending_registration":return this.renderPending();case"error":return this.renderError();case"success":return this.renderSuccess()}}}d.SecurityKeyRegisterModal=j,j.displayName="SecurityKeyRegisterModal";class B extends r.default.Component{constructor(e){super(e),this.onAccept=()=>t.__awaiter(this,void 0,void 0,(function*(){this.setState({submitting:!0});const e=yield l.revokeAllTrustedDevices(this.props.user.id,this.props.checkpointToken);if(this.setState({submitting:!1}),"success"===e.type)this.props.onAccept();else if("error"===e.type)switch(e.error){case"EXPIRED":this.props.onPasswordExpired()}else this.setState({unexpectedError:y})})),this.state={submitting:!1}}render(){return r.default.createElement(S,{title:this.props.title,acceptButtonText:_.intl.formatMessage({id:"nOO9Qi",defaultMessage:"OK"}),onAccept:this.onAccept,dismissOptions:{text:_.intl.formatMessage({id:"d9/SE1",defaultMessage:"Cancel"}),onDismiss:this.props.onDismiss},id:"twofactor-revoke-all-trusted-devices",submitting:this.state.submitting,errorText:this.state.unexpectedError},r.default.createElement("p",null,_.intl.formatMessage({id:"B7S5UI",defaultMessage:"To sign in again you’ll need your phone or a backup option for the second step."})))}}d.RevokeAllTrustedDevicesModal=B,B.displayName="RevokeAllTrustedDevicesModal"})),define("metaserver/static/js/modules/clean/account_page/widgets/two_step_verification/modals/phone_input",["require","exports","tslib","react","styled-components","metaserver/static/js/modules/constants/viewer","metaserver/static/js/modules/core/i18n","metaserver/static/js/modules/clean/static_urls","metaserver/static/js/modules/clean/react/select","metaserver/static/js/modules/clean/react/input_dig","phone_helpers"],(function(e,d,t,s,r,n,a,i,o,l,c){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.PhoneInput=void 0,s=t.__importDefault(s),r=t.__importDefault(r),n=t.__importStar(n),o=t.__importStar(o),l=t.__importStar(l),c=t.__importStar(c);const u=l.text,$=o.input,p=o.option,m=r.default($)` .select-input-input { padding: 0 6px !important; } `,h=r.default.div` .phone-text { padding-bottom: 13px; } `,f=r.default(p)` &&&& { vertical-align: baseline; } `;class g extends s.default.Component{constructor(e){super(e),this.getFullNumber=()=>c.full_number(this.state.selectedCountryCode,this.state.phoneNumber),this.getCountryIso=()=>c.iso_to_dialing(this.state.selectedCountryCode),this.getExampleNumber=()=>c.get_example_mobile_number(this.getCountryIso()),this.onCountrySelected=(e,d)=>{this.setState({selectedCountryCode:d})},this.bindToInput=e=>d=>{this.setState(Object.assign(Object.assign({},this.state),{[e]:d.currentTarget.value}))},this.state={selectedCountryCode:n.LOCALE||"US",phoneNumber:""}}componentDidUpdate(e,d){this.state.selectedCountryCode===d.selectedCountryCode&&this.state.phoneNumber===d.phoneNumber||this.notifyListenerOfPhoneInput()}notifyListenerOfPhoneInput(){this.getFullNumber()?c.is_valid(this.getFullNumber())?this.props.onPhoneNumberInput({type:"success",phoneNumber:this.getFullNumber()}):this.props.onPhoneNumberInput({type:"error"}):this.props.onPhoneNumberInput({type:"empty"})}renderCountryList(){return s.default.createElement(m,{onChange:this.onCountrySelected,value:this.state.selectedCountryCode,className:"phone-country",variant:"small"},this.props.countryList.map(e=>s.default.createElement(f,{key:e.countryCode,value:e.countryCode},e.countryName," ",e.phoneCode)))}renderLoading(){return s.default.createElement("img",{src:i.static_url("/static/images/icons/ajax-loading-small-blue-vflVk_QNP.gif"),alt:a.intl.formatMessage({id:"jybGUg",defaultMessage:"Loading"})})}render(){if(this.props.isLoading)return this.renderLoading();const e=c.format(this.getCountryIso(),this.state.phoneNumber),d=!this.state.phoneNumber||c.is_valid(this.getFullNumber());return s.default.createElement(h,{className:"phone-number-input phone-number-input-inline"},s.default.createElement("div",{className:"phone-number-error-wrapper"},s.default.createElement("div",{className:"phone-number-error error-message"}," ")),this.renderCountryList(),s.default.createElement(u,{placeholder:this.getExampleNumber(),className:"phone-text",inline:!0,variant:"small",onChange:this.bindToInput("phoneNumber"),value:e,error:d?void 0:{message_text:a.intl.formatMessage({id:"Q8gucb",defaultMessage:"Invalid phone number"})}}))}}d.PhoneInput=g,g.displayName="PhoneInput"})),define("metaserver/static/js/modules/clean/account_page/widgets/two_step_verification/modals/twofactor_api",["require","exports","tslib","metaserver/static/js/modules/clean/deprecated_ajax/ajax_as_promised_jquery","metaserver/static/js/modules/clean/auth/authenticator"],(function(e,d,t,s,r){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.revokeAllTrustedDevices=d.finishSecurityKeyRegistration=d.startSecurityKeyRegistration=d.getRecoveryCodes=d.disableTwofactor=d.enableTwofactorFinish=d.addBackupPhone=d.confirmCode=d.submitPhoneNumber=d.fetchOfflineKey=d.confirmPassword=void 0,r=t.__importStar(r);const n={type:"unknown_error"};d.confirmPassword=function(e,d,r){return t.__awaiter(this,void 0,void 0,(function*(){try{let t;t="enable"===r?"/account/twofactor/confirm_password":"disable"===r?"/account/twofactor/disable_confirm_password":"/account/twofactor/edit_confirm_password";const n=yield s.WebRequest({url:t,data:{password:d},subject_user:e});if(n.startsWith("OK:"))return{type:"success",checkpointToken:n.substring(3)};switch(n){case"EXPIRED_PASSWORD":case"INVALID":case"RATELIMIT":case"ALREADY_ENABLED":case"ALREADY_DISABLED":return{type:"error",error:n}}}catch(e){}return n}))},d.fetchOfflineKey=function(e,d){return t.__awaiter(this,void 0,void 0,(function*(){try{const t=yield s.WebRequest({url:"/account/twofactor/add_phone",data:{checkpoint_token:d,offline:!0},subject_user:e});if(t.startsWith("OK:"))return{type:"success",b32EncodedKey:t.substring(3)};if("EXPIRED"===t)return{type:"error",error:"EXPIRED"}}catch(e){}return n}))},d.submitPhoneNumber=function(e,d,r){return t.__awaiter(this,void 0,void 0,(function*(){try{const t=yield s.WebRequest({url:"/account/twofactor/add_phone",data:{checkpoint_token:d,phone_number:r},subject_user:e});if(t.startsWith("OK:")){return{type:"success",phoneSig:t.substring(3)}}switch(t){case"EXPIRED":case"UNREACHABLE":case"BADCARRIER":case"INVALIDNUMBER":case"NOTAMOBILE":case"RATELIMIT":return{type:"error",error:t}}}catch(e){}return n}))},d.confirmCode=function(e,d,r,a){return t.__awaiter(this,void 0,void 0,(function*(){try{const t=yield s.WebRequest({url:"/account/twofactor/confirm_phone",data:{checkpoint_token:d,twofactor_code:r,phone_sig:a},subject_user:e}),n=JSON.parse(t);if("OK"===n.result)return{type:"success",backupCodes:n.codes};switch(n.result){case"INVALID":case"EXPIRED":case"RATELIMIT":return{type:"error",error:n.result}}}catch(e){}return n}))},d.addBackupPhone=function(e,d,r){return t.__awaiter(this,void 0,void 0,(function*(){try{const t=yield s.WebRequest({url:"/account/twofactor/set_backup_phone",data:{checkpoint_token:d,backup_phone_number:r||""},subject_user:e});if("OK"===t)return{type:"success"};if("EXPIRED"===t)return{type:"error",error:t}}catch(e){}return n}))},d.enableTwofactorFinish=function(e,d,r){return t.__awaiter(this,void 0,void 0,(function*(){try{const t={checkpoint_token:d};null!==r&&(t.backup_phone_number=r);const n=yield s.WebRequest({url:"/account/twofactor/enable_finish",data:t,subject_user:e});if("OK"===n)return{type:"success"};if("EXPIRED"===n)return{type:"error",error:"EXPIRED"}}catch(e){}return n}))},d.disableTwofactor=function(e,d){return t.__awaiter(this,void 0,void 0,(function*(){try{const t=yield s.WebRequest({url:"/account/twofactor/disable",data:{checkpoint_token:d},subject_user:e});if("OK"===t)return{type:"success"};if("EXPIRED"===t)return{type:"error",error:"EXPIRED"}}catch(e){}return n}))},d.getRecoveryCodes=function(e,d,r){return t.__awaiter(this,void 0,void 0,(function*(){try{const t=r?"/account/twofactor/new_rescue_code":"/account/twofactor/get_rescue_code",n=yield s.WebRequest({url:t,data:{checkpoint_token:d,user_json:!0},dataType:"json",subject_user:e});if("OK"===n.result)return{type:"success",backupCodes:n.codes};if("EXPIRED"===n.result)return{type:"error",error:"EXPIRED"}}catch(e){}return n}))},d.startSecurityKeyRegistration=function(e,d){return t.__awaiter(this,void 0,void 0,(function*(){try{const t=yield s.WebRequest({url:"/account/twofactor/u2f_start_registration",data:{checkpoint_token:d},subject_user:e}),a=JSON.parse(t),i={challenge_id:a.challenge_id};for(const e of Object.keys(r.PROTOCOLS))i[e]=a[e]&&JSON.parse(a[e]);return Object.keys(i).length>0?{type:"success",request:i}:n}catch(e){return n}}))},d.finishSecurityKeyRegistration=function(e,d,r){return t.__awaiter(this,void 0,void 0,(function*(){try{const t=yield s.WebRequest({url:"/account/twofactor/u2f_finish_registration",data:{checkpoint_token:d,device_response:JSON.stringify(r)},subject_user:e});return t.startsWith("err:")?{type:"error",localizedError:JSON.parse(t.substring("err:".length)).security_key_register.message_text}:{type:"success",data:JSON.parse(t)}}catch(e){return n}}))},d.revokeAllTrustedDevices=function(e,d){return t.__awaiter(this,void 0,void 0,(function*(){try{const t="/account/twofactor/revoke_all_trusted_devices",r=yield s.WebRequest({url:t,data:{checkpoint_token:d},subject_user:e});if("OK"===r)return{type:"success"};if("EXPIRED"===r)return{type:"error",error:"EXPIRED"}}catch(e){}return n}))}})),define("metaserver/static/js/modules/clean/react/admin/teams/onboarding/web/components/send_mobile_link",["require","exports","tslib","react","react-intl","dig-components/buttons","dig-components/icons","dig-components/icons/src","dig-components/progress_indicators","dig-components/tabs","dig-components/text_fields","dig-components/typography","metaserver/static/js/modules/clean/static_urls","metaserver/static/js/modules/clean/account_page/widgets/two_step_verification/modals/flow_steps","metaserver/static/js/modules/clean/deprecated_ajax/ajax_as_promised_jquery","metaserver/static/js/modules/clean/analytics","metaserver/static/js/modules/clean/growth/smb_funnel/smb_funnel_logger","metaserver/static/js/modules/clean/react/growth/send_app_link_form","metaserver/static/js/modules/clean/react/growth/send_app_link_form_disclaimer","metaserver/static/js/modules/clean/react/admin/teams/onboarding/web/constants","metaserver/static/js/modules/clean/react/growth/personalization/download_app_zone/messages","metaserver/static/js/modules/core/i18n","metaserver/static/js/modules/core/notify","metaserver/static/js/modules/clean/react/components/css","metaserver/static/js/api_v2/default_user_client","metaserver/static/js/modules/clean/react/growth/open_in_util"],(function(e,d,t,s,r,n,a,i,o,l,c,u,$,p,m,h,f,g,_,b,v,y,S,E,M,w){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.SendMobileLink=d.usePhoneNumberConstants=void 0,s=t.__importStar(s);const C=r.defineMessage({id:"GU8La8",defaultMessage:"Link sent to {email}"}),k=r.defineMessage({id:"93LvA5",defaultMessage:"There was an error sending the link"}),A={EMAIL:{id:"email",label:y.intl.formatMessage({id:"Jf36zT",defaultMessage:"By email"}),content:y.intl.formatMessage({id:"5ZXdxv",defaultMessage:"We'll send a link to:"}),buttonText:y.intl.formatMessage({id:"JuuMAX",defaultMessage:"Email me the link"})},PHONE:{id:"phone",label:y.intl.formatMessage({id:"DVUAxh",defaultMessage:"By text"}),content:y.intl.formatMessage({id:"OeOpuZ",defaultMessage:"We'll send a link to:"}),buttonText:y.intl.formatMessage({id:"6sVXnz",defaultMessage:"Text me the link"})}},N={PHONE:{id:"phone",label:y.intl.formatMessage({id:"GYj3Ib",defaultMessage:"Text message"}),content:y.intl.formatMessage({id:"eQMMZM",defaultMessage:"Add your phone number and we'll send you a download link."}),buttonText:y.intl.formatMessage({id:"uFVAPQ",defaultMessage:"Send link"})},QR:{id:"qr",label:y.intl.formatMessage({id:"Y+Foy6",defaultMessage:"QR code"}),content:y.intl.formatMessage({id:"heeSqP",defaultMessage:"Point your camera at the QR code to download Dropbox."}),buttonText:""}},I=$.static_url("/static/images/growth/personalization/download_app_qr_code_no_margin-vflidVVmZ.png");d.usePhoneNumberConstants=()=>{const[e,d]=s.useState(null);return s.useEffect(()=>{p.fetchPhoneNumberConstants().then(d)},[]),e};const T=({email:e,expMobileAppLinksVariant:r="OFF",dontNotify:$=!1,loggingExtras:p={},sendEmailButtonRef:E,sendTextButtonRef:T,showPrimaryButton:L})=>{let R=A.EMAIL,P=A.PHONE;const x=["V3","V4","V5","V6"].includes(r);["V3","V4"].includes(r)&&(R=N.PHONE,P=N.QR),["V5","V6"].includes(r)&&(R=N.QR,P=N.PHONE);const[O,D]=s.useState(R.id),[F,j]=s.useState(I);s.useEffect(()=>{L&&L(O!==N.QR.id),(function(){return t.__awaiter(this,void 0,void 0,(function*(){const e=w.getCurrentUser(),d=new M.DefaultUserApiV2Client(e),{image_src:t}=yield d.ns("growth").rpc("get_mobile_app_link_qr_image",void 0,{});return t}))})().then(e=>{j(e)})},[]);const B=d.usePhoneNumberConstants();return s.default.createElement("div",{className:"send-mobile-link"},s.default.createElement(l.Tabs,{selectedTab:O,onSelection:e=>{D(e),L&&L(e!==N.QR.id)}},s.default.createElement(l.Tabs.Group,null,s.default.createElement(l.Tabs.Tab,{id:R.id},R.label),s.default.createElement(l.Tabs.Tab,{id:P.id},P.label)),s.default.createElement(l.Tabs.Panel,{tabId:A.EMAIL.id},s.default.createElement("div",{className:"input-container"},s.default.createElement(u.Text,{tagName:"label",htmlFor:"email-input",size:"small",isBold:!0},A.EMAIL.content),s.default.createElement(c.TextInput,{id:"email-input",size:"large",value:e,withRightAccessory:s.default.createElement(a.UIIcon,{src:i.LockLine}),disabled:!0})),s.default.createElement(n.Button,{className:"setup-button",variant:"primary",size:"large",onClick:()=>t.__awaiter(void 0,void 0,void 0,(function*(){const d={ctaName:"email_link"};try{h.TeamsWebActionsLogger.log("send_mobile_app_link",Object.assign(Object.assign({},p),{cta_shown:"email_link",sent_address:e})),yield m.WebRequest({url:"/email_mobile_app",data:{recipient_email:e}}),d.success="true",$||S.Notify.success(y.intl.formatMessage(C,{email:e}))}catch(e){d.success="false",$||S.Notify.error(y.intl.formatMessage(k))}finally{f.SMBFunnelLogger.log(b.AMPMetrics.ACTIVATION_MOBILE_LINK_SEND,d)}})),ref:E,style:{display:E?"none":void 0}},A.EMAIL.buttonText),!!E&&s.default.createElement("div",{style:{height:2}}),s.default.createElement("div",{className:"notification-message"},s.default.createElement(u.Text,{tagName:"span",color:"faint"},y.intl.formatMessage({id:"hHhhyq",defaultMessage:"Double check your spam folder."})))),s.default.createElement(l.Tabs.Panel,{tabId:x?N.PHONE.id:A.PHONE.id},s.default.createElement("div",{className:"input-container"},B?s.default.createElement(s.default.Fragment,null,x?s.default.createElement(u.Text,{tagName:"p",size:"large"},N.PHONE.content):s.default.createElement(u.Text,{tagName:"label",size:"small",isBold:!0},A.PHONE.content),s.default.createElement(g.SendAppLinkForm,{phoneInputData:B,onStatusChange:e=>{const{phoneNumber:d,sendStatus:t}=e;t===g.SendStatus.SENDING?h.TeamsWebActionsLogger.log("send_mobile_app_link",Object.assign(Object.assign({},p),{cta_shown:"text_link",sent_address:d})):t===g.SendStatus.SUCCESS?f.SMBFunnelLogger.log(b.AMPMetrics.ACTIVATION_MOBILE_LINK_SEND,{ctaName:"text_link",success:"true"}):t===g.SendStatus.FAILURE&&f.SMBFunnelLogger.log(b.AMPMetrics.ACTIVATION_MOBILE_LINK_SEND,{ctaName:"text_link",success:"false"}),$||g.showStatusUsingNotify(e)},size:"large",SubmitButton:()=>s.default.createElement(n.Button,{className:"setup-button",variant:"primary",size:"large",type:"submit",ref:T,style:{display:T?"none":void 0}},x?N.PHONE.buttonText:A.PHONE.buttonText),formTypes:[g.SendAppLinkFormType.SMS],buttonPosition:g.SendAppLinkButtonPosition.BOTTOM,isFullWidth:!0})):s.default.createElement("div",{style:{textAlign:"center"}},s.default.createElement(o.Spinner,{"aria-valuetext":"Loading"}))),!!B&&s.default.createElement(_.SendAppLinkFormDisclaimer,{size:"large",color:"faint"})),s.default.createElement(l.Tabs.Panel,{tabId:N.QR.id},s.default.createElement("div",{className:"input-container"},s.default.createElement(u.Text,{tagName:"p",size:"large"},N.QR.content),s.default.createElement("div",{className:"qr-code-container"},s.default.createElement("img",{className:"qr-code-img",alt:y.intl.formatMessage(v.messages.downloadAppQRCodeImageAlt),src:F}))))))};T.displayName="SendMobileLinkWithoutCss",d.SendMobileLink=E.requireCssWithComponent(T,["/static/css/admin/teams/essential_setup/send_mobile_link-vflX2xPI1.css"])})),define("metaserver/static/js/modules/clean/react/growth/open_in_util",["require","exports","tslib","metaserver/static/js/modules/clean/active_user","metaserver/static/js/modules/clean/react/admin/teams/onboarding/web/trackers/personalization_tracker","metaserver/static/js/modules/clean/growth/smb_funnel/smb_funnel_logger","metaserver/static/js/modules/clean/react/admin/teams/onboarding/web/constants","metaserver/static/js/modules/clean/viewer","metaserver/static/js/modules/clean/analytics","metaserver/static/js/modules/core/browser","metaserver/static/js/modules/core/custom_protocol"],(function(e,d,t,s,r,n,a,i,o,l,c){"use strict";function u(e,d){d?l.redirect("/download"):l.redirect((null==e?void 0:e.is_team_admin)?"/team/setup/essential?autodownload=true":"/team/join/complete")}Object.defineProperty(d,"__esModule",{value:!0}),d.openInDesktopApp=d.redirectToDownloadPage=d.getCurrentUser=d.loggingExtras=d.ESSENTIAL_SETUP_SEEN_DESKTOP_TOOLTIP=d.ESSENTIAL_SETUP_ACTION_TRACKER=void 0,l=t.__importStar(l),d.ESSENTIAL_SETUP_ACTION_TRACKER="essential_setup",d.ESSENTIAL_SETUP_SEEN_DESKTOP_TOOLTIP="seen_desktop_tooltip",d.loggingExtras={module_name:"clink_first_task",framework:"team_setup_essential"},d.getCurrentUser=function(){const e=s.getActiveUser();if(e)return e;const d=i.Viewer.get_viewer().get_users();return d.length>0?d[d.length-1]:void 0},d.redirectToDownloadPage=u,d.openInDesktopApp=function({user:e,textType:s,openWithUnityArgs:i}){return t.__awaiter(this,void 0,void 0,(function*(){e&&(s&&r.trackClickDesktopCTA(),o.TeamsWebActionsLogger.log("desktop_icon_click",d.loggingExtras),c.canLaunchUri()||u(e,i),c.launchUri("dropbox-client://desktop_folder").then(()=>{var e;n.SMBFunnelLogger.log(a.AMPMetrics.ACTIVATION_DESKTOP_ICON_OPEN,{clientDetected:"true",surface:(null===(e=null==i?void 0:i.fileActionLoggerArgs)||void 0===e?void 0:e.actionSurface)||"none"}),o.TeamsWebActionsLogger.log("desktop_icon_click_result",Object.assign({result:"detected"},d.loggingExtras))}).catch(()=>{var t;n.SMBFunnelLogger.log(a.AMPMetrics.ACTIVATION_DESKTOP_ICON_OPEN,{clientDetected:"false",surface:(null===(t=null==i?void 0:i.fileActionLoggerArgs)||void 0===t?void 0:t.actionSurface)||"none"}),o.TeamsWebActionsLogger.log("desktop_icon_click_result",Object.assign({result:"no_client_detected"},d.loggingExtras)),u(e,i)}))}))}})),define("metaserver/static/js/modules/clean/react/growth/open_in_mobile_modal_controller",["require","exports","tslib","react-redux","react","dig-components/buttons","dig-components/icons/src","dig-components/snackbar","dig-components/typography","dig-components/icons","metaserver/static/js/modules/clean/react/browse/data/selectors","metaserver/static/js/api_v2/default_user_client","metaserver/static/js/modules/clean/react/browse/data/store","metaserver/static/js/modules/core/i18n","metaserver/static/js/modules/clean/react/growth/open_in_util","metaserver/static/js/modules/clean/react/growth/send_mobile_link_modal","metaserver/static/js/modules/clean/viewer"],(function(e,d,t,s,r,n,a,i,o,l,c,u,$,p,m,h,f){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.OpenInMobileModalController=d.OpenInMobileModalControllerWithoutProvider=void 0,r=t.__importDefault(r);let g=null;class _ extends r.default.PureComponent{constructor(e){super(e),this.user=f.Viewer.get_viewer().work_user||f.Viewer.get_viewer().personal_user,this.handleDismissSendMobileLinkModal=()=>{this.setState({showSendMobileLinkModal:!1})},this.handleHideOpenInMobileSnackbar=()=>{this.setState({showOpenInMobileSnackbar:!1})},this.state={isSendingNotification:!1,showSendMobileLinkModal:!1,showOpenInMobileSnackbar:!1,dismissSendMobileLinkModalAfterSubmit:!1}}componentDidMount(){g||(g=this)}componentWillUnmount(){g=null}render(){const{showSendMobileLinkModal:e,showOpenInMobileSnackbar:d}=this.state,{expMobileAppLinksVariant:t}=this.props,s=this.user&&r.default.createElement(h.SendMobileLinkModal,{linkedEmail:this.user.email,showSendMobileLinkModal:e,onDismiss:this.handleDismissSendMobileLinkModal,dismissAfterSubmit:this.state.dismissSendMobileLinkModalAfterSubmit,loggingExtras:m.loggingExtras,expMobileAppLinksVariant:t}),c=r.default.createElement(i.Snackbar,{className:"open-in-mobile-snackbar",open:d,onRequestClose:this.handleHideOpenInMobileSnackbar,timeout:0},r.default.createElement(o.Text,{inverse:!0},r.default.createElement(l.UIIcon,{className:"open-in-mobile-snackbar__icon",src:a.CheckmarkCircleLine})),r.default.createElement(i.Snackbar.Message,null,p.intl.formatMessage({id:"U/fUL+",defaultMessage:"Check your device for a notification"})),r.default.createElement(i.Snackbar.Actions,null,r.default.createElement(n.Button,{variant:"transparent",inverse:!0,onClick:()=>{var e;return this.sendNotificationToPhone((null===(e=this.props.folder)||void 0===e?void 0:e.fq_path)||"/",this.state.campaign)}},p.intl.formatMessage({id:"A+nrfT",defaultMessage:"Send it again"})),r.default.createElement(n.Button,{variant:"transparent",inverse:!0,onClick:this.handleHideOpenInMobileSnackbar},p.intl.formatMessage({id:"JBINyn",defaultMessage:"Close"}))));return r.default.createElement(r.default.Fragment,null,s,c)}sendNotificationToPhone(e,d){return t.__awaiter(this,void 0,void 0,(function*(){this.setState({isSendingNotification:!0,campaign:d});try{const t=new u.DefaultUserApiV2Client(this.user),{success:s}=yield t.ns("growth").rpc("send_open_mobile_app_notification",{folder_path:e,campaign:d},{});if(!s)throw new Error("Not sent");this.setState({showOpenInMobileSnackbar:!0})}catch(e){this.setState({showSendMobileLinkModal:!0})}finally{this.setState({isSendingNotification:!1})}}))}showMobileLinkModal(e=!1){this.setState({showSendMobileLinkModal:!0,dismissSendMobileLinkModalAfterSubmit:e})}}d.OpenInMobileModalControllerWithoutProvider=_,_.displayName="OpenInMobileModalControllerWithoutProvider";const b=s.connect(e=>({expMobileAppLinksVariant:c.browsePostTTIExperiments(e).expMobileAppLinksVariant}))(_),v=$.getStoreForBrowse();class y extends r.default.PureComponent{static sendNotificationToPhone(e,d){return t.__awaiter(this,void 0,void 0,(function*(){g&&!g.state.isSendingNotification&&(yield g.sendNotificationToPhone(e,d))}))}static showMobileLinkModal(e=!1){g&&!g.state.showSendMobileLinkModal&&g.showMobileLinkModal(e)}render(){return r.default.createElement(s.Provider,{store:v},r.default.createElement(b,Object.assign({},this.props)))}}d.OpenInMobileModalController=y,y.displayName="OpenInMobileModalController"})),define("metaserver/static/js/modules/clean/react/growth/personalization/download_app_zone/messages",["require","exports"],(function(e,d){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.messages=void 0,d.messages={downloadAppQRCodeTitle:{id:"downloadAppQRCodeTitle",defaultMessage:"Install Dropbox on your devices",description:"Download App panel title"},downloadAppQRCodeDescription:{id:"downloadAppQRCodeDescription",defaultMessage:"Open your phone camera and point it here or ",description:"Description text on how to use the QR code"},downloadAppQRCodeImageAlt:{id:"downloadAppQRCodeImageAlt",defaultMessage:"Download Dropbox using this QR code",description:"Alt text for QR code image"},sendDownloadAppLinkSuccess:{id:"sendDownloadAppLinkSuccess",defaultMessage:"Link sent to {email}",description:"Success message for sending download app link"},sendDownloadAppLinkError:{id:"sendDownloadAppLinkError",defaultMessage:"Error sending the link, please try again.",description:"Error message for failing to send the download app link"},dismissDownloadAppZone:{id:"dismissDownloadAppZone",defaultMessage:"Dismiss panel",description:"Dismiss panel action aria-label text"}}})),define("metaserver/static/js/modules/clean/react/growth/send_app_link_form",["require","exports","tslib","react","react-dom","metaserver/static/js/modules/clean/react/components/css","phone_helpers","metaserver/static/js/modules/constants/viewer","classnames","metaserver/static/js/modules/core/notify","metaserver/static/js/modules/core/i18n","metaserver/static/js/modules/clean/deprecated_ajax/ajax_jquery","metaserver/static/js/modules/clean/mobile_tracker","metaserver/static/js/modules/clean/react/growth/send_app_link_form_disclaimer","metaserver/static/js/modules/clean/validators/email_validator","metaserver/static/js/modules/core/dom","dig-components/form_row","dig-components/text_fields","dig-components/icons","dig-components/icons/src","dig-components/typography","dig-components/buttons"],(function(e,d,t,s,r,n,a,i,o,l,c,u,$,p,m,h,f,g,_,b,v,y){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.SendAppLinkForm=d.SendAppLinkFormComponent=d.showStatusUsingNotify=d.SendAppLinkFormLayout=d.SendAppLinkButtonPosition=d.SendAppLinkFormType=d.SendStatus=void 0,s=t.__importDefault(s),r=t.__importStar(r),a=t.__importStar(a),i=t.__importStar(i),o=t.__importDefault(o),u=t.__importStar(u),m=t.__importDefault(m),h=t.__importStar(h);const S=["AQ","BV","PN"];var E,M,w;(function(e){e.SENDING="sending",e.SUCCESS="success",e.INVALID="invalid",e.FAILURE="failure"})(E=d.SendStatus||(d.SendStatus={})),(function(e){e.SMS="sms",e.EMAIL="email"})(M=d.SendAppLinkFormType||(d.SendAppLinkFormType={})),(function(e){e.RIGHT="button-right",e.BOTTOM="button-bottom"})(d.SendAppLinkButtonPosition||(d.SendAppLinkButtonPosition={})),(function(e){e.DEFAULT="default",e.SUBMIT_ON_BOTTOM="submit-on-bottom"})(w=d.SendAppLinkFormLayout||(d.SendAppLinkFormLayout={})),d.showStatusUsingNotify=({currentFormType:e,sendStatus:d,phoneNumber:t,email:s})=>{switch(l.Notify.clear(),d){case E.SENDING:l.Notify.info(c.intl.formatMessage({id:"zq/eht",defaultMessage:"Sending"}),60);break;case E.SUCCESS:let d;switch(e){case M.SMS:d=c.intl.formatMessage({id:"GHBzHK",defaultMessage:"Link sent to {phone_number}"},{phone_number:t});break;case M.EMAIL:d=c.intl.formatMessage({id:"RQAh9Y",defaultMessage:"Link sent to {email}"},{email:s})}d&&l.Notify.success(d,3);break;case E.INVALID:let r;switch(e){case M.SMS:r=c.intl.formatMessage({id:"SYbWri",defaultMessage:"Please enter a valid phone number"});break;case M.EMAIL:r=c.intl.formatMessage({id:"CAJjXO",defaultMessage:"Please enter a valid email address"})}r&&l.Notify.error(r,3);break;case E.FAILURE:l.Notify.error(c.intl.formatMessage({id:"2/fjiQ",defaultMessage:"There was an error sending the link"}),3)}};class C extends s.default.Component{constructor(e){if(super(e),this.getUnformattedNumber=e=>(e=e||this.state.phoneNumber).replace(/[^\d]/g,""),this.isPhoneNumberValid=e=>{e=e||this.state.phoneNumber;const d=this.getPhoneNumberPlaceholder();return this.getUnformattedNumber(e).length===this.getUnformattedNumber(d).length},this.isEmailValid=e=>(e=e||this.state.email,m.default.validate(e).every(e=>e.valid)),this.handleSubmit=e=>{e.preventDefault();const d=$.getMobileTrackerCampaignParams();switch(this.state.currentFormType){case M.SMS:this.state.sendStatus!==E.SENDING&&(this.isPhoneNumberValid()?(this.setState({sendStatus:E.SENDING}),u.SilentBackgroundRequest({url:"/text_mobile_app",data:Object.assign({country_code:this.getCountryCode(),phone_number:this.getUnformattedNumber()},d),success:e=>{"True"===e?this.setState({sendStatus:E.SUCCESS}):this.setState({sendStatus:E.FAILURE})},error:()=>{this.setState({sendStatus:E.FAILURE})}})):this.setState({sendStatus:E.INVALID}));break;case M.EMAIL:this.state.sendStatus!==E.SENDING&&(this.isEmailValid()?(this.setState({sendStatus:E.SENDING}),u.SilentBackgroundRequest({url:"/email_mobile_app",data:Object.assign({recipient_email:this.state.email},d),success:e=>{"True"===e?this.setState({sendStatus:E.SUCCESS}):this.setState({sendStatus:E.FAILURE})},error:()=>{this.setState({sendStatus:E.FAILURE})}})):this.setState({sendStatus:E.INVALID}))}this.props.onSubmit&&this.props.onSubmit(e)},this.handlePhoneNumberInput=()=>{this.phoneNumberInput&&this.setState({phoneNumber:this.phoneNumberInput.value})},this.handleCountryCodeInput=e=>{this.setState({countryAbbreviation:e.target.value})},this.getStateIconElement=()=>{const e="send-app-link-form__phone-email-input-icon";switch(this.state.sendStatus){case E.SUCCESS:return s.default.createElement(v.Text,{className:e},s.default.createElement(_.UIIcon,{src:b.CheckmarkLine}));case E.INVALID:return s.default.createElement(v.Text,{className:e,color:"error"},s.default.createElement(_.UIIcon,{src:b.WarningLine}))}return null},this.getCountryIso=()=>a.iso_to_dialing(this.state.countryAbbreviation),this.getPhoneNumberPlaceholder=()=>a.get_example_mobile_number(this.getCountryIso()),this.getCountryCode=e=>(e=e||this.state.countryAbbreviation,this.props.phoneInputData?this.props.phoneInputData.phone_code_map[e]:null),this.setPhoneNumberInputRef=e=>this.phoneNumberInput=e,this.handleFocusCountryCode=()=>{this.setState({isCountryCodeFocused:!0})},this.handleBlurCountryCode=()=>{this.setState({isCountryCodeFocused:!1})},this.renderHelperText=()=>{const{inputHelperText:e}=this.props,{sendStatus:d}=this.state;return e?s.default.createElement(f.FormHelperText,{isInvalid:d===E.INVALID||d===E.FAILURE},e):null},this.getPhoneInput=()=>{const{phoneInputData:e,buttonPosition:d,isFullWidth:t,smsInputPlaceholder:r,size:n="standard"}=this.props,{countryAbbreviation:i,sendStatus:l,phoneNumber:u,isCountryCodeFocused:$,mouseInSelect:p}=this.state,m=a.format(this.getCountryIso(),u),h=this.getPhoneNumberPlaceholder();return e?s.default.createElement("div",{className:`\n send-app-link-form__phone-input\n send-app-link-form__phone-input--${d}\n send-app-link-form__phone-input--${t?"full-width":"auto-width"}\n send-app-link-form__phone-input--${l}\n `},s.default.createElement("div",{className:"send-app-link-form__phone-input__input-group"},s.default.createElement("div",{className:"send-app-link-form__country-select"},s.default.createElement("label",{htmlFor:"send-app-link-form__country-select__input"},c.intl.formatMessage({id:"1SPrvR",defaultMessage:"Country"})),s.default.createElement("select",{id:"send-app-link-form__country-select__input",name:"country",className:"send-app-link-form__country-select__input",onChange:this.handleCountryCodeInput,onFocus:this.handleFocusCountryCode,onBlur:this.handleBlurCountryCode,value:i,onMouseEnter:this.onMouseEnterSelect,onMouseLeave:this.onMouseLeaveSelect},s.default.createElement("option",{disabled:!0,"aria-selected":!1},c.intl.formatMessage({id:"LrbExT",defaultMessage:"Country code"})),e.country_list.map(e=>{const[d,t]=e,r=this.getCountryCode(d);return r&&-1===S.indexOf(d)?s.default.createElement("option",{value:d,key:d,"aria-selected":i===d},`${t} ${r}`):null})),s.default.createElement("div",{className:o.default({"send-app-link-form__country-select__display":!0,"send-app-link-form__country-select__display--invalid":l===E.INVALID||l===E.FAILURE,"send-app-link-form__country-select__display--focused":$,"send-app-link-form__country-select__display--hovered":p}),"aria-hidden":!0},this.getCountryCode(),s.default.createElement(v.Text,{className:"send-app-link-form__country-select__display__icon"},s.default.createElement(_.UIIcon,{src:b.ChevronDownLine})))),s.default.createElement("div",{className:"send-app-link-form__phone-number"},s.default.createElement("label",{htmlFor:"send-app-link-form__phone-number__input"},c.intl.formatMessage({id:"iWHTv1",defaultMessage:"Phone number"})),s.default.createElement(g.TextInput,{id:"send-app-link-form__phone-number__input",type:"tel",name:"phone_number",className:"\n send-app-link-form__phone-number__input\n ",isInvalid:l===E.INVALID||l===E.FAILURE,placeholder:r||c.intl.formatMessage({id:"iWHTv1",defaultMessage:"Phone number"}),value:m,onChange:this.handlePhoneNumberInput,ref:this.setPhoneNumberInputRef,maxLength:h.length,size:n}),this.getStateIconElement())),this.renderHelperText()):null},this.setEmailInputRef=e=>this.emailInput=e,this.handleEmailInput=()=>{this.emailInput&&this.setState({email:this.emailInput.value})},this.getEmailInput=()=>{const{sendStatus:e,email:d}=this.state,{buttonPosition:t,isFullWidth:r,emailInputPlaceholder:n,size:a="standard"}=this.props;return s.default.createElement("div",{className:`\n send-app-link-form__email-input\n send-app-link-form__email-input--${t}\n send-app-link-form__email-input--${r?"full-width":"auto-width"}\n send-app-link-form__email-input--${e}\n `},s.default.createElement("div",{className:"send-app-link-form__email-input__input-group"},s.default.createElement("label",{htmlFor:"send-app-link-form__email__input"},c.intl.formatMessage({id:"yU0xda",defaultMessage:"Email address"})),s.default.createElement(g.TextInput,{id:"send-app-link-form__email__input",type:"email",name:"email",placeholder:n||c.intl.formatMessage({id:"yU0xda",defaultMessage:"Email address"}),value:d,onChange:this.handleEmailInput,ref:this.setEmailInputRef,isInvalid:e===E.INVALID||e===E.FAILURE,size:a}),this.getStateIconElement()),this.renderHelperText())},this.onMouseEnterSelect=()=>{this.setState({mouseInSelect:!0})},this.onMouseLeaveSelect=()=>{this.setState({mouseInSelect:!1})},this.getInactiveFormType=()=>{const e=this.props.formTypes.filter(e=>e!==this.state.currentFormType);return e.length?e[0]:null},this.getFormInputElement=()=>{switch(this.state.currentFormType){case M.SMS:return this.getPhoneInput();case M.EMAIL:return this.getEmailInput();default:return null}},this.getFormSwitchPhrase=()=>{switch(this.getInactiveFormType()){case M.SMS:return c.intl.formatMessage({id:"NIcDB+",defaultMessage:"Or text me the link"});case M.EMAIL:return c.intl.formatMessage({id:"2WiFdV",defaultMessage:"Or email me the link"});default:return null}},this.handleClickFormSwitch=e=>{e.preventDefault();const d=this.getInactiveFormType();d&&this.setState({currentFormType:d})},this.setFormRef=e=>{this.formRef=e},this.getSubmitButton=()=>{const{SubmitButton:e,isFullWidth:d}=this.props,{sendStatus:t,currentFormType:r}=this.state;return s.default.createElement("div",{className:`\n send-app-link-form__submit-wrapper\n send-app-link-form__submit-wrapper--${d?"full-width":"auto-width"}\n `},s.default.createElement(e,{sendStatus:t,currentFormType:r}))},this.getFormSwitchButton=e=>{const{isFullWidth:d,size:t}=this.props;return s.default.createElement("div",{className:o.default({"send-app-link-form__form-switch__wrapper":!0,"send-app-link-form__form-switch__wrapper--full-width":d,"send-app-link-form__form-switch__wrapper--auto-width":!d})},s.default.createElement(y.Button,{size:"large"===t?"standard":"small",variant:"transparent",onClick:this.handleClickFormSwitch,type:"button"},e))},this.getDisclaimer=()=>{const{currentFormType:e}=this.state,{size:d,disclaimerColor:t}=this.props;return s.default.createElement("div",{className:`\n send-app-link-form__disclaimer\n send-app-link-form__disclaimer--${e===M.SMS?"visible":"hidden"}\n `,"aria-hidden":e!==M.SMS},s.default.createElement(p.SendAppLinkFormDisclaimer,{tabIndex:e===M.SMS?0:-1,onShowTooltip:this.props.onShowDisclaimerTooltip,size:d,color:t}))},e.formTypes.includes(M.SMS)&&!e.phoneInputData)throw new Error("SMS form type required phoneInputData prop");this.state={currentFormType:e.formTypes[0],phoneNumber:"",countryAbbreviation:i.LOCALE||"US",isCountryCodeFocused:!1,email:e.defaultUserEmail?e.defaultUserEmail:"",sendStatus:null,mouseInSelect:!1}}componentDidUpdate(e,d){const{onStatusChange:t,onSwitchFormType:s,onChangeCountryCode:n}=this.props,{sendStatus:a,phoneNumber:o,countryAbbreviation:l,currentFormType:c,email:u}=this.state;if(t&&d.sendStatus!==a&&t({currentFormType:c,sendStatus:a,phoneNumber:o,email:u}),d.phoneNumber===o&&d.countryAbbreviation===l&&d.email===u&&d.currentFormType===c||(this.setState({sendStatus:null}),n&&l!==d.countryAbbreviation&&n(l),this.props.onChangeInput&&(d.email!==u?this.props.onChangeInput(u):d.phoneNumber!==o&&this.props.onChangeInput(o))),d.currentFormType!==c){if(this.setState({phoneNumber:"",countryAbbreviation:i.LOCALE||"US",email:this.props.defaultUserEmail?this.props.defaultUserEmail:""}),this.formRef){const e=r.findDOMNode(this.formRef),d=h.getTabbableElementsIn(e);d.length&&d[0].focus()}s&&s(c)}}render(){const{formTypes:e,buttonPosition:d,showDisclaimer:t,formLayout:r}=this.props,n=this.getFormSwitchPhrase(),a=this.getFormInputElement(),i=this.getSubmitButton(),o=e.length>1&&n&&this.getFormSwitchButton(n),l=t&&this.getDisclaimer();let c=s.default.createElement(s.default.Fragment,null,a,i,o,l);switch(r){case w.SUBMIT_ON_BOTTOM:c=s.default.createElement(s.default.Fragment,null,a,l,o,i)}return s.default.createElement("form",{noValidate:!0,onSubmit:this.handleSubmit,className:`\n send-app-link-form\n send-app-link-form--${d}\n `,ref:this.setFormRef},c)}}d.SendAppLinkFormComponent=C,C.displayName="SendAppLinkFormComponent",d.SendAppLinkForm=n.requireCssWithComponent(C,["/static/css/dig-components/index.web-vflDvlKi_.css","/static/css/growth/send_app_link_form-vflK1r87S.css"])})),define("metaserver/static/js/modules/clean/react/growth/send_app_link_form_disclaimer",["require","exports","tslib","react","metaserver/static/js/modules/clean/react/components/css","metaserver/static/js/modules/core/i18n","dig-components/tooltips","dig-components/typography"],(function(e,d,t,s,r,n,a,i){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.SendAppLinkFormDisclaimer=d.SendAppLinkFormDisclaimerComponent=void 0,s=t.__importStar(s);const o=e=>{const{onShowTooltip:d}=e;return s.useEffect(()=>{d&&d()},[d]),s.default.createElement("span",null,n.intl.formatMessage({id:"tZ+OmK",defaultMessage:"I agree that Dropbox may send me messages using an automatic telephone dialing system at the provided phone number. I understand that I am not required to agree in order to sign up for Dropbox. I understand that standard data and message rates may apply."}))};o.displayName="MyCustomTooltipContent",d.SendAppLinkFormDisclaimerComponent=e=>{const{tabIndex:d=0,size:t,color:r,onShowTooltip:l}=e,c="send-app-link-form-disclaimer__tooltip",u="large"===t?"standard":"xsmall";return s.default.createElement("span",null,s.default.createElement(i.Text,{className:"send-app-link-form-disclaimer",size:u,color:r},n.intl.formatMessage({id:"99UyMq",defaultMessage:"Standard rates apply."})," "),s.default.createElement(a.Tooltip,{placement:"top",title:s.default.createElement(o,{onShowTooltip:l}),id:c},s.default.createElement(i.Text,{size:u,color:r,isBold:!0,tabIndex:d,className:"send-app-link-form-disclaimer__trigger","aria-describedby":c},n.intl.formatMessage({id:"0GIkLa",defaultMessage:"See more"}))))},d.SendAppLinkFormDisclaimerComponent.displayName="SendAppLinkFormDisclaimerComponent",d.SendAppLinkFormDisclaimer=r.requireCssWithComponent(d.SendAppLinkFormDisclaimerComponent,["/static/css/growth/send_app_link_form_disclaimer-vflzqd4HK.css"])})),define("metaserver/static/js/modules/clean/react/growth/send_mobile_link_modal",["require","exports","tslib","react","dig-components/modal","dig-components/buttons","dig-components/typography","metaserver/static/js/modules/core/i18n","metaserver/static/js/modules/clean/react/admin/teams/onboarding/web/components/send_mobile_link"],(function(e,d,t,s,r,n,a,i,o){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.SendMobileLinkModal=void 0,s=t.__importDefault(s);class l extends s.default.PureComponent{constructor(e){super(e),this.submitButtonRef=s.default.createRef(),this.showPrimaryButton=e=>{this.setState({showPrimaryButton:e})},this.closeModal=()=>{this.props.onDismiss()},this.submit=()=>{this.submitButtonRef.current&&this.submitButtonRef.current.click(),this.props.dismissAfterSubmit&&this.closeModal()},this.state={showPrimaryButton:"V5"!==e.expMobileAppLinksVariant&&"V6"!==e.expMobileAppLinksVariant}}render(){const{linkedEmail:e,expMobileAppLinksVariant:d="OFF",loggingExtras:t,showSendMobileLinkModal:l}=this.props;return s.default.createElement(r.Modal,{className:"send-mobile-link-modal",open:l,width:"small",onRequestClose:this.closeModal},s.default.createElement(r.Modal.Header,{hasBottomSpacing:"title-standard"},s.default.createElement(a.Title,null,i.intl.formatMessage({id:"HzJQla",defaultMessage:"How should we send the download link to your mobile device?"}))),s.default.createElement(r.Modal.Body,null,s.default.createElement(o.SendMobileLink,{email:e,sendTextButtonRef:this.submitButtonRef,sendEmailButtonRef:this.submitButtonRef,loggingExtras:t,expMobileAppLinksVariant:d,showPrimaryButton:this.showPrimaryButton})),s.default.createElement(r.Modal.Footer,null,s.default.createElement(n.Button,{variant:"opacity",onClick:this.closeModal},i.intl.formatMessage({id:"NQmRjS",defaultMessage:"Cancel"})),this.state.showPrimaryButton&&s.default.createElement(n.Button,{variant:"primary",onClick:this.submit},i.intl.formatMessage({id:"wHAaDF",defaultMessage:"Send me a link"}))))}}d.SendMobileLinkModal=l,l.displayName="SendMobileLinkModal"})),(function(e,d){if("object"==typeof exports&&"object"==typeof module)module.exports=d(require("jquery"));else if("function"==typeof define&&define.amd)define("metaserver/static/js/prod_assets_web_modules/jquery.qrcode",["jquery"],d);else{var t="object"==typeof exports?d(require("jquery")):d(e.jquery);for(var s in t)("object"==typeof exports?exports:e)[s]=t[s]}})(window,(function(e){return(function(e){var d={};function t(s){if(d[s])return d[s].exports;var r=d[s]={i:s,l:!1,exports:{}};return e[s].call(r.exports,r,r.exports,t),r.l=!0,r.exports}return t.m=e,t.c=d,t.d=function(e,d,s){t.o(e,d)||Object.defineProperty(e,d,{enumerable:!0,get:s})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,d){if(1&d&&(e=t(e)),8&d)return e;if(4&d&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(t.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&d&&"string"!=typeof e)for(var r in e)t.d(s,r,function(d){return e[d]}.bind(null,r));return s},t.n=function(e){var d=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(d,"a",d),d},t.o=function(e,d){return Object.prototype.hasOwnProperty.call(e,d)},t.p="",t(t.s=0)})({"./jquery.qrcode.js":function(e,d,t){var s,r=t("jquery");(s=r).fn.qrcode=function(e){function d(e){this.mode=r.MODE_8BIT_BYTE,this.data=e}function t(e,d){this.typeNumber=e,this.errorCorrectLevel=d,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=new Array}d.prototype={getLength:function(e){return this.data.length},write:function(e){for(var d=0;d=7&&this.setupTypeNumber(e),null==this.dataCache&&(this.dataCache=t.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,d)},setupPositionProbePattern:function(e,d){for(var t=-1;t<=7;t++)if(!(e+t<=-1||this.moduleCount<=e+t))for(var s=-1;s<=7;s++)d+s<=-1||this.moduleCount<=d+s||(this.modules[e+t][d+s]=0<=t&&t<=6&&(0==s||6==s)||0<=s&&s<=6&&(0==t||6==t)||2<=t&&t<=4&&2<=s&&s<=4)},getBestMaskPattern:function(){for(var e=0,d=0,t=0;t<8;t++){this.makeImpl(!0,t);var s=n.getLostPoint(this);(0==t||e>s)&&(e=s,d=t)}return d},createMovieClip:function(e,d,t){var s=e.createEmptyMovieClip(d,t);this.make();for(var r=0;r>t&1);this.modules[Math.floor(t/3)][t%3+this.moduleCount-8-3]=s}for(t=0;t<18;t++)s=!e&&1==(d>>t&1),this.modules[t%3+this.moduleCount-8-3][Math.floor(t/3)]=s},setupTypeInfo:function(e,d){for(var t=this.errorCorrectLevel<<3|d,s=n.getBCHTypeInfo(t),r=0;r<15;r++){var a=!e&&1==(s>>r&1);r<6?this.modules[r][8]=a:r<8?this.modules[r+1][8]=a:this.modules[this.moduleCount-15+r][8]=a}for(r=0;r<15;r++)a=!e&&1==(s>>r&1),r<8?this.modules[8][this.moduleCount-r-1]=a:r<9?this.modules[8][15-r-1+1]=a:this.modules[8][15-r-1]=a;this.modules[this.moduleCount-8][8]=!e},mapData:function(e,d){for(var t=-1,s=this.moduleCount-1,r=7,a=0,i=this.moduleCount-1;i>0;i-=2)for(6==i&&i--;;){for(var o=0;o<2;o++)if(null==this.modules[s][i-o]){var l=!1;a>>r&1)),n.getMask(d,s,i-o)&&(l=!l),this.modules[s][i-o]=l,-1==--r&&(a++,r=7)}if((s+=t)<0||this.moduleCount<=s){s-=t,t=-t;break}}}},t.PAD0=236,t.PAD1=17,t.createData=function(e,d,s){for(var r=l.getRSBlocks(e,d),a=new c,i=0;i8*u)throw new Error("code length overflow. ("+a.getLengthInBits()+">"+8*u+")");for(a.getLengthInBits()+4<=8*u&&a.put(0,4);a.getLengthInBits()%8!=0;)a.putBit(!1);for(;!(a.getLengthInBits()>=8*u||(a.put(t.PAD0,8),a.getLengthInBits()>=8*u));)a.put(t.PAD1,8);return t.createBytes(a,r)},t.createBytes=function(e,d){for(var t=0,s=0,r=0,a=new Array(d.length),i=new Array(d.length),l=0;l=0?m.get(h):0}}var f=0;for($=0;$=0;)d^=n.G15<=0;)d^=n.G18<>>=1;return d},getPatternPosition:function(e){return n.PATTERN_POSITION_TABLE[e-1]},getMask:function(e,d,t){switch(e){case 0:return(d+t)%2==0;case 1:return d%2==0;case 2:return t%3==0;case 3:return(d+t)%3==0;case 4:return(Math.floor(d/2)+Math.floor(t/3))%2==0;case 5:return d*t%2+d*t%3==0;case 6:return(d*t%2+d*t%3)%2==0;case 7:return(d*t%3+(d+t)%2)%2==0;default:throw new Error("bad maskPattern:"+e)}},getErrorCorrectPolynomial:function(e){for(var d=new o([1],0),t=0;t5&&(t+=3+n-5)}for(s=0;s=256;)e-=255;return a.EXP_TABLE[e]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},i=0;i<8;i++)a.EXP_TABLE[i]=1<>>7-e%8&1)},put:function(e,d){for(var t=0;t>>d-t-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){var d=Math.floor(this.length/8);this.buffer.length<=d&&this.buffer.push(0),e&&(this.buffer[d]|=128>>>this.length%8),this.length++}},"string"==typeof e&&(e={text:e}),e=s.extend({},{render:"canvas",width:256,height:256,typeNumber:-1,correctLevel:2,background:"#ffffff",foreground:"#000000"},e),this.each((function(){var d="canvas"==e.render?(function(){var d=new t(e.typeNumber,e.correctLevel);d.addData(e.text),d.make();var s=document.createElement("canvas");s.width=e.width,s.height=e.height;for(var r=s.getContext("2d"),n=e.width/d.getModuleCount(),a=e.height/d.getModuleCount(),i=0;i").css("width",e.width+"px").css("height",e.height+"px").css("border","0px").css("border-collapse","collapse").css("background-color",e.background),n=e.width/d.getModuleCount(),a=e.height/d.getModuleCount(),i=0;i").css("height",a+"px").appendTo(r),l=0;l").css("width",n+"px").css("background-color",d.isDark(i,l)?e.foreground:e.background).appendTo(o);return r})();s(d).appendTo(this)}))},e.exports=r.fn.qrcode},0:function(e,d,t){e.exports=t("./jquery.qrcode.js")},jquery:function(d,t){d.exports=e}})})),(function(e,d){if("object"==typeof exports&&"object"==typeof module)module.exports=d();else if("function"==typeof define&&define.amd)define("metaserver/static/js/prod_assets_web_modules/phone_helpers",[],d);else{var t=d();for(var s in t)("object"==typeof exports?exports:e)[s]=t[s]}})(window,(function(){return(function(e){var d={};function t(s){if(d[s])return d[s].exports;var r=d[s]={i:s,l:!1,exports:{}};return e[s].call(r.exports,r,r.exports,t),r.l=!0,r.exports}return t.m=e,t.c=d,t.d=function(e,d,s){t.o(e,d)||Object.defineProperty(e,d,{enumerable:!0,get:s})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,d){if(1&d&&(e=t(e)),8&d)return e;if(4&d&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(t.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&d&&"string"!=typeof e)for(var r in e)t.d(s,r,function(d){return e[d]}.bind(null,r));return s},t.n=function(e){var d=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(d,"a",d),d},t.o=function(e,d){return Object.prototype.hasOwnProperty.call(e,d)},t.p="",t(t.s=0)})({"./phone_helpers.js":function(e,d){(function(){var e=this||self;function d(d,t){d=d.split(".");var s,r=e;d[0]in r||void 0===r.execScript||r.execScript("var "+d[0]);for(;d.length&&(s=d.shift());)d.length||void 0===t?r=r[s]&&r[s]!==Object.prototype[s]?r[s]:r[s]={}:r[s]=t}function t(e,d){function t(){}t.prototype=d.prototype,e.sa=d.prototype,e.prototype=new t,e.prototype.constructor=e,e.ya=function(e,t,s){for(var r=Array(arguments.length-2),n=2;nt?Math.max(0,e.length+t):t,"string"==typeof e)return"string"!=typeof d||1!=d.length?-1:e.indexOf(d,t);for(;td?1:ee.length)&&Ae(te,e)}function ae(e){return Ae(z,e)?le(e,V):le(e,G)}function ie(e){var d=ae(e.toString());r(e),e.g(d)}function oe(e){return null!=e&&(1!=E(e,9)||-1!=S(e,9)[0])}function le(e,d){for(var t,r=new s,n=e.length,a=0;ad?2:i[i.length-1]=r&&r<=s;++r)if((t=parseInt(e.substring(0,r),10))in R)return d.g(e.substring(r)),t;return 0}function Me(e,d,t,n,a,i){if(0==d.length)return 0;var o;d=new s(d),null!=t&&(o=v(t,11)),null==o&&(o="NonMatch");var l=d.toString();if(0==l.length)o=20;else if(H.test(l))l=l.replace(H,""),r(d),d.g(ae(l)),o=1;else{if(l=new RegExp(o),ie(d),0==(o=d.toString()).search(l)){l=o.match(l)[0].length;var c=o.substring(l).match(Q);c&&null!=c[1]&&0=d.h.length)throw Error("Phone number too short after IDD");if(0!=(e=Ee(d,n)))return M(i,1,e),e;throw Error("Invalid country calling code")}return null!=t&&(l=""+(o=t.u()),0==(c=d.toString()).lastIndexOf(l,0)&&(l=new s(c.substring(l.length)),c=v(t,1),c=new RegExp(y(c,2)),we(l,t,null),l=l.toString(),!Ae(c,d.toString())&&Ae(c,l)||3==Se(e,d.toString(),t,-1)))?(n.g(l),a&&M(i,6,10),M(i,1,o),o):(M(i,1,0),0)}function we(e,d,t){var s=e.toString(),r=s.length,n=v(d,15);if(0!=r&&null!=n&&0!=n.length){var a=new RegExp("^(?:"+n+")");if(r=a.exec(s)){var i=Ae(n=new RegExp(y(v(d,1),2)),s),o=r.length-1;null==(d=v(d,16))||0==d.length||null==r[o]||0==r[o].length?i&&!Ae(n,s.substring(r[0].length))||(null!=t&&0d.h.length)throw Error("The string supplied is too short to be a phone number");if(null!=o&&(t=new s,we(a=new s(d.toString()),o,t),2!=(e=Se(e,a.toString(),o,-1))&&4!=e&&5!=e&&(d=a,n&&0(e=(n=d.toString()).length))throw Error("The string supplied is too short to be a phone number");if(17