{"version":3,"file":"client-345283ce16ac9cb08cb77b910bed69a5.js","names":["_exports","default","DS","Adapter","extend","host","window","location","origin","coalesceFindRequests","_subscriptions","_recordArrayResults","_unloadAssociation","payload","store","type","record","peekRecord","modelName","id","unloadRecord","normalizeRecord","modelClass","resourceHash","data","attributes","init","this","_super","arguments","Map","createRecord","Promise","reject","deleteRecord","findAll","sinceToken","snapshotRecordArray","include","subscribe","adapterOptions","_resolve","tBoxClient","jsonApi","obs","watchFindAll","ids","map","res","peekAll","forEach","includes","findRecord","snapshot","watchFindRecord","query","recordArray","$","param","watchQuery","queryRecord","watchQueryRecord","findHasMany","url","relationship","key","findBelongsTo","findMany","snapshots","updateRecord","unsubscribe","observer","s","stopWatching","queryId","delete","filter","get","watch","onload","has","resolved","async","resolve","onQueryResultUpdate","updated","set","update","push","onQueryError","error","code","libcryptobox","ErrorCode","LoggedOut","console","warn","then","Attachment","BaseAdapter","_getOptions","attr","options","reader","FileReader","attachment","add","belongsTo","existingRecord","file","img","Image","previewSize","getDefaultPreviewSize","canvas","document","createElement","ctx","getContext","width","height","drawImage","toBlob","blob","limitImageSize","preview","encodeUint8Array","Uint8Array","result","original","onerror","readAsArrayBuffer","src","readAsDataURL","catch","category","create","addedSpaceId","addSpace","removedSpaceId","removeSpace","_store","_type","DepositBox","depositBox","description","note","name","err","rollbackAttributes","updateState","state","device","setState","DeviceState","Revoked","getAccessLog","spaceId","path","logs","log","fileId","date","sourceIp","userEmail","fileSharing","notAfter","uniqueDownload","authorSubscription","getKey","sendByEmail","suspended","toggleProperty","createDirectory","remove","localAccounts","account","list","accounts","cpt","colorId","item","givenName","user","surName","surname","email","serverUrl","color","Message","message","Notification","notification","PreaddedSpaceMember","preaddedSpaceMember","SpaceMember","spaceMember","setRole","Space","_snapshot$hasMany","peer","members","hasMany","SpaceKind","DirectConversation","space","createDirectConversation","GroupConversation","emails","member","toArray","m","createGroupConversation","_snapshot$hasMany2","createWorkspace","tags","Object","fromEntries","messagingEmailNotification","securityLevelIds","sl","securityLevelIDs","all","setName","setDescription","setTags","setStatus","setMessagingEmailNotification","setSecurityLevels","App","Application","constructor","super","_defineProperty","config","modulePrefix","podModulePrefix","Resolver","APP","isTauriApp","addEventListener","e","preventDefault","setTimeout","splash","querySelector","classList","style","display","loadInitializers","_class","Component","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_descriptor4","Notify","_descriptor5","autoUpdate","registerUpdateAvailableCallback","modalManager","isModalOpen","toast","updateNotify","success","closeAfter","radius","isLoading","isUpdateVerifying","isUpdateDownloading","updateAvailable","isUpdateAvailable","clickEvent","restart","check","clickToastLater","close","showUpdateNotification","clickToastRestart","onAboutModalClose","args","closeAboutModal","_applyDecoratedDescriptor","prototype","service","configurable","enumerable","writable","initializer","tracked","action","getOwnPropertyDescriptor","_descriptor6","_descriptor7","_descriptor8","_descriptor9","_descriptor0","_descriptor1","_descriptor10","_handleListener","component","clearInterval","initial","setInterval","_resetPasswordField","currentPassword","openModal","newPassword","confirmNewPassword","customMessage","currentPasswordIsNotValid","passwordIsNotValid","modalName","open","initRegistry","_this$registry","registry","length","value","confirmPassword","passwordScore","resetpasswordInputState","resetConfirmPasswordState","closeModal","changePassword","isUpdating","newPwd","session","changingPwd","InvalidCredentials","intl","t","setResetForm","unregisterReset","removeEventListener","updatePassword","setPropertyValue","property","mouseEnter","invite","getUsersType","licensePool","userType","logout","_descriptor11","_descriptor12","_descriptor13","_descriptor14","_descriptor15","CBUsers","_resetInputError","invalidEmails","isNotCBXMember","searchUserIsAlreadyTrustee","searchUsers","searchTerm","searchResult","searchUserResults","term","diacritic","clean","toLowerCase","userName","fullName","userMail","indexOf","highlightedResultIndex","sortBy","buttonIsDisabled","newTrustees","searchUser","removeTrustee","password","trustee","addTrustees","trustees","hash","reduce","batchAddTrustees","close2fa","is2faDone","openAddTrusteesModal","addTrusteesModalName","closeAddTrusteesModal","clearInput","toggleLockModalsFlow","openNextModal","clear","lastsearchUser","addTrusteeToList","isSearchings","trim","isSearching","match","userToAdd","notMatchedUsers","isRegistered","isEmailValid","isCurrentUser","isAlreadyInList","isAny","pushObject","certificate","clearSearch","removeTrusteeToList","removeObject","confirmDelete","index","selectResult","updateTerm","debounce","toggleTrustees","isEditingTrusteeInProgress","trusteeToRemove","shouldOpenConfirmPasswordModal","currentAccount","getCurrent","connection","isDesktopApp","isOnDevice","addNewTrustees","constants","CONFIRM_PASSWORD_MODAL_NAME","willDestroy","deleteTrustee","onCancelAddTrustee","onConfirmPassword","passwordError","onClosePassword","onCancel2FA","A","__COLOCATED_TEMPLATE__","_templateFactory","createTemplateFactory","block","moduleName","isStrictMode","ItemComponent","onClick","disabled","defaultOnClick","_component","setComponentTemplate","DaysConverterComponent","asDays","days","onChange","option","dd","actions","sizes","class","svgClass","size","getIconClassSizeModifier","iconId","updateSvgColor","element","requestAnimationFrame","svgPaths","getElementsByClassName","getElementsByTagName","fill","event","stopPropagation","guidFor","didInsert","autoFocus","focus","onKeydown","onKeyDown","onPressEnter","TextComponent","onClickItem","ToastComponent","counterValue","timeout","userActivity","timeoutLeftSeconds","AUTOMATIC_LOGOUT_COUNTDOWN_SEC","startInterval","stopInterval","interval","intervalEvent","bind","counter","timeoutEvent","onOpen","shouldLogOut","noToast","onConfirm","start","onCancel","confirmLogOut","ConfirmPasswordComponent","CONFIRM_PASSWORD_NAME","inputError","writing","passwordInputElement","confirmPasswordModalName","onChangePassword","target","didInsertInputPassword","onOpenModal","onCloseModal","onClose","_dec","computed","positionStyle","elementId","offsetWidth","offsetHeight","wWidth","innerWidth","wHeight","innerHeight","parentView","left","top","mouseX","displayLeft","mouseY","parent","bounds","getBoundingClientRect","bottom","right","clickHandler","elsewhereHandler","onClickElsewhere","modalIsOpen","commonService","isContextMenuOpened","closest","handleClick","_default","middle","max","messageLength","text","isShort","isMedium","isLong","i18n","locale","navigator","language","userLanguage","Info","defaultLocale","weekdays","weekdaysShort","months","slice","handleSelection","onSelection","model","hasPopulatedProcessedBoxes","some","openDeleteProcessedBoxesModal","handleDeleteProcessedBoxes","boxesToDeleteIds","_ref","_ref2","deleteBox","depositBoxService","deleteDepositBox","loadDepositBoxes","notify","label","background","currentFilter","badgeState","find","f","styles","isBlocked","maxCodeAttemptsReached","goToBox","router","transitionTo","_dec2","isTemplating","protectWithAPassCodeEnforced","depositBoxSettings","codePolicy","DepositBoxCodePolicy","Enforced","modalDepositBoxOptions","getOptions","modalTitle","keyPrefix","isDisableSubmitButton","isProcessing","initializeFormData","shouldProtectWithAPassCode","EnabledByDefault","link","oldName","protectWithAPassCode","handleSubmitBox","savedRecord","updateDepositBox","createDepositBox","info","title","icon","handleModalOperations","checkDepositBoxNameExists","getAllDepositBoxes","box","replace","_savedRecord$link","_savedRecord$link2","toggleProtectWithAPassCode","handleClosingModal","isOpen","closeModalAfterDelay","_dec3","fileAlreadyExistErrorCode","InvalidParameter","fileNumberMessage","active","transferManager","completed","allTransferSize","previous","current","bytesToSize","showRemainingTime","onClickDeleteTransfer","transfer","cancelTransfer","failed","onAllTransferDeleted","bytes","i","parseInt","Math","floor","round","pow","onClickAddFile","highlight","onMouseOver","onMouseOut","files","isAllSelected","every","selectedFiles","isMultipleSelectedFiles","isDisabled","toggleSelection","addObject","selectedAll","isChecked","toggleSelectAll","handleCopyInWorkspace","handleDownloadDepositBox","transfersManager","downloadDepositBox","fileCount","isMultiplesFiles","totalFilesSize","acc","subject","body","mailtoLink","encodeURIComponent","handleElectron","openExternal","goToDepositBox","copyInClipboard","clipboard","writeText","toastStatus","showToast","_dec4","_dec5","depositBoxCreationDate","creationDate","addFileMessage","screen","addFileMessageAdd","charAt","toUpperCase","depositBoxAuthorName","author","dateFormat","validateDisabled","onFileDropped","fileList","validate","onClickValidate","comment","onMouseEnter","showDelete","onMouseEnterFileName","tooltipTimeoutId","showTooltip","onMouseOutFileName","clearTimeout","roundByteSize","bytesProgress","bytesTotal","progress","total","sizeUnit","unit","splittedTotal","toString","split","decimalNumberTotal","splittedProgress","decimalNumberProgress","formatterTotal","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","format","CHECKBOX_LIST","checked","onChangeGroup","newList","onResendEmail","debug","onChangeTextAreaValue","textAreaValue","DesignSystemModalComponent","SECURITY_LEVEL","acronym","shape","deleted","onChangeProp","onChangeSLGroup","mockGrouped","onClickTriggerConfirmRemoveModal","SECURITY_LEVELS_CONFIRM_REMOVE_MODAL_NAME","values","SECURITY_LEVEL_COLOR","userSecurityLevels","securityLevels","isCurrentDevice","_this$args$currentDev","currentDevice","isUnlocked","Unlocked","isLocked","Locked","isRevoked","revokeModalName","deviceIcon","deviceSystem","blockDevice","save","unblockDevice","revokeDevice","confirmRevoke","destroyRecord","toggleFingerPrint","showFingerPrint","SecurityLevelComponent","formatedShape","securityLevel","decamelize","DevtoolComponent","devtool","devtoolContainer","appendChild","handleDragState","isActive","isDragActive","onDragEnter","onDragExit","stopEvent","handleDrop","_this$args$onItemDrop","_this$args","_this$args$onFileDrop","_this$args2","isDroppable","processDropData","onItemDropped","call","dataTransfer","initiateDrag","customDragData","setData","customDropData","onElementInserted","_this$args$onElementI","_this$args3","CONNECTION_VIEW","REGISTER","LOGIN","LOGIN_BURIED_KEYS","PASSWORD_RECOVERY","CONNECTION_TITLE_TRADS_KEYS","initialize","_this$args$localAccou","getDefaultServerUrl","localAccountList","view","showLeftChevron","currentView","firstName","lastName","setView","newView","handleServerUrl","tmpServerAddress","onPasswordChange","resetError","credentialError","onValidateLicenseModal","onRegister","REGISTER_ERRORS","notValidEmail","notValidEmailMessage","REGISTER_ERROR_MESSAGE_BINDING","LICENCES_VALIDATION_MODAL_NAME","onLogin","onPasswordRecovery","templateOnly","MODAL_REMOVE_PADDING_CLASSNAME","DEVICE_KEY_ASSOCIATION_MODAL_NAME","onToggleInfo","showInfo","Array","from","el","LoginComponent","disableInputs","PasswordRecoveryComponent","RegisterComponent","MODAL_TYPES","BOTH","USER_ONLY","INVITER_ONLY","showUserTrustee","showInviterTrustee","tradPath","newUser","externalDocumentation","_this$account$serverS","serverSettings","primaryLocale","startsWith","processHtmlContent","content","escaped","htmlSafe","_this$externalDocumen","_this$externalDocumen2","rawDescription","modalDescription","_this$externalDocumen3","externalUrl","linkLabel","_this$externalDocumen4","buttonLabel","isValidUrl","parsedUrl","URL","protocol","onOpenLink","AbortController","iframe","status","thinkfree","readOnly","signal","abortCtrl","Canceled","_this$session","_this$session2","abort","closed","force","isEditorOpened","isClosing","contentSize","modified","DateTime","fromISO","lastModified","toLocaleString","DATETIME_SHORT","_this$args$onClose","_this$session3","_this$args$onClose2","openFileLocation","pathname","dir","join","isDownloadable","downloadFile","fileHistoryService","downloadFileHistoryVersion","selectModifier","fileItem","version","fileVersionNumber","revision","fileRevisionNumber","isFromSharing","openSidePanelRightName","numberDownloadBySharing","numberDownloadByUsers","getNumberDownload","fileVersion","byUsers","bySharingLink","selectedFileHistoryInSideNav","iconName","handleClose","isOpenSideNav","isOpenSidePanelRight","fileHistoryDownloadList","handleDownload","openSidePanelRight","getDownloadListFileHistory","selectedDate","itemDays","Date","setHours","selectedDay","entries","_","handleUnSelectDate","oldSelectedDate","year","getFullYear","selectedClass","querySelectorAll","handleSelectFileItem","isShow","hoveredItem","dynamicStyle","windowWidth","Set","currentYear","canShowNoFileHistory","isLoadingFileHistoryData","fileHistoryDataTransformed","areRevisionDatesIdentical","noItemText","_this$fileHistoryServ","_this$fileHistoryServ2","fileHistoryData","at","lastRevisionDate","isToday","dateFormatHelper","FormatDateHelper","formattedDate","compute","includeToday","setupScrollListener","automaticScroll","container","groups","visibleGroups","group","rect","containerRect","handleUpdateHeatmap","teardownFileHistory","visibilityYear","Number","loadMoreScroll","entry","isIntersecting","mainContainer","beforeScroll","scrollTop","loadMore","initializeFileHistory","fetchFileHistory","_this$fileHistoryServ3","loadMoreFileHistoryData","FileVersion","isLastVersionNumber","isLastFileVersionNumber","badgeClass","textClass","getFilterFileHistory","currentYearSelected","updateHeatMap","anchorElement","getElementById","lastYearRevision","firstFileHistoryItem","newElement","scrollIntoView","behavior","inline","lockButtonChangeYear","disableDecrement","firstDateRevision","disableIncrement","heatmapData","setupLocale","localeSetting","localeFr","emberAutoImportDynamic","localeEn","handleClickCallHeatMap","timestamp","targetElement","contains","currDate","fromJSDate","toISODate","selectedDateNumberActivities","setupPlugins","CalendarLabel","Tooltip","enable","count","setLocale","toFormat","placement","modifiers","fallbackPlacements","offset","position","day","capitalize","textAlign","padding","renderHeatMap","calHeatMapInstance","destroy","CalHeatMap","plugins","on","paint","itemSelector","verticalOrientation","animationDuration","source","x","y","startHeatMapDate","weekStart","scale","domain","range","gutter","dynamicDimension","subDomain","subDomainDimensions","isLoggedIn","fetchHeatMapData","handleUpdateFilter","handleChangeYear","handleUnselectDate","componentDidInsert","destroyComponent","FILE_TYPE_IMAGE","FILE_TYPE_PDF","FILE_TYPE_UNKNOWN","MutationObserver","mutationList","mutation","pdfjsService","alignToolbarItemPosition","Swiper","modules","Navigation","Pagination","direction","initialSlide","initialIndex","loop","lazy","simulateTouch","navigation","nextEl","prevEl","swiper","slidePrev","slideNext","onCloseClicked","isPointerOverPreviewImage","className","previewFileList","fileInfoPreviews","initSwiper","onImageLoadError","onImageLoaded","hasSingleItem","_this$previewFileList","keyListener","clickOutsideListener","changeObserver","observe","childList","subtree","activeIndex","realIndex","onIndexChange","currentPreviewFile","viewerRoleMode","onMouseMove","cursor","_element$viewer","image","viewer","clientX","clientY","onFileItemSelected","previewFile","previewTypePdf","fileName","loadPdf","attachmentId","downloadAttachment","mimeType","spacePath","spaceFileRevision","blobUrl","errorMessage","onDownloadClicked","currentFileBlobUrl","currentFileName","ENV","saveAs","disconnect","fileInfoPreview","revokeObjectURL","Viewer","backdrop","button","navbar","transition","toolbar","zoomIn","zoomOut","reset","prev","play","show","next","rotateLeft","rotateRight","flipHorizontal","flipVertical","previewTypeImage","fileRevision","writer","BlobFileWriter","download","Blob","chunkBlobs","createObjectURL","cleanupPdf","FileInfoPreview","modifiedInfo","substring","lastIndexOf","registerInput","inputComponent","registeredInputs","unregisterInput","autoClean","resetOnDestruction","input","resetInput","hasRequiredField","isRequired","submit","isDestroying","validatingInput","invoke","validationResults","_this$args$action","or","disablePasswordReset","strenghtBarStyle","_this$passwordScore","htmlEscape","Ember","Handlebars","Utils","escapeExpression","PasswordScoreColor","Red","Orange","Green","checkPassword","validateInput","_descriptor16","_setResetForm","isSubmission","passwordComplexity","passwordIsEmpty","isNotValid","isValid","validateConfirmPassword","server","serverAddress","firstname","lastname","validation","getPasswordScore","isDestroyed","ok","isOk","isStrong","passwordIsTooWeak","displayErrorOnEmpty","confirmPasswordIsNotValid","confirmPasswordIsDifferent","confirmPasswordIsEmpty","formContainer","isArray","checkInput","onUpdate","checkConfirm","openPasswordModal","aboutModal","reopenPassword","modal","passwordModalName","onInsertElement","register","maxLength","inputType","_isNotValid","_value","setValue","isEmptyMessage","resetInputState","focusOut","emptyError","slashError","inputValue","placeholder","getMaxLength","allowMaxLengthOverride","maxLengthMessage","isMaxLengthMessage","emptyMessage","notValidMessage","isNotValidMessage","onElementInsert","autofocus","selector","setIsNotValid","_document$querySelect","customError","isNotValidMail","maxLengthError","Regexp","test","noSlash","onInput","r","l","defineProperty","n","a","keys","reverse","ACTION_KIND","sort","workspacesFiltered","workspaces","spaces","kind","Workspace","PersonalSpace","disableMoveAction","wsDeleted","processing","canMove","disableCopyAction","sortedWorkspacesFiltered","selectedSpaceAndDestination","selectedSpace","destinationNode","_this$commonService$s","validCrushingModalName","loadData","adapterFor","_isValidDestinationFileNames","sourcesName","selectedNodes","filesName","pop","valid","notifySuccess","contentTradKey","titleTradKey","notifyError","warning","notifyErrorIfInvalidParameter","loadingModifyFile","Error","isDepositBox","depositBoxId","copy","getDocumentItemId","actionKind","move","_copyMove","setWorkspace","ws","copyMove","crush","cancelConfirm","cancel","menuStyle","contextMenuEntries","menuItem","ext","getIconNameFromExtension","extensions","openMenu","_this$args$setCloseSu","pageX","pageY","setCloseSubmenu","closeMenu","toggleMenu","onclick","onmouseenter","openDialog","_this$args$handleClos","handleCloseContextMenu","newPath","endsWith","inConflict","PromiseObject","promise","checkForConflict","setFocus","checkName","isNameValid","folderName","createFile","inProcess","resetState","canOpenFileEditor","openFileEditor","createFolder","newFolder","isDirectory","finally","modalWording","_this$args$selectedNo","_this$args$selectedNo2","selectedNodesLength","_this$args$currentSel","currentSelectedNode","firstSelectedNode","nodeName","translationKey","suppressionSuccessTrad","suppressionFailedTrad","deleteNodes","deleteNode","node","GetLinkComponent","nodes","task","fileUrl","createLink","_this$file$at","clearInputs","isOpened","selectAndCopyText","select","notifyOpened","perform","toggleHistory","displayHistory","onChangeRenameNodeInput","didInsertInput","SEPARATOR","ERROR_TO_TRAD_KEY","NODE_NAME_ERROR","EMPTY","FORBIDDEN","TOO_LONG","SLASH","NODE_CONFLICT","RENAME_NODE_MODAL_NAME","NODE_EXTENSION_CHANGE_MODAL_NAME","modalOptions","renameNodeModalName","isExtensionChange","isFolder","renameNodeInputValue","nodePath","nameSplit","isNameInConflict","validateName","params","NO_CHANGE","newName","validatingExtension","renameNode","rename","currentPath","oldPath","queryParams","oldRecord","onConfirmNodeName","extensionChangedWarningModalName","didInsertRenameNodeInput","renameNodeInputElement","onChangeInputValue","onPressEnterInput","onOpeningModal","_this$node","onConfirmExtensionChange","onCancelExtensionChange","onCloseExtensionChange","ancestors","trackingIdPath","currentFolderName","getCurrentFolderName","splittedPath","spaceName","currentParsedPath","folder","buildAncestor","handleEmptyFolderName","isInPersonalSpace","totalLength","isSharable","SpaceAccessRight","Share","canCreateLink","canCopy","canEdit","canShowFileHistory","disabledReplaceFileContent","disabledDownloadZip","isEditorMenuVisible","isEditorMenuEnabled","selectedNode","isEditable","isSubscribable","canDownload","Role","Owner","Member","Auditor","objectAt","onViewFileAction","onViewFile","onShareFileAction","onGetLinkAction","onClickRenameNode","onClickCopyMove","copyMoveModalName","handleOnClickDelete","deleteFileModalName","onDownloadAction","dlType","onDownload","goToFileHistory","filePath","trackingId","DOWNLOAD_TYPE","nodeChildren","subDirectoryCount","hasNoNodes","nodeHasFolder","showFileHistoryVersion","hasSeveralNodes","firstNode","cumulatedSize","sum","elem","targetSpace","isSearchResults","weAreInPast","dragOver","isDragOver","dropEffect","dragLeave","drop","currentFolder","types","handleRightClick","handleChangeContextMenu","search","searchBounds","searchX","searchY","xValid","yValid","fn","closeSubmenuFn","closeSubmenu","_this$closeSubmenuFn","_class2","timeNode","selectedPage","isFirst","displayOldHistory","shouldHide","hideFirst","isCurrentRevision","number","workspaceRevision","tDateFormat","disabledActions","isAdmin","change","fileListArray","CBRelativePath","transfers","uploadFilesList","useShowDirectoryPicker","helpText","click","handle","showDirectoryPicker","emptyDirs","readFileSystemDirectoryHandle","createFolders","uploadFolderFilesList","webkitRelativePath","webkitEntries","allNodeSelected","allNodes","sortNodesBy","criteria","toggleAllSelected","_dec6","_dec7","_dec8","_dec9","_dec0","_dec1","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","EDIT_FILE","VIEW_FILE","FILE_HISTORY","SHARE_FILE","GET_LINK","DOWNLOAD_FILE","DOWNLOAD_ZIP","RENAME_FILE","DELETE_FILE","COPY_MOVE","EXPORT_FILE_HISTORY","displayOldFiles","isFile","canExportFileHistory","getFileExtension","isSelected","multipleSelectedNodes","overred","nodeIconName","getNodeIconName","disabledExportFileHistory","isEdited","editedTrackingIds","contextMenuTriggered","setLastClickedNode","refreshLogs","lastClickedNode","ctrlKey","metaKey","folders","last","setDetailedNode","shiftKey","displayedNodes","startIndex","nodeIndex","nextSelectedNode","hideDetails","handleDoubleClick","treeItemsDocuments","treeItemsDocument","isExpanded","setCurrentPath","setCurrentTrackingId","isReader","setCurrentFilePreviewPath","undefined","handleWillDestroy","handleClickOutside","toggleSelected","onMenuActionClicked","menuAction","onDownloadFile","downloadType","FILE","ZIP","onCopyMoveFile","onNodeInsert","currentFileTrackingId","showDetailsAction","setCurrentFileTrackingId","fromClick","showDetails","NodeNameComponent","iconSize","iconSvgClass","lastDotIndex","fileExtension","Symbol","toPrimitive","TypeError","String","_toPrimitive","_toPropertyKey","recipients","noRecipient","createFileSharingRecord","shareMessage","shareRecord","shareRecordUrl","sharingKey","shared","step","forceDisableMail","disableFinish","closeShare","_descriptor17","_descriptor18","_descriptor19","_descriptor20","_descriptor21","_descriptor22","_descriptor23","_descriptor24","_descriptor25","_descriptor26","_descriptor27","_descriptor28","_descriptor29","settings","sharingLinkMaxPeriod","sharingLinkDefaultPeriod","setExpirationDate","disableCreatingSharingLinkIncludingKey","updateSuggestedName","suggestedNameSharing","getSuggestedName","firstObject","today","minDate","maxDate","expirationDisabled","hasExpirationDate","expirationDate","addDaysToDate","defaultDate","disableNext","recipientButtonIsDisabled","emailInput","formattedExpirationDate","endOf","toUTC","toISO","isStep2","isStep3","disableMail","isUniqueDownload","UniqueDownload","Downloadable","Disabled","maxEmails","isFileSharingAuthorSubscriptionEnabled","fSAuthorSub","ServerCapability","FileSharingAuthorSubscription","capabilities","shareCreationNextStep","sharingURL","_shareByUrl","filterDate","shareByMail","_shareByEmail","showMail","isNotify","previousAction","selectUrl","execCommand","keyClipboard","showToastCopy","selectKey","inputName","toggleType","openPicker","onCheckboxChange","pathList","ArrayProxy","oncontextmenu","onContextMenu","actionClick","PromiseArray","isSelectedItem","_this$space","_this$selectedSpace","_this$folder","selectedPath","isRootFolder","children","showContextMenu","hideContextMenu","handleDidInsert","loadingFolder","_this$selectedSpace2","defaultExpanded","isCopyMove","initialExpand","selectedPathChanged","handleOnClickRenameNode","handleContextMenuTreeItemFolder","toggle","setSelectedPath","moveObject","showDragCount","findBy","dropInProgress","nodeToDrag","isEmpty","getData","countNodes","notifyAfterCall","owner","getViewableTypes","viewableTypes","reloadComponent","loadHistory","isloadingHistory","historyService","workspaceId","workspaceID","limit","limitHistoryPage","notAfterDate","searchedDate","offsetHistoryPage","histories","isShowMoreBtn","addObjects","tLuxonFormat","listOfDatesPage","searchedDayHistory","elementsPerPage","remainLength","historiesFiltered","listOfDates","concat","maxRevision","history","startOf","dateSelection","showLoadMore","lastObjectNumber","lastObject","toggleShowHistory","detailsIsVisible","hasUsers","usersToInvite","addedMembers","validateWording","canInvite","searchEmail","isInProcess","notEnoughInvites","toInvite","remainingInvites","_addMember","role","maximumLevel","fingerprint","inviteLength","invitedUser","appname","resetErrors","addMember","clearAddMemberInput","revokeUser","invitee","updateInviteeRight","newRights","rightsChoices","choices","USER_ROLES","accountTypes","LicensePool","Invitee","memberRole","onlineEditionIcon","showOnlineEditionStatus","canEditOnline","svg","tooltip","disableSelectize","changingRights","_revokeMember","isError","goToMyWorkspaces","openViewerInfo","updateMemberRight","destroyingRecord","newMemberRole","owners","cancelUpdateMemberRight","confirmUpdateMemberRight","memberRecord","ownerRole","confirmRevokeUser","renameSpace","setDefaultExpirationDate","expDate","hasExpDate","expired","newExpirationDate","share","isDownloaded","Downloaded","isExpirationDateUpdated","equals","isUniqueDownloadUpdated","newUniqueDownload","canSuspend","isMember","now","formatedRecipients","canEditNotify","isMySelf","isAuthorSubscriptionSupported","showNotifIcon","confirmRemove","removeShare","openChangeExpiration","restartAction","setModalTitle","initRestart","initEdit","setDatePicker","changeExpirationDate","toJSDate","onChangeExpiration","changeUniqueDownload","onChangeUniqueDownload","changeAuthorSubscription","onChangeAuthorSubscription","onChangeShareOptions","applyChanges","inputElementId","restartId","validDate","HeadContent","layout","DOWN","modifier","positionalElement","_registerScroller","_deregisterScroller","eager","Proxy","_api","_this$args$debounce","shouldLoadMore","isPresent","percentDown","scrollState","percentScrolled","percentUp","normalisedScrollerElement","scroller","Document","documentElement","isScrollable","handleScroll","debounceId","_this$args$onLoadMore","onLoadMore","_checkScrollable","_startListening","_stopListening","_checkShouldLoadMore","lastScrollState","_getScrollState","_debug","table","scrollHeight","clientHeight","scrollingDown","scrollingUp","InfoTipsInfoTipsComponent","calculatePosition","trigger","contentHeight","enterKey","keyCode","addUserToList","fullNameEmail","canInviteUser","hasError","alreadyInSpace","errorInviteRight","resetComponent","clearComponent","getLicenseUsage","invitees","available","invitationsType","EmberObject","consumeInvite","willTakeInvites","emailList","isAlreadyInSpace","spaceMembers","userId","clearInputSearch","changeUserRight","newRole","removeUser","roleName","isExternal","entryRegistry","getValue","object","attrName","resultName","resultValue","highlightedValue","highlightedResult","isHighlighted","notEmpty","onKey","keyResponder","results","lastTerm","focusOutInput","onEnterPress","onEscPress","onDownPress","onUpPress","lastItem","termDidChange","handleChangeTerm","preventOverflow","escapeWithReference","didInsertInputOrUpdate","indeterminate","triggerOnChange","_this$args$onChange","inputId","checkboxElement","thumbnailHash","getThumbnail","thumbnail","getObjectUrlImage","showUpload","_isHovering","setLoading","loading","onIsLoading","onClickRemove","onNewImage","onMouseLeave","onMouseEnterRemove","fileReader","buffer","createThumbnail","newImage","decodeUint8Array","min","newValue","updateValue","changeValue","val","_this$args$inputId","joinedClassNames","_this$args$classNames","_this$args$classNames2","classNames","checkedClass","_this$args$checkedCla","isEqual","groupValue","changed","_this$args$changed","checkedStr","_this$args$checked$to","_this$args$checked","once","isEmptyList","errorMaxRecipients","authorizeCurrent","numberRecipientsMax","isMaxRecipientsReached","keyDown","addEmailToList","setIsEmptyList","addedEmailList","parse","currentEmail","regexp","currentUserEmail","updateErrorMax","removeRecipient","recipient","setErrorMaxRecipients","handleFileInputCancel","handleFileInputChange","replaceFileContent","Cancelled","Accepted","Expired","InviteEventType","workspaceModalName","invitation","tInvitationKind","shallowInvite","oldEvents","eventHistory","lastEvent","updatedAt","updatedOn","time","preaddSpaceMember","preAddedMembers","guestEmail","firstPreAddSpaceMember","_this$preaddSpaceMemb","_this$preaddSpaceMemb2","invitationIsCancellable","invitationResendable","_reinvite","resend","confirmCancel","showHistorical","otherRow","rowExpanded","showHistory","openWorkspacePreadd","closeWorkspaceModal","updateAllRights","preaddSpace","handleKeyPress","whiteListedUsers","userInviteModalName","_inviteUser","merged","cloneDeep","pushObjects","mergedLength","existingUsers","invalidEmail","inviteUser","oneWay","canWriteInputId","componentId","havePersonalInputId","canCreateInputId","canInviteInputId","canSetRightsInputId","invitedUsers","platformCustomization","getConfigFromUrl","platformConfig","getHideAppStoreLinks","hideAppStoreLinks","large","hideMobileAppBar","isWarning","isSuccess","appStoreUrl","backgroundImage","isPlatformCustomizationEnabled","isEnabled","onReject","onValidate","isCurrentPageIndex","pageNumber","complementClass","page","selected","maxPage","changePage","minPage","setSelectedPage","pageList","secondList","listLength","firstList","ceil","nextPage","nextPageEnabled","previousPageEnabled","updatePageNumber","onPageSelected","classColor","accountLetter","loginAccount","onSelectAccount","dissociateAccount","deviceKeys","onRemoveAllLocalAccount","showAcknowledgement","timer","_this$message","formatedTimestamp","toRelative","readers","_this$message2","readFlags","readFlag","hasRead","nonReaders","_this$message3","messageAtt","MessageStatus","Pending","newMessage","fileSize","fileData","post","fileViewerInfoPreviewList","mime","getType","fileType","_scrollBottom","isPdf","hasPreview","previewImage","sessionStorage","getItem","loadingPrevious","downloadPreview","setItem","resendAttachment","_resendAttachment","cancelAttachmentUpload","removeAttachment","cancelAttachmentDownload","cancelDownload","previewPdf","filePreviewIndex","onFileViewerClose","alias","_resendMessage","lastRead","latest","isLastRead","root","rootMargin","threshold","IntersectionObserver","c","advance","authorNameDisplay","isDirect","showMore","sentHasFailed","displayDetails","groupMessageStatus","selectedMessage","filteredAttachments","attachments","isNew","resendMessage","showMessageRecipients","dropdown","setShowAcknowledgement","setShowUsers","setSelectedMessage","deleteMessage","hidden","unstableState","toggleHidden","conversation","currentMember","setIsDragOver","heightContainerMessage","autoScroll","_setConversation","hasMore","messageNumberListener","scrollToNewMessage","schedule","_this$args$conversati","firstUnreadId","messages","scrollHandling","sortedMessages","isCreating","_canUserWrite","dragEnter","dragCounter","dropFiles","dragging","messaging","uploadAttachments","offsetTop","arrow","transform","isLoadingHistory","scrollContainerMessage","sentByMySelf","fileInputId","_resetTextarea","textArea","textAreaHeight","keyPress","textMessage","sendingMessage","createConversation","sendMessage","resetFileInput","im","isConnected","imageName","_checkCursors","currentRoute","space_id","showDot","checkDot","_focusHandler","banner","reconnectMessaging","retryMessagingConnection","onOpening","onClosing","clickOutsideToClose","cancelButton","confirm","confirmButton","handleClickOverlay","handleCancel","closeOnCancel","setupModal","modalElement","handleKeydown","focusModal","teardownModal","hasFocus","closeOnEscape","handleSubmit","closeOnConfirm","categories","sortedCategories","isInvalid","createCategory","newCategory","reloadCategories","deleteCategory","categoryRecord","registerCategory","catfilterId","toggleCategory","categoryFilters","categoriesNumber","categoriesRegistered","toggleSpace","categoryActiveForSpace","luxonOutputFormat","isQueued","isCompleted","isUpload","isFailed","isEnded","goToUploadPath","retryUpload","removeEntry","downloadZip","queuedArray","completedArray","failedArray","activeArray","startNextTransfer","union","setCollapse","displayProgessBar","allTransfer","showWarningTransferIcon","groupInCreation","creationGroupRegistry","canShowDepositBox","canAccessDepositBox","progression","allProgress","progressPercent","bufferTotal","hasExternalDocumentation","externalDocumentationMenuEntry","_this$account$serverS2","_this$account$serverS3","menuEntry","fr","en","clientWidth","isCollasped","openAboutModal","openExternalDocumentationModal","closeExternalDocumentationModal","contentType","getIconFromNotificationAction","notificationContent","fullname","isUnread","NotificationState","Unread","onDelete","onClickValidateLink","notificationsRecords","uiNotifications","_markRead","notifications","markAsRead","sortedNotifications","href","handleCLick","clickOutside","OnlineEditionBadge","tooltipSide","_this$args$tooltipSid","cancelOtp","secondFactorAuthenticator","otpCode","otpError","isOtpValidateInProgress","validateOtp","setOtp","resendOtp","resendCode","formSubmit","panelHeight","toggleIsOpen","panel","panelBody","accordion","setOpenPanel","openedPanel","pdfViewer","findController","eventBus","updateScaleDisplay","currentScale","currentScaleValue","scaleSelect","customOption","percentage","textContent","setInitialFocus","viewerContainer","isViewerFocused","handleDocumentClick","secondaryToolbar","secondaryToolbarToggle","initializePdfViewer","_document$getElementB3","_document$getElementB4","initializeBase","handleKeyDown","handleViewerFocus","handleViewerBlur","runTask","currentPageNumber","previousPage","pagesCount","_findBar$classList","findBar","_secondaryToolbar$cla","scaleValue","numericScale","parseFloat","isNaN","_findBar$classList2","dispatch","phraseSearch","caseSensitive","entireWord","evt","setAttribute","togglePresentationMode","closeSecondaryToolbar","selectTool","handTool","pagesRotation","mode","_document$getElementB","setSpreadMode","scrollMode","_document$getElementB2","setScrollMode","showDocumentProperties","pdfUrl","tool","setCursorTool","findTextChange","findText","executeFindOperation","findKeyDown","findPrevious","findNext","_document$getElementB5","_document$getElementB6","_document$getElementB7","_document$getElementB8","findMatchCase","findEntireWord","findHighlightAll","findMatchDiacritics","highlightAll","matchDiacritics","handleFind","scrollLeft","setColor","badgeStyle","isClickable","badgeLabel","badgeColor","ModalComponent","indexShowed","noPreaddUser","preaddMember","preaddUser","preaddedMembers","maxIndex","notAllAlreadyAdded","sortedPreaddMember","invites","PreaddedStatus","Added","resetIndex","cancelInvites","onCloseModals","confirmInvites","currentPreadd","Registered","User","nextPreadd","closeNoPreadd","inviteeRight","newRight","alreadyAdded","allInvites","closeOrNext","updateRoleOnRow","accent","bufferValue","transforms","makeTransform","bar1Style","clampedBufferValue","bar2Style","clampedValue","clampValue","resize","panelWidth","mouseDown","restoreWs","wsRevision","restore","successTitle","successBody","closePopup","failTitle","failBody","openPopupToConfirm","restoreToThisRevision","done","secondFactorWindow","_this$secondFactorWin","_this$args$onCancel","proceed","secondFactorUrl","continue","CHIP_COLOR_BINDING","RED","ORANGE","GREEN","ChipComponent","textareaElement","SecurityLevelGroupedComponent","onlyOneExtended","listSlice","hiddenItemsNumber","handleCloseSideNav","StickyElement","updateClientRect","setTop","getHeight","elementClientRect","initSticky","registerElement","containerElement","stickyElement","containers","stickyElements","recalculateStickyElementsTop","CLIENTS","TableViewerAccessComponent","clients","openTooltip","closeTooltip","REQUIRED_ACCESS_RIGHTS","AllSharings","OnlyMySharings","isWorkspaceNotDeleted","notifIcon","isUnknown","iconType","hasSpaceId","hasClickableAction","goToValidatePread","goToWorkspacesDeleted","checkRulesAndGoToWorkspaceDocument","goToWorkspaceDocument","removeNotif","goToDocument","destPath","getDestinationPath","lastSlashIndex","accessRights","UserRoleSelectionComponent","noOwnerOption","Invited","userRolesOptions","checkNameSafety","nameSafeForWindow","isNameSafeOnWindows","isCurrentWorkspace","visible","onlineEditorEnabled","SpaceStatus","Active","allowOnlineEdition","setAllowOnlineEdition","DELETE_WORKSPACE_MODAL_NAME","deleteModalName","getDeletionDates","deletionDates","dates","dataReady","remaining","durationInDays","imminent","noDuration","terminalDeletionDate","utc","valueOf","end","toMillis","Duration","fromMillis","as","favCatId","favoritesCategoryId","favCat","MODAL_NAME","CHILD","PARENT","parentModalName","childModalName","tSubscribedParentWording","subscribedParent","getSubscriptionData","isParentRoot","tPath","tModalType","tSubscribedChildWording","isSpace","FILE_SUBSCRIPTION_TYPE","MODIFICATIONS","DOWNLOADS","bindSubscriptionTypeWithTranslationKey","subscribed","subscribedChild","toggleCurrentNodeSubscription","toggleSubscription","unSubscribeParent","subscribeNode","unSubscribeNode","resetFlag","handleChange","SubscriptionFormOverviewComponent","SubscriptionFormComponent","updateThumbnail","Controller","tLabel","isDefault","hasDefaultTrustee","defaultTrustee","chooseDepositary","depositaryEmail","recoveryId","recovery","chooseDeposit","emailIsSent","RecoveryBadTrustee","innerText","nextStep","stepDepositary","handleChangePassword","isButtonDisabled","errors","rdvUserId","setNewPassword","pwdUpdated","checkIfValidForm","updateInput","initRdv","notifier","onSas","sas","isDepositaryConnected","claimantDepositConnect","RecoverySessionBroken","ServerError","connectionError","RecoveryBadID","refresh","reload","redirectToLogin","connected","depositClaimantConnect","confirmSas","disableValidate","retryCount","countRetry","invalidCode","error1","error2","innerHTML","isDepositBoxForm","currentRouteName","visibilityChange","ENFORCED_TRUSTEES_MODAL_NAME","observerFactory","msHidden","webkitHidden","handleVisibilityChange","getPlatformSettings","enforcedTrusteeModalType","getEnforcedTrusteeModalType","enforcedTrusteesStatus","_forceUpload","cryptoboxStatus","_this$account$get","_this$platformConfig","hasTrustees","isPlatformEnabled","showBannerOffline","logged","conflictMessage","conflictObject","filesConflictsLength","fileConflicts","folderConflictsLength","folderConflicts","conflictFiles","conflictFolders","reportError","details","getSupportEmail","getReportErrorBody","mailTo","getMailTo","overwriteFile","overwrite","ignoreConflicts","abortUpload","cancelUpload","continueUpload","pendingFiles","pendingFolder","pendingSpace","closeConflictModal","enforceTrustee","resolveStatus","confirmDeviceAssociation","cancelDeviceAssociation","removePlatformCustomizationModal","closeTrusteeWarningModal","goToAddTrusteeForm","onCloseTrusteeWarning","trusteeWarningModalIsOpen","lockModalsFlow","navigateToMyAccount","initController","newEmail","token","validateChangeEmail","confirmChangeEmail","response","isEmailChangeValidated","observes","showValidate","currentStep","stepAddFile","depositBoxCode","fileListUpdate","failedTransfer","lastNotifiedTransferErrorId","depositBoxUploadErrorMessage","NotFound","hasDepositBoxFetchError","stepEnterCode","stepAddInitialFile","hideErrorNotification","toggleHideCode","hideCode","toggleHideCodePress","toggleHideCodeReleasePress","validateDepositBoxCode","openFilePicker","onFileSelectedForUpload","uploadFile","inputFileValue","isDraggingFile","hasLocalChanges","cancelAll","depositBoxForm","removeAll","cancelValidateDepositBox","validateDepositBox","stepValidated","closeAll","submitCode","MaxCodeAttemptsReached","depositBoxCodeErrorMessage","uploadFileToDepositBoxUnAuthenticated","handleUpdateStatus","selectedState","stateChoices","choice","stateBackgroundColor","getDepositBoxStateColor","isPopulated","changeStateDepositBox","goBack","handleUpdateBox","handleCreateTemplateBox","openModalSend","_this$depositBox$link","_this$depositBox$link2","inBox","handleDeleteBoxModal","handleDeleteBox","handleCloseModal","getSortingDepositBoxChoicesFilters","getDepositBoxStateFilters","sorting","sortingChoices","stateFilters","sortedModel","order","depositBoxes","populatedRead","populatedUnread","updateSorting","manageStorage","setSessionStorageItem","openModalCreateBox","OPTIONS","MENU","getContentData","onClickSideMenu","setIndeterminate","toggleCheckboxPosition","checkboxPositionFlag","toggleCheckboxState","onChangeDD","ddSelected","onChangeAddress","postOfficeAddress","onClickOpenDeviceKeyAssociationModal","isIdle","shareDownload","isDownloading","progressBarBuffer","_this$transfers$share","displayDownloadError","checkKey","inputKey","encInfos","fileInfos","decryptInfo","getFileDownloadTarget","dl","shareDownloadObject","sharingUrl","Index","Sorting","hasInvitationRights","filteredModel","models","selectedStatus","sortedModels","sorted","b","propA","propB","endIndex","fetchPreAddedMembers","changeSorting","oldDirection","selectStatus","showForm","largeDisplay","signUp","confirmSignUp","SingUpInProcess","EmailNotAvailable","userToken","singUpPassword","_cancelRegister","loadUserStatus","AlreadyRegistered","controller","creatingAccount","singUpUserEmail","mailValidation","_resetSignupForm","_hasRedirection","PasswordTooWeak","showMailValidation","passwordRecovery","isLoginInProgress","logInProgress","emailOtp","isLoginOtpInProgress","hasLocalAccount","_this$model","showLogin","validationError","recoveryConfirm","resendingEmail","_descriptor30","_descriptor31","_descriptor32","_descriptor33","_descriptor34","_descriptor35","browser","badBrowser","isBadBrowser","loginPassword","showRegister","hideRegister","hideBrowserWarning","browserWarningHidden","loginUser","login","signInForm","cancelLogin","_confirmSignup","cancelSignUp","recoverPassword","isClaiming","inRecovery","claim","pause","fieldsetTarget","Unavailable","fieldsetSelector","resendEmail","resendValidationEmail","formLogin","hideValidationErrorMessage","displayPassRecovery","hidePassRecovery","_ref3","onSelectLocalAccount","accountId","freeze","displayedContacts","contactList","users","filtredContactsList","contact","ctName","ctEmail","_resetDatas","newConversation","_createDirectConversation","existingConversation","newSpace","displayedWorkspaces","worskpaces","filtredWorskpacesList","formIsValid","_addUserGroupConversation","isBlank","newMember","addUserToConversation","addNameToGroup","groupName","unloadAll","removeUserFromConversation","uniqBy","isDeleted","spacesKind","cleanName","showNoMessage","_preventEvent","_close","showUsers","addMembers","_checkAllRead","_messages","_messages2","showUnread","isEvery","allReadMessage","newMembers","canManage","_userMember","userMember","membersConversation","membersList","_this$users","memberName","membersMail","showNewMessagesWarning","checkStatus","hasMessaging","isSending","Rejected","pageYOffset","addMembersToGroup","closeAddMembers","leaveSpace","removeMember","scrollToUnread","showAddMembers","showMembers","haveRights","personalSpace","createSpace","toggleFileChangeEmailNotification","accountSettings","setFileChangeEmailNotification","onWsImage","wsImage","requiredOwnerCount","minimalNumberOfOwnersPerWorkspace","MinimalNumberOfOwnersPerWorkspaceMode","missingOwnerCount","required","ownerCount","missingOwnerErrorClass","addUsersEntered","_inviteUsers","invitedUsersLength","currentDeviceSecurityLevels","newSL","disabledValidate","thumbnailCapable","Thumbnail","hasRightToCreate","focusOutAddUsers","showWarningModal","createGroup","addingTag","creatingGroup","_this$securityLevels","_selectedSecurityLeve","disableCancel","setProperties","uuidv4","documentCount","userCount","userRole","newSpaceSl","selectedSecurityLevels","securityLevelRecords","createdSpace","linkProperties","route","arg","setThumbnail","cancelCreation","createTag","searchText","onChangeSecurityLevelSelector","slList","onThumbnailLoading","confirmDisable","dependentKeyCompat","onBackButton","go","handleExportActivities","exportActivities","canDisabledDownloadBtn","isExportActivitiesDisabled","personalSpaceId","sharingAllowed","isAllowed","back","closeAcknowledgement","_dec18","_dec19","_dec20","_dec21","_dec22","_dec23","_dec24","_dec25","isViewer","isSpaceDeleted","accessRightsObserver","isInitShareOpened","updateDocumentTitle","editedFile","opened","displayCancelSearch","_this$searchedNodes","searchedNodes","searchFlag","showRevisions","displayHistoryPanel","displayOnlySearchedNodes","showSearched","sortedNodes","previewPath","filePreviewPath","findIndex","_descriptor36","_descriptor37","_descriptor38","_descriptor39","_descriptor40","_descriptor41","_descriptor42","_descriptor43","_descriptor44","isFolderUpCapable","allNodesAreLoaded","sortingProperty","sortingOrder","sortedDesc","sortedByName","sortedByLastModification","sortedBySize","searchLoading","noSearchResults","seeMoreResults","_this$searchedNodes2","searchPreviewLength","firstSearchedNodes","_this$searchedNodes3","cleanSelectedNodesOnNotif","setObjects","hasViewer","textViewerBanner","_performAutocomplete","displaySearchedNodesPopup","displaySearchedTermResultsOnly","selectedNodeObserver","_this$selectedNodes","_this$selectedNodes$a","handleOnContextMenuTreeItem","propertyName","sources","nodeId","downloadFileList","autocomplete","detailedNode","displayOnlyNode","showPathInFiles","onViewFileFromDetails","cancelSearch","selectedFoundResultsNode","selectedFoundResultsListOfNode","dragStart","nodeSelectedIsDrag","dragCount","propertyToSort","refreshFiles","refreshRoute","goToCurrentRevision","onOver","onOverExit","closeFileEditor","_wsImage","createTagTask","isOwner","saveWorkspace","currentSecurityLevels","updateSecurityLevelsRecord","clearThumbnail","slRecord","onEdit","removeSecurityLevelMessage","onConfirmRemoveSecurityLevel","editGroup","cancelEdition","sortedMembers","sortProperties","canAddUser","filteredMembers","displayOwners","displayMembers","displayReaders","displayViewers","roleColSpan","span","observePreadd","watchAll","preaddMembers","observerId","openRoleInfo","toggleDisplayProperty","sortingRules","displayedNotifications","onModelReady","rootDir","_this$rootDir","toggleFav","displayRestoreWarning","closeRestoreWarning","restoreWorkspace","onClickNotification","deleteWorkspace","localeCompare","userHasRights","selectShare","selectedShare","suspendShare","resumeShare","getRoleChoicesFilters","getSortingChoicesFilters","loadCategories","allSpaces","getFiltersSortingFromSession","sortedSpaces","setScrollPosition","scrollPosition","mainContentEl","scrollTo","scrollSetup","updateScrollPosition","listType","isFav","deletedWorkspaces","listDisplay","getSessionStorageItem","defaultSorting","roleFilter","defaultRoleFilter","tagsFilterSelection","nameFilter","setCategoryFilters","catFilters","catFilter","cat","listTypeObserver","spaceModel","noWorkspaces","noFoundSpacesInSearch","workspacesCount","userCategories","tagFilterChoices","tagsFilter","spaceTags","spaceTag","allCatFiltersActive","activeCategory","Deleted","keyword","filterBy","catFilteredSpaces","spaceCategory","tagsFilteredSpaces","emptySearch","changeDisplay","isList","updateRole","updateTagsFilter","indexReady","firstRender","_updateNameFilter","updateNameFilter","updateCatFilters","currentScrollPosition","myGroupsEl","topPosition","topOffset","abs","toggleAllCatFilters","markAllAsRead","removeAllNotifications","clearCompletedList","activeTransfers","errorCode","TokenEmailMismatch","channel","BroadcastChannel","_event$data","_event$data2","_event$data3","JSON","stringify","OidcSuccessController","SecondAuthFailed","isFr","Validate","fileTransfer","initMeasure","startDownload","startDownloadZip","startDownloadFileHistory","startDownloadDepositBox","activate","downloadFileHistory","boxId","fileNames","isZip","onprogress","loaded","peekProgressMeasure","toasted","isCanceled","addTime","startTime","progressMeasureArray","speed","progressMeasureArrayLength","latestMeasure","oldestMeasure","timeStamp","remain","loadedSize","totalSize","remainSize","later","measure","unshiftObject","popObject","depositBoxFormId","parentFolderPath","startDepositBoxUploadUnAuthenticated","startUpload","upload","fileUpload","watchProgress","retryTransfer","retry","lastKnownSpeed","hasReceivedProgressUpdate","onProgress","onSuccess","timeMs","wait","fileDownload","downloadSharing","hhmmss","hour","minute","second","EUR","currency","USD","activeClass","helper","versionRegExp","AssetMap","Helper","fileExt","fileWithPreview","FILE_TYPE_WITH_PREVIEW_LIST","getFingerPrint","security","getFingerprint","firstLetter","firstLetters","names","useMediumFormat","_locale","_date","hasSame","month","hourCycle","formatSize","toFixed","formatSpeed","GetMimeType","filename","normalizedFilename","getPrevFileItem","positional","n1","n2","years","minYear","maxYear","allYears","groupedData","chain","groupBy","mapValues","yearData","buildHelper","inlineSvg","SVGs","makeBoundHelper","testName","pluralize","useFullFormat","isFinite","timeRemainingSec","hoursRemaining","minutesRemaining","secondsRemaining","formatTimeRemaining","showOnlineEditionBadge","namedArgs","rest","singularize","entityMap","escapeHtml","string","urlify","urlifiedString","_b","initializerFactory","Inflector","inflector","uncountable","ObjectProxy","reopen","unknownProperty","willWatchProperty","setupContainer","application","toolBoxClient","deferReadiness","isElectronApp","UserAgent","ElectronIPCTransport","getSettings","transport","TauriIPCTransport","cacheDir","cacheKeyVault","setSecret","secret","getSecret","deviceInfo","appName","appVersion","WebWorkerTransport","environment","logging","setSystemLogEnabled","advanceReadiness","BASE_PATH","pdfjsLib","GlobalWorkerOptions","workerSrc","singleton","inject","app","__container__","lookup","worker","applicationInstance","factory","setGlobalErrorHandler","getErrorManagement","ipc","manual","listener","AUTO_UPDATE_EVENTS","listen","bringToForeground","appWindow","getCurrentWebviewWindow","unminimize","getCFSBFromRegisters","getDefaultUrlServerFromRegistry","electron","shell","openUrl","dialog","showSaveDialogSync","defaultPath","filenames","showSaveMultiDialog","Mixin","contextMenu","modalIsClose","generateContextId","baseName","contextualId","RESIZE_EVENTS","Evented","bindResize","resizeHandler","debouncedResize","unbindResize","run","onResize","visibleWidth","context","font","measureText","BaseModel","downloadHasFailed","createUrl","Category","categorySpaces","inverse","Model","parts","authorFullname","newRecord","hasSubscribed","subscriptions","getSubscribedParent","candidates","sub","shift","hasSubscribedChild","subscription","isSubscribedToDownloads","downloadsSubscribedParent","downloadsSubscribedChild","collectionName","getFileSubscriptionCollectionName","isSubscribed","updateFolderInfos","reloadContent","unload","deviceId","isDelivered","Delivered","isRejected","Inflight","read","readByAll","_this$recipients","conversationMembers","conversationMember","recipientEmail","isFromToday","todayDate","messageTime","parsedTimestamp","formatedCompleteDate","formatedHourOnly","fromNow","currentMessage","previousMessage","nextMessage","authors","currentMessageHour","previousMessageHour","nextMessageHour","currentMessageAuthor","previousMessageAuthor","nextMessageAuthor","Read","ReadCursor","readCursor","isMaxAdmin","isMaxMember","computedName","isWorkspace","visibleTags","_this$tags","hiddenTagsNumber","_this$tags2","unreadNotificationsCount","unreadCount","hasDownloadsSubscribedChild","downloadsSubscriptions","hasSubscribedToDownloads","getSubscriptions","subscriptionsAttributeName","isFavorite","refs","ref","unloadSpace","intersectionCallback","_options","RightClickCounterModifier","Modifier","rightClickCount","didInstall","willRemove","Router","EmberRouter","locationType","rootURL","AccountRecovery","Route","paramsFor","setupController","afterModel","NewPassword","rdv_user_id","Rendezvous","Claimant","beforeModel","authService","loginIfNotAuthenticated","isDepositaryPage","to","setIsDepositaryPage","Settings","defaultFormat","isSupportedBrowser","tabId","crypto","randomUUID","localStorage","electronCommunication","cfsbSetup","URLSearchParams","postMessage","getNewEmail","didTransition","refreshModel","depositBoxLink","deposit_box_code","willTransition","getDepositBoxId","box_id","deactivate","refreshDepositBoxList","keyHint","getInfo","getKeyHint","fatalError","requestedHash","oldState","pageSize","pageId","orderBy","resetController","isExiting","invite_token","requestedRoute","first_name","last_name","useSharedSession","isModalOpened","disabledEmail","disabledFirstName","disabledLastName","loginController","controllerFor","disableConversations","dirtySpaces","dirtyMembers","waitForOpenConnection","currentAttempt","maxNumberOfAttempts","messagingStatus","load","msg","SmCertificate","getSmCertificate","devices","loadCurrentDevice","_securityLevels$toArr","_securityLevels","_sl$serialize","serialize","_transition","spaceRecord","_modelName","reason","userHavePersonalSpace","excludedModals","Forbidden","modelFor","syncCommonService","queryOptions","getQueryOptions","watchActivity","breadcrumb","documentModel","filePreview","fileTrackingIdInfo","fileDownloadSubscription","RSVP","resizeEvent","folderTrackingId","Revision","serializedData","resolvedModel","_controller","shares","getFavoritesCategoryId","rec","queryString","SecondAuthSuccess","invitee_email","loadPreaddedMembers","validateEmail","handleValidationSuccess","handleValidationError","setControllerProperties","scheduleTransitionToLogin","isValidationFail","isValidating","JSONAPISerializer","modelNameFromPayloadKey","payloadKeyFromModelName","keyForAttribute","keyForRelationship","JSONSerializer","MessagingEmailNotification","Messaging","LOGOUT_SOURCE_KEY","enqueue","_Account_brand","WeakSet","Service","_classPrivateMethodInitSpec","onbeforeunload","isTransfering","shouldPromptBeforeUnload","_onBeforeOnloadElectronModal","okLabel","cancelLabel","PrivateFileWriter","accountInfos","setUserInfos","loginStatus","initializeMessaging","currentIsLoggedIn","_addModal","handleDeviceRegisteredModal","onLoginModals","userStatus","getStatus","enforcedTrusteeStatus","EnforcedTrusteeStatus","ReplacementRequired","enforcedTrustee","enforcedTrusteeResult","userAgentStatus","capabilitiesFlags","watchCurrent","onLog","clearLogoutSource","stop","_assertClassBrand","_clearSessionStorage","_manageUserStatus","enforcedTrusteeEmail","CleanUpRequired","RemovalRequired","enforcedNotHimself","enforcedTrusteeModalOpen","AdditionRequired","userCompleteName","userFirstname","userLastname","loadSession","sessionObject","_cancelSession","pwd","_cancelLogin","UnvalidatedEmail","setLogoutSource","confirmLogout","clearAccountInfos","getEmailUpdateInfo","validateEmailUpdate","modalToOpen","runningEnforcedTrustee","splice","signingCertificate","_this$connection$serv","personalCert","accountsRegistered","isAccountRegisteredInDevice","handleTrusteesWarningModal","checkTrustee","trusteeList","shouldRenderWarningNoTrusteeModal","_account","handlePersonalSpace","hasPersonalSpace","currentUserStatus","personalSpaceRecord","handleEmailChangeModalControl","currentURL","getNotifyRightChange","checkCanAccessDepositBox","employeeId","admin","canCreateSpace","canInviteUsers","_userStatus$inviter","inviterResult","inviter","shouldRenderEnforcedTrusteesModal","showMessageBoxSync","buttonQuit","buttonCancel","getLogoutSource","isUserLogOutSource","isTimeoutActivityLogOutSource","removeItem","filterKeys","flatMap","clearStorage","toKeep","storageType","isUserLoggedIn","onLogout","openToastSessionExpired","UPDATE_STATE_AVAILABLE","UPDATE_STATE_VERIFYING","UPDATE_STATE_DOWNLOADING","UPDATE_STATE_UPTODATE","UPDATE_STATE_DISABLED","setupIpc","isUpToDate","isUpdateEnabled","isUpdateDisabled","newVersion","autoUpdateInit","autoUpdateOn","updateAvailableCallback","_getErrorMessage","toISOString","_notifyError","autoUpdateCheck","autoUpdateRestart","callback","BrowserService","getBrowserInfo","closePopover","handleOpenSideNav","toggleSideNav","langAttributeName","getUrl","serverSettingsAttrStr","toLocaleLowerCase","cguURL","eulaUrl","URL_CRYPTOBOX","CGU","privacyPolicyURL","privacyPolicyUrl","PRIVACY_POLICY","canAccess","oldBox","newBox","dlpUrl","avUrl","getCfsbUrls","setDlp","setAv","FileHistoryAction","Add","Rename","Modify","Move","Delete","emptyCurrentYearFileHistory","authorFullName","formatFileName","fileActionText","authorName","groupDataByYearAndByDates","setFullYear","lastDateRevisionFetched","firstDate","lastDate","dateTime","_this$fileHistoryData","FileHistoryDirection","Before","getNumberDownloads","downloadFileByRevisionAndPath","refreshFileHistoryData","_data","After","selectedFileHistoryData","refreshFileHistoryDataIfFilterChange","actionType","isLoadingHeatmapData","getHistoryHeatmap","notBefore","dataFiltered","before","getHistory","combinedData","seenDates","resetFileHistoryData","validateInputs","isLoadingFileHistoryDownloadList","getDownloadList","DownloadListType","FromSharing","ByUsers","plus","notAfterNumber","noCache","workspaceRevisionObject","ManageStorageService","initializeService","conversationSortTimestamp","conversationSortName","readCursors","inbox","hideOfflineBanner","isOffline","cursors","conversationId","cur","conversations","connectToMessaging","notificationApi","checkIfNotificationAreGranted","EmberPromise","connect","isConnecting","_sendInbox","lastTimestamp","notificationTitle","conversationName","sendNotification","fallbackIcon","disableFallback","onMessageReception","rejection","computedFromConfig","prop","hasEmberTether","hasLiquidWormhole","hasLiquidTether","destinationElementId","getDestinationElementIdFromConfig","_options$excludedModa","_modals","_value$options","_markModalsAsTracked","_this$_modals$get","_this$_modals$get2","permission","requestPermission","userInIm","defaultOptions","definitiveOptions","assign","truncatedBody","initialiseFactory","errorWithReportPage","errorsWithoutToast","NotExist","NetworkError","RecoveryBadSAS","BadKey","BadKeySize","InvalidOTP","TooManyOTPAttempts","BadDepositBoxCode","BadDepositBoxCodeSize","_invitationError","detail","UpgradeRequired","InternalError","MessagingConnectionRefused","networkError","EmailNotAllowed","NotEnoughOwners","_error$details","FindState","searchButton","menuRect","searchRect","EventBus","linkService","PDFLinkService","externalLinkTarget","scriptingManager","PDFScriptingManager","PDFFindController","pageIdx","matchIdx","updateMatchesCount","matchesCount","updateFindMatchesCount","updateFindControlState","cleanup","PDFViewer","l10n","NullL10n","enableScripting","enablePrintAutoRotate","textLayerMode","enhanceTextSelection","renderInteractiveForms","removePageBorders","enablePresentationMode","enableHandToolOnLoad","setupHandTool","setViewer","isPanning","startX","startY","handleMouseDown","currentTool","handleMouseMove","deltaX","deltaY","handleMouseUp","_handToolHandlers","mouseMove","mouseUp","canFind","findInput","findMsg","findResultsCount","buttonId","loadingTask","getDocument","pdfDocument","setDocument","resetScale","off","isInPresentationMode","exitFullscreen","requestFullscreen","buttons","spreadNone","spreadOdd","spreadEven","selectedButton","spreadMode","none","odd","even","scrollPage","scrollVertical","scrollHorizontal","scrollWrapped","vertical","horizontal","wrapped","doc","metadatas","getMetadata","viewport","getPage","getViewport","documentProperties","formatFileSize","byteLength","Title","Author","Subject","keywords","Keywords","formatDate","CreationDate","modificationDate","ModDate","creator","Creator","producer","Producer","PDFFormatVersion","pageCount","numPages","linearized","updateDialog","showModal","kb","formatted","findOptions","pageRange","matchesCountLimit","findState","toolMode","cursorSelectTool","cursorHandTool","presentationMode","exit","presentationButton","PlatformCustomization","_badgeColor","_badgeLabel","_description","decodeURIComponent","CSS","supports","setConfig","isKnownUrl","configs","conf","getConfig","getVariables","callBack","hide_app_store_links","rv","setSecondFactorAuthenticator","requestOtp","requestOidc","authority","clientId","nonce","oidc","startLocalServer","redirectUrlForResult","joinLocalServer","redirectUrl","createAuthorizationUrl","searchParams","handleCallbackUrl","secondFactorDomain","hostname","otp","gt","_enabled","WeakMap","_event","_Session_brand","_classPrivateFieldInitSpec","serviceWorker","ev","_classPrivateFieldGet","_apply","_classPrivateFieldSet","Store","StoreService","onlineEditorSupport","activity","trackingIds","isOnlineEditionEnabled","onlineEditorEnableForPersonalWorkspaces","onlineEditor","supportedFileExtensions","q","NotificationQueue","numberOfFilesBeingSaved","basename","_current","delay","elapsed","_len","paths","_key","joinedPath","fileAccessLogs","queued","updateTransferRemainingTime","globalRemainingTime","updateTransferTimeId","updateGlobalRemaningTime","allQueuedRemainingSize","allActiveRemainingSize","allActiveSpeed","globalRemainingSize","globalSpeed","updateTransfersList","completedTransfers","failedTransfers","completedTransfer","currentFiles","failedtransfer","transfersToast","completedTransfersToToast","failedTransfersToToast","setEach","nextTransfer","shiftObject","downloadProperties","customTarget","fileRecord","FileDownloadTarget","confirmUpload","uploadProperties","folderPath","checkConflict","checkedFileListArray","notifyStartUpload","depositBoxUploadId","oldFile","countFiles","targetFolder","unConflictFileListArray","exists","relativePathArray","uniq","getSuggestedZipName","getExpectedZipSize","parentFolderRecord","fileListIterator","readFileList","iteration","components","dirname","items","readDataTransferItemList","webkitGetAsEntry","readFileSystemEntries","fullPath","createReader","readEntries","contents","getFile","LAST_USER_ACTIVITY_TIMESTAMP","AUTOMATIC_LOGOUT_MODAL_NAME","_onVisibilityChange","_registerEventListeners","timeoutMinutes","externalLogout","_startMonitoring","_updateLastUserActivityTimestamp","_startInterval","_closeToastSessionExpired","_stop","pleaseLogOut","windowIsVisible","visibilityState","webIdleLogoutTimeoutMinutes","timeoutMilliseconds","countdownTimeoutMilliseconds","lastUserActivityTimestamp","millisecondsSinceLastUserActivity","_isActivityTimeoutCountdown","_isActivityTimeout","depositaryPage","_stopInterval","tracking","_intervalCallback","_warningEvent","_stopMonitoring","_closeModal","events","_eventCallback","monitoring","throttle","_openModal","_cleanLastUserActivity","about","alert","android_lock_locked","android_lock_opened","appstore","arrows","down","up","attachement","audits","binder","blue","boxicon","brand","logo_colorful","logo_grey","logo_white","camera","chat","chevrons","chevrons_right","clock","close_secondary","cloud","contact_default","copy_2","copy_3","copy_4","cross","dashboard","default_preview","delete_1","depositary","diploma","disconnected","dot","download_2","download_preview","downloaded_file","earth","edit","empty_folder","envelope","favorite","filetype","audio","cd_dvd","compressed","exe","graphic","photo","presentation","program","programmation","sheet","unknown","video","graphic_splash","graphic_splash_small","grid","ic_check_validate_vect","ic_croix","ic_img","ic_import_conversation","ic_import_workspace","ic_question","ic_viewer_file_unknown","img_android","img_apple","img_invite","img_windows","info_2","license","loader","lock","lock_icon","locked_lock","logo","mail","menu_entry","menu_my_messages","message_attachment","message_status_error","message_status_read","message_status_read_all","message_status_sent","more","notif","opened_circle","opened_lock","padlock","participant","party","pencil","playstore","profil","security_level_shield","send","share_blocked","shield","shield_border","shield_center","shield_tick","space_circle","star","star_empty","tuto","v2","system","warning_round","white_shield","wrenches","blobOptions","write","chunk","arrayBuffer","snakeToCamel","normalize","hasOwnProperty","pipeName","os","platform","username","sync","cacheKey","ua","keytar","getPassword","newCacheKey","setPassword","getToolboxCacheDir","showSaveDialog","downloadToDisk","downloadZipToDisk","downloadHistory","downloadHistoryToDisk","zip","FileWriter","truncate","BlobWriter","codec","_codec","_parts","part","_translations$lang","translations","lang","supportedLanguages","InputFile","_file","_name","newUserAgent","SupportedEmailRegexp","KeyType","RSA","ECDSA","Gone","InvalidOperation","SecurityError","InvalidAcronym","InvalidCertificate","InvalidEmail","InvalidMessage","InvalidName","Exist","IsDirectory","NotDirectory","DiskFull","BadToken","Conflict","InvalidLicense","NoLicenseAvailable","NotSupported","CannotDemote","IncompleteSync","PasswordTooShort","PasswordTooLong","MessagingConnectionClosed","RecoveryAlreadyValidated","RecoveryBadChannel","RecoverySessionExpired","RecoverySessionDisconnected","RejectedByDLP","RejectedByAV","NoThumbnail","UnknownImageFormat","TooManyEmails","FileLock","MaintenanceMode","OIDCAuthError","EventKind","EUS","SpaceEvent","FileRevision","FileSubscriptions","Notifications","UserStatus","DeviceStatus","SecurityLevels","Account","FileUploadStatus","Failed","Done","DepositBoxState","Empty","PopulatedUnread","PopulatedRead","PopulatedProcessed","Created","Resent","InviteOrderBy","LastActivity","Sort","Asc","Desc","LoginStep","Connecting","SpaceLoading","LoginReason","Init","Login","Register","SecurityLevelColor","SecurityLevelShape","OpenedLock","LockedLock","SecurityLevelsListOptions","All","Device","Devices","MessagingRecipients","MessagingDeletion","FCM","FCMEncryptedPayload","FileHistory","InvitesManagement","TrusteeDeletion","FileRevisionRawSize","CFSBV2","FileSharingDateModification","FileSharingMultipleFiles","FileSharingUniqueDownload","Logout","RetentionDelay","TrackingID","Informative","None","Backup","Edit","Export","Subscribe","Write","Categories","History","Members","Messages","Subscriptions","SpaceUsage","FileSharing","Archived","SyncMode","Off","Custom","SyncStatus","InProgress","TrusteeState","Blocked","BlockedInactive","OK","InviteeTrusteeStatus","UserState","EmailValidationPending","AdminValidationPending","PasswordStrength","Weak","Good","Strong","sigmaSessionId","canLogout","watchSigmaSession","sendBeacon","nextID","_ua","_rpc","_activity","_OnlineEditorModule_brand","_fetch","resource","req","Request","resp","fetch","method","statusText","OnlineEditorModule","rpc","onlineEditorAdapterUrl","output","OutputFile","isServerlessOnlineEditorEnabled","Serverless","form","FormData","headers","authorizationHeaders","credentials","editor_app","editor_url","editor_origin","session_url","session_token","logout_url","logout_beacon_url","json","httpResponseReadingError","Authorization","aborted","editor","OnlineEditorController","onpagehide","presence","PresenceController","ctrl","OnlineEditorSession","fetchEventSource","onmessage","dispatchEvent","Event","File","CustomEvent","openWhenHidden","_editor","_presence","_cleanup","EventTarget","_classPrivateFieldGet3","ping","_classPrivateFieldGet2","_events","_disconnect","_OnlineEditorController_brand","ThinkfreeWeboffice","_handleEvent","succeed","_postMessage","receiver","contentWindow","_url","_intervalId","getSigmaSession","_id","_inflight","_ua2","_rpc2","_iframe","_openParams","_disconnect2","docId","docName","_this$id","_this$id2","OriginPrivateWriter","directory","storage","getDirectory","registerCleanUpOnLogout","addLoginObserver","onLoginProgress","_stream","_closed","getFileHandle","createWritable","keepExistingData","stream","firstChunk","_size","_writer","jsonrpc","_transport","Codec","_proxy","_pending","onready","onclose","_ready","_send","_handle","_options$signal","_options$signal2","throwIfAborted","nanoid","proxy","inflight","_inflight$promise","_inflight$promise$onp","_inflight$options","_inflight$options$onp","processed","substr","p","apply","RpcError","isOutOfDate","isAppOutOfDate","new","Base64","fromUint8Array","toUint8Array","EventSource","NativeEventSource","EventSourcePolyfill","_session","_eventSource","minVersion","maxVersion","readUrl","closeUrl","writeUrl","XMLHttpRequest","responseType","_pipeName","_pipe","_rcv","_connect","connecting","requireNode","setEncoding","setKeepAlive","pos","_this$onready","ready","_this$onmessage","_this$onerror","_this$onclose","emit","_worker","Worker","onmessageerror","terminate","initSessionData","SESSION_KEY","PAGE_RELOAD_KEY","serviceWorkerRegistration","MessageChannel","port1","port2","bc","requestSession","initSessionDataDelivered","addPasswordChangeObserver","AccountCollection","AccountSettingsCollection","AttachmentCollection","messageId","addFromDisk","downloadPreviewToTemp","downloadToTemp","getContentInfo","BreadcrumbCollection","CacheModule","getServerSettings","CategoryCollection","categoryId","create_","list_","addSpaces","spaceIds","removeSpaces","setSpaceCategories","categoryIds","getSpaceCategories","CryptoModule","exportPublicKeyToDer","keyType","publicKeyBytes","keySize","exportEcdsaSignatureToDer","rawSig","unpadOaep","checkDeviceKeys","DepositBoxModule","outputFile","outputPath","DepositBoxFormModule","linkUrl","inputFile","uploadFromDisk","inputPath","DeviceCollection","includeRevoked","login_","setState_","DeviceKeysCollection","getEncryptionKeyAlias","EventCollection","addUpdateObserver","removeObserver","watchInbox","restartPolling","stopPolling","FileCollection","createDirectory_","uploadManyFromDisk","inputPaths","onlineEditorActivity","tree","dirOnly","watchTree","recursive","byName","watchSearch","exists_","getRevision","beforeDate","afterDate","newBasename","tempDir","FileAccessLogCollection","FileCacheCollection","setPath","setSize","FileDownloadSubscriptionCollection","pathnames","getSubscriptionPath","FileRevisionCollection","getLatest","FileSharingCollection","getUrlWithoutKey","getToken","encryptedInfo","FileSubscriptionCollection","FileUploadCollection","MessagingModule","getDateFromTimestamp","InviteCollection","JsonApiModule","rel","KeytarModule","deletePassword","LoggingModule","enabled","isSystemLogEnabled","startLoggingToFile","stopLoggingToFile","isLoggingToFile","LoginProgressCollection","LoginStatusCollection","MessageCollection","MessagingStatusCollection","MFAModule","NotificationCollection","OIDCModule","setIdToken","callbackUrl","redirector","OnlineEditorSupportModule","getActivity","OTPModule","PermissionModule","canEditFileOnline","watchCanEditFileOnline","PreaddedSpaceMemberCollection","ReadCursorCollection","RecoveryModule","SecurityModule","SecurityLevelCollection","ServerSettingsCollection","SessionModule","cache","saveToDisk","loadFromDisk","removePasswordChangeObserver","SessionModule_share","SpaceCollection","createBackup","kinds","getPermissions","watchPermissions","SpaceMemberCollection","addMany","emailOrId","spaceMemberId","setRoleById","removeById","SyncModule","synchronize","synchronizeAll","touch","touchAll","isFileSynchronized","getCryptoboxPath","SyncSettingsCollection","SyncStateCollection","TrusteeCollection","enforced","UserCollection","parseFile","matchFile","UserAgentStatusCollection","UserStatusCollection","ValidationModule","getPasswordStrength","isPasswordValid","newZxcvbnUserInputs","convertZxcvbnScoreToPasswordStrength","score","checkSpaceCreationOrRenaming","checkFileCreation","checkFileRenaming","limits","RpcClient","LocalStorage","registerLogoutBeacon","errHandler","fileAccessLog","fileCache","fileSubscription","loginProgress","mfa","syncSettings","syncState","handler","parseBulkEmail","bulk","searchUserWithBulk","emailBulk","auth","setBatchingDelay","milliseconds","checkConnectivity","hasClass","use","duration","currentName","toRemove","URL_LEGAL_CRYPTOBOX","FILE_TYPE","FR","EN","PDF","IMAGE","tem","M","userAgent","exec","inviteeTrusteeStatus","userRequired","inviterRequired","NOTIFICATION_ACTION_FILE_LIST","NOTIFICATION_ACTION_ICON_MAP","DEFAULT_ICON","NOTIFICATION_ACTION","CONTENT_TYPE","NOTIFICATION_ACTION_INVITE","NOTIFICATION_ACTION_ROLE_CHANGE","NOTIFICATION_ACTION_UNINVITE","NOTIFICATION_ACTION_CHOOSE_DEPOSITARY","NOTIFICATION_ACTION_ADMIN_USER_VALIDATION","NOTIFICATION_ACTION_INVITE_REGISTERED","NOTIFICATION_ACTION_DOWNLOAD","NOTIFICATION_ACTION_ADD","CONTENT_TYPE_FILE","CONTENT_TYPE_DIRECTORY","NOTIFICATION_ACTION_RENAME","NOTIFICATION_ACTION_DELETE","NOTIFICATION_ACTION_MODIFY","NOTIFICATION_ACTION_DELETE_WS","NOTIFICATION_ACTION_DELETE_ADMIN_WS","NOTIFICATION_ACTION_DELETE_USER","NOTIFICATION_ACTION_SHARING_DOWNLOAD","NOTIFICATION_ACTION_DEPOSIT_BOX","NOTIFICATION_ACTION_UNKNOWN","NOTIFICATION_ACTION_DEPOSIT_BOX_MAX_CODE_ATTEMPTS_REACHED","NOTIFICATION_ACTION_SHARE_MAX_CODE_ATTEMPTS_REACHED","getMailToWithoutBody","encodedURI","lengthLeft","char","encodedChar","encodeURIMaxLength","extension","newUserStatus","notifyRightChange","SUPPORT_EMAIL_KEY","SUPPORT_EMAIL","lowercaseExtension","foundIconExtension","extensionEntry","iconExtensions","remodalModal","getState","compareDate","getDate","getMonth","ts","nbTrustees","remodalModals","define","metaName","prefix","rawConfig","getAttribute","exports","runningTests","require","poc","serverlessEditor","LOG_BINDINGS"],"sources":["vendor/ember-cli/app-prefix.js","client/adapters/application.js","client/adapters/attachment.js","client/adapters/category.js","client/adapters/deposit-box.js","client/adapters/device.js","client/adapters/file-access-log.js","client/adapters/file-sharing.js","client/adapters/file.js","client/adapters/local-account.js","client/adapters/message.js","client/adapters/notification.js","client/adapters/preadded-space-member.js","client/adapters/space-member.js","client/adapters/space.js","client/app.js","client/components/about-modal/component.js","client/components/account/change-password/component.js","client/components/account/tray-menu/component.js","client/components/account/user-trustees/component.js","client/components/action-panel/item.js","client/components/atoms/days-converter/component.js","client/components/atoms/dropdown/component.js","client/components/atoms/icon/component.js","client/components/atoms/input/text-base/component.js","client/components/atoms/input/text/component.js","client/components/atoms/input/textarea/component.js","client/components/atoms/link/component.js","client/components/atoms/list/component.js","client/components/atoms/toast/component.js","client/components/automatic-logout-modal/component.js","client/components/confirm-password/component.js","client/components/confirm-password/constants.js","client/components/confirm-password/modal/component.js","client/components/context-menu/component.js","client/components/counter-message/component.js","client/components/cryptobox-urls/component.js","client/components/custom-pikaday-input/component.js","client/components/deposit-box/delete-processed-box/component.js","client/components/deposit-box/deposit-box-card/badge/component.js","client/components/deposit-box/deposit-box-card/component.js","client/components/deposit-box/editor-box/component.js","client/components/deposit-box/editor-box/loading/component.js","client/components/deposit-box/file-list/component.js","client/components/deposit-box/list-item/component.js","client/components/deposit-box/list-item/file-size/component.js","client/components/deposit-box/list-item/item/component.js","client/components/deposit-box/show-link/component.js","client/components/deposit-box/summary/component.js","client/components/deposit-box/upload-item/component.js","client/components/design-system/checkbox/component.js","client/components/design-system/electron-connection/component.js","client/components/design-system/inputs-text/component.js","client/components/design-system/modal/component.js","client/components/design-system/security-level/component.js","client/components/device-item/component.js","client/components/device-item/security-level/component.js","client/components/devtool/component.js","client/components/download-attachement-button/component.js","client/components/drop-container/component.js","client/components/electron/connection-container/component.js","client/components/electron/device-key-association/info-message/icon.js","client/components/electron/device-key-association/modal/component.js","client/components/electron/login/component.js","client/components/electron/password-recovery/component.js","client/components/electron/register/component.js","client/components/email-validation/component.js","client/components/ember-notify.js","client/components/ember-notify/message.js","client/components/enforced-trustee/enforced-trustee-card.js","client/components/enforced-trustee/modal/component.js","client/components/enforced-trustee/trustee-popover.js","client/components/external-documentation-modal/component.js","client/components/file-editor/component.js","client/components/file-history/file-item-download-button/component.js","client/components/file-history/file-item-side-nav/component.js","client/components/file-history/file-item/component.js","client/components/file-history/file-list-items/component.js","client/components/file-history/file-version/component.js","client/components/file-history/heatmap/component.js","client/components/file-viewer/component.js","client/components/file-viewer/fileInfoPreview.js","client/components/form/checkbox-group/component.js","client/components/form/form-container/component.js","client/components/form/password-input/component.js","client/components/form/text-area/component.js","client/components/form/text-input/component.js","client/components/group/documents/actions/copy-move/modal/component.js","client/components/group/documents/actions/create-file/component.js","client/components/group/documents/actions/create-file/modal/component.js","client/components/group/documents/actions/create-folder/component.js","client/components/group/documents/actions/create-folder/modal/component.js","client/components/group/documents/actions/delete-node/component.js","client/components/group/documents/actions/delete-node/modal/component.js","client/components/group/documents/actions/get-link/component.js","client/components/group/documents/actions/get-link/modal/component.js","client/components/group/documents/actions/history-watch/component.js","client/components/group/documents/actions/rename-node/component.js","client/components/group/documents/actions/rename-node/modal/component.js","client/components/group/documents/bread-crumb/component.js","client/components/group/documents/details-panel/actions-tab/component.js","client/components/group/documents/details-panel/component.js","client/components/group/documents/details-panel/information-tab/component.js","client/components/group/documents/documents-list/component.js","client/components/group/documents/history/revision-link/component.js","client/components/group/documents/history/warning-title/component.js","client/components/group/documents/inputs/file-input/component.js","client/components/group/documents/inputs/folder-input/component.js","client/components/group/documents/list-header/component.js","client/components/group/documents/listed-node/component.js","client/components/group/documents/listed-node/node-name/component.js","client/components/group/documents/share-creation/component.js","client/components/group/documents/tree-item-folder/component.js","client/components/group/documents/tree-item/component.js","client/components/group/documents/viewer-modal/component.js","client/components/group/history-side-panel/component.js","client/components/group/members/actions/add-member/component.js","client/components/group/members/listed-invitee/component.js","client/components/group/members/listed-member/component.js","client/components/group/overview/actions/rename-space/component.js","client/components/group/shares/listed-share/component.js","client/components/head-content.js","client/components/infinite-scroller/component.js","client/components/info-tips/info-tips.js","client/components/inputs/add-users/component.js","client/components/inputs/add-users/user-entry/component.js","client/components/inputs/autocomplete/autocomplete-result-item/component.js","client/components/inputs/autocomplete/component.js","client/components/inputs/checkbox-input/component.js","client/components/inputs/checkbox/component.js","client/components/inputs/image-picker/component.js","client/components/inputs/number/component.js","client/components/inputs/radio-input/component.js","client/components/inputs/radio-input/custom-input/component.js","client/components/inputs/recipients-list/component.js","client/components/inputs/replace-file-content-input/component.js","client/components/invitations/invitations-row/component.js","client/components/invite-user/component.js","client/components/invite-user/user-entry/component.js","client/components/landing-page-container/component.js","client/components/licenses-validation/modal/component.js","client/components/listing/page-box/component.js","client/components/listing/pagination-list/component.js","client/components/local-account/component.js","client/components/messaging/acknowledgement-details/component.js","client/components/messaging/conversation/attachment/component.js","client/components/messaging/conversation/conversation-message/component.js","client/components/messaging/conversation/conversation-stream/component.js","client/components/messaging/conversation/message-input/component.js","client/components/messaging/left-panel-conversation/component.js","client/components/messaging/offline-banner/component.js","client/components/modal/component.js","client/components/my-groups/categories-management/component.js","client/components/my-groups/category-filter/component.js","client/components/my-groups/category-input/component.js","client/components/my-groups/space-context-menu/component.js","client/components/my-transfers/transfer-entry/component.js","client/components/navigation-bar/component.js","client/components/notification/component.js","client/components/notifications-dropdown/component.js","client/components/online-edition-badge/component.js","client/components/otp-validation-modal/component.js","client/components/otp-validation/component.js","client/components/owner-count/modal/component.js","client/components/panels/panel-body/component.js","client/components/panels/panel-element/component.js","client/components/panels/panel-header/component.js","client/components/panels/panels-container/component.js","client/components/pdf-viewer/content/component.js","client/components/platform-customization/badge/component.js","client/components/platform-customization/component.js","client/components/platform-customization/modal/component.js","client/components/preadd/validate-members/component.js","client/components/preadd/workspace-role/component.js","client/components/progress-bar/component.js","client/components/resizable-bar/component.js","client/components/restore-workspace/component.js","client/components/second-factor-authenticator/component.js","client/components/security-level/chip/component.js","client/components/security-level/confirm-remove-modal/component.js","client/components/security-level/grouped/component.js","client/components/sidenav/component.js","client/components/sticky-container/component.js","client/components/table-viewer-access/component.js","client/components/tooltip/component.js","client/components/ui-notification/component.js","client/components/user-role-selection/component.js","client/components/windows-warning/component.js","client/components/workspace-tree/component.js","client/components/workspace/collaboration-form-overview/component.js","client/components/workspace/delete/component.js","client/components/workspace/retention-message/component.js","client/components/workspace/star-favorite/component.js","client/components/workspace/subscription-checkbox/component.js","client/components/workspace/subscription-form-overview/component.js","client/components/workspace/subscription-form/component.js","client/components/workspace/thumbnail/component.js","client/controllers/account-recovery/depositary-choice.js","client/controllers/account-recovery/new-password.js","client/controllers/account-recovery/rendezvous/claimant.js","client/controllers/account-recovery/rendezvous/depositary.js","client/controllers/application.js","client/controllers/browser-error.js","client/controllers/change-email.js","client/controllers/deposit-box-form.js","client/controllers/deposit-boxes/deposit-box.js","client/controllers/deposit-boxes/index.js","client/controllers/design-system.js","client/controllers/download-share.js","client/controllers/index.js","client/controllers/invitations.js","client/controllers/invite.js","client/controllers/login.js","client/controllers/messages/create.js","client/controllers/messages/index.js","client/controllers/messages/index/conversation.js","client/controllers/my-account.js","client/controllers/my-groups/create-group.js","client/controllers/my-groups/file-history/index.js","client/controllers/my-groups/group.js","client/controllers/my-groups/group/conversation.js","client/controllers/my-groups/group/documents.js","client/controllers/my-groups/group/edit.js","client/controllers/my-groups/group/members.js","client/controllers/my-groups/group/overview.js","client/controllers/my-groups/group/shares.js","client/controllers/my-groups/index.js","client/controllers/my-notifications.js","client/controllers/my-transfers.js","client/controllers/oidc-failure.js","client/controllers/oidc-in-progress.js","client/controllers/oidc-success.js","client/controllers/second-auth-failed.js","client/controllers/tutorial.js","client/controllers/validate.js","client/controllers/worker-error.js","client/custom-objects/file-download.js","client/custom-objects/file-transfer.js","client/custom-objects/file-upload.js","client/custom-objects/share-download.js","client/formats.js","client/helpers/active-class.js","client/helpers/app-version.js","client/helpers/asset-map.js","client/helpers/file-type.js","client/helpers/file-with-preview.js","client/helpers/finger-print.js","client/helpers/first-letter.js","client/helpers/first-letters.js","client/helpers/format-date.js","client/helpers/format-role.js","client/helpers/format-size.js","client/helpers/format-speed.js","client/helpers/format-state.js","client/helpers/get-mime-type.js","client/helpers/getPrevFileItem.js","client/helpers/greaterThan.js","client/helpers/greaterThanEqual.js","client/helpers/groupDataByYearAndByDates.js","client/helpers/inline-svg.js","client/helpers/is-clickable.js","client/helpers/is-even.js","client/helpers/lessThan.js","client/helpers/pluralize.js","client/helpers/remaining-time.js","client/helpers/round.js","client/helpers/show-online-edition-badge.js","client/helpers/singularize.js","client/helpers/urlify.js","client/initializers/app-version.js","client/initializers/asset-map.js","client/initializers/custom-inflector-rules.js","client/initializers/custom_fix_get.js","client/initializers/ember-data.js","client/initializers/init-toolbox.js","client/initializers/pdfjs-initializers.js","client/initializers/setup-pikaday-i18n.js","client/initializers/web-worker.js","client/instance-initializers/add-modals-container.js","client/instance-initializers/ember-data.js","client/instance-initializers/head-browser.js","client/instance-initializers/toolbox-global-error-handler.js","client/ipc.js","client/mixins/context-menu.js","client/mixins/multi-modal.js","client/mixins/resize-listener.js","client/mixins/truncate-name.js","client/models/attachment.js","client/models/category.js","client/models/file-access-log.js","client/models/file-sharing.js","client/models/file.js","client/models/invite.js","client/models/local-account.js","client/models/message.js","client/models/notification.js","client/models/public-directory-user.js","client/models/read-cursor.js","client/models/space-member.js","client/models/space.js","client/models/user.js","client/modifiers/observe-visibility.js","client/modifiers/pikaday.js","client/modifiers/right-click-counter.js","client/router.js","client/routes/account-recovery.js","client/routes/account-recovery/depositary-choice.js","client/routes/account-recovery/new-password.js","client/routes/account-recovery/rendezvous.js","client/routes/account-recovery/rendezvous/claimant.js","client/routes/account-recovery/rendezvous/depositary.js","client/routes/application.js","client/routes/browser-error.js","client/routes/change-email.js","client/routes/deposit-box-form.js","client/routes/deposit-boxes.js","client/routes/deposit-boxes/deposit-box.js","client/routes/deposit-boxes/index.js","client/routes/download-share.js","client/routes/fatal-error.js","client/routes/index.js","client/routes/invitations.js","client/routes/invite.js","client/routes/login.js","client/routes/messages/create.js","client/routes/messages/index.js","client/routes/messages/index/conversation.js","client/routes/my-account.js","client/routes/my-groups/create-group.js","client/routes/my-groups/deleted-spaces.js","client/routes/my-groups/file-history.js","client/routes/my-groups/file-history/index.js","client/routes/my-groups/group.js","client/routes/my-groups/group/conversation.js","client/routes/my-groups/group/documents.js","client/routes/my-groups/group/documents/history/revision.js","client/routes/my-groups/group/edit.js","client/routes/my-groups/group/members.js","client/routes/my-groups/group/overview.js","client/routes/my-groups/group/shares.js","client/routes/my-groups/index.js","client/routes/my-groups/my-favorites.js","client/routes/my-notifications.js","client/routes/my-transfers.js","client/routes/register.js","client/routes/second-auth-success.js","client/routes/tutorial.js","client/routes/validate-preadd.js","client/routes/validate.js","client/serializers/application.js","client/serializers/file-access-log.js","client/serializers/share.js","client/services/account.js","client/services/asset-map.js","client/services/auth-service.js","client/services/auto-update.js","client/services/browser.js","client/services/common-service.js","client/services/connection.js","client/services/context-menu.js","client/services/cryptobox-urls.js","client/services/deposit-box.js","client/services/electron-communication.js","client/services/file-history.js","client/services/history-service.js","client/services/manage-storage.js","client/services/messaging.js","client/services/modal-dialog.js","client/services/modal-manager.js","client/services/notification-api.js","client/services/notify.js","client/services/observer-factory.js","client/services/pdfjs-service.js","client/services/platform-customization.js","client/services/preadd-member.js","client/services/second-factor-authenticator.js","client/services/session.js","client/services/store.js","client/services/thinkfree.js","client/services/transfers.js","client/services/ui-notifications.js","client/services/user-activity.js","client/svgs.js","client/toolbox/blob-file-writer.js","client/toolbox/case-converter.js","client/toolbox/electron-settings.js","client/toolbox/file-download-target.js","client/toolbox/file-reader.js","client/toolbox/file-writer.js","client/toolbox/generated/client/blob-writer.js","client/toolbox/generated/client/dispatch-event.js","client/toolbox/generated/client/i18n.js","client/toolbox/generated/client/input-file.js","client/toolbox/generated/client/libcryptobox.js","client/toolbox/generated/client/local-storage.js","client/toolbox/generated/client/logout-beacon.js","client/toolbox/generated/client/online-editor.js","client/toolbox/generated/client/origin-private-writer.js","client/toolbox/generated/client/output-file.js","client/toolbox/generated/client/rpc/client.js","client/toolbox/generated/client/rpc/error.js","client/toolbox/generated/client/rpc/transport/electron-ipc.js","client/toolbox/generated/client/rpc/transport/http.js","client/toolbox/generated/client/rpc/transport/named-pipe.js","client/toolbox/generated/client/rpc/transport/tauri-ipc.js","client/toolbox/generated/client/rpc/transport/web-worker.js","client/toolbox/generated/client/session-sharing.js","client/toolbox/generated/client/user-agent.js","client/toolbox/generated/models/account-settings.js","client/toolbox/generated/models/account.js","client/toolbox/generated/models/attachment.js","client/toolbox/generated/models/breadcrumb.js","client/toolbox/generated/models/category.js","client/toolbox/generated/models/chunk.js","client/toolbox/generated/models/deposit-box-form.js","client/toolbox/generated/models/deposit-box-list-item.js","client/toolbox/generated/models/deposit-box.js","client/toolbox/generated/models/device-keys.js","client/toolbox/generated/models/device.js","client/toolbox/generated/models/event.js","client/toolbox/generated/models/extended-user.js","client/toolbox/generated/models/file-access-log.js","client/toolbox/generated/models/file-cache.js","client/toolbox/generated/models/file-content.js","client/toolbox/generated/models/file-download-subscription.js","client/toolbox/generated/models/file-revision.js","client/toolbox/generated/models/file-sharing-file.js","client/toolbox/generated/models/file-sharing.js","client/toolbox/generated/models/file-subscription.js","client/toolbox/generated/models/file-upload.js","client/toolbox/generated/models/file.js","client/toolbox/generated/models/invite.js","client/toolbox/generated/models/login-progress.js","client/toolbox/generated/models/login-status.js","client/toolbox/generated/models/message-recipient.js","client/toolbox/generated/models/message.js","client/toolbox/generated/models/messaging-status.js","client/toolbox/generated/models/notification.js","client/toolbox/generated/models/online-editor-activity.js","client/toolbox/generated/models/permissions.js","client/toolbox/generated/models/preadded-space-member.js","client/toolbox/generated/models/preview.js","client/toolbox/generated/models/public-directory-user.js","client/toolbox/generated/models/read-cursor.js","client/toolbox/generated/models/security-level.js","client/toolbox/generated/models/server-settings.js","client/toolbox/generated/models/sigma-session.js","client/toolbox/generated/models/space-member.js","client/toolbox/generated/models/space.js","client/toolbox/generated/models/sync-settings.js","client/toolbox/generated/models/sync-state.js","client/toolbox/generated/models/trustee.js","client/toolbox/generated/models/user-agent-status.js","client/toolbox/generated/models/user-status.js","client/toolbox/generated/models/user.js","client/toolbox/private-file-writer.js","client/transitions.js","client/utils/checkName.js","client/utils/clearStorage.js","client/utils/constants.js","client/utils/dateTime.js","client/utils/enums.js","client/utils/getBrowserInfo.js","client/utils/getDepositBoxStateColor.js","client/utils/getDepositBoxStateFilters.js","client/utils/getDocumentItemId.js","client/utils/getEnforcedTrusteeModalType.js","client/utils/getFilterFileHistory.js","client/utils/getIconFromNotificationAction.js","client/utils/getMailTo.js","client/utils/getNodeIconName.js","client/utils/getNotifyRightChange.js","client/utils/getReportErrorBody.js","client/utils/getRoleChoicesFilters.js","client/utils/getSortingChoicesFilters.js","client/utils/getSortingDepositBoxChoicesFilters.js","client/utils/getSupportEmail.js","client/utils/getVariables.js","client/utils/icon-constants.js","client/utils/isAccountRegisteredInDevice.js","client/utils/isModalOpen.js","client/utils/isToday.js","client/utils/pause.js","client/utils/shouldRenderEnforcedTrusteesModal.js","client/utils/shouldRenderWarningNoTrusteeModal.js","client/utils/tBoxClient/getFileSubscriptionCollectionName.js","vendor/ember-cli/app-config.js","vendor/ember-cli/app-boot.js"],"sourcesContent":["'use strict';\n\n\n","//\n// IMPORTANT\n//\n// This file is copied to desktop-client. The code must work in both projects.\n//\n// Also, by design, the class should only communicate with the JSON-API API\n// in the toolbox and should not contain application-specific code.\n//\n\nimport $ from 'jquery';\nimport DS from 'ember-data';\nimport { tBoxClient } from '../initializers/init-toolbox'; // NB. The relative path works in both projects.\n/* global libcryptobox */\n\nexport default DS.Adapter.extend({\n    host: window.location.origin,\n    coalesceFindRequests: true,\n\n    _subscriptions: null,\n    _recordArrayResults: null,\n\n    _unloadAssociation(payload, store, type) {\n      let record = store.peekRecord(type.modelName, payload.id);\n      if (record) {\n        store.unloadRecord(record);\n      }\n    },\n\n    normalizeRecord(store, modelClass, resourceHash) {\n        //FIXME Relationships are missing. JSONSerializer is not handling them properly.\n        return { data: { type: modelClass.modelName, id: resourceHash.id, attributes: resourceHash } };\n    },\n\n    init() {\n        this._super(...arguments);\n        this._subscriptions = [];\n        this._recordArrayResults = new Map();\n    },\n\n    createRecord(/*store, type, snapshot*/) {\n        return Promise.reject('createRecord() is not implemented by default');\n    },\n\n    deleteRecord(/*store, type, snapshot*/) {\n        return Promise.reject('deleteRecord() is not implemented by default');\n    },\n\n    findAll(store, type, sinceToken, snapshotRecordArray) {\n        let { modelName } = type;\n        let { include } = snapshotRecordArray;\n        let { subscribe } = snapshotRecordArray.adapterOptions || {};\n        return this._resolve(\n            store,\n            subscribe,\n            null,\n            () => tBoxClient.jsonApi.findAll(modelName, include),\n            (obs) => tBoxClient.jsonApi.watchFindAll(modelName, include, obs),\n            (payload) => {\n                const ids = payload.data.map(res => res.id);\n                store.peekAll(modelName).forEach((record) => {\n                    if (record.id && !ids.includes(record.id)) {\n                        record.unloadRecord();\n                    }\n                })\n            },\n        );\n    },\n\n    findRecord(store, type, id, snapshot) {\n        let { modelName } = type;\n        let { include } = snapshot;\n        let { subscribe } = snapshot.adapterOptions || {};\n        return this._resolve(\n            store,\n            subscribe,\n            null,\n            () => tBoxClient.jsonApi.findRecord(modelName, id, include),\n            (obs) => tBoxClient.jsonApi.watchFindRecord(modelName, id, include, obs),\n        );\n    },\n\n    query(store, type, query, recordArray) {\n        let { modelName } = type;\n        let { subscribe } = query.adapterOptions || {};\n        delete query.adapterOptions;\n        return this._resolve(\n            store,\n            subscribe,\n            recordArray,\n            () => tBoxClient.jsonApi.query(modelName, $.param(query), ''),\n            (obs) => tBoxClient.jsonApi.watchQuery(modelName, $.param(query), '', obs),\n        );\n    },\n\n    queryRecord(store, type, query) {\n        let { modelName } = type;\n        let { subscribe } = query.adapterOptions || {};\n        delete query.adapterOptions;\n        return this._resolve(\n            store,\n            subscribe,\n            null,\n            () => tBoxClient.jsonApi.queryRecord(modelName, $.param(query), ''),\n            (obs) => tBoxClient.jsonApi.watchQueryRecord(modelName, $.param(query), '', obs),\n        );\n    },\n\n    findHasMany(store, snapshot, url, relationship) {\n        return tBoxClient.jsonApi.findHasMany(snapshot.modelName, snapshot.id, relationship.key);\n    },\n\n    findBelongsTo(store, snapshot, url, relationship) {\n        return tBoxClient.jsonApi.findBelongsTo(snapshot.modelName, snapshot.id, relationship.key);\n    },\n\n    findMany(store, type, ids, snapshots) {\n        return tBoxClient.jsonApi.findMany(type.modelName, ids);\n    },\n\n    updateRecord(/*store, type, snapshot*/) {\n        return Promise.reject('updateRecord() is not implemented by default');\n    },\n\n    unsubscribe(observer) {\n        this._subscriptions.forEach((s) => {\n            if (s.observer === observer) {\n                tBoxClient.stopWatching(s.queryId);\n                this._recordArrayResults.delete(s.recordArray);\n            }\n        });\n        this._subscriptions = this._subscriptions.filter((s) => s.observer !== observer);\n    },\n\n    _resolve(store, observer, recordArray, get, watch, onload) {\n        // On update, AdapterPopulatedRecordArray calls the query again.\n        if (this._recordArrayResults.has(recordArray)) {\n            return this._recordArrayResults.get(recordArray);\n        }\n        if (observer) {\n            let resolved = false\n            return new Promise(async (resolve, reject) => {\n                let queryId = await watch({\n                    onQueryResultUpdate: (id, payload) => {\n                        let updated = resolved;\n                        recordArray && this._recordArrayResults.set(recordArray, payload);\n                        if (resolved) {\n                            if (recordArray) {\n                                recordArray.update();\n                            } else {\n                                store.push(payload);\n                            }\n                        } else {\n                            resolve(payload);\n                            resolved = true;\n                        }\n                        onload && onload(payload, updated);\n                    },\n                    onQueryError: (id, error) => {\n                        if (error.code !== libcryptobox.ErrorCode.LoggedOut) {\n                            console.warn('onQueryError', error);\n                        }\n                        if (!resolved) {\n                            reject(error);\n                            resolved = true;\n                        }\n                    },\n                });\n                this._subscriptions.push({ observer, queryId, recordArray });\n            });\n        } else {\n            return get().then((payload) => {\n                onload && onload(payload, false);\n                return payload;\n            });\n        }\n    },\n});\n","import BaseAdapter from 'client/adapters/application';\nimport FileReader from 'client/toolbox/file-reader';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n\nexport default class Attachment extends BaseAdapter{\n  createRecord(store, type, snapshot) {\n    return this._getOptions(snapshot.attr('fileData')).then(options => {\n      let reader = new FileReader(tBoxClient, snapshot.attr('fileData'), snapshot.attr('fileName'));\n      return tBoxClient.attachment.add(snapshot.belongsTo('message').id, reader, options).then(payload => {\n        const existingRecord = store.peekRecord({ type:'attachment',id: payload.id });\n        if (existingRecord) {\n          existingRecord.unloadRecord();\n        }\n        return this.normalizeRecord(store, type, payload);\n      });\n    });\n  }\n\n  _getOptions(file) {\n    return new Promise((resolve, reject) => {\n      const img = new Image();\n      img.onload = async () => {\n        const previewSize = await tBoxClient.attachment.getDefaultPreviewSize();\n        const canvas = document.createElement('canvas');\n        const ctx = canvas.getContext('2d');\n        if (img.width <= previewSize && img.height <= previewSize) {\n          canvas.width = img.width;\n          canvas.height = img.height;\n        } else if (img.width > img.height) {\n          canvas.width = previewSize;\n          canvas.height = img.height * previewSize / img.width;\n        } else {\n          canvas.height = previewSize;\n          canvas.width = img.width * previewSize / img.height;\n        }\n        ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n        canvas.toBlob((blob) => {\n          // NB. blob.arrayBuffer() is not supported on Safari.\n          const reader = new window.FileReader();\n          reader.onload = () => {\n            resolve({ limitImageSize: false, preview: tBoxClient.encodeUint8Array(new Uint8Array(reader.result)), original: { width: img.width, height: img.height } });\n          };\n          reader.onerror = reject;\n          reader.readAsArrayBuffer(blob);\n        }, 'image/jpeg');\n      };\n      img.onerror = reject;\n\n      const reader = new window.FileReader();\n      reader.onload = function () {\n        img.src = reader.result;\n      };\n      reader.onerror = reject;\n      reader.readAsDataURL(file);\n    }).catch(() => {\n      return { limitImageSize: false };\n    });\n  }\n}\n","import { tBoxClient } from 'client/initializers/init-toolbox';\nimport BaseAdapter from 'client/adapters/application';\n\nexport default BaseAdapter.extend({\n  createRecord(store, type, snapshot) {\n    return tBoxClient.category.create(snapshot.attr('name')).then(payload => {\n      return this.normalizeRecord(store, type, payload);\n    });\n  },\n\n  updateRecord(store, type, snapshot) {\n    if(snapshot.adapterOptions.addedSpaceId) {\n      return tBoxClient.category.addSpace(snapshot.id, snapshot.adapterOptions.addedSpaceId);\n    }\n    else if (snapshot.adapterOptions.removedSpaceId) {\n      return tBoxClient.category.removeSpace(snapshot.id, snapshot.adapterOptions.removedSpaceId);\n    }\n\n    return Promise.resolve();\n  },\n\n  deleteRecord(_store, _type, snapshot) {\n    return tBoxClient.category.delete(snapshot.id);\n  },\n});\n","import { tBoxClient } from 'client/initializers/init-toolbox';\nimport BaseAdapter from 'client/adapters/application';\n\nexport default class DepositBox extends BaseAdapter {\n  queryRecord(store, type, query) {\n    return tBoxClient.depositBox.get(query.id).then((payload) => {\n      return this.normalizeRecord(store, type, payload);\n    });\n  }\n\n  createRecord(store, type, snapshot) {\n    return tBoxClient.depositBox\n      .create(snapshot.attr('name'), {\n        description: snapshot.attr('description'),\n        note: snapshot.attr('note'),\n        code: snapshot.adapterOptions.code,\n      })\n      .then((payload) => this.normalizeRecord(store, type, payload));\n  }\n\n  updateRecord(store, type, snapshot) {\n    return Promise.resolve(\n      tBoxClient.depositBox\n        .update(snapshot.id, {\n          name: snapshot.attr('name'),\n          description: snapshot.attr('description'),\n          note: snapshot.attr('note'),\n        })\n        .catch((err) => {\n          snapshot.record.rollbackAttributes();\n          return err;\n        }),\n    );\n  }\n\n  updateState(store, type, query) {\n    return Promise.resolve(\n      tBoxClient.depositBox\n        .update(query.id, {\n          state: query.state,\n        })\n        .catch((err) => {\n          return err;\n        }),\n    );\n  }\n\n  deleteRecord(store, type, query) {\n    return tBoxClient.depositBox.delete(query.id);\n  }\n}\n","import { tBoxClient } from 'client/initializers/init-toolbox';\nimport BaseAdapter from 'client/adapters/application';\n/* global libcryptobox */\n\nexport default BaseAdapter.extend({\n  updateRecord(_store, _type, snapshot) {\n    return tBoxClient.device.setState(snapshot.id, snapshot.attr('state')).catch(() => {\n      snapshot.record.rollbackAttributes();\n    });\n  },\n  \n  deleteRecord(_store, _type, snapshot) {\n    return tBoxClient.device.setState(snapshot.id, libcryptobox.DeviceState.Revoked);\n  },\n});\n","import DS from 'ember-data';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n\nexport default DS.Adapter.extend({\n  query(_store, _type, query){\n    return tBoxClient.file.getAccessLog(query.spaceId, query.path, '', '', '-date', 100)\n    .then(logs => {\n      return logs.map((log) => {\n        return {\n          id: log.spaceId + log.fileId + log.date + log.sourceIp,\n          date: log.date,\n          userEmail: log.userEmail,\n          file: log.fileId\n        };\n      });\n    });\n  },\n});\n","import BaseAdapter from 'client/adapters/application';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n\nexport default BaseAdapter.extend({\n  createRecord(store, type, snapshot) {\n    return tBoxClient.fileSharing.create(snapshot.belongsTo('space').id, snapshot.record.get('pathList'), { \n      name: snapshot.record.get('name'),\n      notAfter: snapshot.attr('notAfter'),\n      uniqueDownload: snapshot.attr('uniqueDownload'),\n      authorSubscription: snapshot.attr('authorSubscription'),\n    }).then(async (payload) => {\n      snapshot.record.set('key', await tBoxClient.fileSharing.getKey(payload.url));\n      if (snapshot.attr('recipients')) {\n        return tBoxClient.fileSharing.sendByEmail(\n          snapshot.attr('recipients'),\n          snapshot.record.get('message'),\n          payload.url\n          ).then(() => {\n            return this.normalizeRecord(store, type, payload);\n        });\n      } else {\n        return this.normalizeRecord(store, type, payload);\n      }\n    }).catch((error) => {\n      snapshot.record.unloadRecord();\n      throw error;\n    });\n  },\n\n  updateRecord(store, type, snapshot) {\n    return tBoxClient.fileSharing.update(snapshot.belongsTo('space').id, snapshot.id, { \n      notAfter: snapshot.attr('notAfter'),\n      suspended: snapshot.attr('suspended'),\n      uniqueDownload: snapshot.attr('uniqueDownload'),\n      authorSubscription: snapshot.attr('authorSubscription'),\n    }).catch(() => {\n      snapshot.record.toggleProperty('suspended');\n    });\n  },\n\n  deleteRecord(store, type, snapshot) {\n    return tBoxClient.fileSharing.delete(snapshot.belongsTo('space').id, snapshot.id);\n  },\n});\n","import BaseAdapter from 'client/adapters/application';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n\nexport default BaseAdapter.extend({\n  createRecord(store, type, snapshot) {\n    if (snapshot.attr('isDirectory')) {\n      return tBoxClient.file.createDirectory(snapshot.belongsTo('space').id, snapshot.attr('path')).then(payload => {\n        return this.normalizeRecord(store, type, payload);\n      });\n    }\n    return tBoxClient.file.create(snapshot.belongsTo('space').id, snapshot.attr('path')).then(payload => {\n      return this.normalizeRecord(store, type, payload);\n    });\n  },\n\n  deleteRecord(_store, _type, snapshot) {\n    return tBoxClient.file.remove(snapshot.belongsTo('space').id, snapshot.attr('path'));\n  },\n});\n","import BaseAdapter from 'client/adapters/application';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n\nexport default BaseAdapter.extend({\n  findAll() {\n    const localAccounts = [];\n\n    return tBoxClient.account.list().then(accounts => {\n      let cpt = 1;\n      let colorId = 0;\n      accounts.forEach((item) => {\n        if((cpt%2) === 0) {\n          colorId = 0;\n        } else {\n          if((cpt%3) === 0)\n              colorId = 1;\n          else\n              colorId = 2;\n        }\n        cpt ++;\n\n        let account = {\n          id: item.id,\n          givenName: item.user.givenName,\n          surName: item.user.surname,\n          userEmail: item.user.email,\n          serverUrl: item.serverUrl,\n          color: colorId,\n        };\n        localAccounts.push(account);\n      });\n      return localAccounts;\n    })\n    .catch((error) => {\n      console.error(error);\n      return localAccounts;\n    })\n  }\n});\n","import BaseAdapter from 'client/adapters/application';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n\nexport default class Message extends BaseAdapter{\n  createRecord(store, type, snapshot) {\n    return tBoxClient.message.create(snapshot.belongsTo('space').id, snapshot.attr('text'))\n      .then(payload => this.normalizeRecord(store, type, payload));\n  }\n\n  deleteRecord(_store, _type, snapshot) {\n    return tBoxClient.message.delete(snapshot.id);\n  }\n};\n","import { tBoxClient } from 'client/initializers/init-toolbox';\nimport BaseAdapter from 'client/adapters/application';\n\nexport default class Notification extends BaseAdapter {\n  updateRecord(_store, _type, snapshot) {\n    return tBoxClient.notification.setState(snapshot.id, snapshot.attr('state'))\n      .catch(() => snapshot.record.rollbackAttributes());\n  }\n\n  deleteRecord(_store, _type, snapshot) {\n    return tBoxClient.notification.delete(snapshot.id);\n  }\n}\n","import { tBoxClient } from 'client/initializers/init-toolbox';\nimport BaseAdapter from 'client/adapters/application';\n\nexport default class  PreaddedSpaceMember extends BaseAdapter {\n  deleteRecord(_store, _type, snapshot) {\n    return tBoxClient.preaddedSpaceMember.delete(snapshot.id);\n  }\n}\n","import { tBoxClient } from 'client/initializers/init-toolbox';\nimport BaseAdapter from 'client/adapters/application';\n\nexport default class SpaceMember extends BaseAdapter {\n\n  createRecord(store, type, snapshot) {\n    const spaceId = snapshot.belongsTo('space').id;\n    return tBoxClient.spaceMember.add(spaceId, snapshot.attr('email'), snapshot.attr('role')).then(payload => {\n      const existingRecord = store.peekRecord({ type: 'space-member', id: payload.id });\n\n      if (existingRecord) {\n        existingRecord.unloadRecord();\n      }\n\n      return this.normalizeRecord(store, type, payload);\n    });\n  }\n\n  updateRecord(store, _type, snapshot) {\n    const spaceId = snapshot.belongsTo('space').id;\n    return tBoxClient.spaceMember.setRole(spaceId, snapshot.id, snapshot.attr('role'));\n  }\n\n  deleteRecord(store, _type, snapshot){\n    return tBoxClient.spaceMember.remove(snapshot.belongsTo('space').id, snapshot.id);\n  }\n}\n","import BaseAdapter from 'client/adapters/application';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n/* global libcryptobox */\n\nexport default class Space extends BaseAdapter{\n  createRecord(store, type, snapshot) {\n    const peer = snapshot.belongsTo('peer');\n    const members = snapshot.hasMany('members') ?? [];\n    return new Promise((resolve) => {\n      switch (snapshot.attr('kind')) {\n        case libcryptobox.SpaceKind.DirectConversation: {\n          resolve(tBoxClient.space.createDirectConversation(peer.attr('email'), []));\n          break;\n        }\n        case libcryptobox.SpaceKind.GroupConversation: {\n          const emails = members.map(member => member.attr('email'));\n          snapshot.record.members.toArray().forEach(m => m.deleteRecord())\n          resolve(tBoxClient.space.createGroupConversation(snapshot.attr('name'), emails, []))\n          break;\n        }\n        default: {\n          resolve(\n            tBoxClient.space.createWorkspace(snapshot.attr(\"name\"), {\n              description: snapshot.attr(\"description\"),\n              tags: snapshot.attr(\"tags\"),\n              members: Object.fromEntries(members.map(m => [m.attr('email'), m.attr('role')])),\n              messagingEmailNotification: snapshot.attr(\n                \"messagingEmailNotification\"\n              ),\n              securityLevelIds: snapshot\n                .hasMany(\"securityLevels\")\n                ?.map(sl => sl.id),\n            })\n          );\n          break;\n        }\n      }\n    }).then(payload => {\n      // Clean up the user temporary records\n      if (peer) {\n        peer.record.unloadRecord();\n      }\n      if (members) {\n        members.forEach(member => member.record.unloadRecord());\n      }\n      this._unloadAssociation(payload, store, type);\n      return this.normalizeRecord(store, type, payload);\n    }).catch(error => console.warn(error));\n  }\n\n  updateRecord(_store, _type, snapshot) {\n    const securityLevelIDs = snapshot.hasMany('securityLevels').map(sl => sl.id)\n\n    return Promise.all([\n      tBoxClient.space.setName(snapshot.id, snapshot.attr('name')),\n      tBoxClient.space.setDescription(snapshot.id, snapshot.attr('description')),\n      tBoxClient.space.setTags(snapshot.id, snapshot.attr('tags')),\n      tBoxClient.space.setStatus(snapshot.id, snapshot.attr('status')),\n      tBoxClient.space.setMessagingEmailNotification(snapshot.id, snapshot.attr('messagingEmailNotification')),\n      tBoxClient.space.setSecurityLevels(snapshot.id, securityLevelIDs, snapshot.attr('removeSecurityLevelMessage'))\n    ]).catch(() => snapshot.record.rollbackAttributes()).then(() => undefined);\n  }\n};\n","import Application from '@ember/application';\nimport Resolver from 'ember-resolver';\nimport loadInitializers from 'ember-load-initializers';\nimport config from './config/environment';\n\nexport default class App extends Application {\n  modulePrefix = config.modulePrefix;\n  podModulePrefix = config.podModulePrefix;\n  Resolver = Resolver;\n  ready = () => {\n    if (config.APP.isTauriApp) {\n      window.addEventListener('contextmenu', (e) => {\n        e.preventDefault();\n      });\n    }\n    setTimeout(() => {\n      const splash = document.querySelector('#splash_screen');\n      splash.classList.add('fade-out');\n      splash.addEventListener(\n        'transitionend',\n        () => {\n          splash.style.display = 'none';\n        },\n        false,\n      );\n    }, 1000);\n  };\n}\n\nloadInitializers(App, config.modulePrefix);\n","import { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\nimport Component from '@glimmer/component';\nimport Notify from 'ember-notify';\n\nimport { tracked } from '@glimmer/tracking';\n\nexport default class AboutModalComponent extends Component {\n  @service cryptoboxURLs;\n  @service autoUpdate;\n  @service connection;\n  @service modalManager;\n  updateNotify = Notify.create();\n  @tracked toast = null;\n\n  constructor() {\n    super(...arguments);\n    this.autoUpdate.registerUpdateAvailableCallback(() => {\n      if (!this.modalManager.isModalOpen('about-modal')) {\n        this.toast = this.updateNotify.success('', {\n          closeAfter: null,\n          radius: true,\n        });\n      }\n    });\n  }\n\n  get isLoading() {\n    return (\n      this.autoUpdate.isUpdateVerifying || this.autoUpdate.isUpdateDownloading\n    );\n  }\n\n  get updateAvailable() {\n    return this.autoUpdate.isUpdateAvailable;\n  }\n\n  @action\n  clickEvent() {\n    if (this.autoUpdate.isUpdateAvailable) {\n      this.autoUpdate.restart();\n    } else {\n      this.autoUpdate.check();\n    }\n  }\n\n  @action\n  clickToastLater() {\n    if (this.toast) this.toast.close();\n    this.autoUpdate.showUpdateNotification = true;\n  }\n\n  @action\n  clickToastRestart() {\n    this.autoUpdate.restart();\n  }\n\n  @action\n  onAboutModalClose() {\n    if (this.autoUpdate.isUpdateAvailable) {\n      this.autoUpdate.showUpdateNotification = true;\n    }\n    this.args.closeAboutModal();\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n/* global libcryptobox */\n\nexport default class ChangePasswordComponent extends Component {\n  @tracked initial = null;\n  @tracked registry = [];\n\n  @tracked currentPassword;\n  @tracked customMessage;\n  @tracked currentPasswordIsNotValid = false;\n  @tracked passwordScore;\n  @tracked passwordIsNotValid;\n\n  @service modalManager;\n  @service account;\n  @service intl;\n  @service session;\n\n  @tracked modalName = 'changePassword';\n\n  _handleListener(component) {\n    return () => {\n      clearInterval(component.initial);\n      component.initial = window.setInterval(\n        component._resetPasswordField(component),\n        60000,\n      );\n    };\n  }\n\n  _resetPasswordField(component) {\n    return () => {\n      component.currentPassword = '';\n    };\n  }\n\n  @action\n  openModal() {\n    this.currentPassword = null;\n    this.newPassword = null;\n    this.confirmNewPassword = null;\n    this.customMessage = null;\n    this.currentPasswordIsNotValid = false;\n    this.passwordIsNotValid = false;\n    if (!this.modalManager.isModalOpen(this.modalName)) {\n      this.modalManager.open(this.modalName);\n    }\n  }\n\n  initRegistry() {\n    if (this.registry?.length) {\n      this.registry[0].value = null;\n      this.registry[0].confirmPassword = null;\n      this.registry[0].passwordScore = null;\n      this.registry[0].resetpasswordInputState();\n      this.registry[0].resetConfirmPasswordState();\n    }\n  }\n\n  @action\n  closeModal() {\n    this.modalManager.close(this.modalName);\n    this.initRegistry();\n  }\n\n  @action\n  changePassword() {\n    if (this.isUpdating) {\n      return;\n    }\n    this.isUpdating = true;\n    let newPwd = this.newPassword;\n\n    this.session.changingPwd = true;\n    tBoxClient.account\n      .changePassword(newPwd, this.currentPassword)\n      .then(() => {\n        this.modalManager.close(this.modalName);\n        // this.session.setSession();\n        this.isUpdating = false;\n        this.session.changingPwd = false;\n        this.initRegistry();\n        this.modalManager.open('warnDevice');\n      })\n      .catch((error) => {\n        if (error.code === libcryptobox.ErrorCode.InvalidCredentials) {\n          this.currentPasswordIsNotValid = true;\n          this.customMessage = this.intl.t('changePassword.wrongPassword');\n        }\n        this.isUpdating = false;\n        this.session.changingPwd = false;\n      });\n  }\n\n  @action\n  setResetForm() {\n    this.initial = window.setInterval(this._resetPasswordField(this), 60000);\n\n    document.addEventListener('mousemove', this._handleListener(this));\n    document.addEventListener('keydown', this._handleListener(this));\n  }\n\n  @action\n  unregisterReset() {\n    clearInterval(this.initial);\n    document.removeEventListener('mousemove', this._handleListener(this));\n    document.removeEventListener('keydown', this._handleListener(this));\n  }\n\n  @action\n  updatePassword(value) {\n    this.newPassword = value;\n  }\n\n  @action\n  setPropertyValue(property, value) {\n    this[property] = value;\n  }\n\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class TrayMenuComponent extends Component {\n  @service account;\n  @service authService;\n  @service intl;\n\n  @tracked userType;\n\n  @action\n  async mouseEnter() {\n    const userEmail = this.account.userEmail;\n\n    if (userEmail) {\n      const type = (await tBoxClient.invite.getUsersType([userEmail]))[\n        userEmail\n      ];\n      if (!type) {\n        return;\n      }\n      if (type?.licensePool) {\n        this.userType = this.intl.t(`my.account.type.${type.licensePool}`);\n      }\n    }\n  }\n\n  @action\n  logout() {\n    this.account.logout('user');\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { debounce } from '@ember/runloop';\nimport { hash } from 'rsvp';\nimport diacritic from 'diacritic';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { A } from '@ember/array';\nimport constants from '../../confirm-password/constants';\n/* global libcryptobox */\n\nconst EMPTY_TRUSTEE = null;\nconst NO_PASSWORD = '';\n\nasync function batchAddTrustees(trustees, password) {\n  return hash(\n    trustees.reduce(\n      (res, trustee) => ({\n        ...res,\n        [trustee.email]: tBoxClient.trustee.add(trustee.email, password, false),\n      }),\n      {},\n    ),\n  );\n}\n\n/*\n * TODO\n *   - Focus on open modal \"add trustee\"\n *   - Validate on press \"enter\"\n *   - Add trustee modal : remove already added trustees to the input proposition list\n * */\nexport default class UserTrusteesComponent extends Component {\n  addTrusteesModalName = 'addTrusteesModal';\n  @tracked trusteeToRemove = EMPTY_TRUSTEE;\n\n  @tracked isNotCBXMember = false;\n  @tracked invalidEmails = false;\n  @tracked searchUser = null;\n  @tracked newTrustees = A([]);\n  @tracked searchUserResults = [];\n  @tracked highlightedResultIndex = -1;\n  @tracked CBUsers;\n  @tracked searchUserIsAlreadyTrustee;\n  @tracked passwordError = false;\n  @tracked is2faDone = 0;\n  @tracked isEditingTrusteeInProgress = false;\n\n  @service account;\n  @service store;\n  @service modalManager;\n  @service intl;\n  @service connection;\n\n  constructor() {\n    super(...arguments);\n    this.CBUsers = this.store.query('public-directory-user', {});\n  }\n\n  _resetInputError() {\n    if (this.invalidEmails) {\n      this.invalidEmails = false;\n    }\n\n    if (this.isNotCBXMember) {\n      this.isNotCBXMember = false;\n    }\n\n    if (this.searchUserIsAlreadyTrustee) {\n      this.searchUserIsAlreadyTrustee = false;\n    }\n  }\n\n  searchUsers(searchTerm) {\n    let searchResult = [];\n\n    if (!searchTerm) {\n      this.searchUserResults = searchResult;\n      return;\n    }\n\n    const term = diacritic.clean(searchTerm.toLowerCase());\n    this.CBUsers.forEach((user) => {\n      if (user.email !== this.account.userEmail) {\n        const userName = diacritic.clean(user.fullName.toLowerCase());\n        const userMail = diacritic.clean(user.email.toLowerCase());\n\n        if (userName.indexOf(term) !== -1) {\n          searchResult.push(user);\n        } else if (userMail.indexOf(term) !== -1) {\n          searchResult.push(user);\n        }\n      }\n    });\n\n    if (searchResult.length === 0) {\n      this.highlightedResultIndex = -1;\n    }\n    this.searchUserResults = searchResult.sortBy('fullName');\n  }\n\n  get buttonIsDisabled() {\n    return this.newTrustees.length === 0 || this.searchUser;\n  }\n\n  /* tBoxClient actions : ADD or REMOVE trustees */\n\n  async removeTrustee(email, password) {\n    return tBoxClient.trustee.remove(email, password);\n  }\n\n  async addTrustees(trustees, password) {\n    return batchAddTrustees(trustees, password);\n  }\n\n  close2fa() {\n    // incrementProperty() ensures didReceiveAttrs is invoked on the component.\n    this.is2faDone = this.is2faDone + 1;\n  }\n\n  /* Actions */\n  @action\n  openAddTrusteesModal() {\n    this.modalManager.open(this.addTrusteesModalName);\n  }\n\n  @action\n  closeAddTrusteesModal() {\n    this.modalManager.close(this.addTrusteesModalName);\n    this.clearInput();\n\n    this.account.toggleLockModalsFlow(false);\n    this.account.openNextModal();\n  }\n\n  @action\n  clearInput() {\n    this.newTrustees.clear();\n    this.searchUser = null;\n    this.lastsearchUser = null;\n    this.isNotCBXMember = false;\n    this.invalidEmails = false;\n    this._resetInputError();\n  }\n\n  @action\n  addTrusteeToList(userEmail) {\n    this._resetInputError();\n\n    if (this.isSearchings) {\n      return;\n    }\n\n    if (userEmail && typeof userEmail == 'string') {\n      this.searchUser = userEmail;\n    }\n\n    if (this.searchUser) {\n      this.searchUser = this.searchUser.trim();\n    } else {\n      return false;\n    }\n\n    this.isSearching = true;\n    tBoxClient.user\n      .match(this.searchUser)\n      .then((result) => {\n        this.isSearching = false;\n\n        if (result.length) {\n          let userToAdd = [];\n          let notMatchedUsers = [];\n          let invalidEmails = [];\n          result.forEach((user) => {\n            if (user.isRegistered) {\n              userToAdd.push(user);\n            } else {\n              if (user.isEmailValid) {\n                notMatchedUsers.push(user);\n              } else {\n                invalidEmails.push(user);\n              }\n            }\n          });\n          userToAdd.forEach((user) => {\n            const isCurrentUser = user.email === this.account.userEmail;\n            const isAlreadyInList = this.newTrustees.isAny('email', user.email);\n            const trusteesList = this.account.trustees;\n            if (trusteesList.isAny('email', user.email) || isAlreadyInList) {\n              this.searchUserIsAlreadyTrustee = true;\n              return;\n            }\n\n            if (!isCurrentUser && !isAlreadyInList) {\n              this.newTrustees.pushObject({\n                email: user.email,\n                fullName: user.givenName + ' ' + user.surname,\n                certificate: user.certificate,\n              });\n            }\n          });\n\n          if (notMatchedUsers.length) {\n            this.isNotCBXMember = true;\n          }\n\n          this.clearSearch();\n          if (invalidEmails.length) {\n            this.invalidEmails = true;\n          }\n        }\n      })\n      .catch(() => {\n        this.isSearching = false;\n      });\n  }\n\n  @action\n  removeTrusteeToList(trustee) {\n    this.newTrustees.removeObject(trustee);\n  }\n\n  @action\n  confirmDelete(index) {\n    this.modalManager.open(`confirmRemove-${index}`);\n  }\n\n  @action\n  selectResult(user) {\n    this.addTrusteeToList(user.get('email'));\n  }\n\n  @action\n  updateTerm(term) {\n    this.searchUser = term;\n    debounce(this, this.searchUsers, term, 500);\n  }\n\n  @action\n  clearSearch() {\n    this.searchUser = null;\n    this.searchUserResults = [];\n    this.highlightedResultIndex = -1;\n  }\n\n  async toggleTrustees(password) {\n    this.isEditingTrusteeInProgress = true;\n    try {\n      if (this.trusteeToRemove) {\n        await this.removeTrustee(this.trusteeToRemove, password);\n        this.trusteeToRemove = EMPTY_TRUSTEE;\n      } else {\n        await this.addTrustees(this.newTrustees, password);\n        this.closeAddTrusteesModal();\n      }\n    } finally {\n      this.isEditingTrusteeInProgress = false;\n    }\n  }\n\n  async shouldOpenConfirmPasswordModal() {\n    const currentAccount = await tBoxClient.account.getCurrent();\n\n    return this.connection.isDesktopApp && currentAccount.isOnDevice;\n  }\n\n  @action\n  async addNewTrustees() {\n    if (this.isSearching || this.buttonIsDisabled) {\n      return;\n    }\n\n    const openModal = await this.shouldOpenConfirmPasswordModal();\n    if (openModal) {\n      this.modalManager.open(constants.CONFIRM_PASSWORD_MODAL_NAME);\n      return;\n    }\n\n    await this.toggleTrustees(NO_PASSWORD);\n  }\n  willDestroy() {\n    super.willDestroy();\n    this.clearInput();\n  }\n\n  @action\n  async deleteTrustee(email) {\n    this.trusteeToRemove = email;\n\n    const openModal = await this.shouldOpenConfirmPasswordModal();\n    if (openModal) {\n      this.modalManager.open(constants.CONFIRM_PASSWORD_MODAL_NAME);\n      return;\n    }\n\n    await this.toggleTrustees(NO_PASSWORD);\n  }\n\n  @action\n  onCancelAddTrustee() {\n    this.closeAddTrusteesModal();\n  }\n\n  /*\n   * ELECTRON\n   * Password confirmation\n   * */\n  @action\n  async onConfirmPassword(password) {\n    try {\n      await this.toggleTrustees(password);\n    } catch (error) {\n      if (error.code === libcryptobox.ErrorCode.InvalidCredentials) {\n        this.passwordError = true;\n      }\n      return error;\n    }\n\n    this.passwordError = false;\n\n    this.modalManager.close(constants.CONFIRM_PASSWORD_MODAL_NAME);\n    this.close2fa();\n    return null;\n  }\n\n  @action\n  onClosePassword() {\n    this.passwordError = false;\n  }\n\n  @action\n  onCancel2FA() {\n    this.close2fa();\n  }\n}\n","import { hbs } from 'ember-cli-htmlbars';\nconst __COLOCATED_TEMPLATE__ = hbs(\"<button\\n  class=\\\"action-panel-item\\n    {{@class}}\\n    {{if @disabled \\\"action-panel-item--disabled\\\"}}\\\"\\n  {{on \\\"click\\\" this.onClick}}\\n  data-testid={{@data-testid}}\\n  id={{@id}}\\n  disabled={{if @disabled true false}}\\n>\\n  {{inline-svg @svg}}\\n  {{@title}}\\n</button>\\n\\n{{yield}}\", {\"contents\":\"<button\\n  class=\\\"action-panel-item\\n    {{@class}}\\n    {{if @disabled \\\"action-panel-item--disabled\\\"}}\\\"\\n  {{on \\\"click\\\" this.onClick}}\\n  data-testid={{@data-testid}}\\n  id={{@id}}\\n  disabled={{if @disabled true false}}\\n>\\n  {{inline-svg @svg}}\\n  {{@title}}\\n</button>\\n\\n{{yield}}\",\"moduleName\":\"client/components/action-panel/item.hbs\",\"parseOptions\":{\"srcName\":\"client/components/action-panel/item.hbs\"}});\nimport Component from \"@glimmer/component\";\n\nexport default class ItemComponent extends Component {\n  defaultOnClick = () => {};\n\n  get onClick() {\n    if (this.args.disabled) {\n      return () => {};\n    }\n    return this.args.onClick || this.defaultOnClick;\n  }\n}\n","import Component from '@glimmer/component';\n\nexport default class DaysConverterComponent extends Component {\n  get asDays() {\n    return this.args.days ? this.args.days : 0;\n  }\n\n}\n","import Component from \"@glimmer/component\";\nimport { action } from \"@ember/object\";\n\nexport default class DropDownComponent extends Component {\n  @action\n  onChange(option, dd) {\n    this.args.onChange(option);\n    dd.actions.close();\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport { tracked } from '@glimmer/tracking';\n\nconst EXTRA_SMALL = 'xs';\nconst SMALL = 's';\nconst MEDIUM = 'm';\nconst LARGE = 'l';\nconst sizes = [EXTRA_SMALL, SMALL, MEDIUM, LARGE];\nconst AUTO = 'auto';\n\nfunction getIconClassSizeModifier(size) {\n  if (size === AUTO) {\n    return '';\n  }\n  if (typeof size === 'number') {\n    return `atom-icon-element--size-${ size }`;\n  }\n\n  if (!sizes.includes(size)) {\n    console.error('Atom:Icon size ', size, ' doesn\\'t exist');\n    return 'atom-icon-element--s';\n  }\n\n  return 'atom-icon-element--' + size;\n}\n\nexport default class IconComponent extends Component {\n  @tracked iconId = `icon-id-${ guidFor(this) }`;\n\n  get class() {\n    const { svgClass, size } = this.args;\n    return `atom-icon-element ${ getIconClassSizeModifier(size) } ${\n      svgClass || ''\n    } ${ this.iconId }`;\n  }\n\n  @action\n  updateSvgColor(element) {\n    requestAnimationFrame(() => {\n      if (this.args.color) {\n        const svgPaths = element\n          .getElementsByClassName(this.iconId)[0]\n          .getElementsByTagName('path');\n        for (let path of svgPaths) {\n          path.style.fill = this.args.color;\n        }\n      }\n    });\n  }\n\n  @action\n  onClick(event) {\n    const { onClick, disabled } = this.args;\n\n    if (disabled) {\n      return;\n    }\n\n    if (onClick) {\n      event.stopPropagation();\n      onClick();\n    }\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { action } from \"@ember/object\";\n\nexport default class TextBaseComponent extends Component {\n  get disabled() {\n    const { disabled } = this.args;\n\n    return !!disabled;\n  }\n\n  @action\n  didInsert(element) {\n    const { autoFocus, didInsert } = this.args;\n\n    if (autoFocus) {\n      element.focus();\n    }\n\n    if (didInsert) {\n      didInsert(element);\n    }\n  }\n\n  @action\n  onChange(event) {\n    const { onChange } = this.args;\n\n    event.preventDefault();\n    event.stopPropagation();\n\n    if (onChange) {\n      onChange(event);\n    }\n  }\n\n  @action\n  onKeydown(event) {\n    const { onKeyDown, onPressEnter } = this.args;\n    if (event.key === \"Enter\" && onPressEnter) {\n      onPressEnter();\n    }\n    if (onKeyDown) {\n      onKeyDown(event);\n    }\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { guidFor } from \"@ember/object/internals\";\n\nexport default class TextComponent extends Component {\n  inputId = \"input-text-\" + guidFor(this);\n}\n","import Component from \"@glimmer/component\";\nimport { guidFor } from \"@ember/object/internals\";\nimport { action } from \"@ember/object\";\n\nexport default class TextareaComponent extends Component {\n  inputId = \"input-textarea-\" + guidFor(this);\n\n  @action\n  didInsert(element) {\n    const { autoFocus, didInsert } = this.args;\n\n    if (autoFocus) {\n      element.focus();\n    }\n\n    if (didInsert) {\n      didInsert(element);\n    }\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { inject as service } from \"@ember/service\";\nimport { action } from \"@ember/object\";\n\n/*\n * Warn : If \"href\" is passed as an HTML attribute and not an Ember argument,\n * the desktop app won't be able to performe the security check\n * */\nexport default class LinkComponent extends Component {\n  @service connection;\n\n  @action\n  onClick(event) {\n    const { onClick } = this.args;\n\n    if (onClick) {\n      onClick(event);\n    }\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { action } from \"@ember/object\";\n\nexport default class ListComponent extends Component {\n  @action\n  onClickItem(item, index, event) {\n    event.stopPropagation();\n\n    const { onClickItem } = this.args;\n\n    if (onClickItem) {\n      onClickItem(item, index);\n    }\n  }\n}\n","import Component from \"@glimmer/component\";\n\nexport default class ToastComponent extends Component {\n  constructor() {\n    super(...arguments);\n  }\n\n}\n","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { AUTOMATIC_LOGOUT_COUNTDOWN_SEC } from '../../utils/constants';\n\nexport default class AutomaticLogoutModalComponent extends Component {\n  @service userActivity;\n  @service modalManager;\n\n  @tracked counter;\n  @tracked noToast = false;\n  @tracked shouldLogOut = false;\n\n  interval;\n\n  get counterValue() {\n    const timeout = this.userActivity.timeoutLeftSeconds;\n    return (timeout != null) ? timeout : AUTOMATIC_LOGOUT_COUNTDOWN_SEC;\n  }\n\n  startInterval() {\n    this.stopInterval();\n    this.interval = setInterval(this.intervalEvent.bind(this), 1000);\n  }\n\n  stopInterval() {\n    if (this.interval) clearInterval(this.interval);\n  }\n\n  intervalEvent() {\n    this.counter = this.counterValue;\n\n    if (this.counter <= 0) {\n      this.timeoutEvent();\n    }\n  }\n\n  timeoutEvent() {\n    this.stopInterval();\n  }\n\n  @action\n  onOpen() {\n    this.shouldLogOut = false;\n    this.noToast = false;\n\n    this.counter = this.counterValue;\n\n    if (this.counter) {\n      this.startInterval();\n    }\n  }\n\n  @action\n  onConfirm() {\n    this.shouldLogOut = false;\n    this.userActivity.start();\n    this.modalManager.close('automatic-logout-modal')\n  }\n\n  @action\n  onCancel() {\n    this.counter = null;\n    this.shouldLogOut = true;\n    this.noToast = true;\n    this.stopInterval();\n    this.userActivity.confirmLogOut(this.shouldLogOut, this.noToast);\n    this.modalManager.close('automatic-logout-modal')\n  }\n\n}\n","import Component from \"@glimmer/component\";\nimport constants from \"./constants\";\n\nexport default class ConfirmPasswordComponent extends Component {\n  inputName = constants.CONFIRM_PASSWORD_NAME;\n}\n","const CONFIRM_PASSWORD_MODAL_NAME = \"confirmPasswordModalName\";\nconst CONFIRM_PASSWORD_NAME = \"confirmPassword\";\n\nexport default {\n  CONFIRM_PASSWORD_MODAL_NAME,\n  CONFIRM_PASSWORD_NAME,\n};\n","import Component from \"@glimmer/component\";\nimport { tracked } from \"@glimmer/tracking\";\nimport { action } from \"@ember/object\";\nimport { inject as service } from \"@ember/service\";\nimport constants from \"../constants\";\n\nconst EMPTY_PASSWORD = \"\";\n\nexport default class ConfirmPasswordModalComponent extends Component {\n  passwordInputElement = null;\n  confirmPasswordModalName = constants.CONFIRM_PASSWORD_MODAL_NAME;\n\n  @tracked password = EMPTY_PASSWORD;\n  @tracked writing = false;\n\n  @service account;\n  @service modalManager;\n\n  get error() {\n    const { error } = this.args;\n    const inputError = !this.writing && error;\n\n    if (inputError) {\n      this.passwordInputElement.focus();\n    }\n\n    return inputError;\n  }\n\n  @action\n  onConfirm() {\n    const { onConfirm } = this.args;\n\n    this.writing = false;\n\n    onConfirm(this.password);\n\n    this.password = EMPTY_PASSWORD;\n  }\n\n  @action\n  onCancel() {\n    this.writing = false;\n    this.modalManager.close(this.confirmPasswordModalName);\n  }\n\n  @action\n  onChangePassword(event) {\n    const { value } = event.target;\n    this.password = value;\n    this.writing = true;\n  }\n\n  @action\n  didInsertInputPassword(element) {\n    this.passwordInputElement = element;\n  }\n\n  @action\n  onOpenModal() {\n    this.passwordInputElement.focus();\n  }\n\n  @action\n  onCloseModal() {\n    const { onClose } = this.args;\n\n    this.password = EMPTY_PASSWORD;\n    onClose();\n  }\n}\n","import { computed } from '@ember/object';\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { guidFor } from '@ember/object/internals';\nimport { action } from '@ember/object';\n\nexport default class ContextMenu extends Component {\n  @service commonService;\n\n  elementId = guidFor(this);\n  @tracked displayLeft;\n\n  get positionStyle() {\n    return this.args.positionStyle || 'contextmenu';\n  }\n\n  @action\n  didInsert() {\n    const margin = 8;\n    const element = document.querySelector(`#${this.elementId}`);\n    const width = element.offsetWidth;\n    const height = element.offsetHeight;\n    const wWidth = window.innerWidth;\n    const wHeight = window.innerHeight;\n    \n    const parentView = this.args.parentView;\n\n    let left;\n    let top;\n\n    // Base positionStyle:\n    // - contextmenu (default): top left corner aligned with mouse position.\n    // - dropdown: top left corner aligned with bottom left corner of parent.\n    // - submenu: top left corner aligned with top right corner of parent.\n\n    if (this.positionStyle == 'contextmenu') {\n      if (parentView.mouseX + width >= wWidth || this.displayLeft) {\n        left = parentView.mouseX - width;\n      } else {\n        left = parentView.mouseX;\n      }\n      if (parentView.mouseY + height >= wHeight) {\n        top = parentView.mouseY - height;\n        if (top < 70) {\n          top = 70;\n        }\n      } else {\n        top = parentView.mouseY;\n      }\n    } else if (this.positionStyle == 'dropdown') {\n      const parent = document.querySelector(`#${parentView.elementId}`);\n      if (!parentView.elementId || !parent) {\n        console.warn('context-menu: parentView.elementId is missing or invalid (this.positionStyle == \"dropdown\")')\n      } else {\n        const bounds = parent.getBoundingClientRect();\n        \n        top = bounds.bottom;\n        left = bounds.left;\n\n        if (top + height + margin >= wHeight) {\n          top = wHeight - height - margin;\n        }\n        if (left + width >= wWidth) {\n          left = bounds.right - width;\n        }\n      }\n    } else if (this.positionStyle == 'submenu') {\n      const parent = document.querySelector(`#${parentView.elementId}`);\n      if (!parentView.elementId || !parent) {\n        console.warn('context-menu: parentView.elementId is missing or invalid (this.positionStyle == \"submenu\")')\n      } else {\n        const bounds = parent.getBoundingClientRect();\n        \n        top = bounds.top;\n        left = bounds.right;\n        \n        if (top + height + margin >= wHeight) {\n          top = wHeight - height - margin;\n        }\n        if (left + width >= wWidth) {\n          left = bounds.left - width;\n        }\n      }\n    }\n\n    element.style.top = `${top}px`;\n    element.style.left = `${left}px`;\n    window.addEventListener('mousedown', this.clickHandler);\n    window.addEventListener('resize', this.clickHandler);\n  }\n\n  willDestroy() {\n    super.willDestroy(...arguments);\n    window.removeEventListener('mousedown', this.clickHandler);\n    window.removeEventListener('resize', this.clickHandler);\n    return super.willDestroy();\n  }\n\n  @computed('elsewhereHandler')\n  get clickHandler() {\n    return this.elsewhereHandler.bind(this);\n  }\n\n  @action\n  onClickElsewhere(event) {\n    if (this.modalIsOpen || this.commonService.modalIsOpen) {\n      return;\n    }\n    if (this.args.parentView.onClickElsewhere) {\n      this.args.parentView.onClickElsewhere(event);\n    } else {\n      this.args.parentView.isContextMenuOpened = false;\n    }\n  }\n\n  @action\n  elsewhereHandler(event) {\n    if (!event.target.closest) return;\n\n    const isThisElement = event.target.closest(`#${this.elementId}`);\n    if (!isThisElement) {\n      return this.onClickElsewhere(event);\n    }\n  }\n\n  @action\n  handleClick(e) {\n    e.stopPropagation();\n  }\n}\n","import Component from '@glimmer/component';\n\nexport default class extends Component {\n  get middle() {\n    return this.args.middle || 60;\n  }\n  get max() {\n    return this.args.max || 64;\n  }\n  get messageLength() {\n    if (!this.args.text) return 0;\n    return this.args.text.length;\n  }\n\n  get isShort() {\n    return this.messageLength <= this.middle;\n  }\n\n  get isMedium() {\n    return this.messageLength >= this.middle && this.messageLength <= this.max;\n  }\n\n  get isLong() {\n    return this.messageLength > this.max;\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { inject as service } from '@ember/service';\n\nexport default class CryptoboxURLsComponent extends Component {\n  @service cryptoboxURLs;\n}\n","import Component from '@glimmer/component';\nimport { Info } from 'luxon';\nimport { action } from '@ember/object';\n\nexport default class CustomPikadayInputComponent extends Component {\n\n  get i18n() {\n    let locale = navigator.language || navigator.userLanguage || 'en-US';\n    Info.defaultLocale = locale;\n    const weekdays = Info.weekdays('long', { locale });\n    const weekdaysShort = Info.weekdays('short', { locale });\n\n    return {\n      months: Info.months('long', { locale }),\n      weekdays: [weekdays[6], ...weekdays.slice(0, 6)],\n      weekdaysShort: [weekdaysShort[6], ...weekdaysShort.slice(0, 6)],\n    };\n  }\n\n  @action\n  handleSelection(date) {\n    if (!date) return;\n    this.args.onSelection(date);\n  }\n\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\n\nexport default class DeleteProcessedBox extends Component {\n  @service store;\n  @service intl;\n  @service notify;\n  @service('deposit-box') depositBoxService;\n  @service modalManager;\n\n  get model() {\n    return this.args.model;\n  }\n\n  get hasPopulatedProcessedBoxes() {\n    return this.model.some(\n      (depositBox) => depositBox.state === 'populatedProcessed',\n    );\n  }\n\n  @action\n  openDeleteProcessedBoxesModal() {\n    this.modalManager.open('depositBox-delete-processed-modal');\n  }\n\n  @action\n  async handleDeleteProcessedBoxes() {\n    try {\n      const boxesToDeleteIds = this.model\n        .filter(({ state }) => state === 'populatedProcessed')\n        .map(({ id }) => id);\n      const deleteBox = async (id) =>\n        await this.depositBoxService.deleteDepositBox(id);\n\n      await Promise.all(boxesToDeleteIds.map(deleteBox));\n\n      this.args.loadDepositBoxes();\n      this.modalManager.close('depositBox-delete-processed-modal');\n      this.notify.success(\n        this.intl.t('depositBox.tooltip.delete-processed-boxes-success'),\n      );\n    } catch (error) {\n      console.error(error);\n    }\n  }\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\n\nexport default class Badge extends Component {\n  @service intl;\n\n  badgeState = [\n    {\n      value: 'populatedUnread',\n      label: this.intl.t('depositBox.badge.populatedUnreadOrPopulatedRead'),\n      color: { background: '#FFF4D6', text: '#8D6B07' },\n    },\n    {\n      value: 'populatedRead',\n      label: this.intl.t('depositBox.badge.populatedUnreadOrPopulatedRead'),\n      color: { background: '#FFF4D6', text: '#8D6B07' },\n    },\n    {\n      value: 'populatedProcessed',\n      label: this.intl.t('depositBox.badge.populatedProcessed'),\n      color: { background: 'var(--green-light, #E5FBF0)', text: '#157A49' },\n    },\n    {\n      value: 'blocked',\n      label: this.intl.t('depositBox.badge.blocked'),\n      color: {\n        background: '#FEE3E3',\n        text: '#8D0707',\n      },\n    },\n    {\n      value: 'empty',\n      label: this.intl.t('depositBox.badge.empty'),\n      color: {\n        background: 'var(--grey-0, #F2F3F8)',\n        text: 'var(--grey-80, #6B6B71)',\n      },\n    },\n  ];\n\n  get state() {\n    return this.args.state;\n  }\n\n  get currentFilter() {\n    return (\n      this.badgeState.find((f) => f.value === this.state) ||\n      this.badgeState.find((f) => f.value === 'empty')\n    );\n  }\n\n  get value() {\n    return this.currentFilter.label;\n  }\n\n  get styles() {\n    const { background, text } = this.currentFilter.color;\n    return `background: ${background}; color: ${text};`;\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\n\nexport default class DepositBoxCard extends Component {\n  @service intl;\n  @service router;\n\n  get depositBox() {\n    return this.args.depositBox;\n  }\n\n  get isBlocked() {\n    return this.depositBox.maxCodeAttemptsReached;\n  }\n  @action\n  goToBox() {\n    this.router.transitionTo('deposit-boxes.deposit-box', this.depositBox.id);\n  }\n}\n","import Component from '@glimmer/component';\nimport { action, computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class EditorBox extends Component {\n  @tracked modalName = 'depositBox-editor-modal';\n\n  @tracked isProcessing = false;\n\n  @tracked name = '';\n  @tracked oldName = '';\n  @tracked description = '';\n  @tracked note = '';\n  @tracked protectWithAPassCode = false;\n\n  @service store;\n  @service modalManager;\n  @service intl;\n  @service notify;\n  @service('deposit-box') depositBoxService;\n\n  get isUpdating() {\n    return this.args.isUpdating;\n  }\n\n  get isTemplating() {\n    return this.args.isTemplating;\n  }\n\n  @computed('depositBoxService.depositBoxSettings.codePolicy')\n  get protectWithAPassCodeEnforced() {\n    return this.depositBoxService.depositBoxSettings.codePolicy === libcryptobox.DepositBoxCodePolicy.Enforced;\n  }\n\n  get modalDepositBoxOptions() {\n    return this.modalManager.getOptions(this.modalName);\n  }\n\n  get modalTitle() {\n    const keyPrefix = `depositBox.${\n      this.isUpdating ? 'update' : 'create'\n    }.title`;\n    return this.intl.t(keyPrefix);\n  }\n\n  get isDisableSubmitButton() {\n    const isNameValid =\n      this.name && this.name.trim().length > 0 && this.name.length <= 64;\n    return !isNameValid || this.isProcessing;\n  }\n\n  @action\n  initializeFormData() {\n    const shouldProtectWithAPassCode = [libcryptobox.DepositBoxCodePolicy.EnabledByDefault, libcryptobox.DepositBoxCodePolicy.Enforced].includes(this.depositBoxService.depositBoxSettings.codePolicy);\n    if (this.isUpdating || this.isTemplating) {\n      const depositBox = this.modalDepositBoxOptions;\n\n      if (!depositBox) return;\n\n      const { name, description, note, link } = depositBox;\n      this.name = name;\n      this.oldName = name;\n      this.description = description;\n      this.note = note;\n      this.protectWithAPassCode = !!link?.code;\n      if (this.isTemplating) {\n         if (this.depositBoxService.depositBoxSettings.codePolicy === libcryptobox.DepositBoxCodePolicy.Enforced) {\n          this.protectWithAPassCode = true;\n        } else {\n          this.protectWithAPassCode = !!link?.code;\n        }\n\n      }\n    } else {\n      this.name = '';\n      this.description = '';\n      this.note = '';\n      this.protectWithAPassCode = shouldProtectWithAPassCode\n    }\n  }\n\n  @action\n  async handleSubmitBox() {\n    this.isProcessing = true;\n    try {\n      const savedRecord =\n        this.isUpdating && !this.isTemplating\n          ? await this.updateDepositBox()\n          : await this.createDepositBox();\n\n      this.closeModal();\n      if (this.isUpdating) {\n        return this.notify.info(this.intl.t('depositBox.update.notify-text'), {\n          title: this.intl.t('depositBox.update.notify-title'),\n          icon: 'deposit-box',\n        });\n      }\n      this.handleModalOperations(savedRecord);\n    } catch (error) {\n      console.error(\n        `Error:: Deposit-Box::${\n          this.isUpdating\n            ? 'Update'\n            : this.isTemplating\n              ? 'Create-Template'\n              : 'Create'\n        }`,\n        error,\n      );\n    } finally {\n      this.isProcessing = false;\n    }\n  }\n\n  @action\n  async checkDepositBoxNameExists() {\n    if (this.isUpdating && this.oldName === this.name) {\n      return false;\n    }\n\n    const depositBoxListItems = this.depositBoxService.getAllDepositBoxes();\n\n    return depositBoxListItems\n      .toArray()\n      .some(\n        (box) =>\n          box.get('name').toLowerCase() ===\n          this.name.trim().replace(/\\s+/g, ' ').toLowerCase(),\n      );\n  }\n\n  @action\n  async createDepositBox() {\n    return this.depositBoxService.createDepositBox({\n      name: this.name,\n      description: this.description,\n      note: this.note,\n      code: this.protectWithAPassCode,\n    });\n  }\n\n  @action\n  async updateDepositBox() {\n    const box = this.modalManager.getOptions(this.modalName);\n    return this.depositBoxService.updateDepositBox(box, {\n      name: this.name,\n      description: this.description,\n      note: this.note,\n    });\n  }\n\n  handleModalOperations(savedRecord) {\n    this.modalManager.open('depositBox-editor-loading-modal');\n    setTimeout(() => {\n      this.modalManager.close('depositBox-editor-loading-modal');\n      this.modalManager.open('depositBox-show-link', {\n        name: savedRecord.name,\n        code: savedRecord.link?.code || '',\n        link: savedRecord.link?.url || '',\n        id: savedRecord.id,\n      });\n      if (this.args.loadDepositBoxes) {\n        this.args.loadDepositBoxes();\n      }\n      this.initializeFormData();\n    }, 3000);\n  }\n\n  @action\n  closeModal() {\n    this.modalManager.close(this.modalName);\n  }\n\n  @action\n  toggleProtectWithAPassCode() {\n    this.protectWithAPassCode = !this.protectWithAPassCode;\n  }\n\n  @action\n  handleClosingModal() {\n    if (this.args.onClose) {\n      this.args.onClose();\n    }\n    this.initializeFormData();\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class Loading extends Component {\n  @service modalManager;\n\n  @tracked loading = false;\n  @tracked modalName = 'depositBox-editor-loading-modal';\n\n  get isOpen() {\n    return this.modalManager.isModalOpen(this.modalName);\n  }\n  @action\n  closeModalAfterDelay() {\n    if (this.isOpen) {\n      setTimeout(() => {\n        this.close();\n      }, 3000);\n    }\n  }\n\n  @action\n  close() {\n    this.modalManager.close(this.modalName);\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { inject as service } from '@ember/service';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from \"@glimmer/tracking\";\nimport { action, computed } from \"@ember/object\";\n\n\nexport default class FileListComponent extends Component {\n\n    @service('transfers') transferManager;\n\n    @service intl;\n\n    @tracked highlight;\n\n\n    get fileAlreadyExistErrorCode() {\n      return libcryptobox.ErrorCode.InvalidParameter;\n    }\n\n    @computed('transferManager.active.length', 'transferManager.completed.length')\n    get fileNumberMessage() {\n      const active = this.transferManager.active;\n      if (active.length > 0) {\n        return this.intl.t('depositBoxForm.addFileUploadingMessage', {value:active.length});\n      } else {\n        return this.intl.t('depositBoxForm.fileUploaded', {value:this.transferManager.completed.length});\n      }\n    }\n\n    get allTransferSize() {\n      const allActiveSize = this.transferManager.active.map(item => item.size).reduce((previous, current) => {\n        return previous + current;\n      }, 0);\n      const allCompletedSize = this.transferManager.completed.map(item => item.size).reduce((previous, current) => {\n        return previous + current;\n      }, 0);\n\n      const allTransferSize = allActiveSize + allCompletedSize\n      return allTransferSize ? \" (\" + this.bytesToSize(allTransferSize) + \")\" : \"\";\n    }\n\n    @computed('transferManager.active.length', 'transferManager.completed.length')\n    get showRemainingTime() {\n      return this.transferManager.active.length > 0;\n    }\n\n    @action\n    async onClickDeleteTransfer(transfer) {\n      try {\n        await transfer.cancelTransfer();\n      } finally {\n        const active = this.transferManager.active;\n        const failed = this.transferManager.failed;\n        const completed = this.transferManager.completed;\n        active.removeObject(transfer);\n        failed.removeObject(transfer);\n        completed.removeObject(transfer);\n        const failedTransferToRemove = failed.filter((item) => item.error.code === libcryptobox.ErrorCode.InvalidParameter);\n        failedTransferToRemove.forEach(element => failed.removeObject(element));\n        const allTransferLenght = active.length + failed.length + completed.length;\n        if (allTransferLenght === 0) {\n          this.args.onAllTransferDeleted();\n        }\n      }\n    }\n\n    @action\n    bytesToSize(bytes) {\n        const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\n        if (bytes == 0) return '0 B';\n        const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1000)));\n        return Math.round(bytes / Math.pow(1000, i), 2) + ' ' + sizes[i];\n    }\n\n    @action\n    onClickAddFile() {\n      this.highlight = false;\n      this.args.onClickAddFile();\n    }\n\n    @action\n    onMouseOver() {\n      this.highlight = true;\n    }\n\n    @action\n    onMouseOut() {\n      this.highlight = false;\n    }\n}\n\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\n\nexport default class ListItem extends Component {\n  @service intl;\n  @service router;\n  @service('transfers') transfersManager;\n  @service modalManager;\n\n  @tracked selectedFiles = [];\n  @tracked selectedAll = false;\n\n  get depositBox() {\n    return this.args.depositBox;\n  }\n\n  get files() {\n    return this.args.depositBox.files;\n  }\n\n  get isAllSelected() {\n    return (\n      this.files.length > 0 &&\n      this.files.every((file) => this.selectedFiles.includes(file))\n    );\n  }\n  get isMultipleSelectedFiles() {\n    return this.selectedFiles.length > 1;\n  }\n\n  get isDisabled() {\n    return this.selectedFiles.length === 0;\n  }\n\n  @action\n  toggleSelection(file) {\n    if (this.selectedFiles.includes(file)) {\n      this.selectedFiles.removeObject(file);\n    } else {\n      this.selectedFiles.addObject(file);\n    }\n    this.selectedAll = this.isAllSelected;\n  }\n\n  @action\n  isChecked(file) {\n    return this.selectedFiles.includes(file);\n  }\n\n  @action\n  toggleSelectAll() {\n    if (this.isAllSelected) {\n      this.selectedFiles = [];\n      this.selectedAll = false;\n    } else {\n      this.selectedFiles = this.files.slice();\n      this.selectedAll = true;\n    }\n  }\n\n  @action\n  handleCopyInWorkspace() {\n    return this.modalManager.open('copy-move-modal');\n  }\n\n  @action\n  async handleDownloadDepositBox() {\n    await this.transfersManager.downloadDepositBox(\n      this.depositBox,\n      this.selectedFiles,\n    );\n  }\n\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\n\nexport default class FileSize extends Component {\n  @service intl;\n\n  get fileCount() {\n    return this.args.fileCount;\n  }\n\n  get files() {\n    return this.args.files;\n  }\n\n  get isMultiplesFiles() {\n    return this.files.length > 1;\n  }\n\n  get totalFilesSize() {\n    return this.files.reduce((acc, file) => acc + file.size, 0);\n  }\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\n\nexport default class Item extends Component {\n  @service intl;\n  @service router;\n\n  get file() {\n    return this.args.file;\n  }\n\n  get isChecked() {\n    return this.args.selectedFiles.includes(this.file);\n  }\n\n  set isChecked(value) {\n    //TODO  find best solution for checked\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { openExternal } from 'client/ipc';\n\nexport default class DepositBoxShowLink extends Component {\n  @service modalManager;\n  @service intl;\n  @service notify;\n  @service router;\n  @service store;\n  @service connection;\n\n  @tracked modalName = 'depositBox-show-link';\n  @tracked showToast = false;\n  @tracked toastStatus = 'toasts.depositBox-copy.link.success';\n  @tracked mailtoLink = '';\n\n  get depositBox() {\n    return this.modalManager.getOptions('depositBox-show-link');\n  }\n\n  get isOpen() {\n    return this.modalManager.isModalOpen(this.modalName);\n  }\n\n  @action\n  onOpen() {\n    const subject = this.intl.t('depositBox.showLink.mail.subject', {\n      name: this.depositBox.name,\n    });\n    const body = this.intl.t('depositBox.showLink.mail.body', {\n      name: this.depositBox.name,\n      link: this.depositBox.link,\n    });\n    this.mailtoLink = `mailto:?subject=${ encodeURIComponent(\n      subject,\n    ) }&body=${ encodeURIComponent(body) }`;\n  }\n\n  @action\n  onClose() {\n    this.mailtoLink = '';\n  }\n\n  @action\n  closeModalAfterDelay() {\n    if (this.isOpen) {\n      setTimeout(() => {\n        this.close();\n      }, 3000);\n    }\n  }\n\n  @action\n  close() {\n    this.modalManager.close(this.modalName);\n  }\n\n  @action\n  async handleElectron(e) {\n    if (this.connection.isDesktopApp) {\n      e.preventDefault();\n      await openExternal(this.mailtoLink);\n    }\n  }\n\n  @action\n  goToDepositBox() {\n    this.router\n      .transitionTo('deposit-boxes.deposit-box', this.depositBox.id)\n      .then(() => {\n        this.close();\n      });\n  }\n\n  @action\n  copyInClipboard(key, value) {\n    if (!value) {\n      return;\n    }\n\n    navigator.clipboard.writeText(value).then(() => {\n      this.toastStatus = `toasts.depositBox-copy.${ key }.success`;\n      this.showToast = true;\n      setTimeout(() => {\n        this.showToast = false;\n      }, 3000);\n    });\n  }\n\n  willDestroy() {\n    super.willDestroy(...arguments);\n    this.showToast = false;\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { tracked } from \"@glimmer/tracking\";\nimport { action, computed } from \"@ember/object\";\nimport { inject as service } from '@ember/service';\n\n\nexport default class DepositBoxSummaryComponent extends Component {\n\n    @tracked comment = \"\";\n\n    @tracked highlight;\n    \n    @service('transfers') transferManager;\n\n    @service intl;\n\n    @computed('args.depositBox.creationDate')\n    get depositBoxCreationDate() {\n        return this.args.depositBox.creationDate;\n    }\n\n    @computed('window.innerWidth', 'screen.width')\n    get addFileMessage() {\n        var width = (window.innerWidth > 0) ? window.innerWidth : screen.width;\n        return width <= 785 ? \"\" : this.intl.t('depositBoxForm.addFileDragAndDrop');\n    }\n\n    get addFileMessageAdd() {\n        var width = (window.innerWidth > 0) ? window.innerWidth : screen.width;\n        return width <= 785 ? this.intl.t('depositBoxForm.addFileDragAndDropAdd').charAt(0).toUpperCase() : this.intl.t('depositBoxForm.addFileDragAndDropAdd');\n    }\n\n    @computed('args.depositBox.creationDate')\n    get depositBoxAuthorName() {\n        return this.args.depositBox.author.givenName + \" \" + this.args.depositBox.author.surname;\n    }\n\n    get dateFormat() {\n        return this.intl.t('depositBox.dateHourFormat');\n    }\n    \n    @computed('transferManager.failed.length', 'transferManager.active.length', 'transferManager.active.@each.{state}')\n    get validateDisabled() {\n        const failedTransfer = this.transferManager.failed.filter((item) => item.error.code !== libcryptobox.ErrorCode.InvalidParameter);\n        return failedTransfer.length >= 1 || this.transferManager.active.length >= 1;\n    }\n    \n    @action\n    onFileDropped(fileList) {\n        this.args.onFileDropped(fileList);\n    }\n\n    @action\n    onMouseOver() {\n      this.highlight = true;\n    }\n\n    @action\n    onMouseOut() {\n      this.highlight = false;\n    }\n\n    @action\n    validate() {\n        this.args.onClickValidate(this.comment);\n    }\n}\n\n","import Component from \"@glimmer/component\";\nimport { tracked } from \"@glimmer/tracking\";\nimport { action } from \"@ember/object\";\n\n\nexport default class UploadItemComponent extends Component {\n\n  @tracked showDelete = false;\n  @tracked showTooltip = false;\n\n  tooltipTimeoutId;\n\n  sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\n\n\n  @action\n  onMouseEnter() {\n    this.showDelete = true;\n  }\n\n  @action\n  onMouseOut() {\n    this.showDelete = false;\n  }\n\n  @action\n  onMouseEnterFileName() {\n    this.tooltipTimeoutId = setTimeout(() => this.showTooltip = true, 500)\n    this.showDelete = true;\n  }\n\n  @action\n  onMouseOutFileName() {\n    clearTimeout(this.tooltipTimeoutId);\n    this.showTooltip = false;\n  }\n\n  @action\n  bytesToSize(bytes) {\n    if (bytes === 0) return '0 B';\n    const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1000)));\n    return Math.round(bytes / Math.pow(1000, i), 2) + ' ' + this.sizes[i];\n  }\n\n  @action\n  roundByteSize(bytesProgress, bytesTotal) {\n    const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\n\n    const i = parseInt(Math.floor(Math.log(bytesTotal) / Math.log(1000)));\n    const progress = bytesProgress / Math.pow(1000, i);\n    const total = bytesTotal / Math.pow(1000, i);\n\n    const sizeUnit = sizes[i];\n    var unit;\n    if (sizeUnit === \"B\") {\n      unit = \"byte\";\n    } else if (sizeUnit === \"KB\") {\n      unit = \"kilobyte\";\n    } else if (sizeUnit === \"MB\") {\n      unit = \"megabyte\";\n    } else if (sizeUnit === \"GB\") {\n      unit = \"gigabyte\";\n    } else {\n      unit = \"terabyte\";\n    }\n\n    const splittedTotal = total.toString().split(\".\");\n    var decimalNumberTotal;\n\n    if (splittedTotal.length > 1 && splittedTotal[0].length >= 3) {\n      decimalNumberTotal = 0;\n    } else if (splittedTotal.length > 1 && splittedTotal[0].length === 2) {\n      decimalNumberTotal = 1;\n    } else {\n      decimalNumberTotal = 2;\n    }\n\n    const splittedProgress = progress.toString().split(\".\");\n    let decimalNumberProgress;\n\n    if (splittedProgress.length > 1 && splittedProgress[0].length >= 3) {\n      decimalNumberProgress = 0;\n    } else if (splittedProgress.length > 1 && splittedProgress[0].length === 2) {\n      decimalNumberProgress = 1;\n    } else {\n      decimalNumberProgress = 2;\n    }\n\n    const formatterTotal = new Intl.NumberFormat(navigator.language, {\n      style: \"unit\",\n      unit: unit,\n      minimumFractionDigits: 0,\n      maximumFractionDigits: decimalNumberTotal,\n    });\n    const formatterProgress = new Intl.NumberFormat(navigator.language, {\n      minimumFractionDigits: 0,\n      maximumFractionDigits: decimalNumberProgress,\n    });\n    const formattedProgress = formatterProgress.format(progress);\n    const formattedTotal = formatterTotal.format(total);\n\n    return formattedProgress + \"/\" + formattedTotal;\n  }\n\n}\n\n","import Component from \"@glimmer/component\";\nimport { tracked } from \"@glimmer/tracking\";\nimport { action } from \"@ember/object\";\n\nconst CHECKBOX_LIST = [\n  { name: \"saule\", label: \"Saule\", checked: false },\n  { name: \"peuplier\", label: \"Peuplier\", checked: true },\n  { name: \"erable\", label: \"Érable\", checked: false },\n];\n\nexport default class DesignSystemCheckboxComponent extends Component {\n  @tracked areYouIn = false;\n  @tracked list = CHECKBOX_LIST;\n\n  @action\n  onChange(event) {\n    const { name, checked } = event;\n    this[name] = checked;\n  }\n\n  @action\n  onChangeGroup(newList) {\n    this.list = newList;\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { tracked } from \"@glimmer/tracking\";\nimport { action } from \"@ember/object\";\nimport { inject as service } from \"@ember/service\";\n\nexport default class ElectronConnectionComponent extends Component {\n  @tracked name = \"Secret Défense\";\n\n  @service modalManager;\n\n  @action\n  onResendEmail() {\n    console.debug(\"ElectronConnectionComponent:onResendEmail\");\n  }\n\n  @action\n  onCancel() {\n    console.debug(\"ElectronConnectionComponent:onCancel\");\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { tracked } from \"@glimmer/tracking\";\nimport { action } from \"@ember/object\";\n\nexport default class DesignSystemSecurityLevelComponent extends Component {\n  @tracked textAreaValue = \"\";\n\n  @action\n  onChangeTextAreaValue(event) {\n    const { value } = event.target;\n    this.textAreaValue = value;\n  }\n}\n","import Component from \"@glimmer/component\";\n// import { action } from \"@ember/object\";\n// import { inject as service } from \"@ember/service\";\n// import { tracked } from \"@glimmer/tracking\";\n\nexport default class DesignSystemModalComponent extends Component {\n  // @service remodal;\n\n  // @action\n  // onClickOpen() {\n  // }\n}\n","import Component from \"@glimmer/component\";\nimport { tracked } from \"@glimmer/tracking\";\nimport { action } from \"@ember/object\";\nimport { inject as service } from \"@ember/service\";\nimport {\n  SECURITY_LEVELS_CONFIRM_REMOVE_MODAL_NAME,\n  SECURITY_LEVEL_COLOR,\n} from \"../../../utils/enums\";\n\nconst SECURITY_LEVEL = {\n  name: \"Secret Défense\",\n  acronym: \"SD\",\n  color: \"red\",\n  shape: \"lockedLock\",\n  deleted: false,\n  checked: false,\n};\n\nexport default class DesignSystemSecurityLevelComponent extends Component {\n  @tracked mock = SECURITY_LEVEL;\n  @tracked mockGrouped = [\n    SECURITY_LEVEL,\n    SECURITY_LEVEL,\n    SECURITY_LEVEL,\n    SECURITY_LEVEL,\n  ].map((item, i) => ({\n    ...item,\n    name: item.name + i,\n    acronym: item.acronym + i,\n  }));\n  @tracked locked = true;\n  @tracked extended = false;\n  @tracked name = \"Secret Défense\";\n  @tracked slColors = Object.values(SECURITY_LEVEL_COLOR);\n\n  @service modalManager;\n\n  @action\n  onChangeProp(event) {\n    const { name, checked } = event;\n    this[name] = checked;\n  }\n\n  @action\n  onChangeSLGroup(data) {\n    this.mockGrouped = data;\n  }\n\n  @action\n  onClickTriggerConfirmRemoveModal() {\n    this.modalManager.open(SECURITY_LEVELS_CONFIRM_REMOVE_MODAL_NAME);\n  }\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\n/* global libcryptobox */\n\nexport default class DeviceItemComponent extends Component {\n  @tracked showFingerPrint = false;\n\n  @service modalManager;\n  @service connection;\n\n  get userSecurityLevels() {\n    return this.args.device.securityLevels.toArray().map((sl) => sl);\n  }\n\n  get isCurrentDevice() {\n    return this.args.currentDevice?.id === this.args.device.id;\n  }\n\n  get isUnlocked() {\n    return this.args.device.state === libcryptobox.DeviceState.Unlocked;\n  }\n\n  get isLocked() {\n    return this.args.device.state === libcryptobox.DeviceState.Locked;\n  }\n\n  get isRevoked() {\n    return this.args.device.state === libcryptobox.DeviceState.Revoked;\n  }\n\n  get revokeModalName() {\n    return `revokeModal-${this.args.device.id}`;\n  }\n\n  get deviceIcon() {\n    const deviceSystem = this.args.device.get('system').toLowerCase();\n\n    if (deviceSystem.indexOf('win') !== -1) {\n      return 'logo-windows';\n    }\n    if (deviceSystem.indexOf('android') !== -1) {\n      return 'logo-android';\n    }\n    if (deviceSystem.indexOf('ios') !== -1) {\n      return 'logo-apple';\n    }\n\n    return 'device';\n  }\n\n  @action\n  blockDevice() {\n    this.args.device.set('state', libcryptobox.DeviceState.Locked);\n    this.args.device.save();\n  }\n\n  @action\n  unblockDevice() {\n    this.args.device.set('state', libcryptobox.DeviceState.Unlocked);\n    this.args.device.save();\n  }\n\n  @action\n  revokeDevice() {\n    this.modalManager.open(this.revokeModalName);\n  }\n\n  @action\n  confirmRevoke() {\n    this.args.device.destroyRecord();\n    this.modalManager.close(this.revokeModalName);\n  }\n\n  @action\n  toggleFingerPrint() {\n    this.showFingerPrint = true;\n  }\n}\n","import Component from '@glimmer/component';\n\nexport default class SecurityLevelComponent extends Component {\n  get formatedShape() {\n    return this.args.securityLevel.shape.decamelize();\n  }\n}\n","import Component from '@glimmer/component';\nimport config from '../../config/environment';\n\nexport default class DevtoolComponent extends Component {\n  show = config.APP.devtool;\n\n  didInsert(element) {\n    if (config.APP.devtool) {\n      const devtoolContainer = document.createElement('div');\n      devtoolContainer.classList.add('devtool');\n      document.body.appendChild(devtoolContainer);\n\n      devtoolContainer.appendChild(element);\n    }\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { action } from \"@ember/object\";\nimport { inject as service } from \"@ember/service\";\n\nexport default class DownloadAttachementButtonComponent extends Component {\n  @service modalManager;\n\n  @action\n  async onClick() {\n    this.args.onConfirm();\n  }\n}\n","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\n\nexport default class DropContainerComponent extends Component {\n  @tracked isDragActive = false;\n\n  @action\n  handleDragState(isActive, event) {\n    this.isDragActive = isActive;\n    if (isActive && this.args.onDragEnter) {\n      this.args.onDragEnter(event);\n    } else if (!isActive && this.args.onDragExit) {\n      this.args.onDragExit(event);\n    }\n    this.stopEvent(event);\n  }\n\n  @action\n  handleDrop(event) {\n    if (this.args.isDroppable) {\n      this.processDropData(event);\n      this.args.onItemDropped?.(event.target, event);\n      this.args.onFileDropped?.(event.dataTransfer.files);\n      this.stopEvent(event);\n    }\n  }\n\n  @action\n  initiateDrag(event) {\n    if (this.args.customDragData) {\n      event.dataTransfer.setData(\n        'customDragDataPath',\n        this.args.customDragData.path,\n      );\n    }\n  }\n\n  processDropData(event) {\n    if (this.args.customDragData) {\n      event.customDropData = this.args.customDragData;\n    }\n  }\n\n  stopEvent(event) {\n    event?.preventDefault();\n    event?.stopPropagation();\n  }\n\n  @action\n  onElementInserted() {\n    this.args.onElementInserted?.();\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { inject as service } from '@ember/service';\nimport { LICENCES_VALIDATION_MODAL_NAME, REGISTER_ERROR_MESSAGE_BINDING, REGISTER_ERRORS } from '../../../utils/enums';\nimport { getDefaultServerUrl } from 'client/ipc';\n\nconst CONNECTION_VIEW = {\n  REGISTER: 'REGISTER',\n  LOGIN: 'LOGIN',\n  LOGIN_BURIED_KEYS: 'LOGIN_BURIED_KEYS',\n  PASSWORD_RECOVERY: 'PASSWORD_RECOVERY',\n};\n\nconst CONNECTION_TITLE_TRADS_KEYS = {\n  [CONNECTION_VIEW.REGISTER]: 'signup.titleDesktop',\n  [CONNECTION_VIEW.LOGIN]: 'login.login',\n  [CONNECTION_VIEW.LOGIN_BURIED_KEYS]: 'desktop.localAccount.login',\n  [CONNECTION_VIEW.PASSWORD_RECOVERY]: 'recovery.init.title',\n};\n\nexport default class ConnectionContainerComponent extends Component {\n  @tracked connectionView = CONNECTION_VIEW;\n  @tracked connectionTitleTradsKeys = CONNECTION_TITLE_TRADS_KEYS;\n\n  @tracked view = CONNECTION_VIEW.LOGIN;\n  @tracked serverUrl = '';\n  @tracked password = '';\n  @tracked userEmail = '';\n  @tracked firstName = '';\n  @tracked lastName = '';\n\n  @tracked notValidEmailMessage = '';\n  @tracked notValidEmail = false;\n\n  @service account;\n  @service connection;\n  @service modalManager;\n  @service electronCommunication;\n\n  @action\n  async initialize() {\n    this.serverUrl = await getDefaultServerUrl();\n    if (this.args.localAccountList?.length > 0) {\n      this.view = CONNECTION_VIEW.LOGIN_BURIED_KEYS;\n    } else {\n      this.view = CONNECTION_VIEW.LOGIN;\n    }\n  }\n\n  get showLeftChevron() {\n    return (\n      this.view === CONNECTION_VIEW.REGISTER ||\n      this.view === CONNECTION_VIEW.PASSWORD_RECOVERY\n    );\n  }\n\n  get currentView() {\n    return this.view;\n  }\n\n  clear() {\n    this.firstName = '';\n    this.lastName = '';\n    this.password = '';\n  }\n\n  @action\n  setView(newView) {\n    if (newView === CONNECTION_VIEW.REGISTER) {\n      this.clear();\n    }\n    this.view = newView;\n  }\n\n  @action\n  handleServerUrl(event) {\n    this.connection.tmpServerAddress = `https://${ event.target.value }`;\n  }\n\n  @action\n  onPasswordChange(value) {\n    this.password = value;\n  }\n\n  @action\n  resetError(event) {\n    if (event && event.key) {\n      this.account.credentialError = false;\n    }\n  }\n\n  @action\n  onValidateLicenseModal() {\n    const { onRegister } = this.args;\n    const { userEmail, firstName, lastName, password } = this;\n\n    onRegister({ userEmail, firstName, lastName, password })\n      .then(() => {\n        this.setView(CONNECTION_VIEW.LOGIN);\n        this.clear();\n      })\n      .catch((error) => {\n        if (REGISTER_ERRORS.includes(error.code)) {\n          this.notValidEmail = true;\n          this.notValidEmailMessage =\n            REGISTER_ERROR_MESSAGE_BINDING[error.code];\n        }\n      });\n  }\n\n  /* MAIN FORMS ACTIONS */\n\n  @action\n  onRegister() {\n    this.modalManager.open(LICENCES_VALIDATION_MODAL_NAME);\n  }\n\n  @action\n  onLogin() {\n    const { onLogin } = this.args;\n    const { userEmail, password } = this;\n\n    onLogin({ userEmail, password });\n  }\n\n  @action\n  onPasswordRecovery() {\n    const { onPasswordRecovery } = this.args;\n    const { userEmail } = this;\n\n    onPasswordRecovery({ userEmail }).then(() => {\n      this.setView(CONNECTION_VIEW.LOGIN);\n    });\n  }\n}\n","import { hbs } from 'ember-cli-htmlbars';\nconst __COLOCATED_TEMPLATE__ = hbs(\"<div class=\\\"electron-deviceKeyAssociation-infoMessage-icon flex\\\">\\n  <div class=\\\"icon-whiteCircle bg-white flex justify-center items-center\\\">\\n    <div class=\\\"icon-blueCircle bg-secondary flex justify-center items-center\\\">\\n      <div class=\\\"icon-iconContainer\\\">\\n        <Atoms::Icon @name=\\\"info_2\\\" @size=\\\"auto\\\" @svgClass=\\\"fill-white\\\" />\\n      </div>\\n    </div>\\n  </div>\\n</div>\", {\"contents\":\"<div class=\\\"electron-deviceKeyAssociation-infoMessage-icon flex\\\">\\n  <div class=\\\"icon-whiteCircle bg-white flex justify-center items-center\\\">\\n    <div class=\\\"icon-blueCircle bg-secondary flex justify-center items-center\\\">\\n      <div class=\\\"icon-iconContainer\\\">\\n        <Atoms::Icon @name=\\\"info_2\\\" @size=\\\"auto\\\" @svgClass=\\\"fill-white\\\" />\\n      </div>\\n    </div>\\n  </div>\\n</div>\",\"moduleName\":\"client/components/electron/device-key-association/info-message/icon.hbs\",\"parseOptions\":{\"srcName\":\"client/components/electron/device-key-association/info-message/icon.hbs\"}});\nimport templateOnly from '@ember/component/template-only';\n\nexport default templateOnly();\n","import Component from \"@glimmer/component\";\nimport { action } from \"@ember/object\";\nimport { inject as service } from \"@ember/service\";\nimport { tracked } from \"@glimmer/tracking\";\nimport { DEVICE_KEY_ASSOCIATION_MODAL_NAME } from \"../../../../utils/enums\";\n\nconst MODAL_REMOVE_PADDING_CLASSNAME = \"deviceKeyAssociation-modal--noPadding\";\n\nexport default class DeviceKeyAssociationModalComponent extends Component {\n  name = DEVICE_KEY_ASSOCIATION_MODAL_NAME;\n\n  @tracked showInfo = false;\n\n  @service modalManager;\n\n  close() {\n    if (this.modalManager.isModalOpen(DEVICE_KEY_ASSOCIATION_MODAL_NAME)) {\n      this.modalManager.close(DEVICE_KEY_ASSOCIATION_MODAL_NAME);\n    }\n  }\n\n  @action\n  onCancel() {\n    const { onCancel } = this.args;\n\n    if (onCancel) {\n      onCancel();\n    }\n\n    this.close();\n  }\n\n  @action\n  onConfirm() {\n    const { onConfirm } = this.args;\n\n    this.close();\n    onConfirm();\n  }\n\n  @action\n  onToggleInfo() {\n    this.showInfo = !this.showInfo;\n\n    const modalElements = Array.from(\n      document.getElementsByClassName(DEVICE_KEY_ASSOCIATION_MODAL_NAME)\n    );\n\n    modalElements.forEach((el) => {\n      if (this.showInfo) {\n        el.classList.add(MODAL_REMOVE_PADDING_CLASSNAME);\n      } else {\n        el.classList.remove(MODAL_REMOVE_PADDING_CLASSNAME);\n      }\n    });\n  }\n}\n","import Component from \"@glimmer/component\";\n\nexport default class LoginComponent extends Component {\n  get disableInputs() {\n    const { serverUrl } = this.args;\n\n    return !serverUrl;\n  }\n}\n","import Component from \"@glimmer/component\";\n\nexport default class PasswordRecoveryComponent extends Component {\n  get disableInputs() {\n    const { serverUrl } = this.args;\n\n    return !serverUrl;\n  }\n}\n","import Component from \"@glimmer/component\";\n\nexport default class RegisterComponent extends Component {\n  get disableInputs() {\n    const { serverUrl } = this.args;\n\n    return !serverUrl;\n  }\n}\n","import Component from '@glimmer/component';\n\nexport default class extends Component {\n\n  constructor() {\n    super(...arguments);\n  }\n}\n","import Component from 'ember-notify/components/ember-notify';\nexport default Component;\n","import Component from 'ember-notify/components/ember-notify/message';\nexport default Component;\n","import { hbs } from 'ember-cli-htmlbars';\nconst __COLOCATED_TEMPLATE__ = hbs(\"<p class=\\\"enforcedTrustee-card\\\">\\n  <span>\\n    {{inline-svg \\\"diploma\\\"}}\\n\\n    <EmberTooltip @text={{t \\\"clickCertificate\\\"}} @side=\\\"right\\\" />\\n\\n    <EmberPopover @event=\\\"click\\\" @side=\\\"right\\\">\\n      <EnforcedTrustee::TrusteePopover\\n        @givenName={{@trustee.givenName}}\\n        @surname={{@trustee.surname}}\\n        @email={{@trustee.email}}\\n        @certificate={{@trustee.certificate}}\\n      />\\n    </EmberPopover>\\n  </span>\\n\\n  {{@trustee.email}}\\n</p>\", {\"contents\":\"<p class=\\\"enforcedTrustee-card\\\">\\n  <span>\\n    {{inline-svg \\\"diploma\\\"}}\\n\\n    <EmberTooltip @text={{t \\\"clickCertificate\\\"}} @side=\\\"right\\\" />\\n\\n    <EmberPopover @event=\\\"click\\\" @side=\\\"right\\\">\\n      <EnforcedTrustee::TrusteePopover\\n        @givenName={{@trustee.givenName}}\\n        @surname={{@trustee.surname}}\\n        @email={{@trustee.email}}\\n        @certificate={{@trustee.certificate}}\\n      />\\n    </EmberPopover>\\n  </span>\\n\\n  {{@trustee.email}}\\n</p>\",\"moduleName\":\"client/components/enforced-trustee/enforced-trustee-card.hbs\",\"parseOptions\":{\"srcName\":\"client/components/enforced-trustee/enforced-trustee-card.hbs\"}});\nimport templateOnly from '@ember/component/template-only';\n\nexport default templateOnly();\n","import Component from \"@glimmer/component\";\nimport { inject as service } from \"@ember/service\";\n\nexport const MODAL_TYPES = {\n  BOTH: \"BOTH\",\n  USER_ONLY: \"USER_ONLY\",\n  INVITER_ONLY: \"INVITER_ONLY\",\n};\n\nexport default class EnforcedTrusteeModalComponent extends Component {\n  @service intl;\n\n  get showUserTrustee() {\n    return (\n      this.args.type === MODAL_TYPES.BOTH ||\n      this.args.type === MODAL_TYPES.USER_ONLY\n    );\n  }\n\n  get showInviterTrustee() {\n    return (\n      this.args.type === MODAL_TYPES.BOTH ||\n      this.args.type === MODAL_TYPES.INVITER_ONLY\n    );\n  }\n\n  get title() {\n    let tradPath;\n    if (\n      this.args.type === MODAL_TYPES.BOTH ||\n      this.args.type === MODAL_TYPES.USER_ONLY\n    ) {\n      tradPath = this.args.newUser\n        ? \"trustees.enforced.subtitle\"\n        : \"trustees.enforced.subtitleChange\";\n    } else if (this.args.type === MODAL_TYPES.INVITER_ONLY) {\n      tradPath = \"trustees.enforced.subtitleGuest\";\n    } else {\n      tradPath = \"trustees.enforced.subtitleChange\"\n    }\n\n    return this.intl.t(tradPath);\n  }\n\n  get label() {\n    let tradPath;\n    if (this.args.type === MODAL_TYPES.BOTH) {\n      tradPath = this.args.newUser\n        ? \"trustees.enforced.labelTrustees\"\n        : \"trustees.enforced.changeLabelTrustees\";\n    } else if (this.args.type === MODAL_TYPES.USER_ONLY) {\n      tradPath = this.args.newUser\n        ? \"trustees.enforced.label\"\n        : \"trustees.enforced.changeLabel\";\n    } else if (this.args.type === MODAL_TYPES.INVITER_ONLY) {\n      tradPath = \"trustees.enforced.labelGuest\";\n    } else {\n      tradPath = \"trustees.enforced.changeLabel\"\n    }\n\n    return this.intl.t(tradPath);\n  }\n}\n","import { hbs } from 'ember-cli-htmlbars';\nconst __COLOCATED_TEMPLATE__ = hbs(\"<ul>\\n  {{#if @givenName}}\\n    <li class=\\\"ellipsis flex vertical-center\\\">\\n      {{inline-svg \\\"diploma\\\"}}\\n      <span class=\\\"popover-container\\\">\\n        {{@givenName}}&nbsp;{{@surname}}\\n      </span>\\n    </li>\\n  {{/if}}\\n  <li class=\\\"ellipsis flex vertical-center\\\">\\n    {{inline-svg \\\"envelope\\\"}}\\n    <span class=\\\"popover-container\\\">\\n      {{@email}}\\n    </span>\\n  </li>\\n  {{#if @certificate}}\\n    <li class=\\\"ellipsis flex vertical-center\\\">\\n      {{inline-svg \\\"fingerprint\\\"}}{{await (finger-print @certificate)}}\\n    </li>\\n  {{/if}}\\n</ul>\", {\"contents\":\"<ul>\\n  {{#if @givenName}}\\n    <li class=\\\"ellipsis flex vertical-center\\\">\\n      {{inline-svg \\\"diploma\\\"}}\\n      <span class=\\\"popover-container\\\">\\n        {{@givenName}}&nbsp;{{@surname}}\\n      </span>\\n    </li>\\n  {{/if}}\\n  <li class=\\\"ellipsis flex vertical-center\\\">\\n    {{inline-svg \\\"envelope\\\"}}\\n    <span class=\\\"popover-container\\\">\\n      {{@email}}\\n    </span>\\n  </li>\\n  {{#if @certificate}}\\n    <li class=\\\"ellipsis flex vertical-center\\\">\\n      {{inline-svg \\\"fingerprint\\\"}}{{await (finger-print @certificate)}}\\n    </li>\\n  {{/if}}\\n</ul>\",\"moduleName\":\"client/components/enforced-trustee/trustee-popover.hbs\",\"parseOptions\":{\"srcName\":\"client/components/enforced-trustee/trustee-popover.hbs\"}});\nimport templateOnly from '@ember/component/template-only';\n\nexport default templateOnly();\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\nimport { htmlSafe } from '@ember/template';\n\nexport default class ExternalDocumentationModal extends Component {\n  @service modalManager;\n  @service account;\n  @service intl;\n  constructor() {\n    super(...arguments);\n  }\n\n  get externalDocumentation() {\n    return this.account.serverSettings?.externalDocumentation || {};\n  }\n\n  get language() {\n    return this.intl.primaryLocale.startsWith('fr') ? 'fr' : 'en';\n  }\n\n  processHtmlContent(content) {\n    if (!content) return '';\n    const escaped = content.replace(/&/g, '&amp;')\n                          .replace(/</g, '&lt;')\n                          .replace(/>/g, '&gt;')\n                          .replace(/\"/g, '&quot;')\n                          .replace(/'/g, '&#x27;');\n    return htmlSafe(escaped.replace(/\\n/g, '<br>'));\n  }\n\n  get title() {\n    return this.externalDocumentation.modalTitle?.[this.language] || '';\n  }\n\n  get description() {\n    const rawDescription =\n      this.externalDocumentation.modalDescription?.[this.language];\n    return this.processHtmlContent(rawDescription);\n  }\n\n  get link() {\n    return this.externalDocumentation.externalUrl?.[this.language];\n  }\n\n  get linkLabel() {\n    return this.externalDocumentation.buttonLabel?.[this.language] || '';\n  }\n\n  isValidUrl(url) {\n    try {\n      const parsedUrl = new URL(url);\n      return ['http:', 'https:'].includes(parsedUrl.protocol);\n    } catch {\n      return false;\n    }\n  }\n\n  @action\n  onOpenLink() {\n    if (this.link && this.isValidUrl(this.link)) {\n      window.open(this.link, '_blank', 'noopener,noreferrer');\n    }\n  }\n}\n","import { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { DateTime } from 'luxon';\n/* global libcryptobox */\n\nexport default class FileEditorComponent extends Component {\n    @service intl;\n    @service notify;\n    @service thinkfree;\n\n    @tracked status; // 'loading' -> 'loaded' -> 'closing' -> 'closed'\n    @tracked session;\n\n    abortCtrl = new AbortController();\n\n    @action\n    didInsert(iframe) {\n        (async () => {\n            try {\n                this.status = 'loading';\n                this.session = await this.thinkfree.open(iframe, this.args.file, { readOnly: this.args.readOnly, signal: this.abortCtrl.signal });\n                this.status = 'loaded';\n            } catch (error) {                \n                if (error.code !== libcryptobox.ErrorCode.Canceled) {\n                    this.notify.error(error.message, {\n                        title: error.title,\n                        error: error,\n                    });\n                }\n                setInterval(() => this.close(), 500);\n            }\n        })()\n    }\n\n    willDestroy() {\n        // Cancel the session creation.\n        this.abortCtrl.abort();\n\n        // Do not force close the editor if it is already closed.\n        // In theory, this would abort the grace period (in practice, the session will refuse to force close if it is already closed).\n        if (!this.session?.closed) {\n            this.session?.close({ force: true });\n        }\n        this.session = null;\n        this.thinkfree.isEditorOpened = false;\n    }\n\n    get isLoading() {\n        return this.status === 'loading';\n    }\n\n    get isClosing() {\n        return this.status === 'closing';\n    }\n\n    get size() {\n        const { contentSize: bytes } = this.args.file;\n\n        // This code is already duplicated, so just add one more copy here.\n        // Note that the version in UploadItemComponent seems to be better than the others.\n        const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\n        if (bytes == 0) return '0 B';\n        const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1000)));\n        return Math.round(bytes / Math.pow(1000, i), 2) + ' ' + sizes[i];\n    }\n\n    get modified() {\n        const file = this.args.file;\n        const author = file.author;\n        //HACK normalizeRecord does not normalize relationships, hence, on creation, author is null — then the live query receives the actual value and update the store.\n        if (!author) {\n            return;\n        }\n        return this.intl.t('documents.fileViewer.modified', {\n            date: DateTime.fromISO(file.lastModified).toLocaleString(\n                DateTime.DATETIME_SHORT,\n            ),\n            user: `${author.givenName} ${author.surname} (${author.email})`,\n        });\n    }\n\n    @action\n    async close() {\n        switch (this.status) {\n            case 'loading':\n                this.status = 'closed';\n                this.args.onClose?.();\n                break;\n\n            case 'loaded': {\n                this.status = 'closing';\n                const closed = await this.session?.close();\n                if (closed) {\n                    this.status = 'closed';\n                    this.args.onClose?.();\n                } else {\n                    this.status = 'loaded';\n                }\n                break;\n            }\n        }\n    }\n\n    @action\n    openFileLocation() {\n        const { origin, pathname } = window.location;\n        const { spaceId, path } = this.args.file;\n        const dir = path.split('/').slice(0, -1).join('/');\n\n        window.open(`${origin}${pathname}#/my-workspaces/workspace/${spaceId}/documents` + (dir ? `?path=${encodeURIComponent(dir)}` : ''), '_blank');\n    }\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\n\nexport default class FileItemDownloadButton extends Component {\n  @service('file-history') fileHistoryService;\n\n  get file() {\n    return this.args.file;\n  }\n\n  get isDownloadable() {\n    return this.args.isDownloadable;\n  }\n\n  @action\n  async downloadFile(e) {\n    e.preventDefault();\n    e.stopPropagation();\n    await this.fileHistoryService.downloadFileHistoryVersion(this.file);\n  }\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class FileItemSideNav extends Component {\n  @service intl;\n  @service('file-history') fileHistoryService;\n  @service commonService;\n\n  @tracked numberDownloadBySharing = 0;\n  @tracked numberDownloadByUsers = 0;\n  @tracked isOpenSidePanelRight = false;\n  @tracked openSidePanelRightName = '';\n\n  get selectModifier() {\n    if (this.fileItem.action === 'modify') {\n      return this.intl.t('fileHistory.actionText.edit.action');\n    }\n    return this.intl.t(`fileHistory.actionText.${ this.fileItem.action }.action`);\n  }\n\n  get version() {\n    return this.fileItem.fileVersionNumber;\n  }\n\n  get revision() {\n    return this.fileItem.fileRevisionNumber;\n  }\n\n  get isFromSharing() {\n    return this.openSidePanelRightName === 'fromSharing';\n  }\n\n  @action\n  onOpen() {\n    this.numberDownloadBySharing = 0;\n    this.numberDownloadByUsers = 0;\n\n    // fileVersionNumber at 0 means that there is no actual version\n    // for the selected change\n    if (this.fileItem.fileVersionNumber != 0) {\n      this.fileHistoryService\n        .getNumberDownload({\n          fileVersion: this.fileItem.fileVersionNumber,\n        })\n        .then(({ byUsers, bySharingLink }) => {\n          this.numberDownloadBySharing = bySharingLink;\n          this.numberDownloadByUsers = byUsers;\n        });\n    };\n  }\n\n  get fileItem() {\n    return this.fileHistoryService.selectedFileHistoryInSideNav;\n  }\n\n  get iconName() {\n    return this.fileHistoryService.iconName(this.fileItem.action);\n  }\n\n  @action\n  handleClose() {\n    this.commonService.isOpenSideNav = false;\n    this.isOpenSidePanelRight = false;\n    this.fileHistoryService.selectedFileHistoryInSideNav = null;\n    this.openSidePanelRightName = '';\n    this.fileHistoryService.fileHistoryDownloadList = [];\n    this.numberDownloadBySharing = 0;\n    this.numberDownloadByUsers = 0;\n  }\n\n  @action\n  async handleDownload(event) {\n    event.preventDefault();\n    await this.fileHistoryService.downloadFileHistoryVersion(this.fileItem);\n  }\n\n  @action\n  async openSidePanelRight(name, event) {\n    event.preventDefault();\n    this.openSidePanelRightName = name;\n    this.isOpenSidePanelRight = true;\n    await this.fileHistoryService.getDownloadListFileHistory({\n      version: this.version,\n      type: name,\n    });\n  }\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { htmlSafe } from '@ember/template';\n\nexport default class FileItem extends Component {\n  @service intl;\n  @service commonService;\n  @service('file-history') fileHistoryService;\n\n  @tracked hoveredItem = null;\n  @tracked windowWidth = window.innerWidth;\n\n\n  get fileItem() {\n    return this.args.fileItem;\n  }\n\n  get selectedDate() {\n    return this.fileHistoryService.selectedDate;\n  }\n\n  get itemDays() {\n    if (this.selectedDate) {\n      const selectedDate = new Date(this.selectedDate).setHours(0, 0, 0, 0);\n      const selectedDay = Object.entries(this.fileItem.days).find(\n        ([key, _]) => {\n          const currentDate = new Date(key).setHours(0, 0, 0, 0);\n          return currentDate === selectedDate;\n        },\n      );\n      if (selectedDay) {\n        return [{ date: selectedDay[0], value: selectedDay[1] }];\n      }\n      return [];\n    } else {\n      return Object.entries(this.fileItem.days).map(([key, value]) => ({\n        date: key,\n        value,\n      }));\n    }\n  }\n\n  @action\n  handleUnSelectDate() {\n    this.fileHistoryService.oldSelectedDate =\n      this.fileHistoryService.selectedDate;\n    this.fileHistoryService.year = new Date().getFullYear();\n    this.fileHistoryService.selectedDate = null;\n    const selectedClass = 'subDomainSelected';\n\n    document\n      .querySelectorAll(`.${selectedClass}`)\n      .forEach((element) => element.classList.remove(selectedClass));\n  }\n\n  @action\n  handleSelectFileItem(item) {\n    this.fileHistoryService.selectedFileHistoryInSideNav = item;\n    this.commonService.isOpenSideNav = true;\n  }\n\n  @action\n  isShow(item, value) {\n    if (item?.fileVersionNumber === 0) return;\n    if (value) {\n      this.hoveredItem = item;\n    } else {\n      this.hoveredItem = null;\n    }\n  }\n\n\n  get dynamicStyle() {\n    if (this.windowWidth && this.windowWidth <= 1145) {\n      return htmlSafe(`max-width: ${this.windowWidth - 410}px !important`);\n    } else {\n      return htmlSafe(`max-width: 540px !important`);\n    }\n  }\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\nimport FormatDateHelper from '../../../helpers/format-date';\nimport { isToday } from '../../../utils/isToday';\n\nexport default class FileListItems extends Component {\n  rootElement = document.querySelector('.file-list-items-container');\n  visibleGroups = new Set();\n\n  @service store;\n  @service('file-history') fileHistoryService;\n  @service commonService;\n  @service intl;\n\n  get currentYear() {\n    return new Date().getFullYear();\n  }\n\n  get model() {\n    return this.args.model;\n  }\n\n  get canShowNoFileHistory() {\n    if (this.fileHistoryService.isLoadingFileHistoryData === true) {\n      return false;\n    }\n    if (this.fileHistoryService.fileHistoryDataTransformed.length === 0) {\n      return true;\n    }\n    return (\n      !this.fileHistoryService.selectedDate &&\n      this.fileHistoryService.areRevisionDatesIdentical\n    );\n  }\n  get noItemText() {\n    if (\n      !this.fileHistoryService.fileHistoryData?.length ||\n      !this.fileHistoryService.fileHistoryData.at(-1)?.date\n    ) {\n      return this.intl.t('fileHistory.noFileItem.today');\n    }\n\n    const lastRevisionDate =\n      this.fileHistoryService.fileHistoryData.at(-1).date;\n\n    if (isToday(lastRevisionDate)) {\n      return this.intl.t('fileHistory.noFileItem.today');\n    }\n\n    const dateFormatHelper = new FormatDateHelper();\n    dateFormatHelper.intl = this.intl;\n    const formattedDate = dateFormatHelper.compute([lastRevisionDate], {\n      includeToday: true,\n      format: 'DD',\n    });\n\n    return this.intl.t('fileHistory.noFileItem.before', {\n      date: formattedDate,\n    });\n  }\n\n  @action\n  async setupScrollListener(event) {\n    if (this.fileHistoryService.automaticScroll) return;\n\n    const container = event.target;\n\n    const groups = event.target.querySelectorAll('.file-year-group');\n    this.visibleGroups.clear();\n\n    groups.forEach((group) => {\n      const rect = group.getBoundingClientRect();\n      const containerRect = container.getBoundingClientRect();\n      const isVisible =\n        rect.top < containerRect.bottom && rect.bottom > containerRect.top;\n\n      if (isVisible) {\n        this.visibleGroups.add(group.querySelector('.list-item-date').id);\n      }\n    });\n\n    await this.handleUpdateHeatmap([...this.visibleGroups].at(0));\n  }\n\n  @action\n  teardownFileHistory(element) {\n    element.removeEventListener('scroll', this.setupScrollListener);\n  }\n\n  @action\n  handleUpdateHeatmap(element) {\n    if (!element) return;\n\n    if (this.fileHistoryService.automaticScroll) return;\n\n    if (this.fileHistoryService.fileHistoryData.length === 0) return;\n    const visibilityYear = Number(element.split('-').at(-1));\n    if (this.fileHistoryService.year !== visibilityYear) {\n      this.fileHistoryService.year = visibilityYear;\n    }\n  }\n\n  @action\n  async loadMoreScroll(entry) {\n    if (entry.isIntersecting === false) return;\n\n    if (\n      this.fileHistoryService.fileHistoryDataTransformed.length === 0 ||\n      this.canShowNoFileHistory\n    ) {\n      return;\n    }\n    const mainContainer = document.querySelector('.file-list-items-container');\n\n    requestAnimationFrame(async () => {\n      const beforeScroll = mainContainer.scrollTop;\n      await this.loadMore();\n      mainContainer.scrollTop = beforeScroll;\n    });\n  }\n\n  @action\n  async initializeFileHistory() {\n    await this.model;\n    await this.fileHistoryService.fetchFileHistory();\n  }\n\n  @action\n  async loadMore() {\n    if (\n      !this.fileHistoryService.isLoadingFileHistoryData &&\n      this.fileHistoryService.fileHistoryData.at(-1)?.fileVersionNumber !== 1\n    ) {\n      await this.fileHistoryService.loadMoreFileHistoryData();\n    }\n  }\n\n}\n","import Component from '@glimmer/component';\n\nexport default class FileVersion extends Component {\n  get version() {\n    return this.args.version;\n  }\n\n  get isLastVersionNumber() {\n    return this.args.isLastFileVersionNumber;\n  }\n\n  get badgeClass() {\n    return this.isLastVersionNumber ? 'curr-badge' : '';\n  }\n\n  get textClass() {\n    return this.isLastVersionNumber ? 'curr-version-text' : '';\n  }\n}\n","import { action, computed, set } from '@ember/object';\nimport Component from '@glimmer/component';\nimport { DateTime, Info } from 'luxon';\nimport { capitalize } from '@ember/string';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { getFilterFileHistory } from '../../../utils/getFilterFileHistory';\n\nexport default class HeatMap extends Component {\n  @service('file-history') fileHistoryService;\n  @service intl;\n  @service account;\n\n  locale = navigator.language.startsWith('fr') ? 'fr' : 'en';\n\n  @tracked subDomainDimensions = {\n    type: 'day',\n    width: 12,\n    height: 12,\n    gutter: 4,\n    padding: [5, 5, 5, 5],\n  };\n\n  @tracked containerClass = '';\n  @tracked lockButtonChangeYear = false;\n  @tracked calHeatMapInstance = null;\n  filterChoices = getFilterFileHistory(this.intl);\n\n  @computed(\n    'fileHistoryService.firstFileHistoryItem.date',\n    'fileHistoryService.{model,year}',\n  )\n  get currentYearSelected() {\n    if (this.fileHistoryService.model) {\n\n      this.updateHeatMap().then(async () => {\n        await this.fileHistoryService.model;\n        const elementId = `group-year-${ this.fileHistoryService.year }`;\n        const anchorElement = document.getElementById(elementId);\n\n        if (!anchorElement) {\n          const lastYearRevision = new Date(\n            this.fileHistoryService.firstFileHistoryItem?.date,\n          ).getFullYear();\n\n          if (this.fileHistoryService.year <= lastYearRevision) {\n            await this.fileHistoryService.loadMoreFileHistoryData();\n          }\n          const newElement = document.getElementById(elementId);\n          if (newElement) {\n            newElement.scrollIntoView({\n              behavior: 'smooth',\n              block: 'start',\n              inline: 'nearest',\n            });\n          }\n          return;\n        }\n\n        anchorElement.scrollIntoView({\n          behavior: 'smooth',\n          block: 'start',\n          inline: 'nearest',\n        });\n      });\n    }\n    this.lockButtonChangeYear = false;\n    return this.fileHistoryService.year;\n  }\n\n  set currentYearSelected(value) {\n    set(this, 'fileHistoryService.year', value);\n  }\n\n  get disableDecrement() {\n    return (\n      this.fileHistoryService.firstDateRevision === null ||\n      this.fileHistoryService.firstDateRevision.getFullYear() ===\n        this.currentYearSelected || this.lockButtonChangeYear\n    );\n  }\n\n  get disableIncrement() {\n    return (\n      this.fileHistoryService.year === new Date().getFullYear() ||\n       this.lockButtonChangeYear\n    );\n  }\n\n  get heatmapData() {\n    return this.fileHistoryService.heatmapData;\n  }\n\n  get model() {\n    return this.args.model;\n  }\n\n  async setupLocale() {\n    let localeSetting = this.locale;\n    if (navigator.language.startsWith('fr')) {\n      const { default: localeFr } = await import('dayjs/locale/fr');\n      localeSetting = localeFr;\n    } else {\n      const { default: localeEn } = await import('dayjs/locale/en');\n      localeSetting = localeEn;\n    }\n    return localeSetting;\n  }\n\n  handleClickCallHeatMap(event, timestamp, value) {\n    event.stopPropagation();\n    event.preventDefault();\n    const targetElement = event.target;\n    const selectedClass = 'subDomainSelected';\n\n    if (!value) {\n      return;\n    }\n\n    document.querySelectorAll(`.${selectedClass}`).forEach((element) => {\n      if (\n        element !== targetElement &&\n        element.classList.contains(selectedClass)\n      ) {\n        element.classList.remove(selectedClass);\n      }\n    });\n    const currDate = DateTime.fromJSDate(new Date(timestamp)).toISODate();\n\n    if (this.fileHistoryService.selectedDate !== currDate) {\n      event.target.classList.add(selectedClass);\n      this.fileHistoryService.oldSelectedDate =\n        this.fileHistoryService.selectedDate;\n      this.fileHistoryService.selectedDateNumberActivities = value;\n      this.fileHistoryService.selectedDate = DateTime.fromJSDate(\n        new Date(timestamp),\n      ).toISODate();\n    } else {\n      this.fileHistoryService.oldSelectedDate =\n        this.fileHistoryService.selectedDate;\n      this.fileHistoryService.selectedDate = null;\n      this.fileHistoryService.selectedDateNumberActivities = null;\n      event.target.classList.remove(selectedClass);\n      this.fileHistoryService.year = new Date().getFullYear();\n    }\n  }\n\n  async setupPlugins() {\n    const { default: CalendarLabel } = await import(\n      'cal-heatmap/plugins/CalendarLabel'\n    );\n    const { default: Tooltip } = await import('cal-heatmap/plugins/Tooltip');\n    return [\n      [\n        Tooltip,\n        {\n          enable: true,\n          text: (timestamp, value) => {\n            if (value === 0 || !value) {\n              return `<span class='bold'> ${this.intl.t('fileHistory.tooltip.noActivity')}</span> - ${DateTime.fromJSDate(new Date(timestamp)).setLocale(this.locale).toFormat('DDD')}`;\n            }\n            return `<span class='bold'>  ${this.intl.t('fileHistory.tooltip.activities', { count: value })} </span> - ${DateTime.fromJSDate(new Date(timestamp)).setLocale(this.locale).toFormat('DDD')}`;\n          },\n          placement: 'top',\n          modifiers: [\n            {\n              name: 'flip',\n              options: {\n                fallbackPlacements: ['top', 'right'],\n              },\n            },\n            {\n              name: 'offset',\n              options: {\n                offset: [0, 8],\n              },\n            },\n          ],\n        },\n      ],\n      [\n        CalendarLabel,\n        {\n          position: 'left',\n          key: 'left',\n          text: () =>\n            Info.weekdays('short', { locale: this.locale }).map((day, index) =>\n              index % 2 === 0 ? '' : capitalize(day),\n            ),\n          textAlign: 'start',\n          padding: [8, 15, 0, 0],\n        },\n      ],\n    ];\n  }\n\n  async renderHeatMap() {\n    if (this.calHeatMapInstance) {\n      this.calHeatMapInstance.destroy();\n    }\n    const { default: CalHeatMap } = await import('cal-heatmap');\n    this.calHeatMapInstance = new CalHeatMap();\n    const localeSetting = await this.setupLocale();\n\n    const plugins = await this.setupPlugins();\n\n    this.calHeatMapInstance.on('click', (event, timestamp, value) =>\n      this.handleClickCallHeatMap(event, timestamp, value),\n    );\n    await this.calHeatMapInstance.destroy();\n\n    await this.calHeatMapInstance.paint(\n      {\n        itemSelector: '.cal-heatmap',\n        verticalOrientation: false,\n        animationDuration: 0,\n        data: {\n          source: this.heatmapData,\n          x: 'date',\n          y: 'value',\n        },\n        date: {\n          start: this.fileHistoryService.startHeatMapDate,\n          locale: { ...localeSetting, weekStart: 1 },\n        },\n        scale: {\n          color: {\n            domain: [0, 1],\n            range: ['#ededed', '#2C496D'],\n            type: 'linear',\n          },\n        },\n        domain: {\n          type: 'month',\n          padding: [10, 6, 0, 6],\n          gutter: 5,\n          dynamicDimension: true,\n          label: {\n            position: 'bottom',\n            text: (timestamp) => {\n              return `${capitalize(DateTime.fromJSDate(new Date(timestamp)).setLocale(this.locale).toFormat('MMM'))}`;\n            },\n            textAlign: 'middle',\n          },\n        },\n        subDomain: this.subDomainDimensions,\n      },\n      plugins,\n    );\n  }\n\n  @action\n  async didInsert() {\n    if (!this.account.isLoggedIn) return;\n    await this.model;\n    await this.fileHistoryService.fetchHeatMapData();\n  }\n\n  @action\n  async handleUpdateFilter(value) {\n    if (this.fileHistoryService.selectedDate) {\n      this.fileHistoryService.selectedDate = null;\n    }\n    if (this.fileHistoryService.filter.value !== value) {\n      this.fileHistoryService.filter = value;\n\n      await this.updateHeatMap();\n    }\n  }\n\n  @action\n  async handleChangeYear(type, event) {\n    event.preventDefault();\n    if (this.lockButtonChangeYear) {\n      return;\n    }\n    this.handleUnselectDate();\n\n    this.fileHistoryService.automaticScroll = true;\n    if (\n      (type === 'increment' && !this.disableIncrement) ||\n      (type === 'decrement' && !this.disableDecrement)\n    ) {\n      this.currentYearSelected += type === 'increment' ? 1 : -1;\n    }\n    setTimeout(() => {\n      this.fileHistoryService.automaticScroll = false;\n      this.lockButtonChangeYear = false;\n    }, 1000);\n  }\n\n  @action\n  async updateHeatMap() {\n    try {\n      if (!this.account.isLoggedIn) return;\n      await this.fileHistoryService.fetchHeatMapData();\n      if (this.calHeatMapInstance) {\n        this.calHeatMapInstance.destroy();\n      }\n      await this.renderHeatMap();\n    } catch (error) {\n      console.error('Error updating HeatMap:', error);\n    }\n  }\n\n  @action\n  async componentDidInsert() {\n    if (!this.account.isLoggedIn) return;\n    setTimeout(async () => {\n      if (this.fileHistoryService.model) {\n        await this.updateHeatMap();\n      }\n    }, 0);\n  }\n\n  @action\n  destroyComponent() {\n    if (this.calHeatMapInstance) {\n      this.calHeatMapInstance.destroy();\n    }\n    this.fileHistoryService.heatmapData = [];\n    this.fileHistoryService.filter = {\n      value: 'none',\n      label: this.intl.t('fileHistory.filterBy.all'),\n    };\n    this.currentYearSelected = new Date().getFullYear();\n    this.handleUnselectDate();\n  }\n\n  @action\n  handleUnselectDate() {\n    this.fileHistoryService.selectedDate = null;\n    this.fileHistoryService.oldSelectedDate = null;\n    this.fileHistoryService.selectedDateNumberActivities = null;\n\n  }\n}\n","import { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport Component from '@glimmer/component';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport Swiper from 'swiper';\nimport { Navigation, Pagination } from 'swiper/modules';\nimport BlobFileWriter from 'client/toolbox/blob-file-writer';\nimport Viewer from 'viewerjs';\nimport { FILE_TYPE_IMAGE, FILE_TYPE_PDF, FILE_TYPE_UNKNOWN } from './fileInfoPreview';\nimport ENV from 'client/config/environment';\n\nexport default class FileViewerComponent extends Component {\n  @service modalManager;\n\n  @tracked previewFileList = [];\n\n  @tracked isLoading = false;\n\n  @tracked activeIndex;\n\n  @tracked currentPreviewFile;\n\n  @service notify;\n\n  @service('transfers') transfersManager;\n  @service('pdfjs-service') pdfjsService;\n\n  previewTypeImage = FILE_TYPE_IMAGE;\n  previewTypePdf = FILE_TYPE_PDF;\n  previewTypeUnknown = FILE_TYPE_UNKNOWN;\n  changeObserver = new MutationObserver((mutationList, _) => {\n    for (const mutation of mutationList) {\n      if (\n        mutation.target.id === 'viewFindButton' ||\n        mutation.target.id === 'secondaryToolbarToggle'\n      ) {\n        this.pdfjsService.alignToolbarItemPosition();\n      }\n    }\n  });\n\n  constructor() {\n    super(...arguments);\n\n    this.previewFileList = [...this.args.fileInfoPreviews];\n\n    this.initSwiper = this.initSwiper.bind(this);\n    this.onImageLoadError = this.onImageLoadError.bind(this);\n    this.onImageLoaded = this.onImageLoaded.bind(this);\n  }\n\n  get hasSingleItem() {\n    return this.previewFileList?.length === 1;\n  }\n\n  swiper = new Swiper('.swiper-container', {\n    modules: [Navigation, Pagination],\n    direction: 'horizontal',\n    initialSlide: this.args.initialIndex ? this.args.initialIndex : 0,\n    loop: true,\n    init: false,\n    lazy: true,\n    simulateTouch: false,\n\n    navigation: {\n      nextEl: '.document-viewer-button-next',\n      prevEl: '.document-viewer-button-previous',\n    },\n  });\n\n  initSwiper() {\n    document.addEventListener('keydown', this.keyListener);\n    window.addEventListener('click', this.clickOutsideListener);\n\n    this.changeObserver.observe(document, {\n      attributes: true,\n      childList: true,\n      subtree: true,\n    });\n\n    this.swiper.on('slideChangeTransitionEnd', async () => {\n      this.activeIndex = this.swiper.realIndex;\n    });\n    this.swiper.on('realIndexChange', async () => {\n      this.onIndexChange(this.swiper.realIndex);\n    });\n\n    this.swiper.init();\n    if (!this.args.initialIndex) {\n      this.onIndexChange(0);\n    } else {\n      this.currentPreviewFile = this.previewFileList[this.args.initialIndex];\n    }\n  }\n\n  get viewerRoleMode() {\n    return this.args.viewerRoleMode;\n  }\n\n  keyListener = (event) => {\n    if (event.key === 'ArrowLeft') {\n      this.swiper.slidePrev();\n    }\n    if (event.key === 'ArrowRight') {\n      this.swiper.slideNext();\n    }\n    if (event.key === 'Escape') {\n      this.onCloseClicked();\n    }\n  };\n\n  clickOutsideListener = (event) => {\n    // The preview image has 'pointer-events: none' to circumvent a XSS. We must handle mouse over programmatically.\n    if (this.isPointerOverPreviewImage(event)) {\n      return\n    }\n    const outsideElements = [\n      'viewer-canvas',\n      'slide-container',\n      'viewer',\n      'mainContainer',\n    ];\n    if (\n      outsideElements.includes(event.target.id) ||\n      event.target.className === 'viewer-canvas'\n    ) {\n      this.onCloseClicked();\n    }\n  };\n\n  @action\n  onMouseMove(event) {\n    // The preview image has 'pointer-events: none' to circumvent a XSS. We must handle mouse over programmatically.\n    event.target.style.cursor = this.isPointerOverPreviewImage(event) ? 'grab' : 'default'\n  }\n\n  isPointerOverPreviewImage(event) {\n    const id = `img-${this.activeIndex}`\n    const element = document.getElementById(id)\n    const image = element?.viewer?.image\n    if (image) {\n      const rect = image.getBoundingClientRect()\n      const { clientX: x, clientY: y } = event\n      if (x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom) {\n        return true\n      }\n    }\n    return false\n  }\n\n  @action\n  onFileItemSelected(index) {\n    const previewFile = this.previewFileList[index];\n    if (previewFile.url && previewFile.type === this.previewTypePdf) {\n      this.pdfjsService.fileName = previewFile.name;\n      return this.pdfjsService.loadPdf(previewFile.url);\n    }\n\n    if (\n      !this.viewerRoleMode ||\n      (this.viewerRoleMode && previewFile.type === this.previewTypePdf)\n    ) {\n      this.isLoading = true;\n\n      const downloadFilePromise = previewFile.attachmentId\n        ? this.downloadAttachment(\n          previewFile.attachmentId,\n          previewFile.mimeType,\n        )\n        : this.downloadFile(\n          this.args.spaceId,\n          previewFile.spacePath,\n          previewFile.mimeType,\n          this.args.spaceFileRevision,\n        );\n      downloadFilePromise\n        .then(async (blobUrl) => {\n          this.isLoading = false;\n\n          previewFile.url = blobUrl;\n          if (previewFile.type === this.previewTypePdf) {\n            this.pdfjsService.fileName = previewFile.name;\n            await this.pdfjsService.loadPdf(blobUrl);\n          }\n        })\n        .catch((error) => {\n          previewFile.errorMessage = error.message;\n          this.isLoading = false;\n          console.error(error, 'Error loading file');\n        });\n    }\n  }\n\n  @action\n  async onDownloadClicked() {\n    const currentPreviewFile = this.currentPreviewFile;\n    const currentFileBlobUrl = currentPreviewFile.url;\n    const currentFileName = currentPreviewFile.name;\n    if (currentFileBlobUrl) {\n      if (ENV.APP.isTauriApp) {\n        // This is the easiest solution to display the save dialog and write the file to the selected location.\n        // Note that saveAs behaves differently in different web view.\n        this.transfersManager.downloadFile(currentPreviewFile.fileId, 0);\n      } else {\n        // eslint-disable-next-line no-undef\n        saveAs(currentFileBlobUrl, currentFileName);\n      }\n    } else {\n      this.transfersManager.downloadFile(currentPreviewFile.fileId, 0);\n    }\n  }\n\n  @action\n  onCloseClicked() {\n    document.removeEventListener('keydown', this.keyListener);\n    window.removeEventListener('click', this.clickOutsideListener);\n    this.changeObserver.disconnect();\n    this.previewFileList.forEach((fileInfoPreview) => {\n      if (fileInfoPreview.url) {\n        URL.revokeObjectURL(fileInfoPreview.url);\n        fileInfoPreview.url = '';\n      }\n    });\n    this.args.onClose();\n  }\n\n  onImageLoaded(element) {\n    const viewer = new Viewer(element, {\n      inline: true,\n      backdrop: false,\n      title: false,\n      button: false,\n      navbar: false,\n      transition: false,\n      toolbar: {\n        zoomIn: 1,\n        zoomOut: 1,\n        reset: 1,\n        prev: 0,\n        play: {\n          show: 1,\n          size: 'large',\n        },\n        next: 0,\n        rotateLeft: 1,\n        rotateRight: 1,\n        flipHorizontal: 1,\n        flipVertical: 1,\n      },\n    });\n\n    element.addEventListener('load', function () {\n      viewer.update();\n      element.removeEventListener('load', this);\n    });\n  }\n\n  onImageLoadError(index) {\n    if (index === this.activeIndex) {\n      const previewFile = this.previewFileList[index];\n      if (previewFile.url) {\n        previewFile.errorMessage = 'image load error';\n      }\n    }\n  }\n\n  onIndexChange(index) {\n    this.currentPreviewFile = this.previewFileList[index];\n\n    if (this.currentPreviewFile.type === this.previewTypeImage) {\n      this.onFileItemSelected(this.swiper.realIndex);\n    }\n\n    this.activeIndex = this.swiper.realIndex;\n  }\n\n  downloadFile(spaceId, spacePath, mimeType, fileRevision) {\n    const writer = new BlobFileWriter();\n    return tBoxClient.file\n      .download(spaceId, spacePath, fileRevision, writer)\n      .then(() => {\n        const blob = new Blob(writer.chunkBlobs, { type: mimeType });\n        return URL.createObjectURL(blob);\n      });\n  }\n\n  downloadAttachment(attachmentId, mimeType) {\n    const writer = new BlobFileWriter();\n    return tBoxClient.attachment.download(attachmentId, writer).then(() => {\n      const blob = new Blob(writer.chunkBlobs, { type: mimeType });\n      return URL.createObjectURL(blob);\n    });\n  }\n\n  willDestroy() {\n    super.willDestroy(...arguments);\n    this.changeObserver.disconnect();\n    this.pdfjsService.cleanupPdf();\n  }\n}\n","import { tracked } from '@glimmer/tracking';\n\nexport const FILE_TYPE_IMAGE = 'image';\nexport const FILE_TYPE_PDF = 'pdf';\nexport const FILE_TYPE_UNKNOWN = 'unknown';\n\nexport class FileInfoPreview {\n  @tracked url = '';\n  type = '';\n  mimeType = '';\n  spacePath = '';\n  contentSize = 0;\n  fileId = '';\n  attachmentId = '';\n  @tracked errorMessage = null;\n  modifiedInfo = '';\n  iconName = '';\n\n  constructor(\n    type,\n    mimeType,\n    spacePath,\n    modifiedInfo,\n    iconName,\n    fileId,\n    attachmentId,\n    contentSize,\n  ) {\n    this.type = type;\n    this.mimeType = mimeType;\n    this.spacePath = spacePath;\n    this.contentSize = contentSize;\n    this.fileId = fileId;\n    this.modifiedInfo = modifiedInfo;\n    this.iconName = iconName;\n    this.attachmentId = attachmentId;\n  }\n\n  get size() {\n    return this.bytesToSize(this.contentSize);\n  }\n\n  get name() {\n    return this.attachmentId\n      ? this.spacePath\n      : this.spacePath.substring(this.spacePath.lastIndexOf('/') + 1);\n  }\n\n  bytesToSize(bytes) {\n    const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\n    if (bytes === 0) return '0 Byte';\n    const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1000)));\n    return Math.round(bytes / Math.pow(1000, i), 2) + ' ' + sizes[i];\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { action } from \"@ember/object\";\n\nexport default class CheckboxGroupComponent extends Component {\n  @action\n  onChange(event) {\n    const { name, checked } = event;\n    const { list, onChange } = this.args;\n\n    // TODO : Use item.id instead of item.name\n    // We identify an item using the name because the Checkbox component doesn't require an id.\n    // When no id is provided, the Checkbox component generate one,\n    // so the list in CheckboxGroup component isn't aware of that id\n\n    // Solution: require an id for each items here in the CheckboxGroup component\n    onChange(\n      list.map((item) => (item.name === name ? { ...item, checked } : item))\n    );\n  }\n}\n","import Component from '@glimmer/component';\nimport { computed, action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class FormContainer extends Component {\n  @tracked isDisabled = false;\n  @tracked registeredInputs = [];\n\n  @action\n  registerInput(inputComponent) {\n    this.registeredInputs = [...this.registeredInputs, inputComponent];\n  }\n\n  @action\n  unregisterInput(inputComponent) {\n    this.registeredInputs = this.registeredInputs.filter(\n      (component) => component !== inputComponent,\n    );\n  }\n\n  willDestroy() {\n    super.willDestroy(...arguments);\n    if (this.args.autoClean || this.args.resetOnDestruction) {\n      this.registeredInputs.map((input) => input?.resetInput());\n    }\n\n    this.registeredInputs.clear();\n  }\n\n  get hasRequiredField() {\n    return this.registeredInputs.some((input) => input.isRequired);\n  }\n\n  @action\n  submit(event) {\n    event.stopPropagation();\n    event.preventDefault();\n    if (this.isDisabled && this.isDestroying) {\n      return;\n    }\n\n    let validatingInput = this.registeredInputs.invoke('validateInput', true);\n    window.Promise.all(validatingInput).then((validationResults) => {\n      if (!validationResults.isAny('isValid', false)) {\n        this.args.action?.call();\n        if (this.args.autoClean) {\n          this.registeredInputs.map((input) => input.resetInput());\n        }\n      }\n    });\n  }\n\n  @action\n  reset() {\n    this.registeredInputs.map((input) => input.resetInput());\n  }\n}\n","import { debounce } from '@ember/runloop';\nimport { or } from '@ember/object/computed';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport Ember from 'ember';\nimport { htmlSafe } from '@ember/template';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\n\n/* global libcryptobox */\nexport default class PasswordInputComponent extends Component {\n  @tracked initial = null;\n  @tracked confirmPassword;\n  @tracked passwordScore = {};\n  @tracked passwordComplexity;\n  @tracked aboutModal = false;\n  @tracked isStrong = false;\n  @tracked passwordIsNotValid = false;\n  @tracked passwordIsEmpty = false;\n  @tracked passwordIsTooWeak = false;\n  @tracked confirmPasswordIsNotValid = false;\n  @tracked confirmPasswordIsEmpty = false;\n  @tracked confirmPasswordIsDifferent = false;\n  @tracked value;\n\n  @service modalManager;\n  @service connection;\n  @service intl;\n  @service account;\n\n  @or('passwordIsNotValid', 'confirmPasswordIsNotValid') isNotValid;\n\n  get disablePasswordReset() {\n    return this.args.disablePasswordReset || false;\n  }\n\n  get strenghtBarStyle() {\n    const htmlEscape = Ember.Handlebars.Utils.escapeExpression;\n\n    const colorToWidth = {\n      [libcryptobox.PasswordScoreColor.Red]: 33.3,\n      [libcryptobox.PasswordScoreColor.Orange]: 66.6,\n      [libcryptobox.PasswordScoreColor.Green]: 100,\n    };\n\n    const width = colorToWidth[this.passwordScore?.color] || 0;\n\n    return htmlSafe(`width: ${htmlEscape(width)}%`);\n  }\n\n  get checkPassword() {\n    const password = this.value || '';\n\n    if (password !== '') {\n      debounce(this, this.validateInput, 500);\n    }\n\n    return true;\n  }\n\n  constructor() {\n    super(...arguments);\n    this._setResetForm();\n  }\n\n  async validateInput(isSubmission) {\n    return new window.Promise(async (resolve) => {\n      const password = this.value || '';\n\n      // nosemgrep\n      // Safe comparison: not a password check, just checking for empty input\n      if (password === '') {\n        this.passwordComplexity = '';\n        this.passwordScore = {};\n\n        if (this.args.isRequired) {\n          this.passwordIsNotValid = true;\n          this.passwordIsEmpty = true;\n          if (this.args.isNotValid) this.args.isNotValid(true);\n          resolve({ isValid: false });\n          return;\n        }\n\n        resolve({ isValid: true });\n        if (this.args.isNotValid) this.args.isNotValid(false);\n        return;\n      }\n\n      if (!this.validateConfirmPassword(isSubmission)) {\n        resolve({ isValid: false });\n        if (this.args.isNotValid) this.args.isNotValid(true);\n      }\n\n      const server = this.connection.serverAddress;\n      const firstname = this.account.firstName || this.args.firstName;\n      const lastname = this.account.lastName || this.args.lastName;\n      const email = this.account.userEmail || this.args.userEmail;\n      tBoxClient.validation\n        .getPasswordScore(server, email, password, firstname, lastname)\n        .then((passwordScore) => {\n          if (this.isDestroyed) {\n            return false;\n          }\n\n          this.passwordScore = passwordScore;\n          const { ok: isOk, label, color } = passwordScore;\n\n          this.isStrong = false;\n          this.passwordIsTooWeak = false;\n          this.passwordIsNotValid = false;\n          this.passwordComplexity = label;\n\n          switch (color) {\n            case libcryptobox.PasswordScoreColor.Red:\n              this.passwordIsNotValid = true;\n              this.passwordIsTooWeak = true;\n              break;\n\n            case libcryptobox.PasswordScoreColor.Orange:\n              this.passwordIsNotValid = !isOk;\n              break;\n\n            case libcryptobox.PasswordScoreColor.Green:\n              this.isStrong = true;\n              break;\n\n            default:\n              console.warn('Unhandled password score color:', color);\n          }\n\n          resolve({ isValid: isOk });\n          if (this.args.isNotValid) {\n            this.args.isNotValid(!isOk);\n          }\n        });\n    });\n  }\n\n  resetpasswordInputState() {\n    this.passwordIsNotValid = false;\n    this.passwordIsEmpty = false;\n    this.passwordComplexity = '';\n    if (this.args.isNotValid) this.args.isNotValid(false);\n  }\n\n  validateConfirmPassword(displayErrorOnEmpty) {\n    const password = this.value;\n\n    if (!this.confirmPassword) {\n      if (displayErrorOnEmpty && this.args.isRequired) {\n        this.confirmPasswordIsNotValid = true;\n        this.confirmPasswordIsEmpty = true;\n        if (this.args.isNotValid) this.args.isNotValid(true);\n        return false;\n      }\n      // nosemgrep\n    } else if (this.confirmPassword !== password) {\n      this.confirmPasswordIsNotValid = true;\n      this.confirmPasswordIsDifferent = true;\n      if (this.args.isNotValid) this.args.isNotValid(true);\n\n      return false;\n    }\n    if (this.args.isNotValid) this.args.isNotValid(false);\n    return true;\n  }\n\n  resetConfirmPasswordState() {\n    this.confirmPasswordIsNotValid = false;\n    this.confirmPasswordIsEmpty = false;\n    this.confirmPasswordIsDifferent = false;\n  }\n\n  _handleListener(component) {\n    return () => {\n      clearInterval(component.initial);\n      component.initial = window.setInterval(\n        component._resetPasswordField(component),\n        60000,\n      );\n    };\n  }\n\n  _resetPasswordField(component) {\n    return () => {\n      if (!component.disablePasswordReset) {\n        component.value = null;\n        component.confirmPassword = null;\n        component.passwordScore = null;\n        component.passwordComplexity = null;\n      }\n    };\n  }\n\n  _setResetForm() {\n    if (\n      this.args.formContainer &&\n      Array.isArray(this.args.formContainer.registeredInputs)\n    ) {\n      this.args.formContainer.registeredInputs.push(this);\n    }\n\n    if (this.args.registry && Array.isArray(this.args.registry)) {\n      this.args.registry.push(this);\n    }\n\n    this.initial = window.setInterval(this._resetPasswordField(this), 60000);\n\n    document.addEventListener('mousemove', this._handleListener(this));\n    document.addEventListener('keydown', this._handleListener(this));\n  }\n\n  @action\n  checkInput() {\n    this.resetConfirmPasswordState();\n    this.resetpasswordInputState();\n    debounce(this, this.validateInput, 500);\n    if (this.args.onUpdate) this.args.onUpdate(this.value);\n  }\n\n  @action\n  checkConfirm() {\n    this.resetConfirmPasswordState();\n    debounce(this, this.validateConfirmPassword, true, 500);\n  }\n\n  @action\n  openPasswordModal() {\n    this.aboutModal = true;\n    setTimeout(() => {\n      this.modalManager.open('about-password');\n    }, 500);\n  }\n\n  @action\n  reopenPassword() {\n    const modal = this.args.passwordModalName;\n    if (modal) {\n      this.modalManager.close('about-password');\n      this.modalManager.open(modal);\n    }\n  }\n\n  @action\n  onInsertElement() {\n    this.args.registerInput(this);\n  }\n\n  @action\n  unregisterReset() {\n    this._resetPasswordField(this);\n    this.args.unregisterInput(this);\n    if (this.args.registry) this.args.registry.clear();\n\n    clearInterval(this.initial);\n    document.removeEventListener('mousemove', this._handleListener(this));\n    document.removeEventListener('keydown', this._handleListener(this));\n  }\n}\n","import { debounce } from '@ember/runloop';\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { guidFor } from '@ember/object/internals';\n\nexport default class TextArea extends Component {\n\n  @service intl;\n\n  @tracked isRequired = false;\n  @tracked noSlash = false;\n  @tracked _isNotValid = false;\n  @tracked emptyError = false;\n  @tracked slashError = false;\n  @tracked _value = '';\n\n  get id() {\n    return  this.args.id || `text-area-${ guidFor(this) }`;\n  }\n\n  get label() {\n    return this.args.label;\n  }\n\n  get register() {\n    return this.args.register || true;\n  }\n\n  get maxLength() {\n    return this.args.maxLength;\n  }\n\n  get inputType() {\n    return this.args.inputType || 'text';\n  }\n\n  get isNotValid() {\n    return this.args.isNotValid || this._isNotValid;\n  }\n  set isNotValid(value) {\n    this._isNotValid = value;\n  }\n\n  get value() {\n    return this.args.value || this._value;\n  }\n\n  set value(value) {\n    if (this.args.setValue && typeof this.args.setValue === 'function') {\n      this.args.setValue(value);\n    }\n    this._value = value;\n\n  }\n\n  get isEmptyMessage() {\n    return this.args.isEmptyMessage || this.intl.t('errors.empty');\n  }\n\n  @action\n  input() {\n    this.resetInputState();\n    debounce(this, this.validateInput, 500);\n  }\n\n  @action\n  focusOut() {\n    this.resetInputState();\n    debounce(this, this.validateInput, 1);\n  }\n\n  @action\n  resetInputState() {\n    this.isNotValid = false;\n    this.emptyError = false;\n    this.slashError = false;\n  }\n\n  @action\n  resetInput() {\n    this.value = '';\n    this.resetInputState();\n  }\n\n  @action\n  validateInput(isSubmission) {\n    return new window.Promise((resolve) => {\n      // TODO: create helper for update args in child component\n      let inputValue = this.value || '';\n      if (isSubmission) {\n        inputValue = inputValue.trim();\n        this.value = inputValue;\n      }\n      if (this.isRequired && !inputValue) {\n        this.emptyError = true;\n        this.isNotValid = true;\n        resolve({ isValid: false });\n        return;\n      }\n      resolve({ isValid: true });\n    });\n  }\n\n  @action\n  onInsertElement() {\n    this.args.registerInput(this);\n  }\n\n  willDestroy() {\n    super.willDestroy(...arguments);\n    if (this.register) {\n      this.args.unregisterInput(this);\n    }\n  }\n}\n","import { debounce } from '@ember/runloop';\nimport { action } from '@ember/object';\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { guidFor } from '@ember/object/internals';\n\nexport default class TextInput extends Component {\n  @service intl;\n  @tracked noSlash = false;\n  @tracked emptyError = false;\n  @tracked slashError = false;\n  @tracked customError = false;\n  @tracked isNotValidMail = false;\n  @tracked maxLengthError = false;\n\n  @tracked _isNotValid = false;\n\n  elementId = this.args.id || guidFor(this);\n\n  Regexp = {\n    email:\n      /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,\n  };\n\n  get disabled() {\n    return this.args.disabled || false;\n  }\n\n  get name() {\n    return this.args.name || '';\n  }\n\n  get placeholder() {\n    return this.args.placeholder || '';\n  }\n\n  get isNotValid() {\n    return this.args.isNotValid || this._isNotValid;\n  }\n\n  get isRequired() {\n    return this.args.isRequired || false;\n  }\n\n  get inputType() {\n    return this.args.inputType || 'text';\n  }\n\n  get getMaxLength() {\n    if (this.allowMaxLengthOverride) {\n      return null;\n    } else {\n      return this.args.maxLength;\n    }\n  }\n\n  get allowMaxLengthOverride() {\n    return this.args.allowMaxLengthOverride || false;\n  }\n\n  get maxLengthMessage() {\n    return this.args.isMaxLengthMessage || this.intl.t('errors.max');\n  }\n\n  get emptyMessage() {\n    return this.args.isEmptyMessage || this.intl.t('errors.empty');\n  }\n\n  get notValidMessage() {\n    return this.args.isNotValidMessage || this.intl.t('errors.invalid');\n  }\n\n  get customMessage() {\n    return this.args.customMessage || '';\n  }\n\n  @action\n  onElementInsert() {\n    this.args.registerInput(this);\n\n    const autofocus = this.args.autofocus;\n    if (autofocus) {\n      const selector = document.getElementById(this.elementId);\n\n      setTimeout(() => {\n        if (selector) selector.querySelector('input').focus();\n      }, 1000);\n    }\n  }\n\n  @action\n  setIsNotValid(value) {\n    if (\n      this.args.setIsNotValid &&\n      typeof this.args.setIsNotValid === 'function'\n    ) {\n      this.args.setIsNotValid(value);\n    }\n    this._isNotValid = value;\n  }\n\n  @action\n  setValue(value) {\n    if (this.args.setValue && typeof this.args.setValue === 'function') {\n      this.args.setValue(value);\n    }\n  }\n\n  @action\n  input() {\n    this.resetInputState();\n    debounce(this, this.validateInput, 500);\n  }\n\n  @action\n  focusOut(event) {\n    this.resetInputState();\n    if (this.args.focusOut && typeof this.args.focusOut === 'function') {\n      this.args.focusOut(event);\n    }\n    debounce(this, this.validateInput, 1);\n  }\n\n  @action\n  resetInputState() {\n    document.querySelector(`#${this.elementId}`)?.classList.remove('error');\n    this.setIsNotValid(false);\n    this.emptyError = false;\n    this.slashError = false;\n    this.customError = false;\n    this.isNotValidMail = false;\n    this.maxLengthError = false;\n  }\n\n  @action\n  resetInput() {\n    this.setValue('');\n    this.resetInputState();\n  }\n\n  @action\n  validateInput(isSubmission) {\n    return new window.Promise(async (resolve) => {\n      let inputValue = this.args.value || '';\n      if (isSubmission && this.inputType !== 'password') {\n        inputValue = inputValue.trim();\n        this.setValue(inputValue);\n      }\n\n      if (this.args.maxLength && inputValue.length > this.args.maxLength) {\n        this.setIsNotValid(true);\n        this.maxLengthError = true;\n        resolve({ isValid: false });\n        return;\n      }\n      if (this.isRequired && !inputValue) {\n        this.emptyError = true;\n        this.setIsNotValid(true);\n        resolve({ isValid: false });\n        return;\n      }\n      if (this.inputType === 'email') {\n        const emailRegexp = this.Regexp.email;\n        if (!emailRegexp.test(inputValue)) {\n          this.setIsNotValid(true);\n          this.isNotValidMail = true;\n          resolve({ isValid: false });\n          return;\n        }\n      }\n      if (\n        this.noSlash &&\n        (inputValue.indexOf('/') > -1 || inputValue.indexOf('\\\\') > -1)\n      ) {\n        this.setIsNotValid(true);\n        this.slashError = true;\n        resolve({ isValid: false });\n        return;\n      }\n\n      if (this.args.onInput && typeof this.args.onInput === 'function') {\n        const result = await this.args.onInput(inputValue);\n        if (result) {\n          this.setIsNotValid(true);\n          this.customError = true;\n          resolve({ isValid: false });\n          return;\n        }\n      }\n      resolve({ isValid: true });\n    });\n  }\n\n  willDestroy() {\n    super.willDestroy(...arguments);\n    this.args.unregisterInput(this);\n  }\n}\n","/* global libcryptobox */\nimport { action } from '@ember/object';\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { debounce } from '@ember/runloop';\nimport { sort } from '@ember/object/computed';\nimport getDocumentItemId from '../../../../../../utils/getDocumentItemId';\nimport { tracked } from '@glimmer/tracking';\nimport libcryptobox from 'client/toolbox/generated/client/libcryptobox';\n\nconst ACTION_KIND = {\n  MOVE: 'move',\n  COPY: 'copy',\n};\n\nexport default class CopyMoveModal extends Component {\n  @tracked loadingModifyFile = false;\n  @tracked modalIsOpen = false;\n  @tracked processing = false;\n  @tracked actionKind = null;\n  @tracked spaces = [];\n  @tracked sortedDefinitionWorkspaces = ['name'];\n\n  @service store;\n  @service notify;\n  @service intl;\n  @service modalManager;\n  @service commonService;\n\n  @sort('workspacesFiltered', 'sortedDefinitionWorkspaces')\n  sortedWorkspacesFiltered;\n\n  get workspacesFiltered() {\n    return this.workspaces.filter((space) => {\n      const deleted = space.get('isDeleted');\n      return !deleted;\n    });\n  }\n\n  get workspaces() {\n    return this.spaces.filter((space) => {\n      const kind = space.get('kind');\n      return (\n        kind === libcryptobox.SpaceKind.Workspace ||\n        kind === libcryptobox.SpaceKind.PersonalSpace\n      );\n    });\n  }\n\n  get disableMoveAction() {\n    return this.args.wsDeleted || this.processing || !this.args.canMove;\n  }\n\n  get disableCopyAction() {\n    return this.processing || this.sortedWorkspacesFiltered.length === 0;\n  }\n\n  get selectedSpaceAndDestination() {\n    if (\n      this.commonService.selectedSpace &&\n      this.commonService.destinationNode\n    ) {\n      let text = ` > ${this.commonService.selectedSpace?.get('name')}`;\n      if (this.commonService.destinationNode) {\n        text += ` > ${this.commonService.destinationNode}`;\n      }\n      return text;\n    }\n    return '';\n  }\n\n  get validCrushingModalName() {\n    return `${this.args.modalName} valid-crushing`;\n  }\n\n  @action\n  loadData() {\n    this.store.findAll('space', { adapterOptions: { subscribe: this } });\n    this.spaces = this.store.peekAll('space');\n  }\n\n  @action\n  onClose() {\n    this.modalManager.close(this.args.modalName);\n  }\n\n  willDestroy() {\n    super.willDestroy(...arguments);\n    this.store.adapterFor('space').unsubscribe(this);\n  }\n\n  async _isValidDestinationFileNames(spaceId, path) {\n    const store = this.store;\n    const sourcesName = this.args.selectedNodes.map((file) => file.name);\n    const filesTarget = await store.query('file', {\n      spaceId: spaceId,\n      revision: 0,\n      path: path,\n    });\n    const filesName = filesTarget.map((file) =>\n      file.id.split('/').pop(),\n    );\n    let valid = true;\n\n    sourcesName.forEach((file) => {\n      if (filesName.indexOf(file) > -1) {\n        valid = false;\n      }\n    });\n\n    return valid;\n  }\n\n  notifySuccess(action) {\n    const contentTradKey = `notifications.${action}.success`;\n    const titleTradKey = `notifications.${action}.title`;\n\n    this.notify.success(this.intl.t(contentTradKey), {\n      title: this.intl.t(titleTradKey),\n      icon: 'file',\n    });\n  }\n\n  notifyError(action) {\n    const contentTradKey = `errors.${action}`;\n    const titleTradKey = `notifications.${action}.title`;\n    this.notify.warning(this.intl.t(contentTradKey), {\n      title: this.intl.t(titleTradKey),\n      icon: 'file',\n    });\n  }\n\n  notifyErrorIfInvalidParameter(e) {\n    // This error code is ignored by the global error handler \n    // but the error message may be useful to the end user.\n    // \n    // NB. This is the same error toast as in css/client/app/components/group/documents/tree-item/component.js.\n    if (e.code === libcryptobox.ErrorCode.InvalidParameter) {\n      this.notify.error(e.message, {\n        title: this.intl.t('errors.occur'),\n        icon: 'warning',\n      });\n    }\n  }\n\n  async call(spaceId, path) {\n    if (this.loadingModifyFile) {\n      throw new Error('File modification is already in progress');\n    }\n\n    this.loadingModifyFile = true;\n\n    try {\n      let source;\n      const target = spaceId + ':' + path;\n\n      if (!this.args.isDepositBox) {\n        source = this.args.selectedNodes.map((file) =>\n          getDocumentItemId(file.get('space.id'), file.get('path')),\n        );\n\n        switch (this.actionKind) {\n          case ACTION_KIND.MOVE:\n            await tBoxClient.file.move(source, target);\n            break;\n          case ACTION_KIND.COPY:\n            await tBoxClient.file.copy(source, target);\n            break;\n          default:\n            throw new Error('Invalid action kind');\n        }\n      } else {\n        if (!this.args.depositBoxId) {\n          throw new Error('Invalid deposit box id');\n        }\n        await tBoxClient.depositBox.copy(\n          this.args.depositBoxId,\n          this.args.selectedNodes.map((file) => file.name),\n          spaceId,\n          path,\n        );\n      }\n\n      this.modalManager.close(this.args.modalName);\n      this.notifySuccess(this.actionKind);\n    } finally {\n      this.loadingModifyFile = false;\n    }\n  }\n\n  async _copyMove(actionKind) {\n    if (this.processing) return;\n    this.processing = true;\n\n    const path = this.commonService.destinationNode || '/';\n    const spaceId = this.commonService.selectedSpace.get('id');\n    this.actionKind = actionKind;\n\n    try {\n      if (await this._isValidDestinationFileNames(spaceId, path)) {\n        await this.call(spaceId, path);\n      } else {\n        this.modalManager.close(this.args.modalName);\n        this.modalManager.open(this.validCrushingModalName);\n      }\n    } catch (e) {\n      console.error(e);\n      this.notifyErrorIfInvalidParameter(e);\n      this.notifyError(actionKind);\n    } finally {\n      this.processing = false;\n    }\n  }\n\n  @action\n  setWorkspace(ws) {\n    this.commonService.selectedSpace = ws;\n  }\n\n  @action\n  copyMove(actionKind) {\n    if (this.disableMoveAction && actionKind === ACTION_KIND.MOVE) {\n      return;\n    }\n    debounce(this, this._copyMove, actionKind, 500);\n  }\n\n  @action\n  async crush() {\n    const path = this.commonService.destinationNode || '/';\n    const spaceId = this.commonService.selectedSpace.get('id');\n    const actionKind = this.actionKind;\n\n    this.modalManager.close(this.validCrushingModalName);\n\n    this.modalManager.open(this.args.modalName);\n\n    // Note: The following code is adapted from _copyMove, it does not check _isValidDestinationFileNames again.\n    // We should probably refactor but I don't want to risk introducing regression at this time.\n\n    this.processing = true;\n\n    try {\n      await this.call(spaceId, path);\n    } catch (e) {\n      console.error(e);\n      this.notifyErrorIfInvalidParameter(e);\n      this.notifyError(actionKind);\n    } finally {\n      this.processing = false;\n    }\n  }\n\n  @action\n  cancelConfirm() {\n    this.processing = false;\n    this.modalManager.close(this.validCrushingModalName);\n  }\n\n  @action\n  cancel() {\n    this.processing = false;\n    this.modalManager.close(this.args.modalName);\n  }\n}\n","import { action } from '@ember/object';\nimport { extensions, getIconNameFromExtension } from '../../../../../utils/icon-constants';\nimport { guidFor } from '@ember/object/internals';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport Component from '@glimmer/component';\n\nexport default class CreateFile extends Component {\n  @service modalManager;\n  @service intl;\n\n  @tracked mouseX = 0;\n  @tracked mouseY = 0;\n  @tracked isContextMenuOpened = false;\n\n  elementId = guidFor(this);\n\n  get menuStyle() {\n    return this.args.menuStyle || 'dropdown';\n  }\n\n  get contextMenuEntries() {\n    return [\n      this.menuItem('docx'),\n      this.menuItem('xlsx'),\n      this.menuItem('pptx'),\n      '-',\n      this.menuItem('odt'),\n      this.menuItem('ods'),\n      this.menuItem('odp'),\n    ]\n  }\n\n  menuItem(ext) {\n    return {\n      icon: `filetype/${getIconNameFromExtension(ext, extensions)}`,\n      label: this.intl.t(`group.actions.createFileType.${ext}`),\n      ext,\n    }\n  }\n\n  openMenu(e) {\n    this.mouseX = e.pageX;\n    this.mouseY = e.pageY;\n    this.args.setCloseSubmenu?.(() => this.isContextMenuOpened = false);\n    this.isContextMenuOpened = true;\n  }\n\n  closeMenu() {\n    this.isContextMenuOpened = false;\n  }\n\n  toggleMenu(e) {\n    if (this.isContextMenuOpened) {\n      this.closeMenu();\n    } else {\n      this.openMenu(e);\n    }\n  }\n\n  onClickElsewhere(event) {\n    const isThisElement = event.target.closest(`#${this.elementId}`);\n    if (!isThisElement) {\n      this.closeMenu()\n    }\n  }\n\n  @action\n  onclick(e) {\n    if (this.menuStyle == 'dropdown') {\n      this.toggleMenu(e);\n    }\n  }\n\n  @action\n  onmouseenter(e) {\n    if (this.menuStyle == 'submenu') {\n      this.openMenu(e);\n    }\n  }\n\n  @action\n  openDialog(ext) {\n    this.modalManager.open('create-file', { ext });\n    this.isContextMenuOpened = false;\n    this.args.handleCloseContextMenu?.();\n  }\n}\n","import { action, computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport DS from 'ember-data';\nimport { tracked } from '@glimmer/tracking';\nimport Component from '@glimmer/component';\n\nexport default class CreateFile extends Component {\n  @tracked color = '';\n  @tracked isValid = true;\n  @tracked errorMessage = '';\n  @tracked fileName = '';\n\n  @service store;\n  @service modalManager;\n  @service intl;\n  @service thinkfree;\n\n  get ext() {\n    const { ext } = this.modalManager.getOptions('create-file');\n    return ext;\n  }\n\n  @computed('args.path', 'fileName')\n  get newPath() {\n    let path = this.args.path;\n    if (!path.endsWith('/')) {\n      path += '/';\n    }\n    path += this.fileName;\n    const { ext } = this.modalManager.getOptions('create-file');\n    if (!path.toLowerCase().endsWith('.' + ext)) {\n      path += '.' + ext;\n    }\n    return path;\n  }\n\n  get inConflict() {\n    return DS.PromiseObject.create({\n      promise: this.checkForConflict(),\n    });\n  }\n\n  async checkForConflict() {\n    try {\n      await this.store.queryRecord('file', {\n        spaceId: this.args.spaceId,\n        revision: 0,\n        path: this.newPath,\n      });\n      return true;\n    } catch {\n      return false;\n    }\n  }\n\n  @action\n  setFocus(element) {\n    // use setTimeout to ensure that the element is rendered before focusing\n    setTimeout(() => element.focus(), 0);\n  }\n\n  async checkName() {\n    this.fileName = this.fileName.trim();\n    if (this.fileName === '') {\n      this.isValid = false;\n      this.errorMessage = this.intl.t('errors.empty');\n      return;\n    }\n    const isNameValid = await tBoxClient.validation.isNameValid(\n      this.fileName,\n    );\n    if (!isNameValid) {\n      this.isValid = false;\n      this.errorMessage =\n        this.fileName === '.' || this.fileName === '..'\n          ? this.intl.t('errors.forbiddenName')\n          : this.intl.t('errors.slash');\n      return;\n    }\n    const conflictExists = await this.inConflict;\n    if (conflictExists) {\n      this.isValid = false;\n      this.errorMessage = this.intl.t('errors.newFolderConflict', {\n        folderName: this.newPath.split('/').pop(),\n      });\n      return;\n    }\n    this.isValid = true;\n  }\n\n  @action\n  async createFile() {\n    this.isValid = true;\n\n    if (!this.args.spaceId) {\n      return;\n    }\n\n    try {\n      await this.checkName()\n\n      if (!this.isValid || this.inProcess) {\n        return;\n      }\n      this.inProcess = true;\n\n      const space = await this.store.findRecord('space', this.args.spaceId);\n      const file = this.store.createRecord('file', { space, path: this.newPath });\n      await file.save();\n\n      this.resetState();\n      this.modalManager.close('create-file');\n\n      if (this.thinkfree.canOpenFileEditor(space, file)) {\n        this.args.openFileEditor(file);\n      }\n    } catch (e) {\n      console.error(e);\n    } finally {\n      this.inProcess = false;\n    }\n  }\n\n  @action\n  resetState() {\n    this.fileName = '';\n    this.isValid = true;\n    this.inProcess = false;\n  }\n\n  @action\n  resetError() {\n    this.isValid = true;\n    this.errorMessage = '';\n  }\n}\n","import { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\n\nexport default class CreateFolder extends Component {\n  @service modalManager;\n  @service intl;\n\n  @action\n  async handleClick() {\n    this.modalManager.open('create-folder');\n    if (this.args.handleCloseContextMenu) {\n      this.args.handleCloseContextMenu();\n    }\n  }\n\n}\n","import { action, computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport DS from 'ember-data';\nimport { tracked } from '@glimmer/tracking';\nimport Component from '@glimmer/component';\n\nexport default class CreateFolder extends Component {\n  @tracked color = '';\n  @tracked isValid = true;\n  @tracked errorMessage = '';\n  @tracked folderName = '';\n\n  @service store;\n  @service modalManager;\n  @service intl;\n\n  @computed('args.path', 'folderName')\n  get newPath() {\n    return this.args.path.endsWith('/')\n      ? this.args.path + this.folderName\n      : this.args.path + '/' + this.folderName;\n  }\n\n  get inConflict() {\n    return DS.PromiseObject.create({\n      promise: this.checkForConflict(),\n    });\n  }\n\n  async checkForConflict() {\n    try {\n      await this.store.queryRecord('file', {\n        spaceId: this.args.spaceId,\n        revision: 0,\n        path: this.newPath,\n      });\n      return true;\n    } catch {\n      return false;\n    }\n  }\n\n  @action\n  setFocus(element) {\n    // use setTimeout to ensure that the element is rendered before focusing\n    setTimeout(() => element.focus(), 0);\n  }\n\n  async checkName() {\n    this.folderName = this.folderName.trim();\n    if (this.folderName === '') {\n      this.isValid = false;\n      this.errorMessage = this.intl.t('errors.empty');\n      return;\n    }\n    const isNameValid = await tBoxClient.validation.isNameValid(\n      this.folderName,\n    );\n    if (!isNameValid) {\n      this.isValid = false;\n      this.errorMessage =\n        this.folderName === '.' || this.folderName === '..'\n          ? this.intl.t('errors.forbiddenName')\n          : this.intl.t('errors.slash');\n      return;\n    }\n    const conflictExists = await this.inConflict;\n    if (conflictExists) {\n      this.isValid = false;\n      this.errorMessage = this.intl.t('errors.newFolderConflict', {\n        folderName: this.folderName,\n      });\n      return;\n    }\n    this.isValid = true;\n  }\n\n  @action\n  async createFolder() {\n    this.isValid = true;\n\n    if (!this.args.spaceId) {\n      return;\n    }\n\n    this.checkName()\n      .then(async () => {\n        if (!this.isValid || this.inProcess) {\n          return;\n        }\n        this.inProcess = true;\n\n        const newFolder = this.store.createRecord('file', {\n          space: this.store.peekRecord({\n            type: 'space',\n            id: this.args.spaceId,\n          }),\n          path: this.newPath,\n          isDirectory: true,\n        });\n        await newFolder.save();\n        this.resetState();\n        this.modalManager.close('create-folder');\n      })\n      .catch((e) => {\n        console.error(e);\n      })\n      .finally(() => {\n        this.inProcess = false;\n      });\n  }\n\n  @action\n  resetState() {\n    this.folderName = '';\n    this.isValid = true;\n    this.inProcess = false;\n  }\n\n  @action\n  resetError() {\n    this.isValid = true;\n    this.errorMessage = '';\n  }\n}\n","import Component from '@glimmer/component';\n\nexport default class extends Component {\n  color = '';\n}\n","import { action } from '@ember/object';\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\n\nexport default class DeleteNodeModal extends Component {\n  @service notify;\n  @service store;\n  @service intl;\n  @service commonService;\n  @service modalManager;\n\n  get modalWording() {\n    const selectedNodesLength = this.args.selectedNodes.length;\n    if (this.args.currentSelectedNode) {\n      return this.intl.t('documents.actions.delete.confirm.file', {\n        name: this.args.currentSelectedNode?.name || '',\n      });\n    }\n\n    if (!selectedNodesLength) {\n      return '';\n    }\n\n    if (selectedNodesLength > 1) {\n      return this.intl.t('documents.actions.delete.confirm.multiple', {\n        count: selectedNodesLength,\n      });\n    }\n\n    const firstSelectedNode = Array.isArray(this.args.selectedNodes.content) && this.args.selectedNodes.content?.at?.(0);\n\n    if (!firstSelectedNode) {\n      return '';\n    }\n\n    const nodeName = firstSelectedNode.get('name') || ' (no name) ';\n    const translationKey = firstSelectedNode.get('isFolder')\n      ? 'documents.actions.delete.confirm.folder'\n      : 'documents.actions.delete.confirm.file';\n\n    return this.intl.t(translationKey, { name: nodeName });\n  }\n\n  get suppressionSuccessTrad() {\n    return this.intl.t('documents.actions.delete.succeed');\n  }\n\n  get suppressionFailedTrad() {\n    return this.intl.t('documents.actions.delete.failed');\n  }\n  /**\n   * remove selected nodes in document\n   */\n  @action\n  async deleteNodes() {\n    try {\n      if (this.args.currentSelectedNode) {\n        await this.deleteNode(this.args.currentSelectedNode);\n      } else {\n        await Promise.all(\n          this.args.selectedNodes.map((node) => this.deleteNode(node))\n        );\n      }\n      this.notify.success(this.suppressionSuccessTrad, '');\n    } catch (e) {\n      this.notify.error(this.suppressionFailedTrad, e.message);\n    } finally {\n      this.args.selectedNodes.clear();\n      this.commonService.selectedSpace = null;\n      this.commonService.destinationNode = null;\n      this.modalManager.close(this.args.modalName);\n    }\n  }\n\n  async deleteNode(node) {\n    await node.destroyRecord();\n  }\n}\n","import Component from '@glimmer/component';\n\nexport default class GetLinkComponent extends Component {\n    get isDisabled() {\n        return this.args.nodes.length && this.args.nodes.length != 1;\n    }\n}\n","import { inject as service } from '@ember/service';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport Component from '@glimmer/component';\nimport { task, timeout } from 'ember-concurrency';\n\nexport default class GetLinkModalComponent extends Component {\n\n  @tracked file = this.args.nodes.content;\n  @tracked fileUrl = this.intl.t('documents.actions.getLink.loading');\n  @tracked showToast = false;\n  @tracked toastStatus;\n  @tracked error = false;\n\n  @service intl;\n  @service modalManager;\n\n\n  @(task(function* () {\n    yield timeout(1000);\n    try {\n      this.fileUrl = yield tBoxClient.file.createLink(this.file.at(0).spaceId, this.file.at(0).path);\n    } catch (e) {\n      this.fileUrl = null;\n      this.error = true;\n    }\n  })) initialize;\n\n  get fileName() {\n    if ( Array.isArray(this.file) && this.file.length > 0) {\n      return this.file.at(0)?.name;\n    }\n    return '';\n  }\n\n  get title() {\n    return this.intl.t('documents.actions.getLink.title', { name: this.fileName });\n  }\n\n  @action\n  clearInputs() {\n    this.args.isOpened(false);\n  }\n\n  @action\n  async selectAndCopyText() {\n    if (this.error) {\n      return;\n    }\n    document.getElementById('fileUrl').select();\n    await this.onConfirm();\n  }\n\n  @action\n  notifyOpened() {\n    this.args.isOpened(true);\n    this.initialize.perform();\n  }\n\n  @action\n  async onConfirm() {\n    if (this.error) {\n      return;\n    }\n    try {\n      await navigator.clipboard.writeText(this.fileUrl);\n      this.showToast = true;\n      this.toastStatus = 'success';\n    } catch (e) {\n      this.toastStatus = 'error';\n    }\n    setTimeout(() => {\n      this.showToast = false;\n      this.modalManager.close('get-link-modal');\n    }, 3000);\n\n  }\n\n  @action\n  onClose() {\n    this.fileUrl = this.intl.t('documents.actions.getLink.loading');\n    this.modalManager.close('get-link-modal');\n  }\n\n\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\n\nexport default class HistoryWatch extends Component {\n  @service commonService;\n  @service intl;\n\n  // flags\n  actionIcon = 'ic-history-focus';\n  actionIconDisabled = 'ic-history-azure';\n  actionToRun = null;\n  theme = null;\n\n  @action\n  toggleHistory() {\n    this.args.toggleHistory();\n    // set revision to 0 when we hide the history panel\n    if (!this.displayHistory) {\n      this.commonService.set('revision', 0);\n    }\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { tracked } from \"@glimmer/tracking\";\nimport { action } from \"@ember/object\";\n\nconst RENAME_NODE_INPUT_NAME = \"RENAME_NODE_INPUT_NAME\";\n\nexport default class RenameNodeComponent extends Component {\n  renameNodeInputName = RENAME_NODE_INPUT_NAME;\n  @tracked errorMessage = \"\";\n  @tracked placeholder = \"placeholder message\";\n\n  @action\n  onChangeRenameNodeInput(event) {\n    const { value } = event.target;\n    this.args.onChange(value);\n  }\n\n  @action\n  didInsertInput(e) {\n    this.args.didInsertInput(e);\n  }\n}\n","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { inject as service } from '@ember/service';\nimport { debounce } from '@ember/runloop';\nimport { action } from '@ember/object';\nimport checkName from '../../../../../../utils/checkName';\nimport {\n  NODE_NAME_ERROR,\n  RENAME_NODE_MODAL_NAME,\n  NODE_EXTENSION_CHANGE_MODAL_NAME,\n} from '../../../../../../utils/enums';\n\nconst SEPARATOR = '/';\nconst ERROR_TO_TRAD_KEY = {\n  //[NODE_NAME_ERROR.NO_CHANGE]: \"NO_CHANGE\",\n  [NODE_NAME_ERROR.EMPTY]: 'errors.empty',\n  [NODE_NAME_ERROR.FORBIDDEN]: 'errors.forbiddenName',\n  [NODE_NAME_ERROR.TOO_LONG]: 'errors.tooLong',\n  [NODE_NAME_ERROR.SLASH]: 'errors.slash',\n  [NODE_NAME_ERROR.NODE_CONFLICT]: 'errors.nodeConflict',\n};\n\nexport default class RenameNodeModalComponent extends Component {\n  renameNodeModalName = RENAME_NODE_MODAL_NAME;\n  extensionChangedWarningModalName = NODE_EXTENSION_CHANGE_MODAL_NAME;\n  renameNodeInputElement = null;\n  // To handle the case were the second modal is open (extensionChangedWarningModalName)\n  validatingExtension = false;\n\n  @tracked renameNodeInputValue = '';\n  @tracked errorMessage = '';\n\n  @service store;\n  @service router;\n  @service intl;\n  @service modalManager;\n\n  get modalOptions() {\n    return this.modalManager.getOptions(this.renameNodeModalName);\n  }\n  isExtensionChange() {\n    if (this.node.isFolder) {\n      return false;\n    }\n\n    const currentNodeNameExtension = this.node.name.split('.').pop();\n    const newNodeNameExtension = this.renameNodeInputValue.split('.').pop();\n    return currentNodeNameExtension !== newNodeNameExtension;\n  }\n  get node() {\n    return this.modalOptions.node;\n  }\n  get nodePath() {\n    const nameSplit = this.node.path.split(SEPARATOR).slice(0, -1);\n    return nameSplit.length === 1 ? SEPARATOR : nameSplit.join(SEPARATOR);\n  }\n\n  async isNameInConflict(value) {\n    const id = this.node.space.get('id');\n\n    return this.store\n      .queryRecord('file', {\n        spaceId: id,\n        revision: 0,\n        path: `${this.nodePath}${SEPARATOR}${value}`,\n      })\n      .then(() => true)\n      .catch(() => false);\n  }\n\n  async validateName() {\n    const value = this.renameNodeInputValue;\n    let params = {};\n    let error = await checkName(this.node.name, value);\n\n    if (error === NODE_NAME_ERROR.NO_CHANGE) {\n      this.errorMessage = '';\n      return error;\n    }\n\n    if (!error) {\n      const isNameInConflict = await this.isNameInConflict(value);\n      if (isNameInConflict) {\n        error = NODE_NAME_ERROR.NODE_CONFLICT;\n        params = { oldName: this.node.name, newName: value };\n      }\n    }\n    this.errorMessage = error\n      ? this.intl.t(ERROR_TO_TRAD_KEY[error] || '', params)\n      : '';\n\n    return error;\n  }\n\n  clear() {\n    this.renameNodeInputValue = '';\n    this.errorMessage = '';\n    this.validatingExtension = false;\n  }\n\n  renameNode() {\n    const value = this.renameNodeInputValue;\n    const spaceId = this.node.space.get('id');\n\n    return this.node.rename(value).then((event) => {\n      if (this.currentPath === event.oldPath) {\n        this.router.transitionTo('my-groups.group.documents', {\n          queryParams: {\n            fileRevision: 0,\n            spaceId,\n            path: event.newPath,\n          },\n        });\n      }\n\n      event.oldRecord.deleteRecord();\n    });\n  }\n\n  async onConfirmNodeName() {\n    const error = await this.validateName();\n\n    if (error && error !== NODE_NAME_ERROR.NO_CHANGE) {\n      return;\n    }\n\n    this.validatingExtension = false;\n\n    if (this.isExtensionChange()) {\n      this.validatingExtension = true;\n      this.modalManager.close(this.renameNodeModalName, {\n        node: this.node,\n      });\n      this.modalManager.open(this.extensionChangedWarningModalName);\n      return;\n    }\n\n    if (error !== NODE_NAME_ERROR.NO_CHANGE) {\n      this.renameNode();\n    }\n\n    // We do not use use the \"closeOnConfirm\" arg on Modal component\n    // => We close here to get the same behaviour with onPressEnterInput\n    this.modalManager.close(this.renameNodeModalName);\n  }\n\n  // Form\n\n  @action\n  didInsertRenameNodeInput(e) {\n    this.renameNodeInputElement = e;\n  }\n\n  @action\n  onChangeInputValue(value) {\n    this.renameNodeInputValue = value; //.trim() ?\n    debounce(this, this.validateName, '', 500);\n  }\n\n  @action\n  onPressEnterInput() {\n    void this.onConfirmNodeName();\n  }\n\n  // RENAME_NODE_MODAL_NAME\n\n  @action\n  async onConfirm() {\n    void this.onConfirmNodeName();\n  }\n\n  @action\n  onCloseModal() {\n    if (!this.validatingExtension) {\n      this.clear();\n    }\n    this.renameNodeInputValue = '';\n    this.modalManager.close(this.renameNodeModalName);\n  }\n\n  @action\n  onOpeningModal() {\n    this.renameNodeInputValue = this.node?.name;\n    this.renameNodeInputElement.focus();\n  }\n\n  // Extension change modal\n\n  @action\n  onConfirmExtensionChange() {\n    this.renameNode();\n    this.modalManager.close(this.extensionChangedWarningModalName);\n    this.onCloseModal();\n  }\n\n  @action\n  onCancelExtensionChange() {\n    this.validatingExtension = false;\n    this.modalManager.close(this.extensionChangedWarningModalName);\n    this.modalManager.open(this.renameNodeModalName, {\n      node: this.node,\n    });\n  }\n\n  @action\n  onCloseExtensionChange() {\n    this.clear();\n    this.modalManager.close(this.extensionChangedWarningModalName);\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class BreadCrumb extends Component {\n  @tracked currentFolderName = '';\n\n  @service account;\n  @service intl;\n\n  get ancestors() {\n    const path = this.args.trackingIdPath || this.args.path;\n\n    if (path === '/') {\n      this.currentFolderName = this.getCurrentFolderName();\n      return [];\n    }\n    let ancestors = [];\n\n    const splittedPath = path.split('/');\n    const spaceName = this.args.spaceName;\n    let currentParsedPath = '';\n\n    splittedPath.forEach((folder, index) => {\n      if (folder) {\n        currentParsedPath += `/${folder}`;\n        ancestors = [\n          ...ancestors,\n          ...this.buildAncestor(\n            folder,\n            currentParsedPath,\n            index,\n            splittedPath.length,\n          ),\n        ];\n      } else {\n        ancestors = [\n          ...ancestors,\n          ...this.handleEmptyFolderName(index, spaceName, splittedPath),\n        ];\n      }\n    });\n\n    return ancestors;\n  }\n\n  getCurrentFolderName() {\n    if (this.account.isInPersonalSpace) {\n      return this.intl.t('my.documents');\n    } else {\n      return this.args.spaceName;\n    }\n  }\n\n  buildAncestor(folderName, path, index, totalLength) {\n    let ancestors = [];\n    if (index < totalLength - 1) {\n      if (index > 1 && index + 1 === totalLength - 1) {\n        ancestors.push({\n          name: '...',\n          path,\n        });\n      }\n      if (index + 1 >= totalLength - 1) {\n        ancestors.push({\n          name: folderName,\n          path,\n        });\n      }\n    } else {\n      this.currentFolderName = folderName;\n    }\n    return ancestors;\n  }\n\n  handleEmptyFolderName(index, spaceName, path) {\n    if (index + 1 === path.length) {\n      this.currentFolderName = this.getCurrentFolderName();\n      return [];\n    } else {\n      return [\n        {\n          name: index === 0 ? spaceName : this.intl.t('my.documents'),\n          path: '/',\n        },\n      ];\n    }\n  }\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\nimport {\n  DOWNLOAD_TYPE,\n  RENAME_NODE_MODAL_NAME,\n} from '../../../../../utils/enums';\nimport { tracked } from '@glimmer/tracking';\n\n/* global libcryptobox */\n\nexport default class ActionsTab extends Component {\n  @tracked downloadType = DOWNLOAD_TYPE;\n\n  copyMoveModalName = 'copy-move-modal copy-move-modal1';\n\n  deleteFileModalName = 'delete-file-action-tab';\n\n  @service('transfers') transfersManager;\n  @service modalManager;\n  @service store;\n  @service account;\n  @service router;\n  @service('file-history') fileHistoryService;\n  @service thinkfree;\n\n  get isSharable() {\n    return this.args.space\n      .get('accessRights')\n      .includes(libcryptobox.SpaceAccessRight.Share);\n  }\n\n  get canCreateLink() {\n    const firstSelectedNode =\n      Array.isArray(this.args.selectedNodes.content) &&\n      this.args.selectedNodes.content.at?.(0);\n    if (!firstSelectedNode) {\n      return false;\n    }\n    return (\n      !this.args.space.get('isReader') &&\n      !this.args.space.get('isViewer')\n    );\n  }\n\n  get canCopy() {\n    return !this.args.space.get('isViewer')\n  }\n\n  get canEdit() {\n    return (\n      !this.args.space.get('isReader') &&\n      !this.args.space.get('isViewer')\n    );\n  }\n\n  get canShowFileHistory() {\n    return !this.args.space.get('isReader') && !this.args.space.get('isViewer');\n  }\n\n  get disabledReplaceFileContent() {\n    return this.args.selectedNodes.length > 1;\n  }\n\n  get disabledDownloadZip() {\n    return !(this.args.node.isFolder || this.args.selectedNodes.length > 1);\n  }\n\n  get isEditorMenuVisible() {\n    const space = this.args.space;\n    return this.thinkfree.isEditorMenuVisible(space);\n  }\n\n  get isEditorMenuEnabled() {\n    if (this.args.selectedNodes.length !== 1) {\n      return false;\n    }\n    const space = this.args.space;\n    const file = this.selectedNode;\n    return this.thinkfree.canOpenFileEditor(space, file);\n  }\n\n  get isEditable() {\n    return this.canEdit && !this.args.space.get('isDeleted');\n  }\n\n  get isSubscribable() {\n    return this.args.node.get('isLoaded');\n  }\n\n  get canDownload() {\n    return [\n      libcryptobox.Role.Owner,\n      libcryptobox.Role.Member,\n      libcryptobox.Role.Auditor,\n    ].includes(this.args.node.space.get('userRole'));\n  }\n\n  // Return the one selected node.\n  get selectedNode() {\n    return (\n      this.args.selectedNodes.length === 1 &&\n      this.args.selectedNodes.objectAt(0)\n    );\n  }\n\n  @action\n  onViewFileAction() {\n    this.args.onViewFile(this.args.node);\n  }\n\n  @action\n  onShareFileAction() {\n    this.modalManager.open('init-share');\n  }\n\n  @action\n  onGetLinkAction() {\n    this.modalManager.open('get-link-modal');\n  }\n\n  @action\n  onClickRenameNode() {\n    this.modalManager.open(RENAME_NODE_MODAL_NAME, {\n      node: this.args.node,\n    });\n  }\n\n  @action\n  onClickCopyMove() {\n    this.modalManager.open(this.copyMoveModalName);\n  }\n\n  @action\n  handleOnClickDelete() {\n    this.modalManager.open(this.deleteFileModalName);\n  }\n\n  @action\n  onDownloadAction(dlType) {\n    this.args.onDownload(dlType);\n  }\n\n  @action\n  goToFileHistory() {\n    this.fileHistoryService.filePath = this.args.node.path;\n    this.router.transitionTo(\n      'my-groups.file-history.index',\n      this.args.node.spaceId,\n      {\n        queryParams: {\n          trackingId: this.args.node.trackingId,\n        },\n      },\n    );\n  }\n\n  @action\n  async openFileEditor() {\n    if (this.selectedNode) {\n      this.args.openFileEditor(this.selectedNode);\n    }\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { computed } from '@ember/object';\n\n/* global libcryptobox */\nexport default class DetailsPanel extends Component {\n  @service store;\n  @service('transfers') transfersManager;\n\n  get nodeChildren() {\n    if (!this.args.node.isFolder) {\n      return null;\n    }\n\n    return this.store\n      .query('file', {\n        spaceId: this.args.space.id,\n        revision: this.args.model.fileRevision,\n        path: this.args.node.path,\n      })\n      .then((files) => files.length - this.args.node.subDirectoryCount);\n  }\n\n  get hasNoNodes() {\n    return this.args.selectedNodes.length === 0;\n  }\n\n  get nodeHasFolder() {\n    const folders = this.args.selectedNodes.filter( node => node.isFolder);\n    return folders.length > 0;\n  }\n\n  @computed(\n    'args.hasSeveralNodes',\n    'args.node.{isFolder,version}',\n    'args.selectedNodes.[]',\n    'hasNoNodes',\n  )\n  get showFileHistoryVersion() {\n    return (\n      this.args.selectedNodes.filter(node => node.isFolder).length === 0 &&\n      this.hasNoNodes === false &&\n      this.args.node.isFolder === false &&\n      this.args.node.version >= 1 &&\n      this.args.hasSeveralNodes === false);\n\n  }\n\n  @computed(\n    'args.node.{isFolder,version}',\n    'args.selectedNodes.[]',\n  )\n  get firstNode() {\n    return this.args.selectedNodes.content?.at?.(0);\n  }\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\n\nexport default class InformationTab extends Component {\n\n  @service('transfers') transfersManager;\n\n  get cumulatedSize() {\n    let sum = 0;\n    this.args.selectedNodes.model.forEach((elem) => {\n      sum += parseInt(elem.contentSize);\n    });\n    return sum;\n  }\n\n}\n","import { computed, action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class DocumentsList extends Component {\n  @tracked isDragOver = false;\n  @tracked fileListArray = [];\n  @tracked isContextMenuOpened = false;\n  @tracked mouseX = 0;\n  @tracked mouseY = 0;\n\n  @service account;\n  @service notify;\n  @service intl;\n  @service('transfers') transfersManager;\n  @service modalManager;\n\n  closeSubmenuFn = null;\n\n  @computed('args.targetSpace.fileCount', 'targetSpace')\n  get fileCount() {\n    if (this.args.targetSpace) return this.args.targetSpace.fileCount;\n    return 0;\n  }\n\n  @computed(\n    'args.targetSpace.{isDeleted,isReader,isViewer}',\n    'args.{isSearchResults,weAreInPast}',\n    'isSearchResults',\n    'targetSpace.{isDeleted,isReader}',\n  )\n  get isEditable() {\n    return (\n      !this.args.targetSpace.get('isReader') &&\n      !this.args.targetSpace.get('isViewer') &&\n      !this.args.targetSpace.get('isDeleted') &&\n      !this.args.isSearchResults &&\n      !this.args.weAreInPast\n    );\n  }\n\n  @action\n  dragOver(e) {\n    if (!this.isEditable) {\n      return false;\n    }\n    this.isDragOver = true;\n    e.preventDefault();\n    e.stopPropagation();\n    e.dataTransfer.dropEffect = 'copy';\n  }\n\n  @action\n  dragLeave(e) {\n    if (!this.isEditable) {\n      return false;\n    }\n    this.isDragOver = false;\n    e.preventDefault();\n    e.stopPropagation();\n  }\n\n  /**\n   * we drop one or more files on the file list, upload them to backend.\n   * @param e\n   * @returns {boolean}\n   */\n  @action\n  async drop(e) {\n    e.stopPropagation();\n    e.preventDefault();\n\n    if (!this.isEditable) {\n      return false;\n    }\n    this.isDragOver = false;\n    const targetSpace = this.args.targetSpace;\n    const currentFolder = this.args.currentFolder;\n    /**\n     * manage errors\n     */\n    if (e.dataTransfer.types.length === 0) {\n      this.notify.warning(\n        this.intl.t('documents.dropToast.noAccessToData.message'),\n        {\n          title: this.intl.t('documents.dropToast.noAccessToData.title'),\n          closeAfter: 10000,\n        },\n      );\n      return false;\n    }\n    if (e.dataTransfer.types.length > 2) {\n      this.notify.warning(this.intl.t('documents.dropToast.notFile.message'), {\n        title: this.intl.t('documents.dropToast.notFile.title'),\n      });\n      return false;\n    }\n    this.transfersManager.handleDrop(targetSpace, currentFolder, e);\n  }\n\n  @action\n  handleRightClick(e) {\n    e.stopPropagation();\n    if (this.isContextMenuOpened) {\n      this.handleChangeContextMenu(false);\n    }\n    this.mouseX = e.pageX;\n    this.mouseY = e.pageY;\n    const search = document.querySelector(\"input[name='search']\");\n\n    if (search) {\n      const searchBounds = search.getBoundingClientRect();\n      const searchX = searchBounds.left;\n      const searchY = searchBounds.top;\n      const xValid =\n        e.pageX < searchX || e.pageX > searchX + searchBounds.width + 50;\n      const yValid =\n        e.pageY < searchY || e.pageY > searchY + searchBounds.height + 30;\n\n      if (xValid || yValid) {\n        e.preventDefault();\n        this.isContextMenuOpened = true;\n      }\n    } else {\n      e.preventDefault();\n      this.isContextMenuOpened = true;\n    }\n  }\n  @action\n  handleCloseContextMenu() {\n    this.isContextMenuOpened = false;\n  }\n\n  @action\n  setCloseSubmenu(fn) {\n    this.closeSubmenuFn = fn;\n  }\n\n  @action\n  closeSubmenu() {\n    this.closeSubmenuFn?.();\n    this.closeSubmenuFn = null;\n  }\n}\n","import Component from '@glimmer/component';\nimport { computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class extends Component {\n  @service commonService;\n  @service intl;\n\n  @tracked workspaceRevision = null;\n  @tracked hideFirst = false;\n  @tracked debug = null;\n\n  get index() {\n    return this.args.index;\n  }\n  get timeNode() {\n    return this.args.timeNode;\n  }\n\n  get selectedPage() {\n    return this.args.selectedPage;\n  }\n\n  @computed('index')\n  get isFirst() {\n    return !this.index;\n  }\n  get displayOldHistory() {\n    return this.args.displayOldHistory;\n  }\n\n  @computed('index', 'selectedPage', 'hideFirst')\n  get shouldHide() {\n    return !this.selectedPage === 1 && this.index === 0 && this.hideFirst;\n  }\n\n  @computed(\n    'commonService.workspaceRevision',\n    'timeNode.number',\n    'workspaceRevision',\n  )\n  get isCurrentRevision() {\n    return (\n      parseInt(this.timeNode.number) ===\n      parseInt(this.commonService.workspaceRevision)\n    );\n  }\n\n  get tDateFormat() {\n    return this.intl.t('dateHourFormat');\n  }\n\n  // /**\n  //  * show version of folder\n  //  * @param timeNode\n  //  * @returns {*}\n  //  */\n  // @action\n  // selectRestorableDate(timeNode) {\n  //   this.workspaceRevision = timeNode.number;\n  //   this.displayOldHistory = true;\n  //   return timeNode;\n  // }\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\n\nexport default class WarningTitle extends Component {\n\n\n  @service commonService;\n\n  get disabledActions() {\n    return !this.args.model.space.isAdmin;\n  }\n}\n","import {action} from \"@ember/object\";\nimport Component from \"@glimmer/component\";\nimport {tracked} from '@glimmer/tracking';\nimport {inject as service} from '@ember/service';\n\nexport default class FileInputComponent extends Component {\n\n  @tracked value = null;\n\n  @service transfers\n\n  get targetSpace() {\n    return this.args.targetSpace;\n  }\n\n  get currentFolder() {\n    return this.args.currentFolder;\n  }\n get disabled() {\n    return this.args.disabled;\n  }\n\n  @action\n  change(e) {\n    e.stopPropagation();\n    e.preventDefault();\n\n    let files = [].slice.call(e.target.files);\n    if (!files.length) {\n      return false;\n    }\n    let fileListArray = [];\n    files.forEach((file) => {\n      file.CBRelativePath = '';\n      fileListArray.push(file);\n    });\n\n    this.transfers.uploadFilesList(fileListArray, this.currentFolder, this.targetSpace);\n    this.value = null;\n  }\n}\n","import { inject as service } from '@ember/service';\nimport { action } from \"@ember/object\";\nimport Component from \"@glimmer/component\";\nimport { tracked } from '@glimmer/tracking';\n\nexport default class FolderInputComponent extends Component {\n  @tracked value = null;\n\n  @service transfers;\n  @service intl;\n\n  get useShowDirectoryPicker() {\n    return 'showDirectoryPicker' in window;\n  }\n\n  get helpText() {\n    return this.useShowDirectoryPicker ? this.intl.t('group.actions.uploadFolder') : this.intl.t('group.actions.uploadFolderLimited');\n  }\n\n  @action\n  async click(e) {\n    e.stopPropagation();\n    e.preventDefault();\n    const handle = await window.showDirectoryPicker();\n    const { files, emptyDirs } = await this.transfers.readFileSystemDirectoryHandle(handle);\n    this.transfers.createFolders(this.args.targetSpace, this.args.currentFolder, emptyDirs);\n    this.transfers.uploadFolderFilesList(files, this.args.currentFolder, this.args.targetSpace);\n  }\n\n  @action\n  change(e) {\n    e.stopPropagation();\n    e.preventDefault();\n    let files = [].slice.call(e.target.files);\n    if (!files[0].webkitRelativePath || (files.length === 0 && !e.target.webkitEntries)) {\n      // La liste de fichiers ou le navigateur n'est pas compatible, éviter l'action de téléchargement du dossier.\n      this.value = null;\n      return false;\n    }\n    let fileListArray = [];\n    files.forEach((file) => {\n      file.CBRelativePath = file.webkitRelativePath;\n      fileListArray.push(file);\n    });\n\n    this.transfers.uploadFolderFilesList(fileListArray, this.args.currentFolder, this.args.targetSpace);\n    this.value = null;\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class ListHeaderComponent extends Component {\n  @tracked detailsIsVisible = null\n\n  get allNodeSelected() {\n    return this.args.allNodes.length === this.args.selectedNodes.length\n  }\n\n  @action\n  sortNodesBy(criteria) {\n    this.args.sortNodesBy(criteria);\n  }\n\n  @action\n  toggleAllSelected() {\n    if (this.args.allNodes.length === this.args.selectedNodes.length) {\n      this.args.selectedNodes.clear()\n    } else {\n      this.args.allNodes.forEach(element => {\n        if (!this.args.selectedNodes.isAny('id', element.id)) {\n          this.args.selectedNodes.pushObject(element)\n        }\n      })\n    }\n  }\n}\n","import { action, computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport ArrayProxy from '@ember/array/proxy';\nimport Component from '@glimmer/component';\nimport getNodeIconName from '../../../../utils/getNodeIconName';\nimport { DOWNLOAD_TYPE, RENAME_NODE_MODAL_NAME } from '../../../../utils/enums';\nimport { tracked } from '@glimmer/tracking';\nimport { guidFor } from '@ember/object/internals';\n\n/* global libcryptobox */\n\nexport default class ListedNode extends Component {\n  @tracked mouseX = 0;\n  @tracked mouseY = 0;\n  @tracked isContextMenuOpened = false;\n  @tracked fileListArray = [];\n\n  @tracked workspaceRevision = null;\n  @tracked downloadType = DOWNLOAD_TYPE;\n\n  @service account;\n  @service('transfers') transfersManager;\n  @service commonService;\n  @service intl;\n  @service modalManager;\n  @service router;\n  @service('file-history') fileHistoryService;\n  @service thinkfree;\n\n  copyMoveModalName = 'copy-move-modal copy-move-modal2';\n\n  get selectedNodes() {\n    return this.args.selectedNodes;\n  }\n\n  @computed('')\n  get tDateFormat() {\n    return this.intl.t('dateHourFormat');\n  }\n\n  @computed('args.node.space.{accessRight,accessRights}')\n  get isSharable() {\n    return this.args.node.space\n      .get('accessRights')\n      .includes(libcryptobox.SpaceAccessRight.Share);\n  }\n\n  @computed('args.workspaceRevision')\n  get displayOldFiles() {\n    return this.args.workspaceRevision;\n  }\n\n  @computed('args.node.isFolder')\n  get isFile() {\n    return !this.args.node.isFolder;\n  }\n\n  @computed('args.node.space.isViewer')\n  get canCopy() {\n    return (\n      !this.args.node.space.get('isViewer')\n    );\n  }\n\n  @computed('args.node.space.{isReader,isViewer}')\n  get canShowFileHistory() {\n    return (\n      !this.args.node.space.get('isReader') &&\n      !this.args.node.space.get('isViewer')\n    );\n  }\n\n  @computed('args.node.space.{isReader,isViewer}')\n  get canExportFileHistory() {\n    return (\n      !this.args.node.space.get('isReader') &&\n      !this.args.node.space.get('isViewer')\n    );\n  }\n\n  @computed('args.node.space.{isReader,isViewer}')\n  get canEdit() {\n    return (\n      !this.args.node.space.get('isReader') &&\n      !this.args.node.space.get('isViewer')\n    );\n  }\n\n  @computed('args.node.name')\n  get getFileExtension() {\n    return (this.args.node.name.match(/\\.([0-9a-z]+)$/i) || [])[1];\n  }\n\n  @computed('canEdit', 'args.node.space.isDeleted')\n  get isEditable() {\n    return this.canEdit && !this.args.node.space.get('isDeleted');\n  }\n\n  @computed('args.node.id', 'selectedNodes.[]')\n  get isSelected() {\n    return this.args.node\n      ? this.selectedNodes.isAny('id', this.args.node.id)\n      : false;\n  }\n\n  @computed('selectedNodes.[]')\n  get multipleSelectedNodes() {\n    return this.selectedNodes.length > 1;\n  }\n\n  @computed('selectedNodes.[]')\n  get nodeHasFolder() {\n    return this.selectedNodes.filter(node => node.isFolder).length > 0;\n  }\n\n  get overred() {\n    return this.args.overred || false;\n  }\n\n  @computed('args.node.space.userRole')\n  get canDownload() {\n    return [\n      libcryptobox.Role.Owner,\n      libcryptobox.Role.Member,\n      libcryptobox.Role.Auditor,\n    ].includes(this.args.node.space.get('userRole'));\n  }\n\n  @computed('args.node.isDirectory', 'getFileExtension')\n  get nodeIconName() {\n    return getNodeIconName(this.args.node.isDirectory, this.getFileExtension);\n  }\n\n  @computed('elementId', 'node')\n  get deleteFileModalName() {\n    return `delete-file-${ guidFor(this) }`;\n  }\n\n  get disabledExportFileHistory() {\n    return this.args.node.isDirectory === true;\n  }\n\n  get isEditorMenuVisible() {\n    const space = this.args.model.space;\n    return this.thinkfree.isEditorMenuVisible(space);\n  }\n\n  get isEditorMenuEnabled() {\n    if (this.args.selectedNodes.length !== 1) {\n      return false;\n    }\n    const space = this.args.model.space;\n    const file = this.args.node;\n    return this.thinkfree.canOpenFileEditor(space, file);\n  }\n\n  get isEdited() {\n    return this.thinkfree.editedTrackingIds.has(this.args.node.trackingId);\n  }\n\n  menuAction = {\n    EDIT_FILE: 'edit_file',\n    VIEW_FILE: 'view_file',\n    FILE_HISTORY: 'file_history',\n    SHARE_FILE: 'share_file',\n    GET_LINK: 'get_link',\n    DOWNLOAD_FILE: 'download_file',\n    DOWNLOAD_ZIP: 'download_zip',\n    RENAME_FILE: 'rename_file',\n    DELETE_FILE: 'delete_file',\n    COPY_MOVE: 'copy_move',\n    EXPORT_FILE_HISTORY: 'export_file_history',\n  };\n\n  @action\n  async drop(e) {\n    const space = await this.args.node.space;\n    this.transfersManager.handleDrop(space, this.args.node, e);\n    this.args.node.set('overred', false);\n  }\n\n  @computed('args.node', 'isContextMenuOpened', 'isSelected', 'selectedNodes')\n  get contextMenuTriggered() {\n    if (this.isContextMenuOpened) {\n      if (!this.isSelected) {\n        this.commonService.selectedSpace = this.args.node.get('space');\n        this.commonService.destinationNode = this.args.node.get('path');\n        this.args.setLastClickedNode(this.args.node);\n        this.selectedNodes.clear();\n        this.selectedNodes.addObject(this.args.node);\n      }\n    }\n  }\n\n  @action\n  click(e) {\n    e.stopPropagation();\n    const selectedNodesLength = this.selectedNodes.length;\n    const node = this.args.node;\n    this.transfersManager.refreshLogs(node.get('space.id'), node.get('path'));\n\n    this.commonService.destinationNode = this.args.node.get('path');\n    this.commonService.selectedSpace = this.args.node.get('space');\n\n    if (this.isContextMenuOpened) {\n      return;\n    }\n\n    /**\n     * if we click on the action button and the node is already selected\n     */\n    if (selectedNodesLength === 1 && this.selectedNodes.isAny('id', node.id)) {\n      if (node !== this.lastClickedNode) {\n        this.args.setLastClickedNode(node);\n      }\n    } else {\n      /**\n       * toggle selection for file if we clicked on it with ctrl key\n       */\n      if (e.ctrlKey || e.metaKey) {\n        if (this.selectedNodes.isAny('id', node.id)) {\n          this.selectedNodes.removeObject(node);\n        } else {\n          this.selectedNodes.pushObject(node);\n        }\n\n        const folders = this.selectedNodes.filter(node => node.isDirectory);\n        let last;\n\n        if (folders.length) {\n          last = folders.get('firstObject');\n        } else {\n          last = this.selectedNodes.get('firstObject');\n        }\n        this.args.setLastClickedNode(last);\n        this.args.setDetailedNode(last);\n        return;\n      } else if (e.shiftKey) {\n        /**\n         * select a range of files with shift + click\n         */\n        const displayedNodes = this.args.displayedNodes;\n        const lastClickedNode = this.args.setLastClickedNode;\n        const node = this.args.node;\n        let startIndex = 0;\n\n        if (lastClickedNode) {\n          startIndex = displayedNodes.indexOf(lastClickedNode);\n        }\n        const nodeIndex = displayedNodes.indexOf(node);\n        let nextSelectedNode;\n        if (nodeIndex > startIndex) {\n          nextSelectedNode = displayedNodes.slice(startIndex, nodeIndex + 1);\n        } else {\n          nextSelectedNode = displayedNodes.slice(nodeIndex, startIndex + 1);\n        }\n\n        const folders = this.selectedNodes.filter(node => node.isDirectory);\n        //TODO setSelectedNodes\n        this.selectedNodes.set('content', nextSelectedNode);\n        let last;\n\n        if (folders.length) {\n          last = folders.get('firstObject');\n        } else {\n          last = this.selectedNodes.get('firstObject');\n        }\n        this.args.setLastClickedNode(last);\n        this.args.setDetailedNode(last);\n      } else {\n        /**\n         * if there is nothing selected or more than one node,\n         * we want to select just one\n         */\n\n        // when we have several node selected and we click on just one to select only one\n        if (!this.isContextMenuOpened && selectedNodesLength >= 1) {\n          this.selectedNodes.clear();\n        }\n        this.selectedNodes.addObject(node);\n        if (this.selectedNodes.length === 1) {\n          this.args.setLastClickedNode(node);\n          this.args.setDetailedNode(node);\n        } else if (!this.selectedNodes.length) {\n          this.hideDetails();\n        }\n      }\n    }\n    this.args.setDetailedNode(node);\n    this.args.setLastClickedNode(node);\n  }\n\n  @action\n  async handleDoubleClick() {\n    this.isContextMenuOpened = false;\n    if (this.args.node.get('isFolder')) {\n      this.commonService.treeItemsDocuments.forEach((treeItemsDocument) => {\n        const selected =\n          treeItemsDocument.folder &&\n          this.args.node\n            .get('path')\n            .includes(treeItemsDocument.folder.get('path'));\n        if (selected) {\n          treeItemsDocument.isExpanded = true;\n        }\n      });\n\n      this.args.setCurrentPath(this.args.node.get('path'));\n      this.args.setCurrentTrackingId('');\n    } else {\n      const space = this.args.model.space;\n      const file = this.args.node;\n      const options = { readOnly: space.isReader };\n      if (this.thinkfree.canOpenFileEditor(space, file, options)) {\n        this.args.openFileEditor(file, options);\n      } else {\n        this.args.setCurrentFilePreviewPath(this.args.node.get('path'));\n      }\n    }\n  }\n\n  @action\n  handleChangeContextMenu(value = false) {\n    this.isContextMenuOpened = value;\n  }\n\n  @action\n  handleWillDestroy() {\n    super.willDestroy(...arguments);\n    this.isContextMenuOpened = false;\n  }\n\n  @action\n  handleClickOutside() {\n    if (this.isContextMenuOpened) {\n      this.handleChangeContextMenu(false);\n    }\n  }\n\n  @action\n  handleRightClick(e) {\n    e.stopPropagation();\n    if (this.isContextMenuOpened) {\n      this.handleChangeContextMenu(false);\n    }\n    this.mouseX = e.pageX;\n    this.mouseY = e.pageY;\n    const search = document.querySelector('input[name=\\'search\\']');\n\n    if (search) {\n      const searchBounds = search.getBoundingClientRect();\n      const searchX = searchBounds.left;\n      const searchY = searchBounds.top;\n      const xValid =\n        e.pageX < searchX || e.pageX > searchX + searchBounds.width + 50;\n      const yValid =\n        e.pageY < searchY || e.pageY > searchY + searchBounds.height + 30;\n\n      if (xValid || yValid) {\n        e.preventDefault();\n        this.isContextMenuOpened = true;\n      }\n    } else {\n      e.preventDefault();\n      this.isContextMenuOpened = true;\n    }\n    this.contextMenuTriggered;\n  }\n\n  @action\n  toggleSelected(event) {\n    event.stopPropagation();\n    if (this.selectedNodes.isAny('id', this.args.node.id)) {\n      this.selectedNodes.removeObject(this.args.node);\n    } else {\n      this.selectedNodes.pushObject(this.args.node);\n    }\n\n    if (this.selectedNodes.length === 1) {\n      this.args.setDetailedNode(this.selectedNodes.objectAt(0));\n    }\n    this.lastClickedNode = this.args.node;\n  }\n\n  @action\n  async onMenuActionClicked(menuAction) {\n    switch (menuAction) {\n      case this.menuAction.EDIT_FILE:\n        // Note: The click zone is larger than the disabled area.\n        if (this.isEditorMenuEnabled) {\n          this.args.openFileEditor(this.args.node);\n        }\n        break;\n      case this.menuAction.VIEW_FILE:\n        this.args.onViewFile(this.args.node);\n        break;\n      case this.menuAction.SHARE_FILE:\n        this.modalManager.open('init-share');\n        break;\n      case this.menuAction.GET_LINK:\n        if (this.args.node.length > 1) {\n          return;\n        }\n        this.modalManager.open('get-link-modal');\n        break;\n      case this.menuAction.DOWNLOAD_FILE:\n        if (!this.args.workspaceRevision || this.args.workspaceRevision === 0) {\n          this.args.onDownload(this.downloadType.FILE);\n        } else {\n          this.args.onDownloadFile(\n            this.downloadType.FILE,\n            this.args.node.id,\n            this.args.workspaceRevision,\n          );\n        }\n        break;\n      case this.menuAction.DOWNLOAD_ZIP:\n        if (!this.args.workspaceRevision || this.args.workspaceRevision === 0) {\n          this.args.onDownload(this.downloadType.ZIP);\n        } else {\n          this.args.onDownloadFile(\n            this.downloadType.ZIP,\n            this.args.node.id,\n            this.args.workspaceRevision,\n          );\n        }\n        break;\n      case this.menuAction.RENAME_FILE:\n        this.modalManager.open(RENAME_NODE_MODAL_NAME, {\n          node: this.args.node,\n        });\n        break;\n      case this.menuAction.COPY_MOVE:\n        this.onCopyMoveFile();\n        break;\n      case this.menuAction.DELETE_FILE:\n        this.modalManager.open(this.deleteFileModalName);\n        break;\n      case this.menuAction.FILE_HISTORY:\n        this.fileHistoryService.filePath = this.args.node.path;\n        this.router.transitionTo(\n          'my-groups.file-history.index',\n          this.args.node.spaceId,\n          {\n            queryParams: {\n              trackingId: this.args.node.trackingId,\n            },\n          },\n        );\n        break;\n      default:\n        return;\n    }\n    // HotFix wait 100ms before closing the context menu\n    await new Promise(() =>\n      setTimeout(() => this.handleChangeContextMenu(false), 100),\n    );\n  }\n\n  @action\n  onNodeInsert() {\n    if (\n      this.args.currentFileTrackingId &&\n      this.args.currentFileTrackingId === this.args.node.get('trackingId')\n    ) {\n      this.showDetailsAction(this.args.node, null);\n      this.args.setCurrentFileTrackingId('');\n    }\n  }\n\n  @action\n  showDetailsAction(node, fromClick) {\n    if (!this.selectedNodes.map((node) => node.id).includes(node.get('id'))) {\n      const selectedNodes = this.selectedNodes;\n      selectedNodes.clear();\n      selectedNodes.pushObject(node);\n      // this.detailedNode = node;\n      this.lastClickedNode = node;\n    }\n\n    this.args.showDetails(node, fromClick); // imported from document.js controller via template\n  }\n\n  @action\n  onCopyMoveFile() {\n    if (!this.modalManager.isModalOpen(this.copyMoveModalName)) {\n      this.modalManager.open(this.copyMoveModalName);\n    }\n  }\n}\n","import Component from '@glimmer/component';\n\nexport default class NodeNameComponent extends Component {\n  get iconSize() {\n    return this.args.iconSize ? this.args.iconSize : 'auto';\n  }\n\n  get iconSvgClass() {\n    return this.args.iconSvgClass ? this.args.iconSvgClass : 'fill-none';\n  }\n\n  get name() {\n    return this.args.node.name;\n  }\n\n  get fileName() {\n    const name = this.name;\n    const lastDotIndex = name.lastIndexOf('.');\n    if (lastDotIndex === -1) {\n      return name;\n    }\n    return name.substring(0, lastDotIndex);\n  }\n\n\n  get fileExtension() {\n    const name = this.name;\n    const lastDotIndex = name.lastIndexOf('.');\n    if (lastDotIndex === -1 || lastDotIndex === name.length - 1) {\n      return '';\n    }\n    return `.${ name.substring(lastDotIndex + 1) }`;\n  }\n\n}\n","/* global libcryptobox */\nimport ArrayProxy from '@ember/array/proxy';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { DateTime } from 'luxon';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { task, timeout } from 'ember-concurrency';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { addDaysToDate } from '../../../../utils/dateTime';\n\nexport default class ShareCreationComponent extends Component {\n  @tracked expirationDate = false;\n  @tracked suggestedNameSharing = '';\n  @tracked noRecipient;\n  @tracked recipients = ArrayProxy.create({ content: [] });\n  @tracked shareMessage;\n  @tracked sharingKey = '';\n  @tracked sharingURL;\n  @tracked step = 1;\n  @tracked kind = null;\n  @tracked shared;\n  @tracked showToastCopy = false;\n  @tracked showMail = false;\n  @tracked keyClipboard = 'linkCopied';\n  @tracked shareRecordUrl = null;\n  @tracked forceDisableMail = false;\n  @tracked disableFinish = false;\n  @tracked disableCreatingSharingLinkIncludingKey = false;\n  @tracked hasExpirationDate = false;\n  @tracked isUniqueDownload = false;\n  @tracked isMaxMailsError = false;\n  @tracked expirationDisabled = false;\n  @tracked maxDate = null;\n  @tracked minDate = null;\n  @tracked defaultDate;\n  sharingLinkMaxPeriod;\n  sharingLinkDefaultPeriod;\n  @tracked isNotify = false;\n\n  @service modalManager;\n  @service store;\n  @service account;\n  @service intl;\n\n  constructor() {\n    super(...arguments);\n    tBoxClient.serverSettings.get().then((settings) => {\n      this.sharingLinkMaxPeriod = settings.sharingLinkMaxPeriod;\n      this.sharingLinkDefaultPeriod = settings.sharingLinkDefaultPeriod;\n\n      this.setExpirationDate(\n        this.sharingLinkMaxPeriod,\n        this.sharingLinkDefaultPeriod,\n      );\n\n      this.disableCreatingSharingLinkIncludingKey =\n        settings.disableCreatingSharingLinkIncludingKey;\n      this.kind = this.disableCreatingSharingLinkIncludingKey\n        ? 'separate'\n        : null;\n    });\n  }\n\n  get selectedNodes() {\n    return this.args.selectedNodes;\n  }\n\n  @action\n  updateSuggestedName() {\n    if (!this.selectedNodes || this.selectedNodes.length <= 1) {\n      this.suggestedNameSharing = '';\n    } else {\n      tBoxClient.fileSharing\n        .getSuggestedName(\n          this.selectedNodes.firstObject.space.get('id'),\n          this.selectedNodes.map( node => node.path),\n        )\n        .then((name) => {\n          this.suggestedNameSharing = name;\n        })\n        .catch((error) => {\n          console.error('Failed to get suggested name:', error);\n          this.suggestedNameSharing = '';\n        });\n    }\n  }\n\n  setExpirationDate(sharingLinkMaxPeriod, sharingLinkDefaultPeriod) {\n    const today = new Date();\n\n    this.minDate = today;\n    this.maxDate = null;\n    if (!sharingLinkMaxPeriod && !sharingLinkDefaultPeriod) {\n      this.expirationDisabled = false;\n      this.hasExpirationDate = false;\n      this.expirationDate = today;\n    } else if (sharingLinkMaxPeriod && !sharingLinkDefaultPeriod) {\n      this.expirationDisabled = true;\n      this.hasExpirationDate = true;\n      this.expirationDate = addDaysToDate(today, sharingLinkMaxPeriod);\n      this.maxDate = addDaysToDate(today, sharingLinkMaxPeriod);\n    } else if (!sharingLinkMaxPeriod && sharingLinkDefaultPeriod) {\n      this.expirationDisabled = false;\n      this.hasExpirationDate = true;\n      this.expirationDate = addDaysToDate(today, sharingLinkDefaultPeriod);\n    } else if (sharingLinkMaxPeriod && sharingLinkDefaultPeriod) {\n      this.expirationDisabled = true;\n      this.hasExpirationDate = true;\n      this.maxDate = addDaysToDate(today, sharingLinkMaxPeriod);\n\n      if (sharingLinkDefaultPeriod > sharingLinkMaxPeriod) {\n        this.expirationDate = addDaysToDate(today, sharingLinkMaxPeriod);\n      } else {\n        this.expirationDate = addDaysToDate(today, sharingLinkDefaultPeriod);\n      }\n    }\n    this.defaultDate = this.expirationDate;\n  }\n\n  get disableNext() {\n    if (this.step !== 1) return false;\n    return this.kind == null;\n  }\n\n  get recipientButtonIsDisabled() {\n    return this.recipients.get('length') === 0 || this.emailInput;\n  }\n\n  get formattedExpirationDate() {\n    if (this.hasExpirationDate) {\n      return DateTime.fromJSDate(this.expirationDate)\n        .endOf('day')\n        .toUTC()\n        .toISO();\n    }\n    return '';\n  }\n\n  get isStep2() {\n    return this.step >= 2;\n  }\n\n  get isStep3() {\n    return this.step >= 3;\n  }\n\n  get disableMail() {\n    return (\n      this.recipients.length === 0 ||\n      this.forceDisableMail ||\n      (this.isUniqueDownload && this.recipients.length > 1)\n    );\n  }\n\n  get title() {\n    return this.intl.t('documents.actions.share.title', {\n      count: this.args.selectedNodes.length,\n    });\n  }\n\n  get uniqueDownload() {\n    return this.isUniqueDownload\n      ? libcryptobox.UniqueDownload.Downloadable\n      : libcryptobox.UniqueDownload.Disabled;\n  }\n\n  get maxEmails() {\n    return this.isUniqueDownload ? 1 : -1;\n  }\n\n  get isFileSharingAuthorSubscriptionEnabled() {\n    const fSAuthorSub =\n      libcryptobox.ServerCapability.FileSharingAuthorSubscription;\n    return this.account.serverSettings.capabilities.includes(fSAuthorSub);\n  }\n\n  @(task(function* () {\n    yield timeout(1000);\n\n    const recipients = this.recipients.content;\n\n    if (!recipients.length) {\n      this.noRecipient = true;\n      return;\n    } else {\n      this.noRecipient = false;\n    }\n\n    return this.createFileSharingRecord(recipients, this.shareMessage)\n      .save()\n      .then((shareRecord) => {\n        this.shareRecordUrl.destroyRecord();\n        const sharingKey = shareRecord.get('key');\n        this.shared = sharingKey;\n        this.step += 1;\n        this.forceDisableMail = false;\n      })\n      .catch(() => {\n        this.modalManager.close('share-recipients');\n      });\n  }).drop())\n  _shareByEmail;\n\n  @(task(function* () {\n    yield timeout(1000);\n\n    let shareRecord = this.createFileSharingRecord();\n\n    return shareRecord\n      .save()\n      .then((shareRecord) => {\n        this.shared = shareRecord.get('url');\n        this.disableFinish = false;\n      })\n      .catch(() => {\n        this.closeShare();\n      });\n  }).drop())\n  _shareByUrl;\n\n  @action\n  shareCreationNextStep() {\n    if (this.disableNext) return;\n\n    if (this.step === 1 && this.kind === 'included') {\n      this.disableFinish = true;\n      this.shared = this.intl.t('documents.actions.share.generatingLink');\n      this.step = 3;\n    } else {\n      this.step += 1;\n    }\n\n    if (this.step === 2) {\n      this.createFileSharingRecord()\n        .save()\n        .then((shareRecord) => {\n          this.shareRecordUrl = shareRecord;\n          this.shareRecordUrl.set('id', shareRecord.get('token'));\n          this.shared = shareRecord.get('key');\n          this.sharingURL = shareRecord.get('url').split('?key=')[0];\n        });\n    }\n\n    if (this.step === 3 && this.kind === 'included') {\n      this._shareByUrl.perform();\n    }\n  }\n\n  @action\n  filterDate(date) {\n    this.expirationDate = date;\n  }\n\n  @action\n  setPropertyValue(property, value) {\n    return (this[property] = value);\n  }\n\n  @action\n  shareByMail() {\n    if (this.forceDisableMail || this.disableMail) return;\n\n    this.forceDisableMail = true;\n    this._shareByEmail.perform();\n  }\n\n  @action\n  notifyOpened() {\n    this.args.isOpened(true);\n    this.updateSuggestedName();\n  }\n\n  @action\n  clearInputs() {\n    this.args.isOpened(false);\n    //share not finished, temporary shareRecord has to be removed\n    this.modalManager.close('init-share');\n    if (this.step !== 3 && this.shareRecordUrl) {\n      this.shareRecordUrl.destroyRecord();\n      this.shareRecordUrl = null;\n    }\n    this.sharingURL = '';\n    this.sharingKey = '';\n    this.kind = this.disableCreatingSharingLinkIncludingKey ? 'separate' : null;\n    this.recipients.clear();\n    this.shareMessage = '';\n    this.step = 1;\n    this.forceDisableMail = false;\n    this.showMail = false;\n    this.isUniqueDownload = false;\n    this.setExpirationDate(\n      this.sharingLinkMaxPeriod,\n      this.sharingLinkDefaultPeriod,\n    );\n    this.isNotify = false;\n    this.suggestedNameSharing = '';\n  }\n\n  @action\n  closeModal() {\n    if (this.disableFinish) return;\n    this.showMail = false;\n    this.modalManager.close('init-share');\n  }\n\n  @action\n  previousAction() {\n    if (this.forceDisableMail) return;\n\n    if (this.step === 3 && this.kind === 'included') {\n      return (this.step = 1);\n    }\n\n    if (this.step === 2 && this.shareRecordUrl) {\n      this.shareRecordUrl.destroyRecord();\n      this.shareRecordUrl = null;\n    }\n\n    this.step -= 1;\n  }\n\n  @action\n  selectUrl() {\n    document.querySelector('#share-url-output').select();\n    document.execCommand('Copy');\n    this.keyClipboard = 'linkCopied';\n    this.showToastCopy = true;\n\n    setTimeout(() => (this.showToastCopy = false), 3000);\n  }\n\n  @action\n  selectKey(inputName) {\n    if (this.disableFinish) return;\n    document.querySelector('#share-key-output').select();\n    document.execCommand('Copy');\n    this.keyClipboard = inputName === 'key' ? 'keyCopied' : 'linkCopied';\n    this.showToastCopy = true;\n\n    setTimeout(() => (this.showToastCopy = false), 3000);\n  }\n\n  @action\n  toggleType(type) {\n    this.showMail = type === 'mail';\n  }\n\n  @action\n  openPicker() {\n    const picker = document.querySelector('#expirationDate-picker');\n    picker.click();\n  }\n\n  @action\n  onCheckboxChange(event) {\n    const { name, checked } = event;\n    this[name] = checked;\n  }\n\n  createFileSharingRecord(recipients, message) {\n\n    const node = this.args.selectedNodes.content?.at?.(0);\n\n    return this.store.createRecord('file-sharing', {\n      name: this.suggestedNameSharing,\n      space: node.space,\n      pathList: this.args.selectedNodes.map( node => node.path),\n      recipients: recipients,\n      message,\n      notAfter: this.formattedExpirationDate,\n      uniqueDownload: this.uniqueDownload,\n      authorSubscription: this.isNotify,\n    });\n  }\n}\n","import Component from '@glimmer/component';\nimport ArrayProxy from '@ember/array/proxy';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class TreeItemsFolder extends Component {\n  @tracked fileListArray = [];\n\n  @service('transfers') transfersManager;\n\n  @action\n  async drop(e) {\n    const space = await this.args.folder.get('space');\n    this.transfersManager.handleDrop(space, this.args.folder, e);\n  }\n\n  @action\n  oncontextmenu() {\n    this.args.onContextMenu(this.args.folder);\n  }\n\n  @action\n  handleClick() {\n    this.args.actionClick();\n  }\n}\n","import { action, computed } from '@ember/object';\nimport ArrayProxy from '@ember/array/proxy';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { isEmpty } from '@ember/utils';\nimport DS from 'ember-data';\nimport { RENAME_NODE_MODAL_NAME } from '../../../../utils/enums';\nimport { tracked } from '@glimmer/tracking';\n\n/* global libcryptobox */\nexport default class TreeItemComponent extends Component {\n  @tracked mouseX = 0;\n  @tracked mouseY = 0;\n  @tracked isContextMenuOpened = false;\n\n  @service account;\n  @service store;\n  @service notify;\n  @service intl;\n  @service commonService;\n  @service modalManager;\n  @service router;\n\n  deleteFileModalName = 'delete-file';\n  @tracked isLoading = false;\n  @tracked isExpanded = this.args.isExpanded || false;\n  @tracked folder = this.args.folder;\n  @tracked selectedSpace = this.space;\n  @tracked dropInProgress = this.args.dropInProgress || false;\n\n  constructor() {\n    super(...arguments);\n    this.commonService.treeItemsDocuments.push(this);\n  }\n\n  @computed('args.model.space', 'args.space', 'folder.space.id')\n  get space() {\n    return this.args?.model?.space || this.args?.space;\n  }\n\n  @computed('args.model.folder.subDirectoryCount')\n  get subDirectoryCount() {\n    return this.args?.model?.folder?.subDirectoryCount || 0;\n  }\n\n  @computed(\n    'commonService.treeItemsDocuments',\n    'folder.path',\n    'folder.space.id',\n    'isExpanded',\n    'subDirectoryCount',\n    'workspaceRevision',\n  )\n  get files() {\n    if (this.subDirectoryCount === 0) {\n      this.commonService.treeItemsDocuments.removeObject(this);\n    }\n    if (!this.isExpanded || !this.folder.get('space.id')) {\n      return [];\n    }\n    return DS.PromiseArray.create({\n      promise: this.store.query('file', {\n        spaceId: this.folder.get('space.id'),\n        revision: this.workspaceRevision,\n        path: this.folder.get('path'),\n        adapterOptions: { subscribe: this },\n      }),\n    });\n  }\n\n  @computed(\n    'args.{selectedPath,selectedSpace,space}',\n    'folder',\n    'selectedSpace.id',\n    'space.id',\n  )\n  get isSelectedItem() {\n    return (\n      this.space?.get('id') === this.selectedSpace?.get('id') &&\n      this.folder?.get('path') === this.args.selectedPath\n    );\n  }\n\n  @computed('folder.path', 'space.name')\n  get isRootFolder() {\n    return !this.folder || this.folder.get('path') === '/';\n  }\n\n  @computed('args.space', 'folder.path', 'space.name')\n  get name() {\n    if (\n      !this.folder ||\n      !this.folder.get('path') ||\n      this.folder.get('path') === '/'\n    ) {\n      return this.space.get('name');\n    }\n    return this.folder.path.split('/').pop();\n  }\n\n  get selectedNodes() {\n    return ArrayProxy.create({ content: [this.folder] });\n  }\n\n  get workspaceRevision() {\n    return this.commonService.workspaceRevision || 0;\n  }\n\n  @computed('files.[]', 'folder.subDirectoryCount')\n  get children() {\n    return this.files.filter((file) => file.isFolder).sortBy('name');\n  }\n\n  @action\n  handleRightClick(e) {\n    e.preventDefault();\n    this.mouseX = e.pageX;\n    this.mouseY = e.pageY;\n    const search = document.querySelector('input[name=\\'search\\']');\n\n    if (search) {\n      const searchBounds = search.getBoundingClientRect();\n      const searchX = searchBounds.left;\n      const searchY = searchBounds.top;\n      const xValid =\n        e.pageX < searchX || e.pageX > searchX + searchBounds.width + 50;\n      const yValid =\n        e.pageY < searchY || e.pageY > searchY + searchBounds.height + 30;\n\n      if (xValid || yValid) {\n        this.isContextMenuOpened = true;\n        return false;\n      }\n      return false;\n    } else {\n      this.isContextMenuOpened = true;\n    }\n    return false;\n  }\n\n  @computed('args.hideContextMenu', 'hideContextMenu', 'isContextMenuOpened')\n  get showContextMenu() {\n    return !this.args.hideContextMenu && this.isContextMenuOpened;\n  }\n\n  @action\n  async handleDidInsert() {\n    this.isExpanded = false;\n\n    await this.loadingFolder();\n\n    const path = this.args.trackingIdPath\n      ? this.args.trackingIdPath\n      : this.args.selectedPath;\n    if (path) {\n      if (\n        this.selectedSpace?.get('name') === this.name ||\n        path.split('/').includes(this.name)\n      ) {\n        this.isExpanded = !!this.args.defaultExpanded;\n        if (this.args.isCopyMove) {\n          this.isExpanded = this.args.initialExpand;\n        }\n      }\n    }\n  }\n\n  @computed('args.selectedPath', 'folder.path')\n  get selectedPathChanged() {\n    if (this.args.selectedPath === this.folder.get('path')) {\n      console.info('selectedPathChanged', this.args.selectedPath);\n    }\n  }\n\n  @action\n  handleOnClickRenameNode() {\n    this.isContextMenuOpened = false;\n    this.modalManager.open(RENAME_NODE_MODAL_NAME, {\n      node: this.args.currentSelectedNode,\n    });\n  }\n\n  @action\n  handleOnClickDelete() {\n    this.isContextMenuOpened = false;\n    this.modalManager.open(this.deleteFileModalName);\n  }\n\n  @action\n  handleContextMenuTreeItemFolder(node) {\n    if (this.args.onContextMenu) {\n      this.args.onContextMenu(node);\n    }\n  }\n\n  @action\n  handleWillDestroy() {\n    const treeItems = this.commonService.treeItemsDocuments;\n    treeItems.removeObject(this);\n    this.store.adapterFor('file').unsubscribe(this);\n  }\n\n  @action\n  async loadingFolder() {\n    if (!this.folder || this.folder.get('space.id') !== this.space.get('id')) {\n      this.isLoading = true;\n      try {\n        this.folder = await DS.PromiseObject.create({\n          promise: this.store.queryRecord('file', {\n            spaceId: this.space.get('id'),\n            revision: this.workspaceRevision,\n            path: '/',\n            adapterOptions: { subscribe: this },\n          }),\n        });\n      } catch (error) {\n        console.error(\n          `Une erreur s'est produite lors du chargement du dossier : ${ error }`,\n        );\n      } finally {\n        this.isLoading = false;\n      }\n    }\n  }\n\n  @action\n  async toggle() {\n    // await this.loadingFolder();\n    this.isExpanded = !this.isExpanded;\n  }\n\n  @action\n  async select() {\n    if (this.isSelectedItem) {\n      this.isExpanded = !this.isExpanded;\n      // this.args.setSelectedSpace(this.space);\n    } else {\n      if (this.args.trackingIdPath) {\n        this.router.transitionTo('my-groups.group.documents', {\n          queryParams: {\n            path: this.folder.get('path'),\n            trackingId: '',\n          },\n        });\n      } else {\n        this.args.setSelectedPath(this.folder.get('path'));\n        this.commonService.destinationNode = this.folder.get('path');\n      }\n\n      this.isExpanded = true;\n    }\n  }\n\n  @action\n  moveObject(element, event) {\n    if (event.dataTransfer.files.length) {\n      return;\n    }\n\n    let source;\n    if (this.args.weAreInPast) {\n      return;\n    }\n\n    this.args.showDragCount(false);\n    const member = this.space.members.findBy('email', this.account.userEmail);\n\n    if (member.get('role') === libcryptobox.Role.Auditor) {\n      this.args.dropInProgress = false;\n      const message = this.intl.t('toasts.permissionError.message');\n      const title = this.intl.t('toasts.permissionError.title');\n      return this.notify.error(message, {\n        title: title,\n        icon: 'warning',\n      });\n    }\n\n    const nodes = this.args.nodeToDrag;\n    if (!isEmpty(nodes)) {\n      source = nodes.map(\n        (file) => file.get('space.id') + ':' + file.get('path'),\n      );\n    } else {\n      const path = event.dataTransfer.getData('customDragDataPath');\n      source = [this.selectedSpace.get('id') + ':' + path];\n    }\n\n    const target =\n      this.selectedSpace.get('id') + ':' + event.customDropData.get('path');\n    const promise = tBoxClient.file.move(source, target);\n\n    this.dropInProgress = true;\n    return promise\n      .then(() => {\n        this.dropInProgress = false;\n        const countNodes = source.length;\n        const message = this.intl.t('documents.actions.dragFile.success', {\n          count: countNodes,\n        });\n        this.notify.info(message, {\n          title: this.intl.t('documents.actions.dragFile.title'),\n          icon: 'file',\n        });\n      })\n      .catch((error) => {\n        this.dropInProgress = false;\n        this.notify.error(error.message, {\n          title: this.intl.t('errors.occur'),\n          icon: 'warning',\n        });\n        this.loadingModifyFile = false;\n        if (this.args.notifyAfterCall) {\n          this.args.notifyAfterCall('error', 'move');\n        }\n      });\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { tracked } from \"@glimmer/tracking\";\nimport { tBoxClient } from \"../../../../initializers/init-toolbox\";\n\nexport default class ViewerModalComponent extends Component {\n  constructor(owner, args) {\n    super(owner, args);\n\n    tBoxClient.file.getViewableTypes().then((types) => {\n      this.viewableTypes = types;\n    });\n  }\n\n  @tracked viewableTypes = [];\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { A } from '@ember/array';\nimport { action, computed } from '@ember/object';\nimport { DateTime } from 'luxon';\n\nexport default class HistorySidePanelComponent extends Component {\n  @service intl;\n  @service commonService;\n  @service store;\n  @service historyService;\n\n  @tracked detailsIsVisible = false;\n  @tracked displayOldHistory = false;\n  @tracked selectedTimeNode = null;\n  @tracked selectedHistoryDate = null;\n  @tracked searchedDate = '';\n  @tracked selectedPage = 1;\n  @tracked maxDate = new Date();\n  @tracked limitHistoryPage = 100;\n  @tracked elementsPerPage = 100;\n  @tracked offsetHistoryPage = -1;\n  @tracked histories = A([]);\n  @tracked firstFileRevision = null;\n  @tracked isloadingHistory = false;\n  @tracked isShowMoreBtn = false;\n\n  @computed('args.displayHistory', 'files.[]', 'searchedDate')\n  get reloadComponent() {\n    this.loadHistory;\n  }\n\n  get displayHistory() {\n    return this.args.displayHistory;\n  }\n\n  @computed(\n    'commonService.workspaceRevision',\n    'histories',\n    'limitHistoryPage',\n    'model.files.[]',\n    'offsetHistoryPage',\n    'searchedDate',\n    'space',\n    'workspaceID',\n  )\n  get loadHistory() {\n    this.isloadingHistory = true;\n    try {\n      return this.historyService\n        .loadHistory({\n          workspaceId: this.workspaceID,\n          workspaceRevision: this.commonService.workspaceRevision,\n          limit: this.limitHistoryPage,\n          notAfterDate: this.searchedDate,\n          offset: this.offsetHistoryPage,\n          space: this.space,\n        })\n        .then((histories) => {\n          // verify if history length is equal to limitHistoryPage\n          this.isShowMoreBtn = histories.length === this.limitHistoryPage;\n          this.histories.addObjects(histories);\n          this.isloadingHistory = false;\n        });\n    } catch (error) {\n      this.isloadingHistory = false;\n      return [];\n    }\n  }\n\n  get model() {\n    return this.args.model;\n  }\n\n  get tLuxonFormat() {\n    return this.intl.t('dateFormat');\n  }\n\n  get files() {\n    return this.model.files;\n  }\n\n  get workspaceID() {\n    return this.model.space.id;\n  }\n\n  get space() {\n    return this.model.space;\n  }\n\n  get listOfDatesPage() {\n    if (this.searchedDayHistory.length >= this.elementsPerPage) {\n      return [];\n    }\n\n    if (this.searchedDayHistory.length) {\n      const remainLength =\n        this.elementsPerPage*(this.selectedPage - 1) -\n        this.historiesFiltered.length;\n      return this.listOfDates.slice(0, remainLength + 1);\n    }\n\n    return this.historiesFiltered\n      .concat(this.listOfDates)\n      .sortBy('number')\n      .reverse()\n      .slice(0, this.elementsPerPage);\n  }\n\n  get searchedDayHistory() {\n    if (this.historiesFiltered.length === 0) {\n      return [];\n    }\n\n    return this.historiesFiltered.slice(0, this.elementsPerPage);\n  }\n\n  get historiesFiltered() {\n    let result = [];\n\n    if (this.searchedDate) {\n      const maxRevision = this.histories.get('firstObject.number');\n      const h = this.histories.filter(history => history.number !== maxRevision);\n\n      result = h.filter((history) => {\n        return (\n          DateTime.fromISO(history.get('date')).startOf('day').toISO() ===\n          this.searchedDate\n        );\n      });\n    }\n    return result;\n  }\n\n  get listOfDates() {\n    let histories = this.histories;\n    const maxRevision = this.histories.get('firstObject.number');\n\n    histories = histories.filter((history) => history.number !== maxRevision);\n    if (this.searchedDate) {\n      const dateSelection = DateTime.fromJSDate(this.searchedDate);\n      histories = histories.filter((history) => {\n        return (\n          DateTime.fromISO(history.date).startOf('day') <\n          DateTime.fromISO(dateSelection).startOf('day')\n        );\n      });\n    }\n\n    return histories;\n  }\n\n  get showLoadMore() {\n    if (this.searchedDate) {\n      const lastObjectNumber = this.searchedDayHistory.get('lastObject.number');\n\n      if (this.searchedDayHistory.length === 0 || !this.isShowMoreBtn) {\n        return false;\n      }\n\n      return lastObjectNumber !== 1;\n    } else {\n      const histories = this.listOfDatesPage.concat(this.historiesFiltered);\n\n      if (histories.length === 0 || !this.isShowMoreBtn) {\n        return false;\n      }\n\n      const lastObjectNumber = histories.get('lastObject.number');\n\n      return lastObjectNumber !== 1;\n    }\n  }\n\n  @action\n  loadMore() {\n    const lastObjectNumber = this.searchedDate\n      ? this.searchedDayHistory.get('lastObject.number')\n      : this.listOfDatesPage.lastObject.number;\n\n    if (lastObjectNumber === 1) {\n      return;\n    }\n    this.elementsPerPage += 100;\n    this.offsetHistoryPage = lastObjectNumber;\n  }\n\n  @action\n  toggleShowHistory() {\n    this.toggleProperty('displayHistory');\n    if (this.displayHistory) {\n      this.detailsIsVisible = false;\n    }\n  }\n\n  @action\n  filterDate(date) {\n    this.searchedDate = DateTime.fromJSDate(date).toISO();\n  }\n\n  @action\n  openPicker() {\n    document.querySelector('#select-date-input').click();\n  }\n}\n","import { computed, action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { A } from '@ember/array';\nimport { task, timeout } from 'ember-concurrency';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class AddMember extends Component {\n  @tracked modalName = 'AddMember';\n  @tracked usersToInvite = A();\n  @tracked addedMembers = A();\n  @tracked searchEmail = null;\n  @tracked isInProcess = false;\n  @tracked resetErrors = false;\n  @tracked searchUser = false;\n\n  @service account;\n  @service modalManager;\n  @service store;\n  @service notify;\n  @service intl;\n\n  get space() {\n    return this.args.space;\n  }\n\n  @computed('usersToInvite.[]', 'addedMembers.[]')\n  get hasUsers() {\n    return this.usersToInvite.length > 0 || this.addedMembers.length > 0;\n  }\n\n  @computed('usersToInvite.[]', 'addedMembers.[]')\n  get validateWording() {\n    if (this.usersToInvite.length > 0 && this.addedMembers.length > 0)\n      return this.intl.t('button.addSend');\n    if (this.usersToInvite.length > 0) return this.intl.t('button.send');\n\n    return this.intl.t('button.add');\n  }\n\n  @computed(\n    'account.status.canInvite',\n    'addedMembers.length',\n    'isInProcess',\n    'notEnoughInvites',\n    'searchEmail',\n    'searchUser',\n    'usersToInvite.length',\n  )\n  get buttonIsDisabled() {\n    return (\n      (this.addedMembers.length === 0 &&\n        (this.usersToInvite.length === 0 || !this.account.status.canInvite)) ||\n      this.searchEmail ||\n      this.isInProcess ||\n      this.notEnoughInvites\n    );\n  }\n\n  @computed('usersToInvite.[]', 'remainingInvites')\n  get notEnoughInvites() {\n    const toInvite = this.usersToInvite;\n    const remainingInvites = this.remainingInvites;\n    return toInvite.length > remainingInvites;\n  }\n\n  @task\n  *_addMember() {\n    yield timeout(1000);\n\n    if (this.addedMembers.length) {\n      this.addedMembers.forEach((member, index) => {\n        let newSpaceMember = this.store.createRecord('spaceMember', {\n          email: member.email,\n          firstName: member.firstName,\n          lastName: member.lastName,\n          certificate: member.certificate,\n          role: member.role,\n          space: this.space,\n          maximumLevel: member.maximumLevel,\n        });\n\n        newSpaceMember\n          .save({ adapterOptions: { fingerprint: member.fingerprint } })\n          .then(() => {\n            if (index + 1 === this.addedMembers.length) {\n              this.notify.success(\n                this.intl.t('toasts.addUser.message', {\n                  count: this.addedMembers.length,\n                }),\n                {\n                  title: this.intl.t('toasts.addUser.title', {\n                    count: this.addedMembers.length,\n                  }),\n                  icon: 'group',\n                },\n              );\n            }\n          });\n      });\n    }\n\n    if (this.account.status.canInvite && this.usersToInvite.length) {\n      const inviteLength = this.usersToInvite.length;\n      this.usersToInvite.forEach((invitedUser, index) =>\n        tBoxClient.preaddedSpaceMember\n          .create(this.space.get('id'), invitedUser.email, invitedUser.role)\n          .then(() => {\n            if (index + 1 === inviteLength) {\n              this.notify.success(\n                this.intl.t('toasts.inviteUser.message', {\n                  count: inviteLength,\n                  appname: this.intl.t('appname'),\n                }),\n                {\n                  title: this.intl.t('toasts.inviteUser.title', {\n                    count: inviteLength,\n                  }),\n                  icon: 'group',\n                },\n              );\n            }\n          }),\n      );\n    }\n    this.isInProcess = false;\n    this.modalManager.close(this.modalName);\n  }\n\n  @action\n  onClick() {\n    this.resetErrors = true;\n    this.modalManager.open(this.modalName);\n    setTimeout(() => (this.resetErrors = false), 1000);\n  }\n\n  @action\n  addMember() {\n    if (this.buttonIsDisabled) {\n      return false;\n    }\n    this.isInProcess = true;\n    this._addMember.perform();\n  }\n\n  @action\n  clearAddMemberInput() {\n    this.addedMembers.clear();\n    this.usersToInvite.clear();\n    this.searchEmail = null;\n    this.searchUser = null;\n    this.isInProcess = false;\n  }\n\n  @action\n  closeModal() {\n    this.modalManager.close(this.modalName);\n  }\n}\n","import { action } from \"@ember/object\";\nimport { inject as service } from \"@ember/service\";\nimport Component from \"@glimmer/component\";\nimport { tBoxClient } from \"client/initializers/init-toolbox\";\n\nexport default class ListedInviteeComponent extends Component {\n  @service intl;\n  @service notify;\n\n  @action\n  revokeUser() {\n    tBoxClient.preaddedSpaceMember.delete(this.args.invitee.id).then(() => {\n      this.notify.success(\n        this.intl.t(\"toasts.removeWorkspaceUser.message\", {\n          user: this.args.invitee.email,\n        }),\n        {\n          title: this.intl.t(\"toasts.removeWorkspaceUser.title\"),\n          icon: \"group\",\n        }\n      );\n    });\n  }\n\n  @action\n  updateInviteeRight(newRights) {\n    this.args.invitee.role = newRights.value;\n\n    tBoxClient.preaddedSpaceMember.setRole(\n      this.args.invitee.id,\n      newRights.value\n    );\n  }\n}\n","import { action, computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { USER_ROLES } from '../../../../utils/enums';\nimport { tracked } from '@glimmer/tracking';\n/* global libcryptobox */\n\nexport default class ListedMember extends Component {\n  @tracked changingRights = false;\n  @tracked disableSelectize = false;\n  @tracked newMemberRole = null;\n  @tracked memberRole = null;\n  @tracked deleteMember = false;\n  @tracked destroyingRecord = false;\n\n  @service intl;\n  @service account;\n  @service modalManager;\n  @service notify;\n  @service store;\n\n  @computed('args.member.email', 'account.userEmail')\n  get isCurrentUser() {\n    return this.args.member.email === this.account.userEmail;\n  }\n\n  get isEditable() {\n    return this.args.space.get('isAdmin') && !this.args.space.get('isDeleted');\n  }\n\n  @computed('args.accountTypes.[]', 'args.member.{email,maximumLevel,role}')\n  get rightsChoices() {\n    const choices = [\n      USER_ROLES[libcryptobox.Role.Viewer],\n      USER_ROLES[libcryptobox.Role.Auditor],\n      USER_ROLES[libcryptobox.Role.Member],\n    ];\n\n    const email = this.args.member.email;\n    const maximumLevel = this.args.member.maximumLevel;\n    if (\n      (this.args.accountTypes[email] &&\n        this.args.accountTypes[email].licensePool ===\n        libcryptobox.LicensePool.Invitee) ||\n      maximumLevel === 'invitee'\n    ) {\n      return choices;\n    }\n\n    choices.push(USER_ROLES[libcryptobox.Role.Owner]);\n\n    return choices;\n  }\n\n  @computed('args.member.role')\n  get memberRole() {\n    const memberRole = this.args.member.get('role');\n    return USER_ROLES[memberRole];\n  }\n\n  get onlineEditionIcon() {\n    if (!this.args.showOnlineEditionStatus || !this.args.member.canEditOnline || this.args.member.role === libcryptobox.Role.Viewer) {\n      return { svg: 'error', class: 'icon-unauthorized', tooltip: this.intl.t('members.member.onlineEdition.tooltip.unauthorized') }\n    }\n    if (this.args.member.role === libcryptobox.Role.Auditor) {\n      return { svg: 'dark-eye', class: 'icon-read-only', tooltip: this.intl.t('members.member.onlineEdition.tooltip.readOnly') }\n    }\n    return { svg: 'edit', class: 'icon-authorized', tooltip: this.intl.t('members.member.onlineEdition.tooltip.authorized') }\n  }\n\n  willDestroy() {\n    super.willDestroy(...arguments);\n    this.disableSelectize = true;\n    this.changingRights = false;\n  }\n\n  async _revokeMember() {\n    await this.args.member.destroyRecord();\n    if (this.args.member.isError) {\n      this.args.member.rollbackAttributes();\n    } else {\n      this.notify.success(\n        this.intl.t('toasts.removeWorkspaceUser.message', {\n          user: this.args.member.get('email'),\n        }),\n        {\n          title: this.intl.t('toasts.removeWorkspaceUser.title'),\n          icon: 'group',\n        },\n      );\n      if (this.isCurrentUser) {\n        this.args.goToMyWorkspaces();\n      }\n    }\n    this.modalManager.close('revoke-confirm');\n  }\n\n  @action\n  openViewerInfo() {\n    this.modalManager.open('viewer-devices');\n  }\n\n  @action\n  updateMemberRight(newRights) {\n    if (!this.destroyingRecord) {\n      this.newMemberRole = newRights;\n      this.args.member.set('role', newRights.value);\n      if (this.isCurrentUser && newRights.value !== libcryptobox.Role.Owner) {\n        if (this.args.owners.length < 1) {\n          this.modalManager.open('update-last-owner');\n          this.cancelUpdateMemberRight();\n          return;\n        }\n        this.modalManager.open('abdication-confirm');\n      } else {\n        void this.confirmUpdateMemberRight();\n      }\n    }\n  }\n\n  @action\n  async confirmUpdateMemberRight() {\n    try {\n      this.changingRights = true;\n      const memberRecord = this.args.member;\n      const newMemberRole = this.newMemberRole.value;\n      memberRecord.set('role', newMemberRole);\n      await memberRecord.save();\n    } catch (error) {\n      console.error('Error updating member rights:', error);\n    } finally {\n      if (this.args.member.isError) {\n        this.args.member.rollbackAttributes();\n      }\n      this.changingRights = false;\n      this.modalManager.close('abdication-confirm');\n    }\n  }\n\n  @action\n  cancelUpdateMemberRight() {\n    if (this.changingRights) {\n      return false;\n    }\n    let ownerRole = this.rightsChoices[3];\n    const memberRecord = this.args.member;\n    this.memberRole = ownerRole;\n    memberRecord.set('role', ownerRole.value);\n\n    this.modalManager.close('abdication-confirm');\n  }\n\n  @action\n  confirmRevokeUser() {\n    this._revokeMember();\n  }\n\n  @action\n  revokeUser() {\n    if (!this.destroyingRecord) {\n      if (this.isCurrentUser) {\n        if (this.args.owners.length === 1) {\n          this.modalManager.open('revoke-last-owner');\n          return;\n        }\n        this.modalManager.open('revoke-confirm');\n      } else {\n        this._revokeMember();\n      }\n    }\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\n\nexport default class RenameSpace extends Component {\n  @tracked isValid = true;\n  @tracked newName = '';\n  @tracked errorMessage = '';\n\n  modalName = 'Rename-space';\n  inputId = guidFor(this);\n\n  @service modalManager;\n  @service store;\n  @service intl;\n\n  constructor() {\n    super(...arguments);\n    this.newName = this.space.get('name');\n  }\n\n  get space() {\n    return this.args.space;\n  }\n\n  @action\n  click() {\n    const modalName = this.modalName;\n    this.modalManager.open(modalName);\n    return false;\n  }\n\n  @action\n  async checkName() {\n    const oldName = this.space.get('name');\n    const newName = this.newName.trim();\n    this.newName = newName;\n    if (newName === oldName) {\n      return;\n    }\n    if (this.newName === '') {\n      this.isValid = false;\n      this.errorMessage = this.intl.t('errors.empty');\n      return;\n    }\n    if (!(await tBoxClient.validation.isNameValid(newName))) {\n      this.isValid = false;\n      if (newName === '.' || newName === '..') {\n        this.errorMessage = this.intl.t('errors.forbiddenName');\n      } else {\n        this.errorMessage = this.intl.t('errors.slash');\n      }\n      return;\n    }\n  }\n\n  @action\n  renameSpace() {\n    void this.checkName();\n    if (!this.isValid) {\n      return;\n    }\n    const modalName = this.modalName,\n      newName = this.newName,\n      space = this.space,\n      oldName = space.get('name');\n    if (newName === oldName) {\n      this.modalManager.close(modalName);\n      return;\n    }\n    space.set('name', newName);\n    space.save();\n    this.modalManager.close(modalName);\n  }\n\n  @action\n  clearInput() {\n    this.isValid = true;\n    this.newName = this.space.get('name');\n  }\n\n  @action\n  resetError() {\n    this.isValid = true;\n    this.errorMessage = '';\n  }\n}\n","/* global libcryptobox */\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { guidFor } from '@ember/object/internals';\n\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { DateTime } from 'luxon';\nimport { addDaysToDate } from '../../../../utils/dateTime';\n\nexport default class ListedShareComponent extends Component {\n  @tracked modalTitle = '';\n  @tracked hasExpirationDate;\n  @tracked newExpirationDate;\n  @tracked newUniqueDownload;\n  @tracked minDate;\n  @tracked maxDate;\n  @tracked defaultDate;\n  @tracked expirationDisabled = false;\n\n  sharingLinkMaxPeriod;\n  sharingLinkDefaultPeriod;\n  @tracked inputElementId = guidFor(this);\n  @tracked isNotify;\n\n  @service modalManager;\n  @service intl;\n\n  constructor() {\n    super(...arguments);\n    tBoxClient.serverSettings.get().then((settings) => {\n      this.sharingLinkMaxPeriod = settings.sharingLinkMaxPeriod;\n      this.sharingLinkDefaultPeriod = settings.sharingLinkDefaultPeriod;\n    });\n  }\n\n  setExpirationDate(\n    sharingLinkMaxPeriod,\n    sharingLinkDefaultPeriod,\n    setDefaultExpirationDate,\n  ) {\n    const today = new Date();\n    this.minDate = today;\n    this.maxDate = null;\n\n    let expDate;\n    let hasExpDate;\n\n    if (!sharingLinkMaxPeriod && !sharingLinkDefaultPeriod) {\n      this.expirationDisabled = false;\n      hasExpDate = false;\n      expDate = today;\n    } else if (sharingLinkMaxPeriod && !sharingLinkDefaultPeriod) {\n      this.expirationDisabled = true;\n      hasExpDate = true;\n      expDate = addDaysToDate(today, sharingLinkMaxPeriod);\n      this.maxDate = addDaysToDate(today, sharingLinkMaxPeriod);\n    } else if (!sharingLinkMaxPeriod && sharingLinkDefaultPeriod) {\n      this.expirationDisabled = false;\n      hasExpDate = true;\n      expDate = addDaysToDate(today, sharingLinkDefaultPeriod);\n    } else if (sharingLinkMaxPeriod && sharingLinkDefaultPeriod) {\n      this.expirationDisabled = true;\n      hasExpDate = true;\n      this.maxDate = addDaysToDate(today, sharingLinkMaxPeriod);\n\n      if (sharingLinkDefaultPeriod > sharingLinkMaxPeriod) {\n        expDate = addDaysToDate(today, sharingLinkMaxPeriod);\n      } else {\n        expDate = addDaysToDate(today, sharingLinkDefaultPeriod);\n      }\n    }\n    if (this.expired) {\n      this.newExpirationDate = expDate;\n      this.defaultDate = expDate;\n      this.hasExpirationDate = hasExpDate;\n    }\n    if (setDefaultExpirationDate) {\n      this.newExpirationDate = expDate;\n      this.defaultDate = expDate;\n    }\n  }\n\n  get uniqueDownload() {\n    return (\n      this.args.share.uniqueDownload ===\n      libcryptobox.UniqueDownload.Downloadable\n    );\n  }\n\n  get isDownloaded() {\n    return (\n      this.args.share.uniqueDownload === libcryptobox.UniqueDownload.Downloaded\n    );\n  }\n\n  get expirationDate() {\n    return new Date(this.args.share.notAfter);\n  }\n\n  get isExpirationDateUpdated() {\n    if (this.hasExpirationDate) {\n      return !DateTime.fromJSDate(this.expirationDate).equals(\n        DateTime.fromJSDate(this.newExpirationDate),\n      );\n    }\n    return this.args.share.notAfter !== '';\n  }\n\n  get isUniqueDownloadUpdated() {\n    return this.newUniqueDownload !== this.uniqueDownload;\n  }\n\n  get canSuspend() {\n    if (this.isBlocked) return false;\n    return this.args.space.isAdmin || this.args.space.isMember;\n  }\n\n  get expired() {\n    if (this.isDownloaded) return true;\n\n    const today = DateTime.now();\n    return this.expirationDate && today > this.expirationDate;\n  }\n\n  get formatedRecipients() {\n    if (this.args.share && this.args.share.recipients.length) {\n      return this.args.share.recipients.join(', ');\n    }\n\n    return '';\n  }\n\n  get status() {\n    if (this.isBlocked) return 'blocked';\n    if (this.expired) return 'expired';\n    if (this.args.share.suspended) return 'suspended';\n    return 'active';\n  }\n\n  get isBlocked() {\n    return this.args.share.maxCodeAttemptsReached;\n  }\n  get canEditNotify() {\n    return (\n      this.args.share.author.isMySelf &&\n      this.args.share.isAuthorSubscriptionSupported\n    );\n  }\n\n  get showNotifIcon() {\n    if (this.isBlocked) return false;\n    return (\n      this.args.share.authorSubscription === this.args.share.author.isMySelf\n    );\n  }\n  @action\n  filterDate(date) {\n    this.newExpirationDate = date;\n  }\n\n  @action\n  confirmRemove() {\n    this.modalManager.open(`removeShare-${ this.args.share.id }`);\n  }\n\n  @action\n  removeShare() {\n    this.args.share.destroyRecord();\n  }\n\n  @action\n  openChangeExpiration(restartAction) {\n    this.setModalTitle(restartAction);\n    if (restartAction) {\n      this.initRestart();\n    } else {\n      this.initEdit();\n    }\n\n    this.modalManager.open(`changeShareOptions-${ this.args.share.id }`);\n  }\n\n  initRestart() {\n    this.newUniqueDownload = false;\n    this.setExpirationDate(\n      this.sharingLinkMaxPeriod,\n      this.sharingLinkDefaultPeriod,\n    );\n    this.isNotify = false;\n  }\n\n  initEdit() {\n    this.newUniqueDownload = this.uniqueDownload;\n    this.hasExpirationDate = this.args.share.notAfter !== '';\n    this.isNotify = this.args.share.authorSubscription;\n    this.setDatePicker();\n  }\n\n  changeExpirationDate() {\n    if (this.isExpirationDateUpdated || this.isDownloaded) {\n      if (\n        !this.hasExpirationDate ||\n        !DateTime.fromJSDate(this.newExpirationDate).isValid\n      ) {\n        this.newExpirationDate = '';\n      } else {\n        this.newExpirationDate = DateTime.fromJSDate(this.newExpirationDate)\n          .endOf('day')\n          .toJSDate();\n      }\n\n      this.args.onChangeExpiration(this.args.share, DateTime.fromJSDate(this.newExpirationDate).toISO());\n    }\n  }\n\n  changeUniqueDownload() {\n    if (this.isUniqueDownloadUpdated || this.isDownloaded) {\n      this.args.onChangeUniqueDownload(this.args.share, this.newUniqueDownload);\n    }\n  }\n\n  changeAuthorSubscription() {\n    if (this.args.share.authorSubscription !== this.isNotify) {\n      this.args.onChangeAuthorSubscription(this.args.share, this.isNotify);\n    }\n  }\n\n  @action\n  onChangeShareOptions() {\n    this.changeExpirationDate();\n    this.changeUniqueDownload();\n    this.changeAuthorSubscription();\n    this.args.applyChanges(this.args.share);\n  }\n\n  @action\n  openPicker() {\n    const picker = document.querySelector(\n      `#listed-share-expirationDate-picker-${this.inputElementId}`,\n    );\n    picker.click();\n  }\n\n  @action\n  onCheckboxChange(event) {\n    const { name, checked } = event;\n    this[name] = checked;\n  }\n\n  setModalTitle(restart) {\n    const restartId = restart ? 'restartTitle' : 'title';\n    this.modalTitle = this.intl.t(`shares.modal.options.${ restartId }`);\n  }\n\n  setDatePicker() {\n    const validDate = DateTime.fromJSDate(this.expirationDate).isValid;\n    this.newExpirationDate = validDate ? this.expirationDate : this.minDate;\n    this.setExpirationDate(\n      this.sharingLinkMaxPeriod,\n      this.sharingLinkDefaultPeriod,\n      !this.hasExpirationDate,\n    );\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport layout from '../templates/head';\nimport { setComponentTemplate } from '@ember/component';\n\nexport default class HeadContent extends Component {\n  @service('head-data') model;\n}\n\nsetComponentTemplate(layout, HeadContent);\n","import Component from '@glimmer/component';\nimport { resolve } from 'rsvp';\nimport { cancel, debounce } from '@ember/runloop';\nimport { tracked } from '@glimmer/tracking';\nimport { modifier } from 'ember-modifier';\nimport { action } from '@ember/object';\nimport { isPresent } from '@ember/utils';\n\nconst { round } = Math;\nconst UP = 'UP';\nconst DOWN = 'DOWN';\nexport default class InfiniteScrollerComponent extends Component {\n  @tracked isLoading = false;\n  @tracked scrollState = {};\n  @tracked lastScrollState = {};\n\n  debug = false;\n  scroller;\n  debounceId;\n\n  setScroller = modifier(\n    (element, [positionalElement]) => {\n      this._registerScroller(positionalElement ?? element);\n\n      return () => this._deregisterScroller();\n    },\n    { eager: false },\n  );\n  api = new Proxy(this, {\n    get(target, key) {\n      return target._api[key];\n    },\n    set() {\n    },\n  });\n\n  get debounce() {\n    return this.args.debounce ?? 100;\n  }\n\n  get shouldLoadMore() {\n    if (this.isLoading) {\n      return false;\n    }\n\n    if (\n      isPresent(this.args.percentDown) &&\n      this.scrollState.direction === DOWN &&\n      this.scrollState.percentScrolled >= this.args.percentDown\n    ) {\n      return true;\n    }\n\n    return !!(\n      isPresent(this.args.percentUp) &&\n      this.scrollState.direction === UP &&\n      this.scrollState.percentScrolled <= this.args.percentUp\n    );\n  }\n\n  get normalisedScrollerElement() {\n    if (this.scroller instanceof Document) {\n      return this.scroller.documentElement;\n    } else {\n      return this.scroller;\n    }\n  }\n\n  get _api() {\n    return {\n      isScrollable: this.scrollState.isScrollable,\n      isLoading: this.isLoading,\n      loadMore: this.loadMore,\n    };\n  }\n\n  @action\n  handleScroll() {\n    this.debounceId = debounce(this, '_checkShouldLoadMore', this.debounce);\n  }\n\n  @action\n  loadMore(direction) {\n    this.isLoading = true;\n\n    resolve(this.args.onLoadMore?.(direction)).finally(() => {\n      this.isLoading = false;\n\n      this._checkScrollable();\n    });\n  }\n\n  _registerScroller(element) {\n    this.scroller = element;\n\n    this._startListening();\n    this._checkScrollable();\n  }\n\n  _deregisterScroller() {\n    this._stopListening();\n    cancel(this.debounceId);\n    this.scroller = null;\n  }\n\n  _startListening() {\n    this.scroller.addEventListener('scroll', this.handleScroll);\n  }\n\n  _stopListening() {\n    this.scroller.removeEventListener('scroll', this.handleScroll);\n  }\n\n  _checkShouldLoadMore() {\n    this.lastScrollState = this.scrollState;\n    this.scrollState = this._getScrollState();\n\n    this._debug();\n\n    if (this.shouldLoadMore) {\n      this.loadMore(this.scrollState.direction);\n    }\n  }\n\n  _checkScrollable() {\n    if (this.isDestroying || this.isDestroyed) {\n      return;\n    }\n\n    this.scrollState = this._getScrollState();\n  }\n\n  _debug() {\n    if (!this.debug) {\n      return;\n    }\n\n    const state = {\n      ...this.scrollState,\n      shouldLoadMore: this.shouldLoadMore,\n    };\n\n    console.table([state]); // eslint-disable-line\n  }\n\n  _getScrollState() {\n    const element = this.normalisedScrollerElement;\n    const scrollHeight = element.scrollHeight;\n    const scrollTop = element.scrollTop;\n    const clientHeight = element.clientHeight;\n    const isScrollable = scrollHeight > clientHeight;\n    const bottom = scrollHeight - clientHeight;\n    const percentScrolled = round((scrollTop/bottom)*100);\n    const scrollingDown = element.scrollTop > this.lastScrollState.scrollTop;\n    const scrollingUp = element.scrollTop < this.lastScrollState.scrollTop;\n    const direction = scrollingDown ? DOWN : scrollingUp ? UP : null;\n\n    return {\n      isScrollable,\n      scrollHeight,\n      clientHeight,\n      scrollTop,\n      bottom,\n      percentScrolled,\n      direction,\n    };\n  }\n}\n","import { hbs } from 'ember-cli-htmlbars';\nconst __COLOCATED_TEMPLATE__ = hbs(\"<div class={{@class}}>\\n{{inline-svg \\\"info\\\"}}\\n  <div>\\n    <p class=\\\"sub-header-text {{@classSubHeader1}}\\\">{{t @subheader1 appname=(t \\\"appname\\\") htmlSafe=true}}</p>\\n    {{#if @subheader2}}\\n      <p class=\\\"sub-header-text {{@classSubHeader2}}\\\">{{t @subheader2 appname=(t \\\"appname\\\") htmlSafe=true}}</p>\\n    {{/if}}\\n  </div>\\n</div>\\n\", {\"contents\":\"<div class={{@class}}>\\n{{inline-svg \\\"info\\\"}}\\n  <div>\\n    <p class=\\\"sub-header-text {{@classSubHeader1}}\\\">{{t @subheader1 appname=(t \\\"appname\\\") htmlSafe=true}}</p>\\n    {{#if @subheader2}}\\n      <p class=\\\"sub-header-text {{@classSubHeader2}}\\\">{{t @subheader2 appname=(t \\\"appname\\\") htmlSafe=true}}</p>\\n    {{/if}}\\n  </div>\\n</div>\\n\",\"moduleName\":\"client/components/info-tips/info-tips.hbs\",\"parseOptions\":{\"srcName\":\"client/components/info-tips/info-tips.hbs\"}});\nimport Component from '@glimmer/component';\n\nexport default class InfoTipsInfoTipsComponent extends Component {\n\n  constructor() {\n    super(...arguments);\n  }\n}\n","import { debounce } from '@ember/runloop';\nimport EmberObject, { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { A } from '@ember/array';\nimport diacritic from 'diacritic';\nimport { tracked } from '@glimmer/tracking';\n\n/* global libcryptobox */\n\nexport default class AddUsersComponent extends Component {\n  @tracked searchUser = null\n  @tracked spaceUsers = null\n  @tracked highlightedResultIndex = -1\n  @tracked alreadyInSpace = false\n  @tracked invalidEmails = false\n  @tracked remainingInvites\n  @tracked searchUserResults = A()\n  @tracked errorInviteRight = false\n  @tracked CBUsers;\n\n\n  @service store\n  @service account\n  @service notify\n  @service intl\n\n  calculatePosition(trigger, content) {\n    let { top, left } = trigger.getBoundingClientRect();\n    let { height: contentHeight } = content.getBoundingClientRect();\n\n    let style = {\n      left: left + 20,\n      top: top - contentHeight / 2 + 5\n    };\n\n    return { style };\n  }\n\n  enterKey(component, e) {\n    e.stopPropagation();\n\n    if (e.keyCode === 13){\n      e.preventDefault();\n      if (component.highlightedResultIndex === -1 ) {\n        void component.addUserToList()\n      }\n    }\n  }\n\n  async searchUsers(searchTerm) {\n    const term = diacritic.clean(searchTerm.toLowerCase())\n    this.searchUserResults = A()\n\n    await this.CBUsers.forEach((user) => {\n      if (user.email !== this.account.userEmail) {\n        const userName = diacritic.clean(user.fullName.toLowerCase())\n        const userMail = diacritic.clean(user.email.toLowerCase())\n\n        if (userName.indexOf(term) !== -1 || userMail.indexOf(term) !== -1) {\n          user.fullNameEmail = `${user.fullName} (${user.email.toLowerCase()})`;\n          this.searchUserResults.pushObject(user);\n        }\n      }\n    })\n\n    if(this.searchUserResults.length === 0 ){\n      this.highlightedResultIndex = -1\n    }\n\n    this.searchUserResults = this.searchUserResults.sortBy('fullNameEmail')\n  }\n\n  get canInviteUser() {\n    if (!this.account.status.canInvite) this.args.usersToInvite.clear();\n    return this.account.status.canInvite\n  }\n\n  get hasError() {\n    return this.invalidEmails || this.alreadyInSpace || this.errorInviteRight\n\t}\n\n@action\ninitialize() {\n  this.CBUsers = this.store.query('public-directory-user', {})\n}\n\n  @action\n  resetComponent(resetErrors) {\n    if (resetErrors) {\n      this.clearComponent()\n    }\n  }\n\n  @action\n  clearComponent() {\n    this.args.addedMembers.clear()\n    this.invalidEmails = false\n    this.alreadyInSpace = false\n    this.searchUser = null\n    this.errorInviteRight = false\n  }\n\n  @action\n  async addUserToList(userEmail) {\n    this.remainingInvites = await tBoxClient.invite.getLicenseUsage().then((data) => {\n      return data.invitees.available\n    })\n\n    if (this.isSearching) return\n\n    let searchEmail\n    if (this.searchUser) searchEmail = this.searchUser.trim()\n    if (typeof(userEmail) == 'string' && userEmail) searchEmail = userEmail\n    if (!searchEmail) return false\n\n    this.isSearching = true\n\n    tBoxClient.user.match(searchEmail).then((result) => {\n      tBoxClient.invite.getUsersType(result.map(result => result.email)).then(invitationsType => {\n        const userToAdd = A();\n\n        result.forEach((user) => {\n          user = EmberObject.create(user)\n          user.type = invitationsType[user.email.toLowerCase()].licensePool\n          user.consumeInvite = invitationsType[user.email.toLowerCase()].willTakeInvites\n\n          if (user.isRegistered) {\n            userToAdd.pushObject(user)\n          } else {\n            if (user.isEmailValid) {\n              if (!this.canInviteUser) {\n                this.errorInviteRight = true\n                return\n              }\n              const emailList = this.args.usersToInvite.map(user => user.email)\n\n              if (!emailList.includes(user.email)) {\n                user.role = 'auditor'\n                this.args.usersToInvite.pushObject(user);\n              }\n            } else {\n              this.invalidEmails = true\n            }\n          }\n        })\n        this.isSearching = false\n\n        userToAdd.forEach((user) => {\n          const isCurrentUser = user.email === this.account.userEmail\n          const isAlreadyInList = this.args.addedMembers.isAny('email', user.email)\n          let isAlreadyInSpace\n\n          if (this.args.spaceMembers) {\n            isAlreadyInSpace = this.args.spaceMembers.isAny('email', user.email);\n            if (isAlreadyInSpace) this.alreadyInSpace = true\n          }\n\n          if (isCurrentUser || isAlreadyInList) this.alreadyInSpace = true\n\n          if(!isCurrentUser && !isAlreadyInList && !isAlreadyInSpace) {\n            this.args.addedMembers.pushObject(EmberObject.create({\n              id: user.userId,\n              email: user.email,\n              firstName: user.givenName,\n              lastName: user.surname,\n              certificate: user.certificate,\n              maximumLevel: user.type,\n              fingerprint: user.fingerprint,\n              role: libcryptobox.Role.Auditor,\n            }));\n          }\n        })\n      })\n    })\n    .catch(() => {\n      this.isSearching = false\n    });\n\n    this.clearInputSearch()\n  }\n\n  @action\n  changeUserRight(user, newRole) {\n    user.set('role', newRole.value);\n  }\n\n  @action\n  removeUser(user) {\n    this.args.addedMembers.removeObject(user);\n    this.args.usersToInvite.removeObject(user);\n  }\n\n  @action\n  selectResult(user) {\n    this.addUserToList(user.email)\n  }\n\n  @action\n  updateTerm(term) {\n    this.invalidEmails = false\n    this.alreadyInSpace = false\n    this.errorInviteRight = false\n    this.searchUser = term;\n    if (term && term.length > 2) {\n      this.searchUsers(term);\n    } else {\n      this.searchUserResults.clear()\n    }\n  }\n\n  @action\n  clearInputSearch() {\n    this.isSearching = false\n    this.searchUser = ''\n    this.searchUserResults.clear()\n    this.highlightedResultIndex = -1\n    this.errorInviteRight = false\n  }\n}\n","import { action } from '@ember/object';\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class UserEntryComponent extends Component {\n  @service intl;\n  @tracked user;\n\n  get roleName() {\n    const key = `members.member.role.${ this.args.user.role }`;\n    return this.intl.t(key);\n  }\n\n  get isExternal() {\n    return this.args.user.consumeInvite && this.args.user.type === 'invitee';\n  }\n\n  @action\n  removeUser(user) {\n    this.args.entryRegistry.removeObject(user);\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\n\nexport default class AutoCompleteResultItem extends Component {\n  getValue(object, attrName) {\n    return object?.[attrName];\n  }\n\n  get name() {\n    return this.getValue(this.args.result, this.args.resultName);\n  }\n\n  get value() {\n    return this.getValue(this.args.result, this.args.resultValue);\n  }\n\n  get highlightedValue() {\n    let value = '';\n\n    if (this.args.highlightedResult) {\n      value = this.getValue(this.args.highlightedResult, this.args.resultValue);\n    }\n\n    return value;\n  }\n\n  get isHighlighted() {\n    return this.value === this.highlightedValue;\n  }\n\n  @action\n  selectResult() {\n    this.args.selectResult(this.args.result);\n  }\n}\n","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { notEmpty } from '@ember/object/computed';\nimport { action } from '@ember/object';\nimport { keyResponder, onKey } from 'ember-keyboard';\n\n@keyResponder\nexport default class AutocompleteInputComponent extends Component {\n  @tracked lastTerm = '';\n  @tracked highlightedResultIndex = this.args.highlightedResultIndex || -1;\n  @notEmpty('args.results') hasResults;\n\n  constructor() {\n    super(...arguments);\n    if (!this.args.results) {\n      this.args.results = [];\n    }\n    this.lastTerm = this.args.term;\n  }\n\n  get highlightedResult() {\n    if (this.highlightedResultIndex < 0) {\n      return null;\n    }\n    return this.args.results[this.highlightedResultIndex];\n  }\n\n  get resultName() {\n    return this.args.resultName || '';\n  }\n\n  get resultValue() {\n    return this.args.resultValue || '';\n  }\n\n  get focusOutInput() {\n    return this.args.focusOutInput || (() => {});\n  }\n  @onKey('Enter')\n  onEnterPress() {\n    let result = this.args.results[this.highlightedResultIndex];\n\n    if (result) {\n      this.args.selectResult(result);\n    }\n  }\n\n  @onKey('Escape')\n  onEscPress() {\n    this.clearSearch();\n  }\n\n  @onKey('ArrowDown')\n  onDownPress() {\n    let index = 0;\n\n    if (this.highlightedResultIndex >= 0) {\n      index = this.highlightedResultIndex + 1;\n    }\n\n    if (index > this.args.results.length - 1) {\n      index = 0;\n    }\n\n    this.highlightedResultIndex = index;\n  }\n\n  @onKey('ArrowUp')\n  onUpPress() {\n    let lastItem = this.args.results.length - 1;\n    let index = lastItem;\n\n    if (this.highlightedResultIndex >= 0) {\n      index = this.highlightedResultIndex - 1;\n    }\n\n    if (index < 0) {\n      index = lastItem;\n    }\n\n    this.highlightedResultIndex = index;\n  }\n\n\n  @action\n  termDidChange() {\n    if (this.args.term !== this.lastTerm) {\n      this.lastTerm = this.args.term;\n      this.args.updateTerm(this.args.term);\n    }\n  }\n\n  @action\n  handleChangeTerm(event) {\n    this.args.updateTerm(event.target.value);\n  }\n\n  @action\n  selectResult(result) {\n    this.args.selectResult(result);\n  }\n\n  @action\n  clearSearch() {\n    this.args.clearSearch();\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\n\nexport default class CheckboxInputComponent extends Component {\n  popperOptions = {\n    modifiers: {\n      preventOverflow: {\n        escapeWithReference: false,\n      },\n    },\n  };\n\n  @action\n  onClick(event) {\n    if (!this.args.onClick) {\n      return;\n    }\n    this.args.onClick(event);\n  }\n}\n","import Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { action } from '@ember/object';\n\n/*\n * For the indeterminate pseudo-classe\n * https://developer.mozilla.org/fr/docs/Web/CSS/:indeterminate\n * */\nexport default class Checkbox extends Component {\n  inputId = `checkbox-${ guidFor(this) }`;\n\n  didInsertInputOrUpdate(e, [indeterminate]) {\n    e.indeterminate = indeterminate;\n  }\n\n  @action\n  triggerOnChange(event) {\n    if (this.args.disabled) return;\n\n    event.stopPropagation();\n\n    const id = this.args.id || this.inputId;\n\n    const checkboxElement = document.getElementById(id);\n\n    if (!checkboxElement) return;\n\n    this?.args?.onChange?.({\n      id,\n      name: this.args.name,\n      checked: checkboxElement.checked,\n    });\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n/* global libcryptobox */\n\nexport default class ImagePickerComponent extends Component {\n  @tracked image = null;\n  @tracked isLoading = false;\n  @tracked _isHovering = false;\n\n  constructor() {\n    super(...arguments);\n\n    if (this.args.space && this.args.space.thumbnailHash) {\n      tBoxClient.space.getThumbnail(this.args.space.id).then((thumbnail) => {\n        this.image = this.getObjectUrlImage(thumbnail);\n      });\n    }\n  }\n\n  get showUpload() {\n    return this._isHovering || !this.image;\n  }\n\n  setLoading(loading) {\n    this.isLoading = loading;\n    this.args.onIsLoading(loading);\n  }\n\n  @action\n  onClickRemove(event) {\n    event.stopPropagation();\n    event.preventDefault();\n    this.image = null;\n    this.args.onNewImage(null);\n  }\n\n  @action\n  onMouseEnter() {\n    this._isHovering = true;\n  }\n\n  @action\n  onMouseLeave() {\n    this._isHovering = false;\n  }\n\n  @action\n  onMouseEnterRemove(event) {\n    event.stopPropagation();\n    event.preventDefault();\n  }\n\n  @action\n  onChange(event) {\n    this.onMouseLeave();\n    if (event) {\n      const file = event.target.files[0];\n      if (file) {\n        file.CBRelativePath = '';\n        this.setLoading(true);\n        const fileReader = new FileReader();\n        fileReader.onload = () => {\n          if (fileReader.result) {\n            const buffer = tBoxClient.encodeUint8Array(new Uint8Array(fileReader.result));\n\n            if (buffer) {\n              tBoxClient.space.createThumbnail(buffer).then(result => {\n                if (result) {\n                  const newImage = this.getObjectUrlImage(result);\n                  if (newImage) {\n                    this.image = newImage;\n                    this.args.onNewImage(result);\n                  }\n                }\n                this.setLoading(false);\n              });\n            } else {\n              this.setLoading(false);\n            }\n          } else {\n            this.setLoading(false);\n          }\n        };\n\n        fileReader.readAsArrayBuffer(file);\n      }\n    }\n  }\n\n  getObjectUrlImage(data) {\n    const img = new Blob([tBoxClient.decodeUint8Array(data)]);\n    if (img) {\n      return URL.createObjectURL(img);\n    }\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\n\nexport default class Number extends Component {\n\n  get min() {\n    return this.args.min || 1;\n  }\n\n  get max() {\n    return this.args.max || 10;\n  }\n\n  @action\n  focusOut() {\n    let newValue = parseInt(this.args.value) || 0;\n    newValue = Math.min(Math.max(newValue, this.min), this.max);\n    this.args.updateValue(newValue);\n  }\n\n  @action\n  changeValue(val) {\n    let newValue = (parseInt(this.args.value) || 0) + val;\n    newValue = Math.min(Math.max(newValue, this.min), this.max);\n    if (this.args.updateValue) {\n      this.args.updateValue(newValue);\n    }\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { isEqual } from '@ember/utils';\nimport { guidFor } from \"@ember/object/internals\";\n\nexport default class RadioButtonInputComponent extends Component {\n\n get inputId() {\n    return this.args.inputId ?? `radio-${guidFor(this)}`;\n  }\n  get joinedClassNames() {\n    return this.args.classNames?.join(' ') ?? '';\n  }\n\n  get checkedClass() {\n    return this.args.checkedClass ?? 'checked';\n  }\n\n  get checked() {\n    return isEqual(this.args.groupValue, this.args.value);\n  }\n\n  @action\n  changed(newValue) {\n    this.args.changed?.(newValue);\n  }\n}\n","import Component from '@glimmer/component';\nimport { once } from '@ember/runloop';\nimport { action } from '@ember/object';\n\nexport default class CustomInputComponent extends Component {\n  get checkedStr() {\n    return this.args.checked?.toString() ?? null;\n  }\n\n  @action\n  change() {\n    if (this.args.groupValue !== this.args.value) {\n      once(this.args, 'changed', this.args.value);\n    }\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { debounce } from '@ember/runloop';\n\nexport default class RecipientsListComponent extends Component {\n  @tracked emailInput = '';\n  @tracked invalidEmails = false;\n\n  get isEmptyList() {\n    return this.args.isEmptyList;\n  }\n  get errorMaxRecipients() {\n    return this.args.errorMaxRecipients\n  }\n\n\n  get authorizeCurrent() {\n    return this.args.authorizeCurrent || false;\n  }\n\n  get recipients() {\n    return this.args.recipients;\n  }\n\n  get numberRecipientsMax() {\n    return this.args.numberRecipientsMax || -1;\n  }\n\n  @service account;\n\n  regexp =\n    /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\n  get isMaxRecipientsReached() {\n    if (this.numberRecipientsMax === -1 || !this.recipients) return false;\n    return this.numberRecipientsMax < this.recipients.length;\n  }\n\n  @action\n  keyDown(event) {\n    if (this.invalidEmails) {\n      this.invalidEmails = false;\n    }\n\n    if (event.keyCode === 13) {\n      event.preventDefault();\n      debounce(this, this.addEmailToList, 500);\n    }\n  }\n\n  @action\n  async addEmailToList() {\n    if (!this.emailInput) return;\n\n    if (this.isEmptyList) {\n      this.args.setIsEmptyList(false);\n    }\n\n    let addedEmailList = (await tBoxClient.user.parse(this.emailInput)).map((email) => email.email);\n    let invalidEmails = false;\n    this.emailInput = '';\n\n    addedEmailList.forEach((currentEmail) => {\n      if (!this.regexp.test(currentEmail)) {\n        invalidEmails = true;\n        return;\n      }\n\n      if (!currentEmail) {\n        invalidEmails = true;\n        return;\n      }\n\n      let currentUserEmail = this.account.userEmail === currentEmail;\n      let isAlreadyInList = this.recipients.includes(currentEmail);\n\n      if ((!currentUserEmail || this.authorizeCurrent) && !isAlreadyInList) {\n        this.recipients.pushObject(currentEmail);\n      }\n    });\n\n    this.updateErrorMax();\n\n    if (invalidEmails) {\n      this.invalidEmails = true;\n    }\n    document.querySelector('.recipients-list input').value = '';\n  }\n\n  @action\n  removeRecipient(recipient) {\n    this.recipients.removeObject(recipient);\n    this.updateErrorMax();\n  }\n\n  @action\n  updateErrorMax() {\n    this.args.setErrorMaxRecipients(this.isMaxRecipientsReached);\n  }\n}\n","import { action } from '@ember/object';\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { inject as service } from '@ember/service';\n\nexport default class ReplaceFileInput extends Component {\n\n  @tracked value = null;\n\n  @service transfers;\n  get currentFolder() {\n    return this.args.currentFolder;\n  }\n\n  get disabled() {\n    return this.args.disabled;\n  }\n\n  @action\n  handleFileInputCancel() {\n    if (this.args.handleChangeContextMenu) {\n      this.args.handleChangeContextMenu(false);\n    }\n  }\n\n  @action\n  handleFileInputChange(event) {\n    let file = event.target.files[0];\n    if (!file) {\n      return false;\n    }\n    file.CBRelativePath = '';\n\n    void this.transfers.replaceFileContent(\n      file,\n      this.currentFolder,\n      this.args.node\n    );\n    this.value = null;\n\n    if (this.args.handleChangeContextMenu) {\n      this.args.handleChangeContextMenu(false);\n    }\n  }\n}\n","import Component from '@glimmer/component';\nimport { DateTime } from 'luxon';\nimport { debounce } from '@ember/runloop';\nimport { action, computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\n\n/* global libcryptobox */\nconst { Cancelled, Accepted, Expired } = libcryptobox.InviteEventType;\n\nexport default class InvitationsRowComponent extends Component {\n  @tracked showHistory = false;\n\n  @service intl;\n  @service store;\n  @service modalManager;\n  @service notify;\n\n  get workspaceModalName() {\n    return `checkWorkspaces-${this.args.invitation.id}`;\n  }\n\n  get tInvitationKind() {\n    const key = this.args.invitation.shallowInvite ? 'internal' : 'external';\n    return this.intl.t(`inviteUser.kind.${key}`);\n  }\n\n  get dateFormat() {\n    return this.intl.t('dateFormat');\n  }\n\n  get oldEvents() {\n    const last = this.args.invitation.eventHistory.lastObject;\n    const all = this.args.invitation.eventHistory;\n    return all.filter((item) => item.date !== last.date).reverse();\n  }\n\n  get lastEvent() {\n    const date = DateTime.fromISO(this.args.invitation.updatedAt);\n    return {\n      status: this.intl.t('inviteUser.status.' + this.args.invitation.status),\n      updatedOn: date.toFormat(this.dateFormat),\n      time: date.toFormat('HH:mm'),\n    };\n  }\n\n  get preaddSpaceMember() {\n    return this.args.preAddedMembers.filter(\n      (member) => member.email === this.args.invitation.guestEmail,\n    );\n  }\n\n  get firstPreAddSpaceMember() {\n    return this.preaddSpaceMember?.at?.(0);\n  }\n  get invitationIsCancellable() {\n    const { invitation } = this.args;\n    const { eventHistory, shallowInvite } = invitation;\n    const type = eventHistory.lastObject.type;\n\n    return (\n      type !== Cancelled &&\n      type !== Accepted &&\n      type !== Expired &&\n      !shallowInvite\n    );\n  }\n\n  @computed(\n    'args.invitation.eventHistory.lastObject.type',\n    'invitation.eventHistory.lastObject',\n  )\n  get invitationResendable() {\n    return this.args.invitation.eventHistory.lastObject.type !== 'accepted';\n  }\n\n  _reinvite(invitation) {\n    tBoxClient.invite.resend(invitation.id);\n    this.notify.success(\n      this.intl.t('inviteUser.modal.resendConfirmedText', {\n        user: invitation.guestEmail,\n      }),\n      {\n        title: this.intl.t('inviteUser.modal.resendConfirmedTitle'),\n        icon: 'warning',\n      },\n    );\n  }\n\n  @action\n  closeModal(modalName) {\n    this.modalManager.close(modalName);\n  }\n\n  @action\n  resend(invitation) {\n    debounce(this, this._reinvite, invitation, 500);\n  }\n\n  @action\n  cancel(modalName) {\n    this.modalManager.open(modalName);\n  }\n\n  @action\n  confirmCancel(invitation) {\n    tBoxClient.invite.delete(invitation.id).then(() => {\n      this.notify.success(\n        this.intl.t('inviteUser.modal.cancelConfirmedText', {\n          user: invitation.guestEmail,\n        }),\n        {\n          title: this.intl.t('inviteUser.modal.cancelConfirmedTitle'),\n          icon: 'warning',\n        },\n      );\n    });\n    this.closeModal(`confirmCancel-${invitation.id}`);\n  }\n\n  @action\n  showHistorical() {\n    const otherRow = this.args.rowExpanded;\n    if (otherRow && otherRow !== this) {\n      otherRow.showHistory = false;\n    }\n    this.showHistory = !this.showHistory;\n  }\n\n  @action\n  openWorkspacePreadd() {\n    this.modalManager.open(this.workspaceModalName);\n  }\n\n  @action\n  closeWorkspaceModal() {\n    this.closeModal(this.workspaceModalName);\n  }\n\n  @action\n  updateAllRights() {\n    this.preaddSpaceMember.forEach((preaddSpace) => {\n      tBoxClient.preaddedSpaceMember.setRole(preaddSpace.id, preaddSpace.role);\n    });\n\n    this.closeModal(this.workspaceModalName);\n  }\n}\n","import { A } from '@ember/array';\nimport { action, computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\nimport { task, timeout } from 'ember-concurrency';\nimport _ from 'lodash';\n\nexport default class InviteUser extends Component {\n  @tracked searchEmail = null;\n  @tracked lastSearchEmailValue = null;\n  @tracked invalidEmails = A();\n  @tracked existingUsers = A();\n  @tracked whiteListedUsers = A();\n  @tracked usersToInvite = A();\n  @tracked entryRegistry = A();\n  @tracked remainingInvites = 0;\n  @tracked isSearching = false;\n  @tracked invalidEmail = false;\n  @tracked isButtonDisabled = true;\n\n  userInviteModalName = 'user-invite-modal';\n\n  @service account;\n  @service modalManager;\n  @service notify;\n  @service intl;\n\n  @action\n  handleKeyPress(e) {\n    if (e.keyCode === 13) {\n      e.preventDefault();\n      void this.addEmailToList();\n    }\n  }\n\n  @action\n  onInsertElement() {\n    void this.addEmailToList();\n  }\n\n  @computed('usersToInvite.[]', 'remainingInvites', 'whiteListedUsers.[]')\n  get notEnoughInvites() {\n    if (this.usersToInvite.length === 0 && this.whiteListedUsers.length > 0) {\n      return false;\n    }\n\n    return this.usersToInvite.length > this.remainingInvites;\n  }\n\n  @computed(\n    'usersToInvite.length',\n    'whiteListedUsers.length',\n    'notEnoughInvites'\n  )\n  get buttonIsDisabled() {\n    return (\n      parseInt(this.usersToInvite.length + this.whiteListedUsers.length) ===\n        0 || this.notEnoughInvites\n    );\n  }\n\n  @action\n  async click() {\n    this.modalManager.open(this.userInviteModalName);\n  }\n\n  @task({ drop: true })\n  *_inviteUser() {\n    yield timeout(1000);\n    if (this.buttonIsDisabled) return;\n    const usersToInvite = this.usersToInvite;\n    const whiteListedUsers = this.whiteListedUsers;\n    const merged = _.cloneDeep(usersToInvite, true);\n\n    merged.pushObjects(whiteListedUsers);\n    const mergedLength = merged.length;\n    merged.forEach((invitedUser, index) => {\n      tBoxClient.invite.create(invitedUser.email).then(() => {\n        if (index + 1 === mergedLength) {\n          const notify = this.notify;\n          notify.success(\n            this.intl.t('toasts.inviteUser.message', {\n              count: mergedLength,\n              appname: this.intl.t('appname'),\n            }),\n            {\n              title: this.intl.t('toasts.inviteUser.title', {\n                count: mergedLength,\n              }),\n              icon: 'group',\n            }\n          );\n        }\n      });\n    });\n    this.closeModal();\n  }\n\n  @action\n  async addEmailToList() {\n    this.remainingInvites = await tBoxClient.invite\n      .getLicenseUsage()\n      .then((data) => {\n        return data.invitees.available;\n      });\n    if (this.isSearching) {\n      return;\n    }\n\n    let searchEmail = this.searchEmail;\n\n    if (searchEmail) {\n      searchEmail = searchEmail.trim();\n    }\n\n    this.searchEmail = searchEmail;\n\n    if (!searchEmail) {\n      return false;\n    }\n\n    this.isSearching = true;\n    tBoxClient.user.match(searchEmail).then((result) => {\n      tBoxClient.invite\n        .getUsersType(result.map(result => result.email))\n        .then((invitationsType) => {\n          result.forEach((user) => {\n            user.type = invitationsType[user.email.toLowerCase()].licensePool;\n            user.consumeInvite =\n              invitationsType[user.email.toLowerCase()].willTakeInvites;\n\n            if (user.isRegistered) {\n              this.existingUsers.pushObject(user);\n            } else {\n              if (user.isEmailValid) {\n                if (user.type === 'invitee') {\n                  const toInvite = this.usersToInvite;\n                  const emailList = toInvite.map((user) => user.email);\n\n                  if (!emailList.includes(user.email))\n                    this.usersToInvite.pushObject(user);\n                } else {\n                  const whiteListed = this.whiteListedUsers;\n                  const emailList = whiteListed.map((user) => user.email);\n\n                  if (!emailList.includes(user.email))\n                    this.whiteListedUsers.pushObject(user);\n                }\n              } else {\n                this.invalidEmails.pushObject(user);\n              }\n            }\n          });\n\n          this.searchEmail = null;\n          this.isSearching = false;\n          if (this.invalidEmails.length) {\n            this.invalidEmail = true;\n          }\n        });\n    });\n  }\n\n  @action\n  removeUser(user) {\n    this.existingUsers.removeObject(user);\n  }\n\n  @action\n  closeModal() {\n    this.searchEmail = null;\n    this.modalManager.close(this.userInviteModalName);\n    this.clearInput();\n  }\n\n  @action\n  inviteUser() {\n    this._inviteUser.perform();\n  }\n\n  @action\n  resetError() {\n    if (this.invalidEmails) {\n      this.invalidEmail = false;\n    }\n  }\n\n  @action\n  clearInput() {\n    this.invalidEmails.clear();\n    this.existingUsers.clear();\n    this.whiteListedUsers.clear();\n    this.usersToInvite.clear();\n    this.invalidEmail = false;\n  }\n}\n","import { computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { oneWay } from '@ember/object/computed';\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class UserEntry extends Component {\n  @tracked isSelected = false;\n\n  @service account;\n\n  @oneWay('elementId') componentId;\n\n  @computed('componentId')\n  get canWriteInputId() {\n    return 'invitee-write-' + this.componentId;\n  }\n\n  @computed('componentId')\n  get havePersonalInputId() {\n    return 'invitee-personal-' + this.componentId;\n  }\n\n  @computed('componentId')\n  get canCreateInputId() {\n    return 'invitee-create-' + this.componentId;\n  }\n\n  @computed('componentId')\n  get canInviteInputId() {\n    return 'invitee-invite-' + this.componentId;\n  }\n\n  @computed('componentId')\n  get canSetRightsInputId() {\n    return 'invitee-rights-' + this.componentId;\n  }\n\n  @action\n  handleClick() {\n    if (this.args.entryRegistry.indexOf(this) === -1) {\n      this.args.entryRegistry.pushObject(this);\n    }\n\n    this.args.entryRegistry.forEach((element) => {\n      element.isSelected = false;\n    });\n    this.isSelected = true;\n  }\n\n  @action\n  removeUser(user) {\n    this.args.invitedUsers.removeObject(user);\n    this.args.entryRegistry.removeObject(this);\n  }\n}\n","import Component from '@glimmer/component';\nimport { DateTime } from 'luxon';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { htmlSafe } from '@ember/template';\nexport default class LandingPageContainer extends Component {\n  @tracked elementId = 'landing_page';\n\n  @service intl;\n  @service connection;\n  @service platformCustomization;\n\n  @tracked platformConfig = null;\n  @tracked hideAppStoreLinks = false;\n\n  constructor() {\n    super(...arguments);\n    this.platformCustomization.getConfigFromUrl(\n      this.connection.serverAddress,\n      (config) => {\n        this.platformConfig = config;\n      },\n    );\n\n    void this.platformCustomization.getHideAppStoreLinks((result) => {\n      this.hideAppStoreLinks = result;\n    });\n  }\n  get large() {\n    return this.args.large || false;\n  }\n\n  get hideMobileAppBar() {\n    return this.args.hideMobileAppBar || false;\n  }\n  get isWarning() {\n    return this.args.isWarning || false;\n  }\n\n  get isSuccess() {\n    return this.args.isWarning || false;\n  }\n\n  get appStoreUrl() {\n    const url = 'https://itunes.apple.com/fr/app/cryptobox/id972602802?&mt=8';\n    this.intl.locale[0] === 'fr-fr';\n    return this.intl.locale[0] === 'fr-fr' ? url : `${url}&l=en`;\n  }\n\n  get backgroundImage() {\n    return htmlSafe(\n      `background-image:url(\"/static/customizations/images/bg1.jpg?${DateTime.now().toFormat(\n        'MMDDHHSS',\n      )}\")`,\n    );\n  }\n\n  get isPlatformCustomizationEnabled() {\n    return this.platformConfig && this.platformConfig.isEnabled;\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { action } from \"@ember/object\";\nimport { inject as service } from \"@ember/service\";\nimport { LICENCES_VALIDATION_MODAL_NAME } from \"../../../utils/enums\";\n\nexport default class LicencesValidationModalComponent extends Component {\n  name = LICENCES_VALIDATION_MODAL_NAME;\n\n  @service modalManager;\n\n  close() {\n    if (this.modalManager.isModalOpen(LICENCES_VALIDATION_MODAL_NAME)) {\n      this.modalManager.close(LICENCES_VALIDATION_MODAL_NAME);\n    }\n  }\n\n  @action\n  onReject() {\n    const { onReject } = this.args;\n\n    if (onReject) {\n      onReject();\n    }\n\n    this.close();\n  }\n\n  @action\n  onValidate() {\n    const { onValidate } = this.args;\n\n    this.close();\n    onValidate();\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\n\nexport default class PageBoxComponent extends Component {\n  get isCurrentPageIndex() {\n    return this.args.pageNumber === this.args.selectedPage;\n  }\n\n  get complementClass() {\n    const page = parseInt(this.args.pageNumber);\n    const selected = parseInt(this.args.selectedPage);\n    const maxPage = parseInt(this.args.maxPage);\n\n    if (maxPage === 0) {\n      return 'double-margin-left double-margin-right';\n    }\n\n    if (page === 1 && page === selected) {\n      return 'double-margin-left';\n    }\n\n    if (page === 1 && selected === 2) {\n      return 'simple-margin-left';\n    }\n\n    if (page === maxPage && selected === maxPage) {\n      return 'double-margin-right';\n    }\n\n    if (page === maxPage && selected === maxPage - 1) {\n      return 'simple-margin-right';\n    }\n\n    return '';\n  }\n\n  @action\n  changePage(number) {\n    return this.args.changePage(number);\n  }\n}\n","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\n\nexport default class PaginationListComponent extends Component {\n\n  get selectedPage() {\n    return this.args.selectedPage;\n  }\n\n\n  get minPage() {\n    return this.args.minPage;\n  }\n\n  set selectedPage(value) {\n    this.args.setSelectedPage(value);\n  }\n\n  /**\n   * Generates a list of integers representing pagination pages.\n   * @returns {number[]} List of integers\n   */\n  get pageList() {\n    const maxPage = parseInt(this.maxPage) || 1;\n    const pageMargin = 2;\n    const selected = parseInt(this.selectedPage);\n    const list = [];\n\n    // Validation des entrées\n    if (\n      typeof selected !== 'number' ||\n      typeof maxPage !== 'number' ||\n      selected < 1 ||\n      maxPage < 1\n    ) {\n      throw new Error(\n        'Les valeurs de selectedPage et maxPage doivent être des nombres positifs.',\n      );\n    }\n\n    for (let i = selected - pageMargin; i <= selected + pageMargin; i++) {\n      if (i > 0 && i <= maxPage) {\n        list.push(i);\n      }\n    }\n    return list;\n  } // list of integers\n\n  get maxPage() {\n    const secondList = this.args.secondList || []\n    const listLength = this.args.firstList.length + secondList.length;\n    return Math.max(Math.ceil(listLength / this.args.elementsPerPage));\n  }\n\n  get nextPage() {\n    if (this.maxPage === this.selectedPage) return this.selectedPage;\n    return Math.max(this.selectedPage + 1, this.maxPage);\n  }\n\n  get nextPageEnabled() {\n    return this.selectedPage < this.maxPage;\n  }\n\n  get previousPageEnabled() {\n    return this.selectedPage > this.minPage;\n  }\n\n  @action\n  updatePageNumber(pageNumber) {\n    this.selectedPage = pageNumber;\n    this.args.onPageSelected(pageNumber);\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { action } from \"@ember/object\";\nimport { tBoxClient } from \"client/initializers/init-toolbox\";\nimport { inject as service } from \"@ember/service\";\n\nexport default class LocalAccountComponent extends Component {\n  @service connection;\n\n  get classColor() {\n    if (this.args.account.color === 0) {\n      return \"primary\";\n    }\n    if (this.args.account.color === 1) {\n      return \"secondary\";\n    }\n    return \"grey\";\n  }\n\n  get accountLetter() {\n    let url = this.args.account.serverUrl;\n    if (url !== undefined) {\n      if (url.startsWith(\"http://\")) {\n        return url.charAt(7).toUpperCase();\n      } else if (url.startsWith(\"https://\")) {\n        return url.charAt(8).toUpperCase();\n      }\n    }\n    return \"\";\n  }\n\n  @action\n  loginAccount(account) {\n    this.connection.tmpServerAddress = account.serverUrl;\n    this.args.onSelectAccount(account.id);\n  }\n\n  @action\n  dissociateAccount(account) {\n    tBoxClient.deviceKeys.delete(account.id);\n\n    const { model, onRemoveAllLocalAccount } = this.args;\n    model.removeObject(account);\n    if (!model.length) {\n      onRemoveAllLocalAccount();\n    }\n  }\n}\n","import Component from '@glimmer/component';\nimport { computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { DateTime } from 'luxon';\n\nexport default class AcknowledgementDetails extends Component {\n  @service store;\n\n  get showAcknowledgement() {\n    return this.args.showAcknowledgement;\n  }\n  get message() {\n    return this.args.message;\n  }\n\n  get timer() {\n    const date = DateTime.fromISO(this.message?.formatedTimestamp);\n    return date.isValid ? date.toRelative() : null;\n  }\n\n  get readers() {\n    return this.message?.readFlags.filter( readFlag => readFlag.hasRead);\n  }\n\n  get nonReaders() {\n    return this.message?.readFlags.filter(readFlag => !readFlag.hasRead);\n  }\n}\n","import Component from '@glimmer/component';\nimport { debounce } from '@ember/runloop';\nimport { inject as service } from '@ember/service';\nimport { task, timeout } from 'ember-concurrency';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport BlobFileWriter from 'client/toolbox/blob-file-writer';\nimport {\n  FILE_TYPE_IMAGE,\n  FILE_TYPE_PDF,\n  FILE_TYPE_UNKNOWN,\n  FileInfoPreview,\n} from '../../../file-viewer/fileInfoPreview';\nimport mime from 'mime';\nimport getNodeIconName from '../../../../utils/getNodeIconName';\n/* global libcryptobox */\n\nexport default class AttachmentComponent extends Component {\n  @tracked isLoading;\n  @tracked loadingPrevious;\n  @tracked filePreviewIndex = -1;\n\n  @service transfers;\n  @service store;\n  @service modalManager;\n  @service commonService;\n\n  get fileViewerInfoPreviewList() {\n    const attachment = this.args.attachment;\n    const mimeType = mime.getType(attachment.fileName);\n    let fileType = '';\n    if (mimeType?.startsWith('image')) {\n      fileType = FILE_TYPE_IMAGE;\n    } else if (mimeType === 'application/pdf') {\n      fileType = FILE_TYPE_PDF;\n    } else {\n      fileType = FILE_TYPE_UNKNOWN;\n    }\n\n    const iconName = getNodeIconName(\n      false,\n      attachment.fileName.split('.').pop(),\n    );\n    return [\n      new FileInfoPreview(\n        fileType,\n        mimeType,\n        attachment.fileName,\n        null,\n        iconName,\n        null,\n        attachment.id,\n        attachment.fileSize,\n      ),\n    ];\n  }\n\n  _scrollBottom() {\n    const scrollHeight = document.querySelector(\n      '.conversation-stream',\n    ).scrollHeight;\n    const container = document.querySelector('.container-conversationStream');\n    container.scrollTop = scrollHeight;\n  }\n\n  get isPdf() {\n    return this.args.attachment.fileName.indexOf('.pdf') > -1;\n  }\n\n  get hasPreview() {\n    return this.args.attachment.preview != null;\n  }\n\n  get previewImage() {\n    const writer = new BlobFileWriter();\n\n    const attachmentId = this.args.attachment.id;\n    const item = sessionStorage.getItem(attachmentId);\n\n    if (item) {\n      if (!this.loadingPrevious) {\n        debounce(this, this._scrollBottom, 400);\n      }\n\n      return item;\n    }\n\n    return tBoxClient.attachment\n      .downloadPreview(attachmentId, -1, writer)\n      .then(() => {\n        if (!this.loadingPrevious) {\n          debounce(this, this._scrollBottom, 400);\n        }\n\n        const blob = new Blob(writer.chunkBlobs, { type: 'image/jpeg' });\n        const url = URL.createObjectURL(blob);\n        sessionStorage.setItem(attachmentId, url);\n        return url;\n      });\n  }\n\n  @(task(function* (attachment) {\n    yield timeout(1000);\n    let messageAtt;\n    attachment.message.then((message) => {\n      messageAtt = message;\n      this.store\n        .createRecord('message', {\n          space: message.space,\n          text: message.text,\n          status: libcryptobox.MessageStatus.Pending,\n        })\n        .save()\n        .then((newMessage) => {\n          this.store\n            .createRecord('attachment', {\n              message: newMessage,\n              fileName: attachment.name,\n              fileSize: attachment.fileSize,\n              fileData: attachment.fileData,\n            })\n            .save()\n            .then(() => messageAtt.destroyRecord())\n            .then(() => newMessage.post());\n        });\n    });\n  }).drop())\n  _resendAttachment;\n\n  @action\n  async resendAttachment(attachment) {\n    this._resendAttachment.perform(attachment);\n  }\n\n  @action\n  cancelAttachmentUpload(message) {\n    message.get('cancelUpload')();\n  }\n\n  @action\n  removeAttachment(message) {\n    message.destroyRecord();\n  }\n\n  @action\n  cancelAttachmentDownload(attachment) {\n    attachment.cancelDownload();\n  }\n\n  @action\n  downloadAttachment(attachment) {\n    attachment.downloadAttachment();\n  }\n\n  @action\n  previewPdf() {\n    this.filePreviewIndex = 0;\n  }\n\n  @action\n  onFileViewerClose() {\n    this.filePreviewIndex = -1;\n  }\n}\n","import { computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { alias } from '@ember/object/computed';\nimport { task, timeout } from 'ember-concurrency';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\n\n/* global libcryptobox */\n\nexport default class ConversationMessage extends Component {\n  @tracked displayDetails = true;\n  @tracked unstableState = false;\n  @tracked hidden = false;\n  @tracked isLastRead = false;\n  @service account;\n  @service messaging;\n  @service commonService;\n  @service transfers;\n  @service modalManager;\n\n  @alias('message.isSending') isSending;\n  @alias('message.isRejected') sentHasFailed;\n\n  get message() {\n    return this.args.message;\n  }\n\n  get showAcknowledgement() {\n    return this.args.showAcknowledgement;\n  }\n\n  get spaceId() {\n    return this.message.get('spaceId');\n  }\n\n  @task({ drop: true })\n  *_resendMessage(message) {\n    yield timeout(1000);\n    message.post();\n  }\n\n  @action\n  onInsertElement(element) {\n\n    if (\n      this.message.timestamp !== 0 &&\n      this.args.lastRead === this.message.timestamp &&\n      this.args.lastRead !== this.args.latest\n    ) {\n      this.isLastRead = true;\n    }\n\n    if (this.message.timestamp > this.args.lastRead) {\n      const options = {\n        root: document.querySelector('.container-conversationStream'),\n        rootMargin: '0px',\n        threshold: 1.0,\n      };\n      const observer = new IntersectionObserver((entries) => {\n        entries.forEach((entry) => {\n          if (this.message.isDestroyed) return;\n          this.message.set('elementId', this.elementId);\n\n          if (entry.isIntersecting) {\n            this.message.set('isRead', true);\n            this.message.get('space.cursor').then((c) => c.advance());\n          }\n        });\n      }, options);\n      observer.observe(element);\n    }\n  }\n\n  @computed('args.isDirect', 'message.author.isMySelf')\n  get authorNameDisplay() {\n    return !this.args.isDirect && !this.message.get('author.isMySelf');\n  }\n\n  @computed('message.author.isMySelf', 'sentHasFailed', 'displayDetails')\n  get showMore() {\n    return (\n      this.message.get('author.isMySelf') &&\n      !this.sentHasFailed &&\n      this.displayDetails\n    );\n  }\n\n  @computed('message.groupMessageStatus', 'displayDetails')\n  get groupMessageStatus() {\n    return this.displayDetails\n      ? this.message.get('groupMessageStatus')\n      : { content: 'details' };\n  }\n\n  get isSelected() {\n    return this.args.selectedMessage === this.message;\n  }\n\n  get filteredAttachments() {\n    const attachments = this.message.attachments;\n    return attachments.filter(node => !node.isNew);\n  }\n\n  calculatePosition(trigger, content) {\n    const { top, left, height, width } = trigger.getBoundingClientRect();\n    const { height: contentHeight } = content.getBoundingClientRect();\n\n    const style = {\n      left: left + width + 8,\n      top: top + height / 2 - contentHeight / 2,\n    };\n\n    return { style };\n  }\n\n  @action\n  resendMessage(message) {\n    this._resendMessage.perform(message);\n  }\n\n  @action\n  showMessageRecipients(dropdown) {\n    this.args.setShowAcknowledgement(true);\n    this.args.setShowUsers(false);\n    this.args.setSelectedMessage(this.message);\n    dropdown.actions.close();\n  }\n\n  @action\n  deleteMessage(message, dropdown) {\n    this.hidden = true;\n\n    if (message.get('space.isWorkspace') && this.filteredAttachments.length) {\n      this.args.setSelectedMessage(message);\n      return this.modalManager.open('warningDeletion');\n    }\n\n    dropdown.actions.close();\n    this.unstableState = false;\n    message.deleteMessage().then(() => {\n      this.unstableState = true;\n    });\n  }\n\n  @action\n  toggleHidden() {\n    this.hidden = !this.hidden;\n  }\n}\n","import { debounce, schedule } from '@ember/runloop';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\n\n/* global libcryptobox */\n\nexport default class ConversationStream extends Component {\n  @service store;\n  @service account;\n  @service messaging;\n\n  @tracked hasMore = false;\n  @tracked autoScroll = true;\n  @tracked dragCounter = 0;\n  @tracked dragging = 0;\n\n  get conversation() {\n    return this.args.conversation;\n  }\n\n  get currentMember() {\n    return this.args.currentMember;\n  }\n\n  get isDragOver() {\n    return this.args.isDragOver;\n  }\n\n  set isDragOver(value) {\n    this.args.setIsDragOver(value);\n  }\n\n  _scrollBottom() {\n    const scrollHeight = document.querySelector(\n      '.conversation-stream',\n    ).scrollHeight;\n    const container = document.querySelector('.container-conversationStream');\n    container.scrollTop = scrollHeight;\n\n    const heightContainerMessage = container.scrollHeight;\n    this.autoScroll = scrollHeight < heightContainerMessage;\n  }\n\n  async _setConversation() {\n    const conversation = this.args.conversation;\n    this.hasMore = await tBoxClient.message.hasMore(conversation.id);\n    this.lastRead = conversation.get('cursor.lastRead');\n    this._scrollBottom();\n    this.loadingPrevious = false;\n  }\n\n  get messageNumberListener() {\n    if (this.autoScroll) {\n      debounce(this, this.scrollToNewMessage, 200);\n    }\n  }\n\n  @action\n  onInsertElement() {\n    void this._setConversation();\n    schedule('afterRender', this, () => {\n      debounce(this, this._scrollBottom, 200);\n      document\n        .querySelector('.container-conversationStream')\n        .addEventListener('scroll', () => {\n          const lastRead = this.args.conversation.get('cursor.lastRead');\n          const messages = this.args.conversation.messages?.filter(\n            (message) =>\n              message.get('timestamp') > lastRead && !message.get('deletable'),\n          );\n          const firstUnreadId = messages.get('firstObject.elementId');\n          debounce(this, this.scrollHandling(firstUnreadId), 200);\n        });\n    });\n  }\n\n  willDestroy() {\n    super.willDestroy(...arguments);\n    this.store.adapterFor('space').unsubscribe(this);\n  }\n\n  get sortedMessages() {\n    const messages = this.args.conversation.messages;\n    if (messages && messages.length > 0) {\n      return messages?.sortBy('isRejected', 'isSending', 'parsedTimestamp');\n    }\n    return [];\n  }\n\n  get isCreating() {\n    const conversation = this.args.conversation;\n    return (\n      conversation.get('kind') === libcryptobox.SpaceKind.GroupConversation &&\n      conversation.get('isNew') &&\n      conversation.get('isSaving')\n    );\n  }\n\n  _canUserWrite() {\n    return !(\n      this.currentMember.get('isReader')\n    );\n  }\n\n  @action\n  dragEnter() {\n    if (this._canUserWrite() && !this.args.conversation.get('isNew')) {\n      const count = this.dragCounter;\n      this.dragCounter = count + 1;\n      this.isDragOver = true;\n    }\n    return false;\n  }\n\n  @action\n  dragLeave() {\n    if (this._canUserWrite() && !this.args.conversation.get('isNew')) {\n      const count = this.dragCounter - 1;\n      this.dragCounter = count;\n      if (count === 0) {\n        this.isDragOver = false;\n      }\n    }\n    return false;\n  }\n\n  @action\n  dropFiles(e) {\n    this.preventDefault(e);\n    this.isDragOver = false;\n    this.dragCounter = 0;\n\n    if (this.args.conversation.get('isDeleted')) {\n      return false;\n    }\n\n    if (this._canUserWrite() && !this.args.conversation.get('isNew')) {\n      this.dragging = 0;\n      const files = [].slice.call(e.dataTransfer.files);\n      if (!files.length) {\n        return false;\n      }\n      this.messaging.uploadAttachments(files, this.args.conversation);\n    }\n    return false;\n  }\n\n  @action\n  scrollHandling(firstUnreadId) {\n    return () => {\n      const conversation = this.args.conversation;\n      const container = document.querySelector('.container-conversationStream');\n      const heightContainerMessage = container.scrollHeight;\n      const scrollTop = container.scrollTop;\n      const offset = container.offsetHeight;\n\n      if (firstUnreadId) {\n        const scrollHeight = document.querySelector(\n          '#' + firstUnreadId,\n        ).offsetTop;\n        const arrow = document.querySelector('.new-msg-btn-container svg');\n        if (arrow) {\n          const top = document.querySelector(\n            '.container-conversationStream',\n          ).scrollTop;\n          if (top < scrollHeight) {\n            arrow.style.transform = 'rotate(180deg)';\n          } else {\n            arrow.style.transform = '';\n          }\n        }\n      }\n\n      //On top position\n      if (scrollTop === 0 && this.hasMore && !this.isLoadingHistory) {\n        this.isLoadingHistory = true;\n        this.loadingPrevious = true;\n        tBoxClient.message\n          .loadMore(conversation.id, 10)\n          .then(() => {\n            return tBoxClient.message.hasMore(conversation.id);\n          })\n          .then((hasMore) => {\n            this.hasMore = hasMore;\n            this.isLoadingHistory = false;\n\n            if (hasMore) {\n              //we scroll to allow another loading of messages\n              container.scrollTop = 2;\n            }\n          });\n      }\n\n      //Bottom position\n      this.autoScroll = scrollTop > heightContainerMessage - offset - 50;\n    };\n  }\n\n  @action\n  preventDefault(event) {\n    event.preventDefault();\n    event.stopPropagation();\n  }\n\n  @action\n  scrollToNewMessage() {\n    const container = document.querySelector('.container-conversationStream');\n    if (!container) {\n      return;\n    }\n    const scrollHeight = document.querySelector(\n      '.conversation-stream',\n    ).scrollHeight;\n    const heightContainerMessage = container.scrollHeight;\n    const scrollContainerMessage = container.scrollTop;\n\n    const isSender = this.sortedMessages.lastObject.sentByMySelf;\n    const isAtBottom =\n      scrollHeight - 100 < heightContainerMessage + scrollContainerMessage;\n\n    if (isSender || isAtBottom) {\n      container.scrollTop = scrollHeight;\n    }\n  }\n\n  @action\n  confirmDelete() {\n    const message = this.args.conversation.selectedMessage;\n    message\n      .deleteMessage()\n      .then(() => this.args.conversation.set('selectedMessage', null));\n  }\n}\n","import { action, computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { debounce, schedule } from '@ember/runloop';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { guidFor } from '@ember/object/internals';\nimport { tracked } from '@glimmer/tracking';\n\n/* global libcryptobox */\n\nexport default class MessageInput extends Component {\n  @tracked resetFileInput = false;\n  @tracked newMessage = null;\n  @tracked sendingMessage = null;\n  elementId = guidFor(this);\n\n  @service store;\n  @service account;\n  @service messaging;\n\n  get conversation() {\n    return this.args.conversation;\n  }\n  @computed('elementId')\n  get fileInputId() {\n    return 'file-input-' + this.elementId;\n  }\n\n  _resetTextarea() {\n    this.newMessage = null;\n    const textArea = document.querySelector('.container-messageInput textarea');\n    if (textArea) {\n      textArea.style.height = '30px';\n    }\n  }\n\n  constructor() {\n    super(...arguments);\n    schedule('afterRender', this, this._resetTextarea);\n  }\n\n  @action\n  onInsertElement() {\n    this._resetTextarea();\n  }\n\n  @action\n  input() {\n    const textArea = document.querySelector('.container-messageInput textarea');\n    textArea.style.height = '30px';\n    let textAreaHeight = textArea.scrollHeight;\n\n    if (textAreaHeight > 100) {\n      textAreaHeight = 100;\n    }\n\n    textArea.style.height = `${ textAreaHeight }px`;\n  }\n\n  @action\n  keyPress(e) {\n    if (!e.shiftKey && e.keyCode === 13) {\n      e.preventDefault();\n      debounce(this, this.submit, e, 200);\n    }\n  }\n\n  @action\n  submit(e) {\n    e.preventDefault();\n    let textMessage = this.newMessage;\n\n    if (!textMessage) {\n      return false;\n    }\n\n    this.newMessage = textMessage.trim();\n\n    this.sendingMessage = this.newMessage;\n\n    const conversation = this.conversation;\n    if (!conversation.get('isNew')) {\n      void this.sendMessage(conversation);\n    } else {\n      this.createConversation(conversation);\n    }\n    this._resetTextarea();\n  }\n\n  @action\n  async change(e) {\n    e.stopPropagation();\n    e.preventDefault();\n\n    if (!e.target.files) {\n      return false;\n    }\n    let files = [].slice.call(e.target.files);\n    if (files && !files.length) {\n      return false;\n    }\n    this.messaging.uploadAttachments(files, this.conversation);\n    this.resetFileInput = true;\n    setTimeout(() => {\n      this.resetFileInput = false;\n    }, 50);\n  }\n\n  async sendMessage(conversation) {\n    if (await tBoxClient.im.isConnected()) {\n      await this.store\n        .createRecord('message', {\n          space: conversation,\n          text: this.sendingMessage,\n          status: libcryptobox.MessageStatus.Pending,\n          sentByMySelf: true,\n        })\n        .save()\n        .then((message) => {\n          message.post();\n          message.set('isRead', true);\n          setTimeout(() => {\n            document.querySelector('.container-conversationStream').scrollTop =\n              document.querySelector('.conversation-stream').offsetHeight;\n          }, 100);\n        });\n    }\n  }\n\n  createConversation(conversation) {\n    const store = this.store;\n    store.createRecord('message', {\n      space: conversation,\n      text: this.sendingMessage,\n      status: libcryptobox.MessageStatus.Pending,\n      sentByMySelf: true,\n    });\n    if (conversation.get('isSaving')) {\n      return;\n    }\n    conversation.save().then(() => {\n      conversation.get('messages').forEach((message) => {\n        message.save().then(() => message.post());\n      });\n    });\n  }\n}\n","import Component from '@glimmer/component';\nimport { computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { debounce } from '@ember/runloop';\nimport { guidFor } from '@ember/object/internals';\n/* global libcryptobox */\n\nexport default class LeftPanelConversation extends Component {\n  @service router;\n  @tracked fetchMessage = null;\n  @tracked showDot = false;\n  elementId = guidFor(this);\n\n  get kind() {\n    return this.args.kind;\n  }\n\n  @computed('kind')\n  get imageName() {\n    let result = 'img-direct-message';\n\n    if (this.kind === libcryptobox.SpaceKind.Workspace) {\n      result = 'img-workspace-message';\n    } else if (this.kind === libcryptobox.SpaceKind.GroupConversation) {\n      result = 'img-group-message';\n    }\n\n    return result;\n  }\n\n  _checkCursors() {\n    if (!document.querySelector('#' + this.elementId)) return;\n\n    if (this.router.currentRoute.params.space_id === this.args.cursor.get('id')) {\n      this.showDot = false;\n      return false;\n    } else {\n      this.showDot = this.args.cursor.get('unreadCount') > 0;\n    }\n  }\n\n  @computed('cursor.unreadCount', 'router.currentRoute.params.space_id')\n  get checkDot() {\n    debounce(this, this._checkCursors, 2000);\n    return true;\n  }\n}\n","import { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\nimport Component from '@glimmer/component';\n\nexport default class OfflineBanner extends Component {\n  @service messaging;\n\n  @action\n  _focusHandler() {\n    const banner = document.querySelector('.banner.warning');\n\n    if (banner) {\n      banner.querySelector('button').click();\n    }\n  }\n  @action\n  reconnectMessaging() {\n    this.messaging.retryMessagingConnection();\n  }\n}\n","import Component from '@glimmer/component';\n\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\n\nexport default class ModalComponent extends Component {\n  @service intl;\n  @service modalManager;\n\n  get isOpen() {\n    return this.modalManager.isModalOpen(this.args.name);\n  }\n\n  @action\n  onOpening() {\n    if (this.args.onOpening) {\n      this.args.onOpening();\n    }\n  }\n\n  @action\n  onClosing() {\n    if (this.args.onClosing) {\n      this.args.onClosing();\n    }\n  }\n\n  get clickOutsideToClose() {\n    const { clickOutsideToClose } = this.args;\n    if (typeof clickOutsideToClose === 'boolean') {\n      return clickOutsideToClose;\n    }\n    return true;\n  }\n\n  get cancel() {\n    return this.args.cancelButton || this.intl.t('button.cancel');\n  }\n\n  get confirm() {\n    return this.args.confirmButton || this.intl.t('button.confirm');\n  }\n\n  @action\n  handleClickOverlay() {\n    if (this.clickOutsideToClose) {\n      this.handleCancel();\n    }\n  }\n\n  @action\n  handleClose() {\n    if (!this.isOpen) return;\n\n    const { onClose } = this.args;\n\n    if (onClose) {\n      return onClose();\n    }\n    if (onClose === undefined) {\n      return this.modalManager.close(this.args.name);\n    }\n  }\n\n  @action\n  handleCancel() {\n    const { onCancel, closeOnCancel } = this.args;\n    if (onCancel) {\n      onCancel();\n    }\n    if (onCancel === undefined || closeOnCancel) {\n      return this.modalManager.close(this.args.name);\n    }\n  }\n\n  @action\n  setupModal(element) {\n    this.modalElement = element;\n    window.addEventListener('keydown', this.handleKeydown);\n    this.focusModal();\n    this.onOpening();\n  }\n\n  @action\n  teardownModal() {\n    window.removeEventListener('keydown', this.handleKeydown);\n    this.onClosing();\n  }\n\n  focusModal() {\n    if (this.modalElement && !this.hasFocus) {\n      this.modalElement.focus();\n      this.hasFocus = true;\n    }\n  }\n\n  @action\n  handleKeydown(event) {\n    if (event.key === 'Escape' && this.args.closeOnEscape !== false) {\n      this.handleCancel();\n    }\n  }\n\n  @action\n  handleSubmit() {\n    const { onConfirm, closeOnConfirm } = this.args;\n    if (onConfirm) {\n      onConfirm();\n    }\n    if (onConfirm === undefined || closeOnConfirm) {\n      this.modalManager.close(this.args.name);\n    }\n  }\n\n  willDestroy() {\n    super.willDestroy();\n    window.removeEventListener('keydown', this.handleKeydown);\n    this.handleClose();\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\n\nexport default class CategoriesManagementComponent extends Component {\n  @tracked newCategory = '';\n  @tracked modalName = 'categories-management-modal';\n  @tracked errorMessage = '';\n  @tracked isInvalid = false;\n  @tracked isOpen = false;\n\n  @service store;\n  @service router;\n  @service modalManager;\n  @service intl;\n\n  get categories() {\n    return this.args.categories;\n  }\n\n  get sortedCategories() {\n    return this.args.sortedCategories;\n  }\n\n\n  @action\n  resetError() {\n    this.isInvalid = false;\n  }\n\n  @action\n  async createCategory(event) {\n    event.preventDefault();\n    this.newCategory.trim();\n\n    if (!this.newCategory) {\n      this.isInvalid = true;\n      this.errorMessage = this.intl.t('categories.errors.empty');\n      return false;\n    }\n\n    if (this.categories.isAny('name', this.newCategory)) {\n      this.isInvalid = true;\n      this.errorMessage = this.intl.t('categories.errors.conflict');\n      return false;\n    }\n    const store = this.store;\n    await store.createRecord('category', { name: this.newCategory }).save();\n    this.args.reloadCategories();\n    this.newCategory = '';\n  }\n\n  @action\n  async deleteCategory(categoryRecord) {\n    this.categories.removeObject(categoryRecord);\n    await categoryRecord.destroyRecord();\n  }\n\n  @action\n  openModal() {\n    this.modalManager.open(this.modalName);\n  }\n\n  @action\n  closeModal() {\n    this.modalManager.close(this.modalName);\n  }\n\n  @action\n  resetInput() {\n    this.newCategory = '';\n    this.closeModal();\n  }\n}\n","import Component from '@glimmer/component';\nimport { computed, action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class CategoryFilterComponent extends Component {\n  @tracked isActive = false;\n\n  get category() {\n    return this.args.category;\n  }\n\n  constructor() {\n    super(...arguments);\n    this.registerCategory();\n  }\n\n  @computed('category.name')\n  get catfilterId() {\n    return this.args.category.name.replace(' ', '') + '-filter';\n  }\n\n  @action\n  toggleCategory(event) {\n    event.preventDefault();\n    this.isActive = !this.isActive;\n    this.args.onChange();\n  }\n\n  @action\n  registerCategory() {\n    this.args.categoryFilters.push(this);\n\n    if (this.args.categoryFilters.length === this.args.categoriesNumber) {\n      this.args.categoriesRegistered();\n    }\n  }\n}\n","import { action, computed } from '@ember/object';\nimport Component from '@glimmer/component';\n\nexport default class CategoryInput extends Component {\n  get category() {\n    return this.args.category;\n  }\n\n  get space() {\n    return this.args.space;\n  }\n\n  @computed('category.name')\n  get inputId() {\n    return this.category.name.replace(' ', '');\n  }\n\n  @action\n  handleClick() {\n    return this.category.toggleSpace(this.space);\n  }\n\n  // @computed('category.spaces.[]', 'space.id')\n  get categoryActiveForSpace() {\n    return !!this.category.spaces.findBy('id', this.space.get('id'));\n  }\n  set categoryActiveForSpace(value) {\n    // HACK: This is a hack to make the computed property settable\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class SpaceContextMenu extends Component {\n  @tracked mouseX = 0;\n  @tracked mouseY = 0;\n  @tracked isContextMenuOpened = false;\n  willDestroy() {\n    super.willDestroy(...arguments);\n    this.isContextMenuOpened = false;\n    this.mouseX = 0;\n    this.mouseY = 0;\n  }\n\n  @action\n  handleRightClick(e) {\n    e.stopPropagation();\n    if (this.isContextMenuOpened) {\n      this.isContextMenuOpened = false;\n    }\n    this.mouseX = e.pageX;\n    this.mouseY = e.pageY;\n    const search = document.querySelector(\"input[name='search']\");\n\n    if (search) {\n      const searchBounds = search.getBoundingClientRect();\n      const searchX = searchBounds.left;\n      const searchY = searchBounds.top;\n      const xValid =\n        e.pageX < searchX || e.pageX > searchX + searchBounds.width + 50;\n      const yValid =\n        e.pageY < searchY || e.pageY > searchY + searchBounds.height + 30;\n\n      if (xValid || yValid) {\n        e.preventDefault();\n        this.isContextMenuOpened = true;\n      }\n    } else {\n      e.preventDefault();\n      this.isContextMenuOpened = true;\n    }\n  }\n\n  @action\n  handleClick() {\n    if (!this.space.id) {\n      return false;\n    }\n  }\n}\n","import { alias } from '@ember/object/computed';\nimport { computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\n\nexport default class extends Component {\n  @service intl;\n  @service('transfers') transfersManager;\n\n  get transfer() {\n    return this.args.transfer;\n  }\n\n  get luxonOutputFormat() {\n    return this.intl.t('myTransfers.startTimeFormat');\n  }\n\n  @alias('transfer.progressPercent') buffer;\n\n  @computed('transfer.state')\n  get isQueued() {\n    return this.transfer.get('state') === 'queued';\n  }\n\n  @computed('transfer.state')\n  get isCompleted() {\n    return this.transfer.get('state') === 'completed';\n  }\n\n  @computed('transfer.state')\n  get isActive() {\n    return (\n      this.transfer.get('state') === 'active' ||\n      this.transfer.get('state') === 'retry'\n    );\n  }\n\n  @computed('transfer.direction')\n  get isUpload() {\n    return this.transfer.get('direction') === 'upload';\n  }\n\n  @computed('transfer.state')\n  get isFailed() {\n    return this.transfer.get('state') === 'failed';\n  }\n\n  @computed('isCompleted', 'isFailed')\n  get isEnded() {\n    return this.isCompleted || this.isFailed;\n  }\n\n  @action\n  handleDoubleClick() {\n    const direction = this.transfer.get('direction');\n    const state = this.transfer.get('state');\n    if (direction === 'download' && state === 'completed') {\n      const transfer = this.transfer;\n      transfer.saveAs();\n    }\n    if (direction === 'upload') {\n      const spaceId = this.transfer.get('spaceId');\n      const path = this.transfer.get('parentFolderPath');\n      this.args.goToUploadPath(spaceId, path);\n    }\n  }\n\n  @action\n  restart() {\n    const transfersManager = this.transfersManager;\n    const transfer = this.transfer;\n\n    if (transfer.direction === 'upload') {\n      transfersManager.retryUpload(transfer);\n    } else {\n      this.removeEntry();\n      if (transfer.restart) {\n        transfer.restart();\n      } else if (transfer.get('kind') === 'zip') {\n        transfersManager.downloadZip(\n          transfer.get('spaceId'),\n          transfer.get('sources'),\n          transfer.get('workspaceRevision'),\n        );\n      } else {\n        const fileId = `${transfer.get('spaceId')}::-1::${transfer.get(\n          'path',\n        )}`;\n        transfersManager.downloadFile(\n          fileId,\n          transfer.get('workspaceRevision'),\n        );\n      }\n    }\n  }\n\n  @action\n  removeEntry() {\n    const transfersManager = this.transfersManager;\n    const queuedArray = transfersManager.get('queued');\n    const completedArray = transfersManager.get('completed');\n    const failedArray = transfersManager.get('failed');\n    const activeArray = transfersManager.get('active');\n    let entry = this.transfer;\n    if (entry.state === 'queued') {\n      queuedArray.removeObject(entry);\n    }\n    if (entry.state === 'completed') {\n      completedArray.removeObject(entry);\n    }\n    if (entry.state === 'failed') {\n      activeArray.removeObject(entry);\n      failedArray.removeObject(entry);\n    }\n    if (entry.state === 'active' || entry.state === 'retry') {\n      entry.cancelTransfer();\n      entry.set('toasted', true);\n      transfersManager.startNextTransfer();\n    }\n  }\n}\n","import { inject as service } from '@ember/service';\nimport { computed, action } from '@ember/object';\nimport Component from '@glimmer/component';\nimport { union } from '@ember/object/computed';\nimport { tracked } from '@glimmer/tracking';\n\nconst MENU_COLLAPSE_BREAKPOINT = 700;\nexport default class NavigationBarComponent extends Component {\n  @tracked isCollasped = false;\n\n  @service modalManager;\n  @service account;\n  @service messaging;\n  @service commonService;\n  @service intl;\n  @service router;\n  @service('transfers') transfersManager;\n  @service autoUpdate;\n  @service uiNotifications;\n  @service('deposit-box') depositBoxService;\n\n  constructor() {\n    super(...arguments);\n    this.setCollapse();\n    window.addEventListener('resize', this.setCollapse.bind(this));\n  }\n\n  @computed('allTransfer.@each.{state}')\n  get displayProgessBar() {\n    return this.allTransfer.some(transfer => transfer.state === 'active' || transfer.state === 'retry');\n  }\n\n  @computed('transfersManager.failed.{length}')\n  get showWarningTransferIcon() {\n    return this.transfersManager.failed.length > 0;\n  }\n\n  @computed('commonService.creationGroupRegistry')\n  get groupInCreation() {\n    return this.commonService.creationGroupRegistry;\n  }\n\n  @computed('depositBoxService.canAccessDepositBox')\n  get canShowDepositBox() {\n    return this.depositBoxService.canAccessDepositBox;\n  }\n\n  @union('transfersManager.active', 'transfersManager.queued', 'transfersManager.currentFiles')\n  allTransfer;\n\n  @computed('transfersManager.active.@each.{progressPercent}')\n  get progression() {\n    const allProgress = this.allTransfer.map( transfers => transfers.progressPercent);\n    return allProgress.reduce((previous, current) => previous + current, 0) / allProgress.length;\n  }\n\n  @computed('progression')\n  get bufferTotal() {\n    return this.progression;\n  }\n\n  @computed('account.serverSettings.externalDocumentation')\n  get hasExternalDocumentation() {\n    return !!this.account.serverSettings?.externalDocumentation;\n  }\n  get externalDocumentationMenuEntry() {\n    const isFr = this.intl.primaryLocale.startsWith('fr');\n    if (isFr) {\n      return this.account.serverSettings?.externalDocumentation?.menuEntry?.fr;\n    } else {\n      return this.account.serverSettings?.externalDocumentation?.menuEntry?.en;\n    }\n  }\n\n  @action\n  setCollapse() {\n    if (document.documentElement.clientWidth <= MENU_COLLAPSE_BREAKPOINT) {\n      this.isCollasped = true;\n    } else {\n      this.isCollasped = false;\n    }\n  }\n\n  @action\n  toggleMenu() {\n    this.isCollasped = !this.isCollasped;\n  }\n\n  @action\n  openAboutModal(event) {\n    event.preventDefault();\n    this.modalManager.open('about-modal');\n  }\n\n  @action\n  closeAboutModal() {\n    this.modalManager.close('about-modal');\n  }\n\n  @action\n  openExternalDocumentationModal(event) {\n    event.preventDefault();\n    this.modalManager.open('external-documentation-modal');\n  }\n  @action\n  closeExternalDocumentationModal() {\n    this.modalManager.close('external-documentation-modal');\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { inject as service } from \"@ember/service\";\nimport { action } from \"@ember/object\";\nimport getIconFromNotificationAction from \"../../utils/getIconFromNotificationAction\";\n/* global libcryptobox */\n\nexport default class NotificationComponent extends Component {\n  @service intl;\n  @service router;\n\n  get icon() {\n    const { notification } = this.args;\n    const { action, contentType } = notification;\n\n    return getIconFromNotificationAction(action, contentType);\n  }\n\n  get notificationContent() {\n    const { notification } = this.args;\n\n    if (notification.action === \"invitee_registered\") {\n      return this.intl.t(\"preaddModal.validate.notification\", {\n        fullname: notification.user.fullName,\n      });\n    }\n    return notification.text;\n  }\n\n  get isUnread() {\n    const { notification } = this.args;\n\n    return notification.state === libcryptobox.NotificationState.Unread;\n  }\n\n  @action\n  onDelete() {\n    this.args.notification.destroyRecord();\n  }\n\n  @action\n  onClickValidateLink(event) {\n    event.stopPropagation();\n    event.preventDefault();\n\n    this.router.transitionTo(\n      \"validate-preadd\",\n      this.args.notification.user.email\n    );\n  }\n}\n","import { computed, action } from '@ember/object';\nimport { sort } from '@ember/object/computed';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class NotificationDropDown extends Component {\n  @tracked isExpanded = false;\n  @tracked sortingRules = ['state:desc', 'date:desc'];\n  @tracked spaces = [];\n\n  @service uiNotifications;\n  @service store;\n\n  constructor() {\n    super(...arguments);\n    this.store\n      .findAll('notification', { adapterOptions: { subscribe: this } })\n      .then((notificationsRecords) => {\n        this.uiNotifications.set('notifications', notificationsRecords);\n      });\n    this.spaces = this.store.findAll('space', { adapterOptions: { subscribe: this } })\n  }\n\n  willDestroy() {\n    super.willDestroy(...arguments);\n    this.store.adapterFor('notification').unsubscribe(this);\n    this.store.adapterFor('space').unsubscribe(this);\n    this.isExpanded = false;\n  }\n\n  _markRead() {\n    // this.removeClickOutsideListener();\n    if (this.notifications) {\n      this.notifications.forEach((notification) => {\n        notification.markAsRead();\n      });\n    }\n  }\n\n  @sort('uiNotifications.notifications', 'sortingRules') sortedNotifications;\n\n  @computed('sortedNotifications.[]')\n  get notifications() {\n    const notifications = this.sortedNotifications.filter(notification => notification.state === 'unread');\n\n    if (document.hidden && notifications.length > 0) {\n      const icon = document.querySelector('link[rel=\"icon\"]');\n      icon.href = `/static/img/logo_notified.png`;\n    }\n    return notifications.slice(0, 4);\n  }\n\n  @action\n  handleCLick(e) {\n    e.preventDefault();\n    e.stopPropagation();\n    if (this.isExpanded) {\n      this.isExpanded = false;\n    } else {\n      this.isExpanded = true;\n    }\n  }\n\n  @action\n  clickOutside() {\n    if (this.isExpanded) {\n      this.isExpanded = false;\n      this._markRead();\n    }\n  }\n}\n","import Component from '@glimmer/component';\n\nexport default class OnlineEditionBadge extends Component {\n  get tooltipSide() {\n    return this.args.tooltipSide ?? 'right';\n  }\n}","import Component from \"@glimmer/component\";\nimport { action } from '@ember/object';\nimport { inject as service } from \"@ember/service\";\nimport { tracked } from \"@glimmer/tracking\";\n\n\nexport default class OtpValidationModalComponent extends Component {\n\n  @service secondFactorAuthenticator;\n  @service intl;\n  @service modalManager;\n  @service notify;\n\n  @tracked otpCode;\n  @tracked otpError;\n  @tracked isOtpValidateInProgress = false;\n\n\n  constructor() {\n    super(...arguments);\n  }\n\n  @action\n  cancelOtp() {\n    this.secondFactorAuthenticator.cancelOtp();\n    this.otpCode  = null;\n    this.otpError = null;\n    this.isOtpValidateInProgress = false;\n    this.modalManager.close('otp');\n  }\n\n  @action\n  async validateOtp() {\n    this.otpError = null;\n    this.isOtpValidateInProgress = true;\n    try {\n      await this.secondFactorAuthenticator.setOtp(this.otpCode);\n      this.otpCode = null;\n      this.modalManager.close('otp');\n    } catch (error) {\n      this.otpError = error.message;\n    } finally {\n      this.isOtpValidateInProgress = false;\n    }\n  }\n\n  @action\n  async resendOtp() {\n    try {\n      await this.secondFactorAuthenticator.resendOtp();\n      this.notify.success(this.intl.t(\"otp.newCodeSent\"));\n    } catch (error) {\n      this.otpError = error.message;\n    }\n  }\n\n}\n","import Component from \"@glimmer/component\";\nimport { action } from '@ember/object';\n\n\nexport default class OtpValidationComponent extends Component {\n  constructor() {\n    super(...arguments);\n  }\n\n  @action \n  resendCode(event) {\n    event.stopPropagation();\n    event.preventDefault();\n    if (this.args.resendCode) this.args.resendCode();\n  }\n\n  @action\n  formSubmit(event) {\n    event.preventDefault();\n  }\n\n}\n","import { action } from \"@ember/object\";\nimport { inject as service } from \"@ember/service\";\nimport Component from \"@glimmer/component\";\n\nexport default class OwnerCountModal extends Component {\n    @service modalManager;\n\n    @action\n    close() {\n        this.modalManager.close('owner-count-modal');\n    }\n}","import { htmlSafe } from '@ember/template';\nimport { computed } from '@ember/object';\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class PanelBody extends Component {\n  @tracked elementIsInserted = true;\n\n  get isOpen() {\n    return this.args.isOpen;\n  }\n\n  @computed('contentHeight', 'isOpen')\n  get style() {\n    if (this.isOpen) {\n      let panelHeight = this.contentHeight;\n      return htmlSafe('height:' + panelHeight + 'px;');\n    }\n  }\n\n  @computed('elementId', 'elementIsInserted')\n  get contentHeight() {\n    const element = document.querySelector(\n      '#' + this.elementId + ' .panel-body-content',\n    );\n\n    if (element) {\n      return element.height;\n    }\n\n    return null;\n  }\n}\n","import { oneWay } from '@ember/object/computed';\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class extends Component {\n  @tracked isOpen = false;\n\n  @oneWay('elementId') name;\n\n  get group() {\n    return this.args.group;\n  }\n\n  @action\n  toggleIsOpen() {\n    const panels = document.querySelectorAll('.panel');\n    panels.forEach((panel) => {\n      panel.classList.remove('panel-is-open');\n    });\n\n    const panelsBody = document.querySelectorAll('.panel-body');\n    panelsBody.forEach((panelBody) => {\n      panelBody.classList.remove('panel-is-open');\n    });\n\n    this.isOpen = !this.isOpen;\n    let group = this.group;\n    if (group) {\n      if (group.accordion) {\n        if (this.isOpen) {\n          this.args.setOpenPanel(this.name);\n        } else {\n          this.args.setOpenPanel(null);\n        }\n      }\n    }\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\n\nexport default class PanelHeader extends Component{\n\n  get isOpen() {\n    return this.args.isOpen;\n  }\n  @action\n  click(e) {\n    e.preventDefault();\n    this.args.onClick();\n  }\n}\n","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nexport default class PanelContainer extends Component {\n  @tracked accordion = true;\n  @tracked openedPanel = null;\n\n  @action\n  setOpenPanel(value) {\n    return (this.openedPanel = value);\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { runTask } from 'ember-lifeline';\n\nexport default class PdfViewerContentComponent extends Component {\n  @tracked findText = '';\n  @tracked isViewerFocused = false;\n\n  @service('pdfjs-service') pdfjsService;\n\n  constructor() {\n    super(...arguments);\n  }\n\n  get pdfViewer() {\n    return this.pdfjsService.pdfViewer;\n  }\n\n  get findController() {\n    return this.pdfjsService.findController;\n  }\n\n  get eventBus() {\n    return this.pdfjsService.eventBus;\n  }\n\n  get alignToolbarItemPosition() {\n    return this.pdfjsService.alignToolbarItemPosition;\n  }\n\n  updateScaleDisplay() {\n    const currentScale = this.pdfViewer.currentScale;\n    const currentScaleValue = this.pdfViewer.currentScaleValue;\n\n    const scaleSelect = document.getElementById('scaleSelect');\n    const customOption = document.getElementById('customScaleOption');\n\n    if (\n      currentScaleValue === 'auto' ||\n      currentScaleValue === 'page-fit' ||\n      currentScaleValue === 'page-width' ||\n      currentScaleValue === 'page-actual'\n    ) {\n      scaleSelect.value = currentScaleValue;\n      customOption.style.display = 'none';\n      return;\n    }\n    const percentage = Math.round(currentScale * 100);\n    const predefinedValues = ['0.5', '0.75', '1', '1.25', '1.5', '2', '3', '4'];\n    if (predefinedValues.includes(currentScale.toString())) {\n      scaleSelect.value = currentScale.toString();\n      customOption.style.display = 'none';\n    } else {\n      customOption.style.display = 'block';\n      customOption.textContent = `${percentage}%`;\n      customOption.value = 'custom';\n      scaleSelect.value = 'custom';\n    }\n  }\n\n  @action\n  zoomOut() {\n    this.pdfViewer.currentScale /= 1.1;\n    this.updateScaleDisplay();\n  }\n\n  @action\n  zoomIn() {\n    this.pdfViewer.currentScale *= 1.1;\n    this.updateScaleDisplay();\n  }\n\n  @action\n  setInitialFocus() {\n    const viewerContainer = document.getElementById('viewerContainer');\n    if (viewerContainer) {\n      viewerContainer.focus();\n      this.isViewerFocused = true;\n    }\n  }\n  @action\n  handleDocumentClick(event) {\n    const secondaryToolbar = document.getElementById('secondaryToolbar');\n    const secondaryToolbarToggle = document.getElementById(\n      'secondaryToolbarToggle',\n    );\n\n    if (\n      secondaryToolbar &&\n      !secondaryToolbar.classList.contains('hidden') &&\n      !secondaryToolbar.contains(event.target) &&\n      event.target !== secondaryToolbarToggle) {\n      secondaryToolbar.classList.add('hidden');\n    }\n  }\n\n  @action\n  async initializePdfViewer() {\n    this.pdfjsService.initializeBase();\n\n    document.addEventListener('keydown', this.handleKeyDown);\n\n    const viewerContainer = document.getElementById('viewerContainer');\n    viewerContainer.addEventListener('focus', this.handleViewerFocus);\n    viewerContainer.addEventListener('blur', this.handleViewerBlur);\n\n    this.eventBus.on('pagesloaded', () => {\n      runTask(this, this.setInitialFocus, 100);\n    });\n    document.addEventListener('click', this.handleDocumentClick, true);\n\n    document.getElementById('previous').addEventListener('click', () => {\n      if (this.pdfViewer.currentPageNumber > 1) {\n        this.pdfViewer.previousPage();\n      }\n    });\n\n    document.getElementById('next').addEventListener('click', () => {\n      if (this.pdfViewer.currentPageNumber < this.pdfViewer.pagesCount) {\n        this.pdfViewer.nextPage();\n      }\n    });\n    document.getElementById('viewFindButton').addEventListener('click', () => {\n      this.alignToolbarItemPosition();\n\n      const findBar = document.getElementById('findbar');\n      findBar?.classList?.toggle('hidden');\n    });\n\n    document\n      .getElementById('secondaryToolbarToggle')\n      .addEventListener('click', () => {\n        this.alignToolbarItemPosition();\n\n        const secondaryToolbar = document.getElementById('secondaryToolbar');\n        secondaryToolbar?.classList?.toggle('hidden');\n      });\n\n    document.getElementById('scaleSelect').addEventListener('change', (e) => {\n      const scaleValue = e.target.value;\n      if (scaleValue === 'auto') {\n        this.pdfViewer.currentScaleValue = 'auto';\n      } else if (scaleValue === 'page-fit') {\n        this.pdfViewer.currentScaleValue = 'page-fit';\n      } else if (scaleValue === 'page-width') {\n        this.pdfViewer.currentScaleValue = 'page-width';\n      } else if (scaleValue === 'page-actual') {\n        this.pdfViewer.currentScaleValue = 1.0;\n      } else {\n        const numericScale = parseFloat(scaleValue);\n        if (!isNaN(numericScale)) {\n          this.pdfViewer.currentScaleValue = numericScale;\n        } else {\n          console.error('Invalid scale value:', scaleValue);\n        }\n      }\n    });\n\n    document.getElementById('pageNumber').addEventListener('change', (e) => {\n      this.pdfViewer.currentPageNumber = Number(e.target.value);\n    });\n\n    document.addEventListener('keydown', (event) => {\n      if ((event.ctrlKey || event.metaKey) && event.key === 'p') {\n        event.preventDefault();\n      }\n    });\n\n    document.addEventListener('keydown', (event) => {\n      if (event.key === 'Escape') {\n        const findBar = document.getElementById('findbar');\n        if (!findBar?.classList?.contains('hidden')) {\n          findBar?.classList.add('hidden');\n        }\n      }\n    });\n    document.getElementById('findInput').addEventListener('input', (e) => {\n      this.eventBus.dispatch('find', {\n        query: e.target.value,\n        phraseSearch: true,\n        caseSensitive: document.getElementById('findMatchCase').checked,\n        entireWord: document.getElementById('findEntireWord').checked,\n      });\n    });\n\n    this.eventBus.on('pagesloaded', (evt) => {\n      const pageNumber = evt.pagesCount;\n      if (pageNumber <= 1) {\n        document.getElementById('previous').setAttribute('disabled', true);\n        document.getElementById('next').setAttribute('disabled', true);\n      }\n      document.getElementById('pageNumber').setAttribute('max', pageNumber);\n    });\n\n    this.eventBus.on('pagechanging', (evt) => {\n      const page = evt.pageNumber;\n      document.getElementById('previous').disabled = page <= 1;\n      document.getElementById('next').disabled =\n        page >= this.pdfViewer.pagesCount;\n\n      document.getElementById('pageNumber').value = page;\n    });\n\n    this.eventBus.on('scalechanging', () => this.updateScaleDisplay());\n\n    document\n      .getElementById('presentationMode')\n      .addEventListener('click', () => {\n        this.pdfjsService.togglePresentationMode();\n      });\n\n    document.getElementById('firstPage').addEventListener('click', () => {\n      this.pdfjsService.pdfViewer.currentPageNumber = 1;\n      this.pdfjsService.closeSecondaryToolbar();\n    });\n\n    document.getElementById('lastPage').addEventListener('click', () => {\n      this.pdfjsService.pdfViewer.currentPageNumber = this.pdfViewer.pagesCount;\n      this.pdfjsService.closeSecondaryToolbar();\n    });\n\n    document\n      .getElementById('cursorSelectTool')\n      .addEventListener('click', () => {\n        this.pdfjsService.selectTool();\n      });\n\n    document.getElementById('cursorHandTool').addEventListener('click', () => {\n      this.pdfjsService.handTool();\n    });\n\n    document.getElementById('pageRotateCw').addEventListener('click', () => {\n      this.pdfjsService.pdfViewer.pagesRotation =\n        (this.pdfjsService.pdfViewer.pagesRotation + 90) % 360;\n    });\n    document.getElementById('pageRotateCcw').addEventListener('click', () => {\n      this.pdfjsService.pdfViewer.pagesRotation =\n        (this.pdfjsService.pdfViewer.pagesRotation - 90) % 360;\n    });\n    ['None', 'Odd', 'Even'].forEach((mode) => {\n      document\n        .getElementById(`spread${mode}`)\n        ?.addEventListener('click', () => {\n          this.pdfjsService.setSpreadMode(mode.toLowerCase());\n        });\n    });\n    document.getElementById('scrollWrapped').addEventListener('click', () => {\n      this.pdfjsService.pdfViewer.scrollMode = 0;\n    });\n    ['Page', 'Vertical', 'Horizontal', 'Wrapped'].forEach((mode) => {\n      document\n        .getElementById(`scroll${mode}`)\n        ?.addEventListener('click', () => {\n          this.pdfjsService.setScrollMode(mode.toLowerCase());\n        });\n    });\n    document\n      .getElementById('documentProperties')\n      ?.addEventListener('click', () => {\n        this.pdfjsService.showDocumentProperties();\n      });\n\n    document\n      .getElementById('documentPropertiesClose')\n      ?.addEventListener('click', () => {\n        document.getElementById('documentPropertiesDialog').close();\n      });\n\n    document.getElementById('passwordCancel').addEventListener('click', () => {\n      document.getElementById('password').value = '';\n      document.getElementById('passwordDialog').close();\n      this.eventBus.dispatch('passwordcancel');\n    });\n\n    document.getElementById('passwordSubmit').addEventListener('click', () => {\n      const password = document.getElementById('password').value;\n      document.getElementById('passwordDialog').close();\n      document.getElementById('password').value = '';\n\n      this.pdfjsService.loadPdf(this.pdfjsService.pdfUrl, password);\n    });\n\n    this.pdfjsService.eventBus.on('cursortoolchanged', (evt) => {\n      const { tool } = evt;\n      this.pdfjsService.setCursorTool(tool);\n    });\n  }\n\n  @action\n  findTextChange(event) {\n    this.findText = event.target.value;\n    if (this.findText) {\n      this.executeFindOperation();\n    }\n  }\n\n  @action\n  async findKeyDown(event) {\n    if (event.key === 'Enter') {\n      if (event.shiftKey) {\n        this.findPrevious();\n      } else {\n        this.findNext();\n      }\n    }\n  }\n\n  @action\n  executeFindOperation(findPrevious = false, type = 'find') {\n    if (!this.findText) {\n      return;\n    }\n    const findMatchCase =\n      document.getElementById('findMatchCase')?.checked || false;\n    const findEntireWord =\n      document.getElementById('findEntireWord')?.checked || false;\n    const findHighlightAll =\n      document.getElementById('findHighlightAll')?.checked || false;\n    const findMatchDiacritics =\n      document.getElementById('findMatchDiacritics')?.checked || false;\n\n    this.pdfjsService.executeFindOperation({\n      query: this.findText,\n      phraseSearch: true,\n      caseSensitive: findMatchCase,\n      entireWord: findEntireWord,\n      highlightAll: findHighlightAll,\n      findPrevious: findPrevious,\n      matchDiacritics: findMatchDiacritics,\n      type,\n    });\n  }\n\n  @action\n  findPrevious() {\n    this.executeFindOperation(true, 'again');\n  }\n\n  @action\n  findNext() {\n    this.executeFindOperation(false, 'again');\n  }\n\n  @action\n  handleFind() {\n    this.executeFindOperation(false, 'find');\n  }\n\n  @action\n  handleKeyDown(event) {\n    if (!this.isViewerFocused && !event.target.closest('#viewerContainer')) {\n      return;\n    }\n\n    const SCROLL_AMOUNT = 40;\n    const viewerContainer = document.getElementById('viewerContainer');\n\n    switch (event.key) {\n      case 'ArrowDown':\n        event.preventDefault();\n        viewerContainer.scrollTop += SCROLL_AMOUNT;\n        break;\n      case 'ArrowUp':\n        event.preventDefault();\n        viewerContainer.scrollTop -= SCROLL_AMOUNT;\n        break;\n      case 'ArrowRight':\n        event.preventDefault();\n        viewerContainer.scrollLeft += SCROLL_AMOUNT;\n        break;\n      case 'ArrowLeft':\n        event.preventDefault();\n        viewerContainer.scrollLeft -= SCROLL_AMOUNT;\n        break;\n      case 'PageDown':\n        event.preventDefault();\n        viewerContainer.scrollTop += viewerContainer.clientHeight;\n        break;\n      case 'PageUp':\n        event.preventDefault();\n        viewerContainer.scrollTop -= viewerContainer.clientHeight;\n        break;\n      case 'Home':\n        event.preventDefault();\n        viewerContainer.scrollTop = 0;\n        break;\n      case 'End':\n        event.preventDefault();\n        viewerContainer.scrollTop = viewerContainer.scrollHeight;\n        break;\n      case ' ': // Espace\n        event.preventDefault();\n        if (event.shiftKey) {\n          viewerContainer.scrollTop -= viewerContainer.clientHeight;\n        } else {\n          viewerContainer.scrollTop += viewerContainer.clientHeight;\n        }\n        break;\n    }\n  }\n\n  @action\n  handleViewerFocus() {\n    this.isViewerFocused = true;\n  }\n\n  @action\n  handleViewerBlur() {\n    this.isViewerFocused = false;\n  }\n\n  willDestroy() {\n    super.willDestroy();\n\n    document.removeEventListener('keydown', this.handleKeyDown);\n    document.removeEventListener('click', this.handleDocumentClick, true);\n\n    const viewerContainer = document.getElementById('viewerContainer');\n    if (viewerContainer) {\n      viewerContainer.removeEventListener('focus', this.handleViewerFocus);\n      viewerContainer.removeEventListener('blur', this.handleViewerBlur);\n    }\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { action } from \"@ember/object\";\nimport { inject as service } from \"@ember/service\";\nimport { tracked } from '@glimmer/tracking';\n\nexport default class BadgeComponent extends Component {\n  @service modalManager;\n  @tracked badgeStyle = \"\";\n\n  constructor() {\n    super(...arguments);\n    this.setColor(this.args.color);\n  }\n\n  setColor(color) {\n    this.badgeStyle = `color:${color}; border:2px solid ${color};`;\n  }\n\n  @action\n  onClick() {\n    if (this.args.isClickable) {\n      this.modalManager.open('platform-customization-modal');\n    }\n  }\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class PlatformCustomizationComponent extends Component {\n  @service platformCustomization;\n  @service connection;\n\n  @tracked platformConfig = null;\n\n  constructor() {\n    super(...arguments);\n    this.platformCustomization.getConfigFromUrl(this.serverUrl, (config) => {\n      this.platformConfig = config;\n    });\n  }\n\n  get description() {\n    if (this.args.description) return this.args.description;\n    if (this.platformConfig) return this.platformConfig.description;\n    return null;\n  }\n\n  get badgeLabel() {\n    if (this.args.text) return this.args.text;\n    if (this.platformConfig) return this.platformConfig.badgeLabel;\n    return null;\n  }\n\n  get badgeColor() {\n    if (this.args.color) return this.args.color;\n    if (this.platformConfig) return this.platformConfig.badgeColor;\n    return null;\n  }\n\n  get serverUrl() {\n    if (this.args.serverUrl) return this.args.serverUrl;\n    return null;\n  }\n\n  get isEnabled() {\n    return this.platformConfig && this.platformConfig.isEnabled;\n  }\n}\n","import Component from \"@glimmer/component\";\n\nexport default class ModalComponent extends Component {\n\n}","import { action, computed } from '@ember/object';\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { inject as service } from '@ember/service';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n/* global libcryptobox */\n\nexport default class ValidateMembersComponent extends Component {\n  @tracked index = 0;\n\n  @service account;\n  @service preaddMember;\n  @service store;\n  @service modalManager;\n  @service notify;\n  @service intl;\n\n  get indexShowed() {\n    return this.index + 1;\n  }\n\n  @computed('preaddMember.preaddUser', 'preaddMember.preaddedMembers.[]')\n  get noPreaddUser() {\n    return (\n      !!this.preaddMember.preaddUser &&\n      !this.preaddMember.preaddedMembers.some(\n        (user) => user.email === this.preaddMember.preaddUser,\n      )\n    );\n  }\n\n  get modalTitle() {\n    if (this.noPreaddUser) return this.intl.t('preaddModal.validate.title2');\n\n    return this.intl.t('preaddModal.validate.title1', {\n      index: this.indexShowed,\n      maxIndex: this.preaddMember.maxIndex,\n    });\n  }\n\n  get notAllAlreadyAdded() {\n    if (!this.sortedPreaddMember) return false;\n    return this.sortedPreaddMember.invites.some(\n      (invite) => invite.status !== libcryptobox.PreaddedStatus.Added,\n    );\n  }\n\n  @computed(\n    'index',\n    'preaddMember.preaddedMembers.[]',\n    'sortedPreaddMember.email',\n  )\n  get user() {\n    if (!this.sortedPreaddMember) return null;\n    return tBoxClient.user.get(this.sortedPreaddMember.email);\n  }\n\n  @computed('preaddMember.{preaddUser,preaddedMembers.length}', 'index')\n  get sortedPreaddMember() {\n    if (!this.preaddMember.preaddedMembers) return null;\n    return this.preaddMember.preaddedMembers[this.index];\n  }\n\n  @action\n  resetIndex() {\n    this.index = 0;\n  }\n\n  @action\n  async cancelInvites() {\n    const currentPreadd = this.preaddMember.preaddedMembers[this.index];\n    currentPreadd.invites.forEach((invite) => invite.destroyRecord());\n\n    if (this.indexShowed === this.preaddMember.preaddedMembers.length) {\n      this.index = 0;\n      this.modalManager.close('validatePreadd');\n      this.account.onCloseModals('validatePreadd');\n      return;\n    }\n\n    this.index += 1;\n  }\n\n  @action\n  async confirmInvites() {\n    const currentPreadd = this.preaddMember.preaddedMembers[this.index];\n    const invitee = currentPreadd.user;\n    currentPreadd.invites.forEach((invite) => {\n      if (invite.status === libcryptobox.PreaddedStatus.Registered) {\n        const newSpaceMember = this.store.createRecord('spaceMember', {\n          email: invitee.email,\n          firstName: invitee.firstName,\n          lastName: invitee.lastName,\n          certificate: invitee.certificate,\n          role: invite.role,\n          space: invite.space,\n          maximumLevel: libcryptobox.LicensePool.User,\n        });\n        newSpaceMember.save({\n          adapterOptions: { fingerprint: invitee.fingerprint },\n        });\n      } else {\n        invite.destroyRecord();\n      }\n    });\n\n    if (this.indexShowed === this.preaddMember.preaddedMembers.length) {\n      this.index = 0;\n      this.modalManager.close('validatePreadd');\n      this.account.onCloseModals('validatePreadd');\n      return;\n    }\n\n    this.index += 1;\n  }\n\n  @action\n  nextPreadd() {\n    const currentPreadd = this.preaddMember.preaddedMembers[this.index];\n\n    if (currentPreadd) {\n      currentPreadd.invites.forEach((invite) => {\n        if (invite.status === libcryptobox.PreaddedStatus.Added) {\n          // destroyRecord generate an exception so i use toolbox api directly\n          tBoxClient.preaddedSpaceMember.delete(invite.id);\n        }\n      });\n    }\n\n    if (\n      this.indexShowed === this.preaddMember.preaddedMembers.length ||\n      this.preaddMember.preaddedMembers.length === 0\n    ) {\n      this.index = 0;\n      this.modalManager.close('validatePreadd');\n      this.account.onCloseModals('validatePreadd');\n      return;\n    }\n\n    this.index += 1;\n  }\n\n  @action\n  closeNoPreadd() {\n    if (this.preaddMember.maxIndex === 0) {\n      this.modalManager.close('validatePreadd');\n      this.account.onCloseModals('validatePreadd');\n    }\n    setTimeout(() => {\n      if (this.preaddMember.preaddUser) {\n        this.preaddMember.preaddUser = null;\n      }\n    }, 1000);\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { inject as service } from '@ember/service';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n/* global libcryptobox */\n\nexport default class WorkspaceRoleComponent extends Component {\n  @tracked workspaceName;\n  @tracked newRight = null;\n\n  @service store;\n  @service intl;\n  @service notify;\n\n  get inviteeRight() {\n    return this.newRight || this.args.invitee.role;\n  }\n\n  get alreadyAdded() {\n    return this.args.invitee.status === libcryptobox.PreaddedStatus.Added;\n  }\n\n  @action\n  revokeUser() {\n    tBoxClient.preaddedSpaceMember.delete(this.args.invitee.id).then(() => {\n      this.args.allInvites.removeObject(this.args.invitee);\n      void this.args.invitee.destroyRecord();\n      if (this.args.allInvites.length === 0 && this.args.closeOrNext) {\n        this.args.closeOrNext();\n      }\n      this.notify.success(\n        this.intl.t('toasts.removeWorkspaceUser.message', {\n          user: this.args.invitee.email,\n        }),\n        {\n          title: this.intl.t('toasts.removeWorkspaceUser.title'),\n          icon: 'group',\n        },\n      );\n    });\n  }\n\n  @action\n  updateInviteeRight(newRight) {\n    const { invitee, updateRoleOnRow } = this.args;\n\n    this.newRight = newRight.value;\n    if (updateRoleOnRow) {\n      tBoxClient.preaddedSpaceMember.setRole(invitee.id, newRight.value);\n    }\n    invitee.role = newRight.value;\n  }\n}\n","import { isPresent } from '@ember/utils';\nimport { computed } from '@ember/object';\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class ProgressBar extends Component {\n  @tracked transforms;\n\n  get accent() {\n    return this.args.accent || false;\n  }\n\n  get value() {\n    return this.args.value || null;\n  }\n\n  get bufferValue() {\n    return this.args.bufferValue || null;\n  }\n\n  constructor() {\n    super(...arguments);\n    this.transforms = new Array(101)\n      .fill(null)\n      .map((_, i) => this.makeTransform(i));\n  }\n\n  get mode() {\n    if (isPresent(this.value)) {\n      if (isPresent(this.bufferValue)) {\n        return 'buffer';\n      } else {\n        return 'determinate';\n      }\n    } else {\n      return 'indeterminate';\n    }\n  }\n\n  get bar1Style() {\n    return 'transform' + ': ' + this.transforms[this.clampedBufferValue];\n  }\n\n  get bar2Style() {\n    if (this.mode === 'query') {\n      return '';\n    }\n    return 'transform' + ': ' + this.transforms[this.clampedValue];\n  }\n\n  get clampedValue() {\n    const newValue = this.clampValue(this.value)\n    return newValue;\n  }\n\n  get clampedBufferValue() {\n    return this.clampValue(this.bufferValue);\n  }\n\n  clampValue(value) {\n    if (value > 100) {\n      return 100;\n    }\n    if (value < 0) {\n      return 0;\n    }\n    return Math.ceil(value || 0);\n  }\n\n  /**\n   *\n   *  Integrate component call directly on template\n   *\n   *  Set up Progresse bar mode\n   *  {{progress-bar}} => Indetermiate\n   *  {{progress-bar value=xx}}   => Determinate mode\n   *  {{progress-bar value=xx bufferValue=xx}}   => Buffer moode\n   *\n   *  Select Color scheme\n   *  {{progress-bar accent=true}}  => Select Theme defaut(blue) / Accent=ture For yellow / Warn=true for red\n   *\n   */\n  makeTransform(value) {\n    let scale = value / 100;\n    let translateX = (value - 100) / 2;\n    return `translateX(${translateX}%) scale(${scale}, 1)`;\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\n\nexport default class ResizableBar extends Component {\n  @action\n  resize(event) {\n    const panel = document.querySelector('.left-pane');\n    const content = document.querySelector('#group_content');\n    let panelWidth = event.pageX - panel.getBoundingClientRect().left;\n    const minWidth = 200;\n    if (panelWidth > content.offsetWidth) {\n      panelWidth = content.offsetWidth - 10;\n    }\n    if (panelWidth < minWidth) {\n      panelWidth = minWidth;\n    }\n    panel.style.width = panelWidth + 'px';\n  }\n\n  @action\n  mouseDown() {\n    window.addEventListener('mousemove', this.resize);\n    window.addEventListener('mouseup', () =>\n      window.removeEventListener('mousemove', this.resize),\n    );\n  }\n\n  willDestroy() {\n    super.willDestroy(...arguments);\n    window.removeEventListener('mousemove', this.resize);\n  }\n}\n","import Component from '@glimmer/component';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { task, timeout } from 'ember-concurrency';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class RestoreWorkspace extends Component {\n  @tracked workspaceRevision = null;\n  modalName = 'confirmRestoration';\n\n  @service intl;\n  @service notify;\n  @service commonService;\n  @service modalManager;\n  @service router;\n\n  get fileRevision() {\n    return this.args.fileRevision;\n  }\n\n  get spaceId() {\n    return this.args.spaceId;\n  }\n\n  @task\n  *restoreWs(spaceId, wsRevision) {\n    yield timeout(1000);\n    const queryParams = { queryParams: { fileRevision: 0, spaceId: spaceId } };\n\n    return tBoxClient.fileRevision\n      .restore(spaceId, wsRevision)\n      .then(() => {\n        const successTitle = this.intl.t('notifications.restore.success.title');\n        const successBody = this.intl.t(\n          'notifications.restore.success.content',\n        );\n        this.closePopup();\n        this.notify.success(successBody, {\n          title: successTitle,\n          closeAfter: 3000,\n        });\n        this.router.transitionTo('my-groups.group.documents', queryParams);\n      })\n      .catch(() => {\n        const failTitle = this.intl.t('notifications.restore.fail.title');\n        const failBody = this.intl.t('notifications.restore.fail.content');\n        this.notify.error(failBody, { title: failTitle, closeAfter: 3000 });\n        this.router.transitionTo('my-groups.group.documents', queryParams);\n      });\n  }\n\n  @action\n  openPopupToConfirm() {\n    this.modalManager.open(this.modalName);\n  }\n\n  @action\n  closePopup() {\n    this.modalManager.close(this.modalName);\n  }\n\n  /**\n   * set back the current workspace's files to a certain revision number\n   */\n  @action\n  restoreToThisRevision() {\n    let spaceId = this.spaceId;\n    let wsRevision = this.commonService.workspaceRevision;\n    if (spaceId && wsRevision) {\n      this.restoreWs.perform(spaceId, wsRevision);\n    } else {\n      console.error(\n        'missing spaceId or workspaceRevision to restore this workspace',\n        spaceId,\n        wsRevision,\n      );\n    }\n  }\n}\n","import { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { openExternal } from 'client/ipc';\nimport { tracked } from '@glimmer/tracking';\nimport Component from '@glimmer/component';\n\nexport default class SecondFactorAuthenticator extends Component {\n  @tracked secondFactorWindow = null;\n\n  @service modalManager;\n  @service secondFactorAuthenticator;\n  @service connection;\n\n  constructor() {\n    super(...arguments);\n    if (this.done) {\n      this.close();\n    }\n  }\n\n  get done() {\n    return this.args.done;\n  }\n\n  willDestroy() {\n    super.willDestroy(...arguments);\n    if (this.secondFactorWindow) {\n      this.secondFactorWindow.close();\n    }\n    this.secondFactorAuthenticator.reset();\n  }\n\n  @action\n  close() {\n    for (const id of ['2fa', 'oidc-redirect', 'oidc-inProgress', 'oidc-failure']) {\n      if (this.modalManager.isModalOpen(id)) {\n        this.modalManager.close(id);\n      }\n    }\n    this.secondFactorWindow?.close();\n  }\n\n  @action\n  cancel() {\n    this.close();\n    this.args.onCancel?.();\n  }\n\n  @action\n  proceed() {\n    this.secondFactorWindow = window.open(\n      this.secondFactorAuthenticator.secondFactorUrl,\n    );\n  }\n\n  // OIDC\n\n  @action\n  continue() {\n    this.modalManager.close('oidc-redirect')\n    this.modalManager.open('oidc-inProgress')\n    if (this.connection.isDesktopApp) {\n      openExternal(this.secondFactorAuthenticator.secondFactorUrl)\n    } else {\n      this.secondFactorWindow = window.open(this.secondFactorAuthenticator.secondFactorUrl)\n    }\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { SECURITY_LEVEL_COLOR } from \"../../../utils/enums\";\n\nconst CHIP_COLOR_BINDING = {\n  [SECURITY_LEVEL_COLOR.RED]: \"red\",\n  [SECURITY_LEVEL_COLOR.ORANGE]: \"orange\",\n  [SECURITY_LEVEL_COLOR.GREEN]: \"green\",\n};\n\nexport default class ChipComponent extends Component {\n  get color() {\n    const { color } = this.args;\n\n    return (\n      CHIP_COLOR_BINDING[color] || CHIP_COLOR_BINDING[SECURITY_LEVEL_COLOR.RED]\n    );\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { inject as service } from \"@ember/service\";\nimport { tracked } from \"@glimmer/tracking\";\nimport { action } from \"@ember/object\";\nimport { SECURITY_LEVELS_CONFIRM_REMOVE_MODAL_NAME } from \"../../../utils/enums\";\n\nexport default class ConfirmRemoveModalComponent extends Component {\n  modalName = SECURITY_LEVELS_CONFIRM_REMOVE_MODAL_NAME;\n  inputName = SECURITY_LEVELS_CONFIRM_REMOVE_MODAL_NAME + \"input\";\n  textareaElement = null;\n\n  @tracked value = \"\";\n\n  @service modalManager;\n\n  get error() {\n    return false;\n  }\n\n  @action\n  onChange(event) {\n    const { value } = event.target;\n    this.value = value;\n  }\n\n  @action\n  onConfirm() {\n    const { onConfirm } = this.args;\n    onConfirm(this.value);\n  }\n\n  @action\n  onCancel() {\n    this.value = \"\";\n    this.modalManager.close(this.modalName);\n  }\n\n  @action\n  didInsert(element) {\n    this.textareaElement = element;\n  }\n\n  @action\n  onOpen() {\n    this.textareaElement.focus();\n  }\n}\n","import Component from \"@glimmer/component\";\n\nexport default class SecurityLevelGroupedComponent extends Component {\n  get onlyOneExtended() {\n    const { list, onlyOneExtended } = this.args;\n    return list.length === 1 && onlyOneExtended;\n  }\n\n  get list() {\n    const { list } = this.args;\n    if (!list) {\n      return [];\n    }\n    return list;\n  }\n\n  get listSlice() {\n    const { max } = this.args;\n    return this.list.slice(0, max);\n  }\n\n  get hasMore() {\n    const { max } = this.args;\n    return this.list.length > max;\n  }\n\n  get hiddenItemsNumber() {\n    const { max } = this.args;\n    return this.list.length - max;\n  }\n}\n","import Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\n\nexport default class SidenavComponent extends Component {\n  id = this.args.id || `sideNav-${ guidFor(this) }`;\n\n  @service('common-service') commonService;\n\n  get isOpen() {\n    const isOpen = this.commonService.isOpenSideNav;\n\n    if (isOpen === true && this.args.onOpen) {\n      this.args.onOpen();\n    }\n    return isOpen;\n  }\n\n  @action\n  handleClose() {\n    if (this.isOpen) {\n      this.commonService.handleCloseSideNav();\n    }\n    if (this.args.onClose) {\n      this.args.onClose();\n    }\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n\nclass StickyElement {\n  @tracked elementClientRect = null;\n\n  constructor(element) {\n    this.element = element;\n    this.updateClientRect();\n  }\n\n  setTop(top) {\n    this.element.style.top = `${ top }px`;\n  }\n\n  getHeight() {\n    return this.elementClientRect ? this.elementClientRect.height : 0;\n  }\n\n  updateClientRect() {\n    this.elementClientRect = this.element.getBoundingClientRect();\n  }\n}\n\nexport default class StickyContainerComponent extends Component {\n  @tracked containers = [];\n\n  @action\n  initSticky(element) {\n    const stickyTitles = element.querySelectorAll('.sticky-content');\n    stickyTitles.forEach((title) => {\n      this.registerElement(title);\n    });\n  }\n\n  @action\n  registerElement(element) {\n    const containerElement = element.closest('.sticky-container');\n\n    if (!containerElement) {\n      throw new Error('StickyService: missed container element');\n    }\n\n    const stickyElement = new StickyElement(element);\n\n    let container = this.containers.find(\n      (container) => container.containerElement === containerElement,\n    );\n\n    if (!container) {\n      container = {\n        containerElement,\n        stickyElements: [],\n      };\n\n      this.containers.push(container);\n    }\n\n    container.stickyElements.push(stickyElement);\n\n    this.recalculateStickyElementsTop(container);\n  }\n\n  recalculateStickyElementsTop(container) {\n    let top = 0;\n\n    container.stickyElements.forEach((stickyElement) => {\n      stickyElement.setTop(top);\n\n      top += stickyElement.getHeight();\n    });\n  }\n}\n","import Component from \"@glimmer/component\";\n\n/*\n * Those values are both\n * - Keys in the object result of the request `tBoxClient.file.getViewableTypes()`\n * - Keys in trads files\n * */\nconst CLIENTS = [\"web\", \"android\", \"ios\"];\n\nexport default class TableViewerAccessComponent extends Component {\n  get clients() {\n    return CLIENTS;\n  }\n}\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\n\nexport default class TooltipComponent extends Component {\n  @action\n  openTooltip(dropdown) {\n    dropdown.actions.open()\n  }\n\n  @action\n  closeTooltip(dropdown) {\n    dropdown.actions.close()\n  }\n}\n","import { action, computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport getIconFromNotificationAction from '../../utils/getIconFromNotificationAction';\n\n// CNUAGE-12954\n// A notification may have a relationship to a space of which the user is no longer a member.\n// Loading such a relationship, even to retrieve the space ID, will raise an error (not_a_space_member).\n// To circumvent the issue, we use the attribute \"spaceId\" instead.\n\nconst REQUIRED_ACCESS_RIGHTS = [\n  libcryptobox.SpaceAccessRight.Share,\n  libcryptobox.SpaceAccessRight.AllSharings,\n  libcryptobox.SpaceAccessRight.OnlyMySharings,\n];\n\n\n/* global libcryptobox */\nexport default class UiNotification extends Component {\n  @service account;\n  @service router;\n  @service store;\n  @service modalManager;\n\n  get notification() {\n    return this.args.notification;\n  }\n\n  get spaces() {\n    return this.args.spaces;\n  }\n\n  @computed('notification.spaceId', 'spaces.[]')\n  get isWorkspaceNotDeleted() {\n    const spaceId = this.notification.get('spaceId');\n\n    if (!spaceId) return null;\n\n    return !!this.store.peekRecord({ type: 'space', id: spaceId });\n  }\n\n  @computed('notification.state')\n  get isUnread() {\n    return this.notification.state === 'unread';\n  }\n\n  @computed('notification.{action,depositBoxId,isUnknown,message,contentType}')\n  get notifIcon() {\n    const { notification } = this;\n    const action = notification.action;\n    const contentType = notification.contentType;\n\n    if (this.notification.isUnknown) {\n      return getIconFromNotificationAction('unknown');\n    }\n    if (action === 'max_code_attempts_reached') {\n      const iconType = notification.depositBoxId\n        ? 'deposit_box_max_code_attempts_reached'\n        : 'share_max_code_attempts_reached';\n\n      return getIconFromNotificationAction(iconType);\n    }\n\n    return getIconFromNotificationAction(action, contentType);\n  }\n\n  @computed('notification.{action,spaceId}', 'spaces.[]')\n  get isClickable() {\n    const spaceId = this.notification.get('spaceId');\n\n    const hasSpaceId =\n      spaceId && this.store.peekRecord({ type: 'space', id: spaceId });\n    const hasClickableAction = [\n      'invitee_registered',\n      'deposit_box_populated',\n    ].includes(this.notification.get('action'));\n\n    return hasSpaceId || hasClickableAction;\n  }\n\n  @action\n  click(event) {\n    event.preventDefault();\n    event.stopPropagation();\n\n    const notification = this.notification;\n    if (notification.isUnknown) {\n      this.modalManager.open('about-modal');\n    } else {\n      const action = notification.action;\n\n      switch (action) {\n        case 'invitee_registered':\n          this.goToValidatePread();\n          break;\n        case 'workspace_owner_delete':\n          this.goToWorkspacesDeleted();\n          break;\n        case 'deposit_box_populated':\n          this.goToDepositBox();\n          break;\n        case 'sharing_download':\n          void this.checkRulesAndGoToWorkspaceDocument();\n          break;\n        case 'uninvite':\n          break;\n        case 'max_code_attempts_reached':\n          if (notification.contentType === 'deposit_box') {\n            this.goToDepositBox();\n          } else {\n            void this.checkRulesAndGoToWorkspaceDocument();\n          }\n          break;\n        default:\n          void this.goToWorkspaceDocument();\n      }\n    }\n\n    this.notification.markAsRead();\n  }\n\n  @action\n  removeNotif() {\n    void this.notification.destroyRecord();\n  }\n\n  @action\n  goToValidatePread() {\n    this.router.transitionTo('validate-preadd', this.notification.user.email);\n  }\n\n  @action\n  goToWorkspacesDeleted() {\n    this.router.transitionTo('my-groups.deleted-spaces');\n  }\n\n  @action\n  goToDepositBox() {\n    this.router.transitionTo(\n      'deposit-boxes.deposit-box',\n      this.notification.get('depositBoxId'),\n    );\n  }\n\n  @action\n  goToDocument(spaceId, destPath) {\n    return this.router.transitionTo('my-groups.group.documents', spaceId, {\n      queryParams: {\n        fileRevision: 0,\n        path: destPath,\n      },\n    });\n  }\n\n  getDestinationPath(path) {\n    const lastSlashIndex = path.lastIndexOf('/');\n    return lastSlashIndex !== -1 ? path.substring(0, lastSlashIndex) : '/';\n  }\n\n  @action\n  async checkRulesAndGoToWorkspaceDocument() {\n    const accessRights = await this.notification.get('space.accessRights');\n\n    if (\n      !accessRights?.some((right) => REQUIRED_ACCESS_RIGHTS.includes(right))\n    ) {\n      return;\n    }\n    const spaceId = this.notification.spaceId;\n    if (!spaceId) return;\n    const space = this.store.peekRecord('space', spaceId);\n\n    if (!space) return;\n\n    const path = this.notification.path;\n\n    if (!path && this.notification.contentType === 'sharing') {\n      return this.router.transitionTo('my-groups.group.shares', spaceId);\n    }\n    const destPath = path ? this.getDestinationPath(path) : '/';\n\n    this.goToDocument(spaceId, destPath);\n  }\n\n  @action\n  async goToWorkspaceDocument() {\n    const spaceId = this.notification.spaceId;\n    if (!spaceId) return;\n    const space = this.store.peekRecord('space', spaceId);\n\n    if (!space) return;\n\n    const path = this.notification.path;\n    const destPath = path ? this.getDestinationPath(path) : '/';\n    return this.goToDocument(spaceId, destPath);\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { USER_ROLES } from \"../../utils/enums\";\n\n/* global libcryptobox */\n\nexport default class UserRoleSelectionComponent extends Component {\n  userRolesOptions = [\n    USER_ROLES[libcryptobox.Role.Viewer],\n    USER_ROLES[libcryptobox.Role.Auditor],\n    USER_ROLES[libcryptobox.Role.Member],\n  ];\n\n  get options() {\n    const { user, noOwnerOption } = this.args;\n\n    if(noOwnerOption) {\n      return this.userRolesOptions;\n    }\n\n    if (\n      user.maximumLevel === libcryptobox.LicensePool.Invitee ||\n      //user.type === libcryptobox.LicensePool.Invitee ||\n      user.status === libcryptobox.PreaddedStatus.Invited\n    ) {\n      return this.userRolesOptions;\n    }\n\n    return this.userRolesOptions.concat(USER_ROLES[libcryptobox.Role.Owner]);\n  }\n}\n","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n\nexport default class WindowsWarning extends Component {\n  @tracked nameSafeForWindow = true;\n\n  @action\n  async checkNameSafety() {\n    return (this.nameSafeForWindow =\n      await tBoxClient.validation.isNameSafeOnWindows(this.args.entry || ''));\n  }\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { computed } from '@ember/object';\n\nexport default class WorkSpaceTree extends Component {\n  @service commonService;\n\n  get space() {\n    return this.args.space;\n  }\n\n  @computed('commonService.selectedSpace.id', 'space.id')\n  get isCurrentWorkspace() {\n    return this.space.get('id') === this.commonService.get('selectedSpace.id');\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Component from \"@glimmer/component\";\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n/* global libcryptobox */\n\nexport default class CollaborationFormOverviewComponent extends Component {\n    @service account;\n\n    get visible() {\n        return this.account.serverSettings.onlineEditorEnabled && this.args.space.status === libcryptobox.SpaceStatus.Active;\n    }\n\n    get checked() {\n        return this.args.space.allowOnlineEdition;\n    }\n\n    set checked(value) {\n        tBoxClient.space.setAllowOnlineEdition(this.args.space.id, value);\n    }\n\n    get disabled() {\n        return !this.args.space.isAdmin;\n    }\n}\n","import Component from \"@glimmer/component\";\nimport { action } from \"@ember/object\";\nimport { inject as service } from \"@ember/service\";\nimport { DELETE_WORKSPACE_MODAL_NAME } from \"../../../utils/enums\";\n\nexport default class DeleteComponent extends Component {\n  @service modalManager;\n  @service account;\n\n  deleteModalName = DELETE_WORKSPACE_MODAL_NAME;\n\n  @action\n  onClick() {\n    this.modalManager.open(this.deleteModalName);\n  }\n\n  @action\n  onCancel() {\n    this.modalManager.close(this.deleteModalName);\n  }\n\n  @action\n  onConfirm() {\n    if (this.args.onConfirm) {\n      this.args.onConfirm();\n    }\n    this.onCancel();\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { tracked } from '@glimmer/tracking';\nimport {DateTime, Duration} from \"luxon\";\nexport default class RetentionMessage extends Component {\n\n  @tracked deletionDates;\n  @tracked dataReady = false;\n\n  constructor() {\n    super(...arguments);\n    this.getDeletionDates();\n  }\n\n  getDeletionDates() {\n    if (!this.args.space) return;\n\n    this.args.space.deletionDates.then(dates => {\n      this.deletionDates = dates;\n      this.dataReady = true;\n    });\n  }\n\n  get remaining() {\n    return this.durationInDays >= 1;\n  }\n\n  get imminent() {\n    return this.durationInDays < 1 && Math.round(this.durationInDays) >= 0 && this.durationInDays != null;\n  }\n\n  get noDuration() {\n    return this.durationInDays == null;\n  }\n\n  get durationInDays() {\n    if (!this.deletionDates) return null;\n\n    const { terminalDeletionDate } = this.deletionDates;\n\n    if (!terminalDeletionDate) return null;\n\n    const start = DateTime.utc().valueOf();\n    const end = DateTime.fromISO(terminalDeletionDate).toMillis();\n    const duration = Duration.fromMillis(end - start);\n\n    return duration.as('days');\n  }\n}\n\n","import Component from \"@glimmer/component\";\nimport { action } from \"@ember/object\";\nimport { inject as service } from \"@ember/service\";\n\nexport default class StarFavoriteComponent extends Component {\n  @service account;\n  @service store;\n\n  @action\n  onClick() {\n    const { space } = this.args;\n    const favCatId = this.account.favoritesCategoryId;\n\n    this.store.findRecord(\"category\", favCatId).then((favCat) => {\n      favCat.toggleSpace(space);\n    });\n  }\n}\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\nimport { FILE_SUBSCRIPTION_TYPE } from '../../../utils/constants';\n\nfunction bindSubscriptionTypeWithTranslationKey(type) {\n  if (type === FILE_SUBSCRIPTION_TYPE.MODIFICATIONS) {\n    return 'changes';\n  }\n  if (type === FILE_SUBSCRIPTION_TYPE.DOWNLOADS) {\n    return 'downloads';\n  }\n\n  return null;\n}\n\nconst MODAL_NAME = {\n  CHILD: 'child-subscription-modal',\n  PARENT: 'parent-subscription-modal',\n};\n\nexport default class SubscriptionCheckboxComponent extends Component {\n  modalName = MODAL_NAME;\n  disabled = false;\n  modalIsOpen = false;\n\n  @service intl;\n  @service modalManager;\n\n  /*\n   * Modals names & texts\n   * */\n\n  get parentModalName() {\n    const { type } = this.args;\n    return `${MODAL_NAME.PARENT}-${type}`;\n  }\n\n  get childModalName() {\n    const { type } = this.args;\n    return `${MODAL_NAME.CHILD}-${type}`;\n  }\n\n  get tSubscribedParentWording() {\n    const { node, type } = this.args;\n    const { subscribedParent } = node.getSubscriptionData(type);\n    if (!subscribedParent) {\n      return '';\n    }\n\n    const isParentRoot = subscribedParent === '/';\n    const tPath = isParentRoot\n      ? 'subscriptions.rootSubscribed'\n      : 'subscriptions.parentSubscribed';\n    const params = isParentRoot\n      ? {}\n      : { folderName: subscribedParent.split('/').pop() };\n\n    return this.intl.t(tPath, { ...params, type: this.tModalType });\n  }\n\n  get tSubscribedChildWording() {\n    const { isSpace } = this.args;\n    const tPath = isSpace\n      ? 'subscriptions.overview.childSubscribed'\n      : 'subscriptions.folderChildSubscribed';\n    const params = { type: this.tModalType };\n\n    return this.intl.t(tPath, params);\n  }\n\n  get tModalType() {\n    const { type } = this.args;\n    const tPath = `subscriptions.${bindSubscriptionTypeWithTranslationKey(\n      type,\n    )}`;\n\n    return this.intl.t(tPath);\n  }\n\n  /*\n   * Checkbox status\n   * */\n\n  get indeterminate() {\n    const { node, type, isSpace } = this.args;\n    const { subscribed, subscribedChild, subscribedParent } =\n      node.getSubscriptionData(type);\n\n    if (isSpace) {\n      return !!(subscribedChild && !subscribed);\n    }\n    if (subscribedParent || subscribed) {\n      return false;\n    }\n    return !!subscribedChild;\n  }\n\n  get checked() {\n    const { node, type } = this.args;\n    const { subscribed, subscribedParent } = node.getSubscriptionData(type);\n    return !!(subscribedParent || subscribed);\n  }\n\n  set checked(value) {}\n\n  /**/\n\n  @action\n  openModal(modalName) {\n    this.modalManager.open(modalName);\n  }\n\n  async toggleCurrentNodeSubscription(toggle) {\n    const { node, type } = this.args;\n    await node.toggleSubscription(toggle, type);\n  }\n\n  /**/\n\n  @action\n  unSubscribeParent() {\n    const { node, type } = this.args;\n    node.unSubscribeParent(type);\n  }\n\n  @action\n  subscribeNode() {\n    void this.toggleCurrentNodeSubscription(true);\n    this.modalManager.close(this.childModalName);\n\n  }\n\n  @action\n  unSubscribeNode() {\n    void this.toggleCurrentNodeSubscription(false);\n    this.modalManager.close(this.childModalName);\n  }\n\n  @action\n  resetFlag(name) {\n    this.modalIsOpen = false;\n    this.modalManager.close(name);\n  }\n\n  @action\n  handleChange() {\n    const { node, disabled, type } = this.args;\n\n    if (disabled) {\n      return;\n    }\n\n    const { subscribed, subscribedChild, subscribedParent } =\n      node.getSubscriptionData(type);\n    if (subscribedParent) {\n      return this.openModal(this.parentModalName);\n    }\n    if (subscribedChild) {\n      return this.openModal(this.childModalName);\n    }\n\n    if (subscribed) {\n      return this.toggleCurrentNodeSubscription(false);\n    }\n    return this.toggleCurrentNodeSubscription(true);\n  }\n}\n","import Component from \"@glimmer/component\";\nimport { FILE_SUBSCRIPTION_TYPE } from \"../../../utils/constants\";\n\nexport default class SubscriptionFormOverviewComponent extends Component {\n  fileSubscriptionType = FILE_SUBSCRIPTION_TYPE;\n}\n","import Component from \"@glimmer/component\";\nimport { FILE_SUBSCRIPTION_TYPE } from \"../../../utils/constants\";\n\nexport default class SubscriptionFormComponent extends Component {\n  fileSubscriptionType = FILE_SUBSCRIPTION_TYPE;\n}\n","import Component from \"@glimmer/component\";\nimport { action } from \"@ember/object\";\nimport { tracked } from '@glimmer/tracking';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n/*global libcryptobox*/\n\nexport default class ThumbnailComponent extends Component {\n  @tracked thumbnail = null;\n\n  constructor() {\n    super(...arguments);\n    this.getThumbnail();\n  }\n\n  get thumbnailHash() {\n    return this.args.thumbnailHash;\n  }\n\n  get spaceId() {\n    return this.args.spaceId;\n  }\n\n  getThumbnail() {\n    if (this.thumbnailHash) {\n      tBoxClient.space.getThumbnail(this.spaceId).then((thumbnail) => {\n        const img = new Blob([tBoxClient.decodeUint8Array(thumbnail)]);\n        if (img) {\n          this.thumbnail = URL.createObjectURL(img);\n        }\n      });\n    } else {\n      this.thumbnail = null;\n    }\n  }\n\n  @action\n  updateThumbnail() {\n    this.getThumbnail();\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { computed } from '@ember/object';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n/* global libcryptobox */\n\nexport default class DepositaryChoice extends Controller {\n  @tracked emailIsSent = false;\n  @tracked stepDepositary = 1;\n  @tracked isDefault = true;\n\n  @service intl;\n  @service connection;\n  @service router;\n\n  @computed('isDefault', 'model.defaultTrustee')\n  get tLabel() {\n    const label = this.isDefault ? 'labelDefault' : 'labelPersonal';\n    return this.intl.t(`recovery.trustee.${label}`);\n  }\n\n  @computed('model.defaultTrustee')\n  get hasDefaultTrustee() {\n    return this.model.defaultTrustee !== '';\n  }\n\n  @action\n  chooseDepositary() {\n    const depositaryEmail = this.depositaryEmail;\n    const recoveryId = this.model.recoveryId;\n    const server = this.connection.serverAddress;\n    tBoxClient.recovery\n      .chooseDeposit(server, recoveryId, depositaryEmail)\n      .then(() => {\n        this.emailIsSent = true;\n      })\n      .catch((error) => {\n        if (error.code === libcryptobox.ErrorCode.RecoveryBadTrustee) {\n          let errorMessage = this.intl.t('recovery.trustee.errors.notExist');\n          document.querySelector('.depositary-email').classList.add('error');\n          document.querySelector('.depositary-email .error-message').innerText =\n            errorMessage;\n        }\n      });\n  }\n\n  @action\n  cancel() {\n    this.depositaryEmail = '';\n    this.router.transitionTo('/');\n  }\n\n  @action\n  nextStep() {\n    const isDefault = this.isDefault;\n    this.stepDepositary = 2;\n\n    if (isDefault) {\n      this.depositaryEmail = this.model.defaultTrustee;\n      this.chooseDepositary();\n    }\n  }\n}\n","import { action } from '@ember/object';\nimport Controller from '@ember/controller';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\nimport { inject as service } from '@ember/service';\n\nexport default class NewPasswordController extends Controller {\n  @tracked pwdUpdated = false;\n  @tracked inProcess = false;\n\n  @tracked newPwdIsvalid = true;\n  @tracked confirmNewPwdIsValid = true;\n  @tracked newPwdIsStrongEnough = true;\n\n  @tracked otpError = null;\n  @tracked otpCode = null;\n\n  @tracked errors = 0;\n\n  @tracked isButtonDisabled = true;\n\n  is2faDone = 0;\n\n  @service secondFactorAuthenticator;\n  @service connection;\n  @service notify;\n  @service intl;\n  @service router;\n\n  close2fa() {\n    this.is2faDone = this.is2faDone + 1;\n  }\n\n  @action\n  handleChangePassword() {\n    if (this.inProcess || this.isButtonDisabled) {\n      return false;\n    }\n    if (this.errors) {\n      return;\n    }\n    const server = this.connection.serverAddress;\n    const rdvUserId = this.model.rdvUserId;\n    const newPassword = this.newPassword;\n    this.inProcess = true;\n\n    tBoxClient.recovery\n      .setNewPassword(server, rdvUserId, newPassword)\n      .then(() => {\n        this.close2fa();\n        this.pwdUpdated = true;\n        this.inProcess = false;\n        setTimeout(() => {\n          this.router.transitionTo('login');\n          this.newPassword = '';\n        }, 5000);\n      })\n      .catch(() => {\n        this.close2fa();\n        this.inProcess = false;\n      });\n  }\n\n  @action\n  checkIfValidForm(value) {\n    this.isButtonDisabled = value;\n  }\n\n  @action\n  cancel() {\n    this.close2fa();\n    this.newPassword = '';\n    this.router.transitionTo('index');\n  }\n\n  @action\n  updateInput(value) {\n    this.newPassword = value;\n  }\n\n  @action\n  cancelOtp() {\n    this.secondFactorAuthenticator.cancelOtp();\n    this.otpCode = null;\n    this.otpError = null;\n  }\n\n  @action\n  async resendOtp() {\n    try {\n      await this.secondFactorAuthenticator.resendOtp();\n      this.notify.success(this.intl.t('otp.newCodeSent'));\n    } catch (error) {\n      this.otpError = error.message;\n    }\n  }\n\n  @action\n  async validateOtp() {\n    this.otpError = null;\n    try {\n      await this.secondFactorAuthenticator.setOtp(this.otpCode);\n      this.otpCode = null;\n    } catch (error) {\n      this.otpError = error.message;\n    }\n  }\n}\n","import { inject as service } from '@ember/service';\nimport { computed } from '@ember/object';\nimport Controller from '@ember/controller';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n/* global libcryptobox */\n\nexport default class Claimant extends Controller {\n  @tracked sas;\n  @tracked isDepositaryConnected = false;\n  @tracked connectionError;\n\n  @service modalManager;\n  @service connection;\n  @service intl;\n  @service router;\n\n  @computed('model.{rdvUserId,recoveryId}')\n  get initRdv() {\n    const recoveryId = this.model.recoveryId;\n    const rdvUserId = this.model.rdvUserId;\n    const server = this.connection.get('serverAddress');\n\n    const notifier = {\n      onSas: (sas) => {\n        this.sas = sas;\n        this.isDepositaryConnected = true;\n      },\n    };\n\n    tBoxClient.recovery\n      .claimantDepositConnect(notifier, server, recoveryId, rdvUserId)\n      .then(() => {\n        this.router.transitionTo(\n          'account-recovery.new-password',\n          recoveryId,\n          rdvUserId,\n        );\n      })\n      .catch((error) => {\n        document.querySelector('.sas').classList.add('error');\n        let errorMessage;\n        if (error.code === libcryptobox.ErrorCode.RecoverySessionBroken) {\n          errorMessage = this.intl.t('recovery.rdv.claimant.errors.code');\n        }\n        if (error.code === libcryptobox.ErrorCode.ServerError) {\n          this.connectionError = true;\n        }\n        if (error.code === libcryptobox.ErrorCode.RecoveryBadID) {\n          this.modalManager.open('no-recovery-session');\n        }\n        document.querySelector('.sas .error-message').innerText = errorMessage;\n      });\n\n    return true;\n  }\n\n  @action\n  refresh() {\n    window.location.reload();\n  }\n\n  @action\n  redirectToLogin() {\n    if (this.modalManager.isModalOpen('no-recovery-session')) {\n      this.router.transitionTo('login');\n    }\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { computed, action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n/* global libcryptobox */\n\nexport default class DepositaryController extends Controller {\n  @service intl;\n  @service modalManager;\n  @service router;\n\n  @tracked sas;\n  @tracked connected = false;\n  @tracked countRetry = 3;\n  @tracked invalidCode = false;\n  @tracked disableValidate = false;\n\n  @computed('model.{rdvUserId,recoveryId}')\n  get initRdv() {\n    this.connected = false;\n    tBoxClient.recovery\n      .depositClaimantConnect(this.model.recoveryId, this.model.rdvUserId)\n      .then(() => (this.connected = true))\n      .catch((error) => {\n        if (error.code === libcryptobox.ErrorCode.RecoveryBadID) {\n          this.modalManager.open('no-recovery-session');\n        }\n      });\n    return true;\n  }\n\n  @action\n  async confirmSas(event) {\n    // prevent form submit to reload the page\n    event.preventDefault();\n    if (this.disableValidate) return;\n    try {\n      await tBoxClient.recovery.confirm(this.model.recoveryId, this.sas);\n      this.sas = '';\n      this.router.transitionTo('my-groups');\n    } catch (e) {\n      document.querySelector('.sas').classList.add('error');\n      const retryCount = await tBoxClient.recovery.retryCount();\n\n      this.countRetry = retryCount;\n      this.invalidCode = true;\n\n      if (retryCount === 1) {\n        document.querySelector('.retry-info').classList.add('error');\n      }\n\n      if (retryCount === 0) {\n        const error1 = this.intl.t('recovery.rdv.trustee.errors.code1');\n        const error2 = this.intl.t('recovery.rdv.trustee.errors.code2');\n        this.disableValidate = true;\n        document.querySelector('.invalid-code').innerHTML =\n          error1 + '<br/>' + error2;\n      }\n    }\n  }\n\n  @action\n  cancel() {\n    this.disableValidate = false;\n    this.sas = '';\n    this.invalidCode = false;\n    this.router.transitionTo('my-groups');\n  }\n\n  @action\n  refresh() {\n    window.location.reload();\n  }\n\n  @action\n  redirectToLogin() {\n    if (this.modalManager.isModalOpen('no-recovery-session')) {\n      this.router.transitionTo('login');\n    }\n  }\n}\n","import { action, computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { task, timeout } from 'ember-concurrency';\nimport Controller from '@ember/controller';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { MODAL_TYPES } from '../components/enforced-trustee/modal/component';\nimport getEnforcedTrusteeModalType from '../utils/getEnforcedTrusteeModalType';\nimport {\n  DEVICE_KEY_ASSOCIATION_MODAL_NAME,\n  ENFORCED_TRUSTEES_MODAL_NAME,\n} from '../utils/enums';\nimport getSupportEmail from '../utils/getSupportEmail';\nimport getReportErrorBody from '../utils/getReportErrorBody';\nimport getMailTo from '../utils/getMailTo';\nimport { tracked } from '@glimmer/tracking';\nimport { openExternal } from 'client/ipc';\n\nexport default class Application extends Controller {\n  @service account;\n  @service('transfers') transfersManager;\n  @service modalManager;\n  @service intl;\n  @service messaging;\n  @service observerFactory;\n  @service store;\n  @service router;\n  @service connection;\n  @service commonService;\n  @service platformCustomization;\n\n  @tracked platformConfig = null;\n\n  enforcedTrusteesModalName = ENFORCED_TRUSTEES_MODAL_NAME;\n  enforcedTrusteeModalTypes = Object.keys(MODAL_TYPES);\n\n  get isDepositBoxForm() {\n    return this.router.currentRouteName === 'deposit-box-form';\n  }\n\n  constructor() {\n    super(...arguments);\n    this.observerFactory; //WorkAround to enable observer on the service\n\n    let hidden, visibilityChange;\n    if (typeof document.hidden !== 'undefined') {\n      hidden = 'hidden';\n      visibilityChange = 'visibilitychange';\n    } else if (typeof document.msHidden !== 'undefined') {\n      hidden = 'msHidden';\n      visibilityChange = 'msvisibilitychange';\n    } else if (typeof document.webkitHidden !== 'undefined') {\n      hidden = 'webkitHidden';\n      visibilityChange = 'webkitvisibilitychange';\n    }\n\n    const handleVisibilityChange = () => {\n      if (!document[hidden]) {\n        const icon = document.querySelector('link[rel=\"icon\"]');\n        icon.href = `/static/img/logo.png`;\n      }\n    };\n\n    document.addEventListener(visibilityChange, handleVisibilityChange, false);\n\n    this.platformCustomization.getConfigFromUrl(\n      this.connection.serverAddress,\n      (config) => {\n        this.platformConfig = config;\n      },\n    );\n    void this.platformCustomization.getPlatformSettings();\n  }\n\n  @computed('account.enforcedTrusteesStatus')\n  get enforcedTrusteeModalType() {\n    return getEnforcedTrusteeModalType(this.account.enforcedTrusteesStatus);\n  }\n\n  @task({ drop: true })\n  *_forceUpload(files, folder, space) {\n    yield timeout(500);\n\n    if (this.transfersManager.isFolder) {\n      this.transfersManager.uploadFolderFilesList(files, folder, space, true);\n    } else {\n      this.transfersManager.uploadFilesList(files, folder, space, true);\n    }\n  }\n\n  @computed('account.{isLoggedIn,trustees}', 'platformConfig.isEnabled')\n  get cryptoboxStatus() {\n    if (\n      !this.account.get('isLoggedIn') ||\n      this.account.get('trustees') === null\n    ) {\n      return {\n        message: null,\n        action: null,\n        class: null,\n        icon: null,\n        link: null,\n      };\n    }\n\n    const hasTrustees = this.account.get('trustees')?.length > 0;\n    const isPlatformEnabled = this.platformConfig?.isEnabled;\n\n    if (!hasTrustees) {\n      return {\n        message: this.intl.t('appState.noTrustee'),\n        action: null,\n        icon: 'shield-alert',\n        class: 'warning',\n        link: 'my-account',\n      };\n    }\n\n    if (!isPlatformEnabled) {\n      return {\n        message: this.intl.t('appState.ok'),\n        icon: 'shield',\n        action: null,\n        class: null,\n        link: null,\n      };\n    }\n\n    return {\n      message: null,\n      action: null,\n      class: null,\n      icon: null,\n      link: null,\n    };\n  }\n\n  @computed(\n    'messaging.{isEnabled,isOffline,hideOfflineBanner}',\n    'account.isLoggedIn',\n  )\n  get showBannerOffline() {\n    const messaging = this.messaging;\n    const logged = this.account.isLoggedIn;\n    return (\n      messaging.get('isEnabled') &&\n      messaging.get('isOffline') &&\n      logged &&\n      !messaging.get('hideOfflineBanner')\n    );\n  }\n\n  @computed(\n    'transfersManager.conflictObject.fileConflicts.length',\n    'transfersManager.conflictObject.folderConflicts.length',\n  )\n  get conflictMessage() {\n    if (this.transfersManager.conflictObject) {\n      let filesConflictsLength =\n        this.transfersManager.conflictObject.fileConflicts.length;\n      let folderConflictsLength =\n        this.transfersManager.conflictObject.folderConflicts.length;\n      return this.intl.t('conflictModal.message', {\n        count: filesConflictsLength + folderConflictsLength,\n      });\n    }\n    return '';\n  }\n\n  @computed('transfersManager.conflictObject.fileConflicts.length')\n  get conflictFiles() {\n    if (this.transfersManager.conflictObject) {\n      let filesConflictsLength =\n        this.transfersManager.conflictObject.fileConflicts.length;\n      return this.intl.t('conflictModal.file', {\n        count: filesConflictsLength,\n      });\n    }\n    return '';\n  }\n\n  @computed('transfersManager.conflictObject.folderConflicts.length')\n  get conflictFolders() {\n    if (this.transfersManager.conflictObject) {\n      let folderConflictsLength =\n        this.transfersManager.conflictObject.folderConflicts.length;\n      return this.intl.t('conflictModal.folder', {\n        count: folderConflictsLength,\n      });\n    }\n    return '';\n  }\n\n  @action\n  async reportError(error) {\n    const isDesktopApp = this.connection.isDesktopApp;\n    const settings = this.platformCustomization.serverSettings;\n    const { title, code, message, details } = error;\n    const email = await getSupportEmail(isDesktopApp, settings);\n    const subject = 'Cryptobox error report: ' + error.title;\n    const body = getReportErrorBody({\n      server: this.connection.serverAddress,\n      userEmail: this.account.get('userEmail'),\n      title,\n      code,\n      message,\n      details,\n    });\n\n    const mailTo = getMailTo({ email, subject, body });\n\n    if (this.connection.isDesktopApp) {\n      await openExternal(mailTo);\n    } else {\n      window.location = mailTo;\n    }\n  }\n\n  @action\n  overwriteFile() {\n    const conflictObject = this.transfersManager.conflictObject;\n    conflictObject.overwrite();\n  }\n\n  @action\n  ignoreConflicts() {\n    const conflictObject = this.transfersManager.conflictObject;\n    conflictObject.ignoreConflicts();\n  }\n\n  @action\n  abortUpload() {\n    this.modalManager.close('node-conflict-modal');\n  }\n\n  @action\n  cancelUpload() {\n    this.modalManager.close('filesCountWarning');\n  }\n\n  @action\n  continueUpload() {\n    this.modalManager.close('filesCountWarning');\n    const files = this.transfersManager.pendingFiles;\n    const folder = this.transfersManager.pendingFolder;\n    const space = this.transfersManager.pendingSpace;\n    this._forceUpload.perform(files, folder, space);\n  }\n\n  @action\n  closeConflictModal() {\n    const conflictObject = this.transfersManager.conflictObject;\n    if (conflictObject) {\n      conflictObject.abortUpload();\n    }\n  }\n\n  @action\n  async enforceTrustee() {\n    await tBoxClient.trustee.resolveStatus();\n    this.modalManager.close(ENFORCED_TRUSTEES_MODAL_NAME);\n    this.account.onCloseModals(ENFORCED_TRUSTEES_MODAL_NAME);\n  }\n\n  @action\n  async confirmDeviceAssociation() {\n    await tBoxClient.deviceKeys.create();\n    this.modalManager.close(DEVICE_KEY_ASSOCIATION_MODAL_NAME);\n    this.account.onCloseModals(DEVICE_KEY_ASSOCIATION_MODAL_NAME);\n  }\n\n  @action\n  cancelDeviceAssociation() {\n    this.modalManager.close(DEVICE_KEY_ASSOCIATION_MODAL_NAME);\n    this.account.onCloseModals(DEVICE_KEY_ASSOCIATION_MODAL_NAME);\n  }\n\n  @action\n  removePlatformCustomizationModal() {\n    this.account.onCloseModals('platform-customization-modal');\n  }\n\n  // Modal Cancel\n  @action\n  closeTrusteeWarningModal() {\n    this.account.openNextModal();\n  }\n\n  // Modal Confirm\n  @action\n  async goToAddTrusteeForm() {\n    this.router.transitionTo('my-account');\n\n    this.account.toggleLockModalsFlow(true);\n    this.account.closeModal('trustee-warning');\n    await new Promise((resolve) => setTimeout(resolve, 100));\n    this.modalManager.open('addTrusteesModal');\n    this.account.toggleLockModalsFlow(false);\n  }\n\n  // Modal onClose\n  @action\n  async onCloseTrusteeWarning() {\n    this.account.trusteeWarningModalIsOpen = false;\n\n    // Needed because of the close action (click on the cross icon OR outside of the modal\n    this.account.closeModal('trustee-warning');\n    if (this.account.lockModalsFlow) {\n      this.modalManager.open('addTrusteesModal');\n    } else {\n      this.account.openNextModal();\n    }\n  }\n\n  @action\n  navigateToMyAccount() {\n    this.router.transitionTo(this.cryptoboxStatus.link);\n    this.modalManager.open('addTrusteesModal');\n  }\n}\n","import Controller from '@ember/controller';\nimport { computed } from '@ember/object';\nimport { DateTime } from 'luxon';\n\nexport default class BrowserError extends Controller {\n  @computed('')\n  get backgroundImage() {\n    return `background-image:url(\"/static/customizations/images/bg1.jpg?${ DateTime.now().toFormat('MMDDHHSS') }\")`;\n  }\n}\n","import { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\nimport { tracked } from '@glimmer/tracking';\nexport default class ChangeEmailController extends Controller {\n\n\t@tracked isEmailChangeValidated = false;\n\t@tracked token;\n\t@tracked currentEmail;\n\t@tracked newEmail;\n\n\t@service account;\n\n\tget initController() {\n\t\tthis.currentEmail = this.model.currentEmail;\n\t\tthis.newEmail = this.model.newEmail;\n\t\tthis.token = this.model.id;\n\t\treturn this.model;\n\t}\n\n\t@action\n\tasync validateChangeEmail() {\n\t\tawait this.account.confirmChangeEmail(this.token, this.newEmail).then( response => {\n      if (response ) {\n        this.isEmailChangeValidated = true;\n      }\n\t\t});\n\t}\n\n\t@action\n\tredirectToLogin() {\n\t\treturn this.account.logout('user');\n\t}\n}\n","import { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\nimport { A } from '@ember/array';\nimport { observes } from '@ember-decorators/object';\n\nexport default class DepositBoxFormController extends Controller {\n  queryParams = ['code'];\n\n  depositBox = null;\n\n  @tracked hasDepositBoxFetchError = false;\n\n  @tracked fileList = A([]);\n\n  @tracked depositBoxCode = '';\n  @tracked hideCode = true;\n  @tracked depositBoxCodeErrorMessage = '';\n  @tracked depositBoxUploadErrorMessage = '';\n  @tracked inputFileValue = null;\n  @tracked loading = false;\n\n  @tracked isDraggingFile;\n\n  lastNotifiedTransferErrorId = null;\n\n  stepEnterCode = 'enter_code';\n  stepAddInitialFile = 'add_initial_file';\n  stepAddFile = 'add_file';\n  stepValidated = 'validated';\n\n  @tracked currentStep = this.stepEnterCode;\n\n  comment = '';\n\n  get showValidate() {\n    return this.currentStep === this.stepAddFile;\n  }\n\n  get validateDisabled() {\n    return this.depositBoxCode.trim() === '';\n  }\n\n  @service modalManager;\n\n  @service('transfers') transferManager;\n\n  @service account;\n\n  @service observerFactory;\n\n  @service intl;\n\n  @observes(\n    'transferManager.active.length',\n    'transferManager.failed.length',\n    'transferManager.completed.length',\n  )\n  fileListUpdate() {\n    const failedTransfer = this.transferManager.failed[0] || null;\n    if (failedTransfer) {\n      if (this.lastNotifiedTransferErrorId !== failedTransfer.id) {\n        const error = failedTransfer.error;\n        if (error.code === libcryptobox.ErrorCode.InvalidParameter) {\n          this.depositBoxUploadErrorMessage = this.intl.t(\n            'depositBoxForm.fileUploadErrorAlreadyExist',\n          );\n        } else if (\n          error.code === libcryptobox.ErrorCode.ServerError ||\n          error.code === libcryptobox.ErrorCode.NotFound\n        ) {\n          this.hasDepositBoxFetchError = true;\n          this.currentStep = this.stepEnterCode;\n        } else {\n          this.depositBoxUploadErrorMessage = this.intl.t(\n            'depositBoxForm.fileUploadError',\n          );\n        }\n      }\n\n      this.lastNotifiedTransferErrorId = failedTransfer.id;\n    } else {\n      if (this.transferManager.failed.length === 0) {\n        this.depositBoxUploadErrorMessage = '';\n      }\n    }\n\n    this.fileList.length = 0;\n    this.fileList.pushObjects(this.transferManager.active);\n    this.fileList.pushObjects(this.transferManager.failed);\n    this.fileList.pushObjects(this.transferManager.completed);\n  }\n\n  @action\n  onElementInserted() {\n    if (this.depositBox) {\n      this.currentStep = this.stepAddInitialFile;\n    }\n    this.observerFactory.hideErrorNotification = true;\n  }\n\n  @action\n  toggleHideCode() {\n    this.hideCode = !this.hideCode;\n  }\n\n  @action\n  toggleHideCodePress(event) {\n    event.preventDefault();\n  }\n\n  @action\n  toggleHideCodeReleasePress(event) {\n    event.preventDefault();\n  }\n\n  @action\n  validateDepositBoxCode(event) {\n    this.depositBoxCode = event.target.value.trim();\n    event.target.value = this.depositBoxCode;\n  }\n\n  @action\n  openFilePicker() {\n    document.getElementById('file-input').click();\n  }\n\n  @action\n  onFileSelectedForUpload(e) {\n    this.uploadFile(e.target.files);\n    this.inputFileValue = null;\n  }\n\n  @action\n  onFileDropped(fileList) {\n    this.isDraggingFile = false;\n    this.uploadFile(fileList);\n  }\n\n  @action\n  onDragEnter() {\n    this.isDraggingFile = true;\n  }\n\n  @action\n  onDragExit() {\n    this.isDraggingFile = false;\n  }\n\n  @action\n  willDestroy() {\n    this.account.hasLocalChanges = false;\n    this.observerFactory.hideErrorNotification = false;\n    this.depositBox = null;\n  }\n\n  @action\n  onAllTransferDeleted() {\n    this.currentStep = this.stepAddInitialFile;\n    this.depositBoxUploadErrorMessage = '';\n    this.account.hasLocalChanges = false;\n  }\n\n  @action\n  async cancelAll() {\n    try {\n      await tBoxClient.depositBoxForm.removeAll(this.depositBox.id);\n      this.account.hasLocalChanges = false;\n    } finally {\n      this.currentStep = this.stepAddInitialFile;\n      this.transferManager.active.length = 0;\n      this.transferManager.failed.length = 0;\n      this.transferManager.completed.length = 0;\n      this.depositBoxUploadErrorMessage = '';\n    }\n  }\n\n  @action\n  validate(comment) {\n    this.comment = comment;\n    if (!this.modalManager.isModalOpen('deposit-box-confirm')) {\n      this.modalManager.open('deposit-box-confirm');\n    }\n  }\n\n  @action\n  cancelValidateDepositBox() {\n    this.modalManager.close('deposit-box-confirm');\n  }\n\n  @action\n  async validateDepositBox() {\n    this.depositBoxUploadErrorMessage = '';\n    this.loading = true;\n    try {\n      await tBoxClient.depositBoxForm.submit(this.depositBox.id, {\n        comment: this.comment,\n      });\n      this.currentStep = this.stepValidated;\n      this.account.hasLocalChanges = false;\n      this.observerFactory.hideErrorNotification = false;\n    } catch (error) {\n      if (\n        error.code === libcryptobox.ErrorCode.ServerError ||\n        error.code === libcryptobox.ErrorCode.NotFound\n      ) {\n        this.hasDepositBoxFetchError = true;\n        this.currentStep = this.stepEnterCode;\n      } else {\n        this.depositBoxUploadErrorMessage = this.intl.t(\n          'depositBoxForm.validateError',\n        );\n      }\n    } finally {\n      this.modalManager.closeAll();\n      this.loading = false;\n    }\n  }\n\n  @action\n  async submitCode() {\n    this.loading = true;\n    try {\n      this.depositBox = await tBoxClient.depositBoxForm.get(\n        window.location.href,\n        { code: this.depositBoxCode },\n      );\n      this.currentStep = this.stepAddInitialFile;\n    } catch (error) {\n      if (\n        error.code === libcryptobox.ErrorCode.ServerError ||\n        error.code === libcryptobox.ErrorCode.NotFound\n      ) {\n        this.hasDepositBoxFetchError = true;\n        this.currentStep = this.stepEnterCode;\n      } else if (error.code === libcryptobox.ErrorCode.MaxCodeAttemptsReached) {\n        this.depositBoxCodeErrorMessage = error.message;\n        this.hasDepositBoxFetchError = true;\n      } else {\n        this.depositBoxCodeErrorMessage = error.message;\n      }\n    } finally {\n      this.loading = false;\n    }\n  }\n\n  uploadFile(fileList) {\n    const failedTransferToRemove = this.transferManager.failed.filter(\n      (item) => item.error.code === libcryptobox.ErrorCode.InvalidParameter,\n    );\n    failedTransferToRemove.forEach((element) =>\n      this.transferManager.failed.removeObject(element),\n    );\n    if (this.transferManager.failed.length === 0) {\n      this.depositBoxUploadErrorMessage = '';\n    }\n    this.account.hasLocalChanges = true;\n    if (this.currentStep === this.stepAddInitialFile) {\n      this.currentStep = this.stepAddFile;\n    }\n    for (let i = 0; i < fileList.length; i++) {\n      const file = fileList[i];\n      this.transferManager.uploadFileToDepositBoxUnAuthenticated(\n        this.depositBox.id,\n        file,\n      );\n    }\n  }\n\n}\n","import Controller from '@ember/controller';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { htmlSafe } from '@ember/template';\n\nimport getDepositBoxStateColor from '../../utils/getDepositBoxStateColor';\n\nexport default class DepositBoxController extends Controller {\n  @service intl;\n  @service router;\n  @service modalManager;\n  @service store;\n  @service('deposit-box') depositBoxService;\n  @service notify;\n\n  @tracked stateChoices = [\n    {\n      value: 'populatedProcessed',\n      label: this.intl.t('depositBox.badge.populatedProcessed'),\n    },\n    {\n      value: 'populatedRead',\n      label: this.intl.t('depositBox.badge.populatedUnreadOrPopulatedRead'),\n    },\n  ];\n\n  @tracked isUpdating = false;\n  @tracked isTemplating = false;\n\n  get depositBox() {\n    return this.model;\n  }\n\n  get state() {\n    if (this.depositBox && this.depositBox.state === 'populatedUnread') {\n      // fix bug revalidation when state is populatedUnread\n      setTimeout(() => this.handleUpdateStatus({ value: 'populatedRead' }), 0);\n    }\n    return this.depositBox.state;\n  }\n\n  get selectedState() {\n    return this.stateChoices.find((choice) => choice.value === this.state);\n  }\n  get isBlocked() {\n    return this.depositBox.maxCodeAttemptsReached;\n  }\n\n  get stateBackgroundColor() {\n    if (this.state === undefined || this.state === 'populatedUnread')\n      return null;\n    const color = getDepositBoxStateColor().find(\n      (color) => color.label === this.state,\n    );\n\n    if (!color || !color.value) return null;\n    return htmlSafe(\n      `background: ${color.value.background}; color: ${color.value.text}`,\n    );\n  }\n\n  get isPopulated() {\n    return (\n      this.state === 'populatedRead' || this.state === 'populatedProcessed'\n    );\n  }\n\n  @action\n  handleUpdateStatus(state) {\n    this.depositBoxService.changeStateDepositBox(\n      this.depositBox.id,\n      state.value,\n    );\n    this.depositBox.state = state.value;\n  }\n\n  @action\n  goBack() {\n    this.router.transitionTo('deposit-boxes.index');\n  }\n\n  @action\n  handleUpdateBox() {\n    this.isUpdating = true;\n    this.modalManager.open('depositBox-editor-modal', this.depositBox);\n  }\n\n  @action\n  handleCreateTemplateBox() {\n    this.isTemplating = true;\n    this.modalManager.open('depositBox-editor-modal', this.depositBox);\n  }\n\n  @action\n  openModalSend() {\n    this.modalManager.open('depositBox-show-link', {\n      name: this.depositBox.name,\n      code: this.depositBox.link?.code || '',\n      link: this.depositBox.link?.url || '',\n      id: this.depositBox.id,\n      inBox: true,\n    });\n  }\n\n  @action\n  handleDeleteBoxModal() {\n    this.modalManager.open('depositBox-delete-modal');\n  }\n\n  @action\n  async handleDeleteBox() {\n    try {\n      await this.depositBox.destroyRecord();\n      this.modalManager.close('depositBox-delete-modal');\n      this.router.transitionTo('deposit-boxes.index');\n      this.notify.success(this.intl.t('documents.actions.delete.succeed'));\n    } catch (error) {\n      this.notify.error(this.intl.t('documents.actions.delete.failed'));\n    }\n  }\n\n  @action\n  handleCloseModal() {\n    this.isUpdating = false;\n    this.isTemplating = false;\n  }\n\n  @action\n  willDestroy() {\n    this.state = undefined;\n    this.depositBox = undefined;\n    this.isUpdating = false;\n    this.isTemplating = false;\n  }\n}\n","import { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\nimport { tracked } from '@glimmer/tracking';\nimport getDepositBoxStateFilters from '../../utils/getDepositBoxStateFilters';\nimport getSortingDepositBoxChoicesFilters from '../../utils/getSortingDepositBoxChoicesFilters';\n\nexport default class IndexController extends Controller {\n  @service intl;\n  @service modalManager;\n  @service store;\n  @service manageStorage;\n  @service('deposit-box') depositBoxService;\n\n  @tracked sorting;\n  @tracked state;\n  @tracked depositBoxes = [];\n\n  sortingChoices = getSortingDepositBoxChoicesFilters(this.intl);\n  stateFilters = getDepositBoxStateFilters(this.intl);\n\n  constructor() {\n    super(...arguments);\n    this.sorting = this.sortingChoices[0];\n    this.state = this.stateFilters[0];\n  }\n\n\n  get sortedModel() {\n    const { order = true, property = 'name' } = this.sorting || {};\n    let sortedModel = this.depositBoxes.sortBy(property);\n\n    if (this.state.value === 'populatedRead') {\n      const populatedRead = sortedModel.filter( model => model.state === 'populatedRead');\n      const populatedUnread = sortedModel.filter(model => model.state === 'populatedUnread');\n      sortedModel = populatedUnread.concat(populatedRead);\n    } else if (this.state.value !== 'none') {\n      sortedModel = sortedModel.filter(model => model.state === this.state.value);\n    }\n    return order ? sortedModel : sortedModel.reverse();\n  }\n\n  @action\n  loadDepositBoxes() {\n    this.depositBoxes = this.depositBoxService.getAllDepositBoxes();\n  }\n\n  @action\n  updateSorting(sorting) {\n    this.sorting = sorting;\n    this.manageStorage.setSessionStorageItem('sortingDepositBoxes', sorting);\n  }\n\n  @action\n  updateState(state) {\n    this.state = state;\n    this.manageStorage.setSessionStorageItem('stateDepositBoxes', state);\n  }\n\n  @action\n  openModalCreateBox() {\n    this.modalManager.open('depositBox-editor-modal');\n  }\n}\n","import Controller from \"@ember/controller\";\nimport { action } from \"@ember/object\";\nimport { tracked } from \"@glimmer/tracking\";\nimport { inject as service } from \"@ember/service\";\nimport { task } from \"ember-concurrency\";\nimport { DEVICE_KEY_ASSOCIATION_MODAL_NAME, USER_ROLES } from \"../utils/enums\";\nimport { tBoxClient } from \"../initializers/init-toolbox\";\n\nconst OPTIONS = Object.values(USER_ROLES).map((value) => value);\nconst MENU = [\n  {\n    name: \"Legacy\",\n    id: \"legacy\",\n  },\n  {\n    name: \"Security Level\",\n    id: \"securityLevelChip\",\n    component: \"design-system/security-level\",\n  },\n  {\n    name: \"Checkbox\",\n    id: \"checkbox\",\n    component: \"design-system/checkbox\",\n  },\n  {\n    name: \"Inputs Text\",\n    id: \"inputsText\",\n    component: \"design-system/inputs-text\",\n  },\n  {\n    name: \"Electron Connection\",\n    id: \"electronConnection\",\n    component: \"design-system/electron-connection\",\n  },\n  {\n    name: \"Button\",\n    id: \"button\",\n    component: \"design-system/button\",\n  },\n  {\n    name: \"Overlay\",\n    id: \"overlay\",\n    component: \"design-system/overlay\",\n  },\n  {\n    name: \"Loader\",\n    id: \"loader\",\n    component: \"design-system/loader\",\n  },\n  {\n    name: \"Electron device key association\",\n    id: \"electron-device-key-association\",\n    component: \"design-system/electron-device-key-association\",\n  },\n  {\n    name: \"Modal\",\n    id: \"modal\",\n    component: \"design-system/modal\",\n  },\n];\n\nconst SECURITY_LEVEL = {\n  name: \"Secret Défense\",\n  acronym: \"SD\",\n  color: \"red\",\n  shape: \"lockedLock\",\n  deleted: false,\n};\n\nfunction getContentData(id) {\n  if (id === MENU[0].id) {\n    return SECURITY_LEVEL;\n  }\n  return {};\n}\n\nexport default class DesignSystemController extends Controller {\n  @tracked checked = false;\n  @tracked indeterminate = false;\n  @tracked checkboxPositionFlag = false;\n  @tracked listData = [{ test: 1 }, { test: 2 }];\n  // DropDown\n  @tracked ddOptions = OPTIONS;\n  @tracked ddSelected = OPTIONS[0];\n  @tracked viewableTypes = [];\n  @tracked postOfficeAddress = \"post office, Paris\";\n  @tracked menuList = MENU;\n  @tracked content = { id: MENU[0].id, data: getContentData(MENU[0].id) };\n\n  @service modalManager;\n\n  @action\n  onClickSideMenu(item) {\n    this.content = {\n      id: item.id,\n      data: getContentData(item.id),\n    };\n  }\n\n  @action\n  onChange(change) {\n    const { checked } = change;\n    this.checked = checked;\n    this.indeterminate = false;\n  }\n\n  @action\n  setIndeterminate() {\n    this.indeterminate = true;\n  }\n\n  @action\n  toggleCheckboxPosition() {\n    this.checkboxPositionFlag = !this.checkboxPositionFlag;\n  }\n\n  @action\n  toggleCheckboxState() {\n    this.checked = !this.checked;\n  }\n\n  @action\n  onChangeDD(selected, dd) {\n    this.ddSelected = selected;\n    dd.actions.close();\n  }\n\n  @task(function* () {\n    this.viewableTypes = yield tBoxClient.file.getViewableTypes();\n  })\n  loadViewableTypes;\n\n  @action\n  onChangeAddress(event) {\n    const { value } = event.target;\n    this.postOfficeAddress = value;\n  }\n\n  @action\n  onClickOpenDeviceKeyAssociationModal() {\n    this.modalManager.open(DEVICE_KEY_ASSOCIATION_MODAL_NAME);\n  }\n\n  // Action de DeviceKeyAssociationModal\n  @action\n  onConfirm() {}\n}\n","import { action, computed, set } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport shareDownloadObject from 'client/custom-objects/share-download';\nimport { getFileDownloadTarget } from 'client/toolbox/file-download-target';\nimport { tracked } from '@glimmer/tracking';\n/* global libcryptobox */\n\nexport default class DownloadShare extends Controller {\n  queryParams = ['key'];\n\n  @tracked inputKey = '';\n  @tracked maxCodeAttemptsReached = false;\n\n  @service intl;\n  @service transfers;\n  @service modalManager;\n  @service connection;\n\n  constructor() {\n    super(...arguments);\n    set(this, 'transfers.shareDownload', null);\n  }\n\n  @computed('transfers.shareDownload')\n  get isIdle() {\n    const shareDownload = this.transfers.shareDownload;\n    return !shareDownload;\n  }\n\n  @computed('transfers.shareDownload.state')\n  get isDownloading() {\n    const shareDownload = this.transfers.shareDownload;\n    if (shareDownload) {\n      if (shareDownload.state === 'active') {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  @computed('transfers.shareDownload.state')\n  get isCompleted() {\n    const shareDownload = this.transfers.shareDownload;\n\n    if (shareDownload) {\n      if (shareDownload.state === 'completed') {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  @computed('transfers.shareDownload.progressPercent')\n  get progressBarBuffer() {\n    return this.transfers.shareDownload?.progressPercent * 1.1;\n  }\n\n  @computed(\n    'maxCodeAttemptsReached',\n    'model.error',\n    'transfers.shareDownload.state',\n  )\n  get displayDownloadError() {\n    const shareDownload = this.transfers.shareDownload;\n\n    return (\n      this.maxCodeAttemptsReached ||\n      this.model.error ||\n      (shareDownload && shareDownload.state === 'onError')\n    );\n  }\n\n  @action\n  async checkKey(event) {\n    event.preventDefault();\n    try {\n      const inputValue = this.inputKey || '';\n      const key = inputValue.replace(/\\s/g, '');\n      const encInfos = this.model.encInfos;\n\n      this.inputKey = key;\n\n      const fileInfos = await tBoxClient.fileSharing.decryptInfo(\n        this.connection.serverAddress,\n        encInfos,\n        key,\n      );\n      this.set('model.name', fileInfos.fileName);\n      this.set('model.fileSize', fileInfos.fileSize);\n      this.set('model.key', key);\n    } catch (error) {\n      document.querySelector('.form-key').classList.add('error');\n      document.querySelector('.form-key .error-message').innerText =\n        error.message;\n      if (error.code === libcryptobox.ErrorCode.MaxCodeAttemptsReached) {\n        this.set('model.error', error);\n        this.set(\n          'model.error.message',\n          this.intl.t('shares.maxCodeAttemptsReached.error'),\n        );\n        this.maxCodeAttemptsReached = true;\n      }\n    }\n  }\n\n  @action\n  async download() {\n    const target = await getFileDownloadTarget(\n      this.model.name,\n      this.model.fileSize,\n    );\n    if (!target) {\n      return;\n    }\n    const dl = shareDownloadObject.create({\n      sharingUrl: window.location.href,\n      key: this.model.key,\n      fileName: this.model.name,\n      size: this.model.fileSize,\n      transfers: this.transfers,\n      target,\n    });\n    if (dl.get('isCanceled')) {\n      return;\n    }\n    dl.set('state', 'active');\n    set(this, 'transfers.shareDownload', dl);\n  }\n\n  @action\n  willDestroy() {\n    super.willDestroy(...arguments);\n    this.maxCodeAttemptsReached = false;\n  }\n}\n","import Controller from '@ember/controller';\n\nexport default class Index extends Controller {\n  queryParams = ['requestedHash'];\n\n}\n","import Controller from '@ember/controller';\nimport { action, computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport diacritic from 'diacritic';\n\nclass Sorting {\n  @tracked property = 'updatedAt';\n  @tracked direction = 'desc';\n}\n\nexport default class InvitationsController extends Controller {\n  @service intl;\n  @service account;\n  @service store;\n  @service router;\n\n  @tracked sorting = new Sorting();\n  @tracked selectedPage = 1;\n  @tracked elementsPerPage = 10;\n  @tracked searchTerm;\n  @tracked selectedStatus;\n\n  @tracked showCancel = true;\n  @tracked preAddedMembers = [];\n\n  @computed('account.status.canInvite')\n  get hasInvitationRights() {\n    if (!this.account.status) return false;\n\n    if (!this.account.status.canInvite) {\n      this.router.transitionTo('my-groups');\n    }\n\n    return true;\n  }\n\n  get status() {\n    return [\n      {\n        key: 'created',\n        label: this.intl.t('inviteUser.status.created'),\n      },\n      {\n        key: 'resent',\n        label: this.intl.t('inviteUser.status.resent'),\n      },\n      {\n        key: 'cancelled',\n        label: this.intl.t('inviteUser.status.cancelled'),\n      },\n      {\n        key: 'accepted',\n        label: this.intl.t('inviteUser.status.accepted'),\n      },\n      {\n        key: 'expired',\n        label: this.intl.t('inviteUser.status.expired'),\n      },\n    ];\n  }\n\n  get filteredModel() {\n    let models = this.model;\n\n    if (this.searchTerm) {\n      const term = diacritic.clean(this.searchTerm.toLowerCase());\n      models = models.filter((model) => {\n        const email = diacritic.clean(model.get('guestEmail').toLowerCase());\n        return email.includes(term);\n      });\n    }\n\n    if (this.selectedStatus) {\n      models = models.filter((model) => {\n        const lastTypeEvent = model.get('eventHistory.lastObject.type');\n        return lastTypeEvent === this.selectedStatus.key;\n      });\n    }\n\n    return models;\n  }\n\n  get sortedModels() {\n    const page = this.selectedPage;\n\n    if (this.filteredModel) {\n      let sorted = this.filteredModel.slice().sort((a, b) => {\n        const propA = a[this.sorting.property];\n        const propB = b[this.sorting.property];\n\n        if (propA < propB) return -1;\n        if (propA > propB) return 1;\n        return 0;\n      });\n\n      if (this.sorting.direction === 'desc') {\n        sorted = sorted.reverse();\n      }\n\n      const startIndex = (page - 1)*this.elementsPerPage;\n      const endIndex = page*this.elementsPerPage;\n      return sorted.slice(startIndex, endIndex);\n    }\n\n    return [];\n  }\n\n  @action\n  async fetchPreAddedMembers() {\n    this.preAddedMembers = await this.store\n      .findAll('preadded-space-member', {\n        reload: true,\n        adapterOptions: { subscribe: this },\n      })\n      .then((members) => {\n        return members;\n      })\n      .catch((error) => {\n        console.error('Failed to load preadded-space-member:', error);\n        return [];\n      });\n  }\n\n  @action\n  changeSorting(property) {\n    const sorting = this.sorting;\n    this.selectedPage = 1;\n\n    if (sorting.property === property) {\n      const oldDirection = sorting.direction;\n      return (sorting.direction = oldDirection === 'asc' ? 'desc' : 'asc');\n    }\n\n    sorting.property = property;\n    sorting.direction = 'desc';\n  }\n\n  @action\n  selectStatus(selected) {\n    this.selectedStatus = selected;\n    this.selectedPage = 1;\n  }\n\n  @action\n  setSelectedPage(pageNumber) {\n    this.selectedPage = pageNumber;\n  }\n\n  @action\n  onPageSelected(pageNumber) {\n    this.selectedPage = pageNumber;\n  }\n}\n","import { computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { LICENCES_VALIDATION_MODAL_NAME } from '../utils/enums';\nimport { observes } from '@ember-decorators/object';\n\n/* global libcryptobox */\n\n/*\n *  TODO Refacto with login\n *  There should be only one component handling login/register\n *  Create that component and remove duplicated code\n * */\nexport default class Invite extends Controller {\n  queryParams = ['invite_token'];\n\n  @service account;\n  @service notify;\n  @service modalManager;\n  @service intl;\n  @service connection;\n\n  @tracked largeDisplay = true;\n  @tracked showForm = true;\n  @tracked is2faDone = 0;\n  @tracked EmailNotAvailable;\n\n  constructor() {\n    super(...arguments);\n  }\n\n  @computed('intl.locale')\n  get locale() {\n    return this.intl.locale[0];\n  }\n\n  close2fa() {\n    // incrementProperty() ensures didReceiveAttrs is invoked on the component.\n    this.is2faDone = this.is2faDone + 1;\n  }\n\n  @observes('account.isLoggedIn')\n  onLogin() {\n    if (this.account.isLoggedIn) {\n      this.showForm = true;\n      this.largeDisplay = true;\n      this.close2fa();\n      return true;\n    }\n    return false;\n  }\n\n  @action\n  signUp() {\n    this.modalManager.open(LICENCES_VALIDATION_MODAL_NAME);\n  }\n\n  @action\n  confirmSignUp() {\n    if (this.SingUpInProcess) {\n      return false;\n    }\n\n    if (!this.EmailNotAvailable) {\n      this.SingUpInProcess = true;\n      this.showForm = false;\n      this.largeDisplay = false;\n\n      const userToken = this.model.token;\n      const server = this.connection.serverAddress;\n      let promise = tBoxClient.invite.register(\n        server,\n        userToken,\n        this.singUpPassword,\n        this.firstName,\n        this.lastName,\n      );\n      this._cancelRegister = promise.cancel;\n\n      promise\n        .then(() => {\n          this.firstName = '';\n          this.lastName = '';\n          this.singUpPassword = '';\n          this.confirmPassword = '';\n          this.SingUpInProcess = false;\n          this.close2fa();\n        })\n        .then(() => this.account.loadUserStatus(true))\n        .catch((error) => {\n          if (error.code === libcryptobox.ErrorCode.AlreadyRegistered) {\n            this.EmailNotAvailable = true;\n          } else if (error.code !== libcryptobox.ErrorCode.Canceled) {\n            let notify = this.notify;\n            notify.error(error.message, {\n              title: error.title,\n              closeAfter: null,\n              error: error,\n            });\n          }\n\n          this.showForm = true;\n          this.largeDisplay = true;\n          this.SingUpInProcess = false;\n          this.close2fa();\n        });\n    }\n  }\n\n  @action\n  cancel() {\n    if (this._cancelRegister) {\n      this._cancelRegister();\n      this._cancelRegister = null;\n    }\n  }\n  @action\n  updateInput(value) {\n    this.singUpPassword = value;\n  }\n}\n","import { action, computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { task, timeout } from 'ember-concurrency';\nimport { tracked } from '@glimmer/tracking';\nimport pause from '../utils/pause';\nimport { LICENCES_VALIDATION_MODAL_NAME, REGISTER_ERROR_MESSAGE_BINDING, REGISTER_ERRORS } from '../utils/enums';\n/* global libcryptobox */\n\nexport default class LoginController extends Controller {\n\n  queryParams = ['requestedHash', 'register', 'email'];\n\n  @tracked initial = null;\n  @tracked creatingAccount = false;\n  @tracked resendingEmail = false;\n  @tracked mailValidation = false;\n  @tracked unvalidatedMail = false;\n  @tracked passwordRecovery = false;\n  @tracked recoveryConfirm = false;\n  @tracked serverUrl = '';\n  @tracked signInForm;\n  @tracked formLogin;\n  @tracked singUpPassword;\n  @tracked loginPassword;\n  @tracked customMessage;\n  @tracked notValidEmail;\n  @tracked userEmail;\n  @tracked firstName;\n  @tracked lastName;\n  @tracked register = false;\n  @tracked browserWarningHidden = false;\n  @tracked logInProgress = false;\n  @tracked isLoginOtpInProgress = false;\n  @tracked is2faDone = 0;\n  @tracked disablePasswordReset = false;\n  @tracked EmailNotAvailable = false;\n  @tracked otpCode;\n  @tracked otpError;\n\n  @tracked disabledEmail = false;\n  @tracked disabledFirstName = false;\n  @tracked disabledLastName = false;\n\n  @service browser;\n  @service account;\n  @service notify;\n  @service modalManager;\n  @service intl;\n  @service connection;\n  @service secondFactorAuthenticator;\n\n  @computed('register', 'mailValidation')\n  get showMailValidation() {\n    return !this.register && this.mailValidation;\n  }\n\n  @computed('register', 'account.validationError', 'passwordRecovery')\n  get largeDisplay() {\n    return this.register || this.passwordRecovery;\n  }\n\n  @computed('intl.locale')\n  get locale() {\n    return this.intl.locale[0];\n  }\n\n  @computed('serverUrl')\n  get disableInputs() {\n    return !this.serverUrl;\n  }\n\n  get isLoginInProgress() {\n    return this.logInProgress && !this.secondFactorAuthenticator.emailOtp || this.isLoginOtpInProgress;\n  }\n\n  get hasLocalAccount() {\n    return this.model && this.model.length > 0;\n  }\n\n  @computed('model.[]')\n  get localAccountList() {\n    return this?.model?.toArray() || [];\n  }\n\n  @computed(\n    \"passwordRecovery\",\n    \"register\",\n    \"mailValidation\",\n    \"recoveryConfirm\",\n    \"resendingEmail\",\n    \"account.validationError\"\n  )\n  get showLogin() {\n    const validationError = this.account.validationError;\n\n    return (\n      !this.creatingAccount &&\n      !this.recoveryConfirm &&\n      !this.mailValidation &&\n      !this.passwordRecovery &&\n      !validationError &&\n      !this.register &&\n      !this.resendingEmail\n    );\n  }\n\n  constructor() {\n    super(...arguments);\n    const browser = this.browser.info;\n    const badBrowser =\n      (browser.name === 'Firefox' && browser.version >= 43) ||\n      (browser.name === 'Chrome' && browser.version >= 43) ||\n      (browser.name === 'Opera' && browser.version >= 32);\n    this.isBadBrowser = !badBrowser;\n  }\n\n  close2fa() {\n    // incrementProperty() ensures didReceiveAttrs is invoked on the component.\n    this.is2faDone = this.is2faDone + 1;\n  }\n\n  _resetSignupForm() {\n    this.firstName = '';\n    this.lastName = '';\n    this.singUpPassword = '';\n    this.confirmPassword = '';\n    this.loginPassword = '';\n  }\n\n  _hasRedirection(error) {\n    return /temporary_redirection*/g.test(error);\n  }\n\n  _handleListener(component) {\n    return () => {\n      clearInterval(component.initial);\n      component.initial = window.setInterval(\n        component._resetPasswordField(component),\n        60000,\n      );\n    };\n  }\n\n  _resetPasswordField(component) {\n    return () => {\n      component.loginPassword = '';\n    };\n  }\n\n  @(task(function* () {\n    yield timeout(2000);\n\n    let controller = this;\n    controller.creatingAccount = true;\n\n    if (!this.EmailNotAvailable) {\n      controller.register = false;\n\n      let singUpUserEmail = this.userEmail;\n      let singUpPassword = this.singUpPassword;\n      const server = this.connection.serverAddress;\n      let promise = tBoxClient.account.register(\n        server,\n        singUpUserEmail,\n        singUpPassword,\n        controller.firstName,\n        controller.lastName\n      );\n      this._cancelRegister = promise.cancel;\n      yield promise\n        .then(() => {\n          controller.creatingAccount = false;\n          controller.mailValidation = true;\n          controller._resetSignupForm();\n\n          setTimeout(() => {\n            controller.register = false;\n            controller.mailValidation = false;\n          }, 10000);\n\n          this._cancelRegister = null;\n          controller.close2fa();\n        })\n        .catch((error) => {\n          if (REGISTER_ERRORS.includes(error.code)) {\n            controller.notValidEmail = true;\n            controller.customMessage = this.intl.t(\n              REGISTER_ERROR_MESSAGE_BINDING[error.code]\n            );\n          } else if (this._hasRedirection(error.details)) {\n            return;\n          } else if (error.code === libcryptobox.ErrorCode.PasswordTooWeak) {\n            setTimeout(() => {\n              controller.creatingAccount = false;\n              controller.register = true;\n            }, 200);\n          } else if (error.code !== libcryptobox.ErrorCode.Canceled) {\n            const notify = controller.notify;\n            notify.error(error.message, {\n              title: error.title,\n              closeAfter: null,\n              error: error,\n            });\n          }\n          setTimeout(() => {\n            controller.creatingAccount = false;\n            controller.register = true;\n          }, 200);\n\n          this._cancelRegister = null;\n          controller.close2fa();\n\n          throw error;\n        });\n    }\n  }).drop())\n  _confirmSignup;\n\n  @action\n  cancelOtp() {\n    this.secondFactorAuthenticator.cancelOtp();\n    this.otpCode = null;\n    this.otpError = null;\n    this.isLoginOtpInProgress = false;\n    this.logInProgress = false;\n  }\n\n  @action\n  async validateOtp() {\n    this.otpError = null;\n    this.isLoginOtpInProgress = true;\n    try {\n      await this.secondFactorAuthenticator.setOtp(this.otpCode);\n      this.otpCode = null;\n    } catch (error) {\n      this.otpError = error.message;\n    } finally {\n      this.isLoginOtpInProgress = false;\n    }\n  }\n\n  @action\n  async resendOtp() {\n    try {\n      await this.secondFactorAuthenticator.resendOtp();\n      this.notify.success(this.intl.t('otp.newCodeSent'));\n    } catch (error) {\n      this.otpError = error.message;\n    }\n  }\n\n  @action\n  resetError(event) {\n    if (event && event.key) {\n      this.account.credentialError = false;\n    }\n  }\n\n  @action\n  showRegister() {\n    this.register = true;\n  }\n\n  @action\n  hideRegister() {\n    this.register = false;\n  }\n\n  @action\n  hideBrowserWarning() {\n    this.browserWarningHidden = true;\n  }\n\n  @action\n  /**\n   * login only for good browsers\n   */\n  loginUser() {\n    this.logInProgress = true;\n    return this.account\n      .login(this.userEmail, this.loginPassword)\n      .then((logged) => {\n        if (logged) {\n          this.userEmail = '';\n          this.loginPassword = '';\n\n          if (this.signInForm) {\n            this.signInForm.reset();\n          }\n          this.close2fa();\n          this.logInProgress = false;\n        } else {\n          this.logInProgress = false;\n          setTimeout(() => {\n            this.loginPassword = '';\n          }, 60000);\n        }\n      })\n      .catch((e) => console.warn(e));\n  }\n\n  @action\n  setPropertyValue(property, value) {\n    this[property] = value;\n  }\n\n  @action\n  cancel() {\n    this.account.cancelLogin();\n    if (this._cancelRegister) {\n      this._cancelRegister();\n      this._cancelRegister = null;\n    }\n    this.close2fa();\n  }\n\n  @action\n  signUp() {\n    this.modalManager.open(LICENCES_VALIDATION_MODAL_NAME);\n    this.disablePasswordReset = true;\n  }\n\n  @action\n  confirmSignUp() {\n    this.disablePasswordReset = false;\n    this._confirmSignup.perform();\n  }\n\n  @action\n  cancelSignUp() {\n    this.disablePasswordReset = false;\n  }\n\n  @action\n  recoverPassword() {\n    if (this.isClaiming) {\n      return false;\n    }\n    this.isClaiming = true;\n    let userEmail = this.userEmail;\n    let account = this.account;\n    account.inRecovery = true;\n    const server = this.connection.serverAddress;\n\n    return tBoxClient.recovery\n      .claim(server, userEmail)\n      .then(async () => {\n        this.loginPassword = '';\n        this.userEmail = '';\n        this.passwordRecovery = false;\n        this.recoveryConfirm = true;\n\n        await pause(10000);\n\n        this.recoveryConfirm = false;\n        this.isClaiming = false;\n      })\n      .catch((error) => {\n        // TODO The error state of the form should not be handle here\n        let fieldsetTarget = 'recovery-mail';\n        let message = error.message;\n\n        if (error.code === libcryptobox.ErrorCode.Unavailable) {\n          fieldsetTarget = 'server';\n          message = error.message;\n        } else if (error.code === libcryptobox.ErrorCode.InvalidCredentials) {\n          fieldsetTarget = 'recovery-mail';\n          message = this.intl.t('errors.notRegister');\n        }\n\n        const fieldsetSelector = `.${fieldsetTarget}.form-group`;\n        document.querySelector(fieldsetSelector).classList.add('error');\n        document.querySelector(`${fieldsetSelector} .error-message`).innerText =\n          message;\n\n        account.inRecovery = false;\n        this.isClaiming = false;\n\n        // Used to be able to still know if an error happens\n        // Exemple: Electron password recovery is waiting for that promise\n        throw new Error(error);\n      });\n  }\n\n  @action\n  resendEmail() {\n    this.account.validationError = false;\n    this.resendingEmail = true;\n    const server = this.connection.serverAddress;\n    tBoxClient.account\n      .resendValidationEmail(server, this.userEmail)\n      .then(() => {\n        setTimeout(() => {\n          this.resendingEmail = false;\n          this.mailValidation = true;\n        }, 1000);\n        setTimeout(() => {\n          this.mailValidation = false;\n          this.formLogin = true;\n        }, 10000);\n      })\n      .catch(() => {\n        this.resendingEmail = false;\n        this.set(\"account.validationError\", true);\n      });\n    this.formLogin = false;\n  }\n\n  @action\n  hideValidationErrorMessage() {\n    this.account.validationError = false;\n    this.formLogin = true;\n  }\n\n  @action\n  displayPassRecovery() {\n    if (this.passwordRecovery) {\n      return;\n    }\n    this.formLogin = false;\n    this.passwordRecovery = true;\n  }\n\n  @action\n  hidePassRecovery() {\n    if (!this.passwordRecovery) {\n      return;\n    }\n    this.passwordRecovery = false;\n    this.formLogin = true;\n  }\n\n  @action\n  handleServerUrl(event) {\n    this.connection.tmpServerAddress = `https://${event.target.value}`;\n  }\n\n  @action\n  setResetForm() {\n    this.initial = window.setInterval(this._resetPasswordField(this), 60000);\n\n    document.addEventListener('mousemove', this._handleListener(this));\n    document.addEventListener('keydown', this._handleListener(this));\n  }\n\n  @action\n  unregisterReset() {\n    clearInterval(this.initial);\n    document.removeEventListener('mousemove', this._handleListener(this));\n    document.removeEventListener('keydown', this._handleListener(this));\n  }\n\n  @action\n  updatePassword(value) {\n    this.singUpPassword = value;\n  }\n\n  /* Desktop client connexions actions */\n\n  @action\n  onRegister({ userEmail, firstName, lastName, password }) {\n    this.userEmail = userEmail;\n    this.firstName = firstName;\n    this.lastName = lastName;\n    this.singUpPassword = password;\n\n    return this._confirmSignup.perform();\n  }\n\n  @action\n  onLogin({ userEmail, password }) {\n    this.userEmail = userEmail;\n    this.loginPassword = password;\n\n    return this.loginUser();\n  }\n\n  @action\n  onPasswordRecovery({ userEmail }) {\n    this.userEmail = userEmail;\n\n    return this.recoverPassword();\n  }\n\n  @action\n  onSelectLocalAccount(accountId) {\n    this.logInProgress = true;\n    tBoxClient.deviceKeys.login(accountId).finally(() => {\n      this.logInProgress = false;\n    });\n  }\n}\n","import Controller from '@ember/controller';\nimport { isBlank } from '@ember/utils';\nimport { inject as service } from '@ember/service';\nimport { action, computed } from '@ember/object';\nimport { sort } from '@ember/object/computed';\nimport diacritic from 'diacritic';\nimport { tracked } from '@glimmer/tracking';\n\n/* global libcryptobox */\n\nexport default class Create extends Controller {\n  @tracked searchTerm = '';\n  @tracked inCreation = false;\n  @tracked newConversation = null;\n  queryParams = ['kind'];\n  sortProperties = Object.freeze(['firstName', 'lastname']);\n\n  @service store;\n  @service router;\n  @service messaging;\n  @service modalManager;\n\n  @computed('model.users.{}', 'searchTerm')\n  get displayedContacts() {\n    const searchTerm = diacritic.clean(this.searchTerm.toLowerCase());\n    const contactList = this.model.users;\n    const filtredContactsList = [];\n\n    if (searchTerm === '') {\n      return contactList;\n    }\n    contactList.forEach((contact) => {\n      const ctName = diacritic.clean(contact.get('fullName').toLowerCase());\n      const ctEmail = diacritic.clean(contact.get('email').toLowerCase());\n\n      if (ctName.indexOf(searchTerm) !== -1) {\n        filtredContactsList.push(contact);\n        return;\n      } else if (ctEmail.indexOf(searchTerm) !== -1) {\n        filtredContactsList.push(contact);\n        return;\n      }\n    });\n\n    return filtredContactsList;\n  }\n\n  _resetDatas() {\n    this.newConversation = null;\n    this.displayedContacts.forEach((contact) =>\n      contact.set('isSelected', false),\n    );\n  }\n\n  async _createDirectConversation(user) {\n    const store = this.store;\n    const spaces = await store.findAll('space');\n    const existingConversation = spaces.findBy('peer.email', user.get('email'));\n\n    if (existingConversation) {\n      return this.router.transitionTo(\n        'messages.index.conversation',\n        existingConversation.get('id'),\n      );\n    } else {\n      const peer = await store.createRecord('user', {\n        email: user.get('email'),\n        givenName: user.get('givenName'),\n        surname: user.get('surname'),\n      });\n      store\n        .createRecord('space', { kind: this.kind, peer })\n        .save()\n        .then((newSpace) => {\n          this.router.transitionTo(\n            'messages.index.conversation',\n            newSpace.get('id'),\n          );\n        })\n        .catch(() => this.set('inCreation', false));\n    }\n  }\n\n  @computed('searchTerm', 'model.spaces.[]')\n  get displayedWorkspaces() {\n    const searchTerm = diacritic.clean(this.searchTerm.toLowerCase());\n    const worskpaces = this.model.spaces.filter(\n      (space) => space.status === 'active',\n    );\n    const filtredWorskpacesList = [];\n\n    if (searchTerm === '') {\n      return worskpaces;\n    }\n    worskpaces.forEach((space) => {\n      const spaceName = diacritic.clean(space.get('name').toLowerCase());\n      if (spaceName.indexOf(searchTerm) !== -1) {\n        filtredWorskpacesList.push(space);\n        return;\n      }\n    });\n    return filtredWorskpacesList;\n  }\n\n  @sort('displayedContacts', 'sortProperties') sortedContacts;\n\n  @computed('newConversation', 'newConversation.members.[]')\n  get formIsValid() {\n    const conversation = this.newConversation;\n    return conversation && conversation.get('members.content.length') > 0;\n  }\n\n  _addUserGroupConversation(user) {\n    const store = this.store;\n    let conversation = this.newConversation;\n\n    if (isBlank(conversation)) {\n      conversation = this.store.createRecord('space', {\n        name: null,\n        kind: this.kind,\n      });\n      this.newConversation = conversation;\n    }\n\n    const member = conversation\n      .get('members')\n      .findBy('email', user.get('email'));\n    if (isBlank(member)) {\n      const newMember = store.createRecord('space-member', {\n        email: user.get('email'),\n        givenName: user.get('givenName'),\n        surname: user.get('surname'),\n      });\n      conversation.get('members').pushObject(newMember);\n    }\n  }\n\n  @action\n  async addUserToConversation(user) {\n    const kind = this.kind;\n    if (kind === libcryptobox.SpaceKind.DirectConversation) {\n      this.set('inCreation', true);\n      return await this._createDirectConversation(user);\n    } else if (kind === libcryptobox.SpaceKind.GroupConversation) {\n      user.set('isSelected', true);\n      return this._addUserGroupConversation(user);\n    }\n  }\n\n  @action\n  addNameToGroup() {\n    if (this.formIsValid) {\n      this.modalManager.open('group-name');\n    }\n  }\n\n  @action\n  async createGroupConversation() {\n    const modal = this.modalManager.isModalOpen('group-name');\n    if (modal) {\n      this.modalManager.close('group-name');\n    }\n    const conversation = this.newConversation;\n    const name = this.groupName.trim() || '';\n    this.set('inCreation', true);\n    try {\n      conversation.set('name', name);\n      await conversation.save();\n\n      setTimeout(async () => {\n        this.store.unloadAll('space');\n        const spaces = await this.store.findAll('space', {\n          adapterOptions: { subscribe: this },\n        });\n        this.router.transitionTo('messages.index.conversation', spaces.find(space => (space.name === name)).id);\n        this._resetDatas();\n      }, 10);\n    } catch (error) {\n      console.warn(error);\n      this.set('inCreation', false);\n    }\n  }\n\n  @action\n  removeUserFromConversation(user) {\n    this.model.users\n      .findBy('email', user.get('email'))\n      .set('isSelected', false);\n    const members = this.newConversation.members;\n    const member = members.findBy('email', user.get('email'));\n    members.removeObject(member);\n  }\n}\n","import Controller from '@ember/controller';\nimport { uniqBy } from '@ember/object/computed';\nimport { inject as service } from '@ember/service';\nimport diacritic from 'diacritic';\nimport { computed } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n/* global libcryptobox */\n\nexport default class IndexController extends Controller {\n  @tracked isNew;\n  @tracked currentConversations = false;\n  @tracked spacesKind = 'all';\n  @tracked spaceName;\n\n  @service messaging;\n  @service store;\n  @service account;\n\n  @computed(\n    'model.length',\n    'model.@each.{latestCursor,isDeleted}',\n    '{spacesKind,spaceName}',\n  )\n  get filteredModel() {\n    let spaces = this.model.filter( model => model.kind !== 'personal_space');\n    spaces = spaces.filter(space => !space.isDeleted).sortBy('computedName');\n    let name = this.spaceName || '';\n    let filteredModel = [];\n    let kind = this.spacesKind;\n\n    spaces = spaces.filter((space) => {\n      return (\n        ((space.get('latestCursor') !== 0 &&\n          space.get('latestCursor') !== undefined) ||\n          space.get('kind') === libcryptobox.SpaceKind.GroupConversation) &&\n        space.get('kind') !== libcryptobox.SpaceKind.PersonalSpace\n      );\n    });\n\n    if (name === '' && kind === 'all') {\n      return spaces;\n    }\n    spaces.forEach((space) => {\n      if (kind !== 'all' && space.get('kind') !== kind) {\n        return;\n      }\n      const cleanName = diacritic.clean(name.toLowerCase());\n\n      if (\n        diacritic\n          .clean(space.get('computedName'))\n          .toLowerCase()\n          .indexOf(cleanName) !== -1\n      ) {\n        filteredModel.push(space);\n        return;\n      }\n    });\n    return filteredModel;\n  }\n\n  @uniqBy('filteredModel', 'id') uniqModel;\n\n  get showNoMessage() {\n    return this.filteredModel.length === 0;\n  }\n}\n","import { set } from '@ember/object';\nimport Controller from '@ember/controller';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { action, computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { A } from '@ember/array';\nimport { debounce } from '@ember/runloop';\nimport diacritic from 'diacritic';\nimport { tracked } from '@glimmer/tracking';\nimport DS from 'ember-data';\n/* global libcryptobox */\n\nexport default class Conversation extends Controller {\n  @tracked memberName = '';\n  @tracked showAcknowledgement = false;\n  @tracked showUsers = false;\n  @tracked newMembers = A();\n  @tracked showUnread = false;\n  @tracked isDragOver = false;\n  @tracked addMembers;\n  @tracked users;\n  @tracked model;\n\n  @service messaging;\n  @service store;\n  @service account;\n  @service router;\n\n  constructor() {\n    super(...arguments);\n    //Activate observer on messaging\n    this.messaging.get('messagingStatus');\n    window.addEventListener('dragover', this._preventEvent, false);\n    window.addEventListener('drop', this._preventEvent, false);\n  }\n\n  _preventEvent(e) {\n    e.preventDefault();\n  }\n\n  _close() {\n    this.showUsers = false;\n    this.addMembers = false;\n  }\n\n  _checkAllRead(messages) {\n    const lastRead = parseInt(this.model.get('cursor.lastRead'));\n    messages =\n      messages.length !== 0\n        ? messages?.filter(\n            (message) =>\n              message.get('parsedTimestamp') > lastRead &&\n              !message.get('deletable'),\n          )\n        : messages;\n    this.showUnread = !messages?.isEvery('isRead');\n  }\n\n  get allReadMessage() {\n    const messages = this.model.get('messages');\n\n    if (messages) {\n      debounce(this, this._checkAllRead, messages, 2000);\n    }\n\n    return true;\n  }\n\n  @computed('newMembers.[]')\n  get formIsValid() {\n    const length = this.newMembers.length;\n\n    return length > 0;\n  }\n\n  @computed('account.userEmail', 'membersConversation.@each.role')\n  get canManage() {\n    const userEmail = this.account.userEmail;\n    let userMember;\n    this.membersConversation.then(\n      (members) => (userMember = members.findBy('email', userEmail)),\n    );\n    return userMember?.role === libcryptobox.Role.Owner;\n  }\n\n  @computed(\n    'memberName',\n    'membersConversation',\n    'model.{conversation,users}',\n    'newMembers',\n    'users',\n  )\n  get membersList() {\n    const searchTerm = diacritic.clean(this.memberName.toLowerCase());\n    const members = this.membersConversation;\n    const membersMail = members.map((member) => member.get('email'));\n    const contactList = this.users\n      ?.sortBy('fullName')\n      .reject((contact) => membersMail.indexOf(contact.get('email')) > -1);\n    const filtredContactsList = [];\n\n    if (searchTerm === '') {\n      return contactList;\n    }\n    contactList.forEach((contact) => {\n      const ctName = diacritic.clean(contact.get('fullName').toLowerCase());\n      const ctEmail = diacritic.clean(contact.get('email').toLowerCase());\n\n      if (ctName.indexOf(searchTerm) !== -1) {\n        return filtredContactsList.push(contact);\n      } else if (ctEmail.indexOf(searchTerm) !== -1) {\n        return filtredContactsList.push(contact);\n      }\n    });\n    return filtredContactsList;\n  }\n\n  @computed('model.cursor.{latest,lastRead}')\n  get showNewMessagesWarning() {\n    const cursor = this.model.get('cursor');\n    return cursor.get('latest') !== cursor.get('lastRead');\n  }\n\n  @computed(\n    'account.serverSettings.hasMessaging',\n    'messaging.isOffline',\n    'messaging.messagingStatus.isConnected',\n    'model.{isDeleted,messages}',\n  )\n  get checkStatus() {\n    if (!this.account.serverSettings.hasMessaging)\n      this.router.transitionTo('my-groups');\n    if (this.model.get('isDeleted')) this.router.transitionTo('messages.index');\n    if (!this.messaging.get('isOffline')) return true;\n    const model = this.model.get('messages');\n\n    if (model) {\n      model.then((messages) => {\n        messages.filter(message => message.isSending).forEach((message) => {\n          message.set('status', libcryptobox.MessageStatus.Rejected);\n        });\n      });\n    }\n\n    return true;\n  }\n\n  calculatePosition(trigger, content) {\n    const { top, left, height } = trigger.getBoundingClientRect();\n    const { height: contentHeight } = content.getBoundingClientRect();\n\n    const style = {\n      left: left - 410,\n      top: top + window.pageYOffset + height / 2 - contentHeight / 2,\n    };\n\n    return { style };\n  }\n\n  @computed('model.{id,memberCount}')\n  get membersConversation() {\n    return this.store.query('space-member', { spaceId: this.model.get('id') });\n  }\n\n  @action\n  addMember(member) {\n    if (this.newMembers.indexOf(member) === -1) {\n      this.newMembers.pushObject(member);\n      member.set('isSelected', true);\n    }\n  }\n\n  @action\n  async addMembersToGroup() {\n    if (!this.formIsValid) {\n      return;\n    }\n\n    const space = this.model;\n    const members = await this.membersConversation;\n    const membersMail = members.map((member) => member.get('email'));\n\n    this.newMembers.forEach((member) => {\n      if (membersMail.indexOf(member.get('email')) > -1) return;\n\n      this.store\n        .createRecord('space-member', {\n          space: space,\n          email: member.get('email'),\n          givenName: member.get('givenName'),\n          surname: member.get('surname'),\n          role: libcryptobox.Role.Owner,\n        })\n        .save();\n    });\n\n    this.newMembers = A();\n    this._close();\n  }\n\n  @action\n  closeAddMembers() {\n    this._close();\n  }\n\n  @action\n  leaveSpace() {\n    tBoxClient.spaceMember\n      .remove(\n        this.model.get('id'),\n        this.model\n          .get('members')\n          .findBy('email', this.account.userEmail)\n          .get('id'),\n      )\n      .then(() => this.router.transitionTo('messages.index'));\n  }\n\n  @action\n  removeMember(member) {\n    member.set('isSelected', false);\n    this.newMembers.removeObject(member);\n  }\n\n  @action\n  removeUser(user) {\n    const space = this.model;\n    space.get('members').findBy('id', user.get('id')).destroyRecord();\n  }\n\n  @computed('model.members')\n  get currentMember() {\n    return DS.PromiseObject.create({\n      promise: this.model.get('members').then((members) => {\n        return members.findBy('isMySelf', true);\n      }),\n    });\n  }\n\n  @action\n  scrollToUnread() {\n    const lastRead = this.model.get('cursor.lastRead');\n    const messages = this.model.messages.filter(\n      (message) =>\n        message.get('timestamp') > lastRead && !message.get('deletable'),\n    );\n    const firstUnreadId = messages.get('firstObject.elementId');\n\n    if (firstUnreadId) {\n      document.querySelector('.container-conversationStream').scrollTop =\n        document.querySelector('#' + firstUnreadId).offsetTop;\n    }\n  }\n\n  @action\n  async showAddMembers() {\n    const users = await this.store.query('public-directory-user', {});\n    users.forEach((user) => user.set('isSelected', false));\n    this.users = users;\n    this.addMembers = true;\n  }\n\n  @action\n  showMembers() {\n    this.showUsers = true;\n    this.showAcknowledgement = false;\n  }\n  @action\n  willDestroy() {\n    super.willDestroy(...arguments);\n    this.isDragOver = false;\n  }\n}\n","import Controller from \"@ember/controller\";\nimport { computed, action } from \"@ember/object\";\nimport { inject as service } from \"@ember/service\";\nimport { tBoxClient } from \"client/initializers/init-toolbox\";\n\nexport default class MyAccount extends Controller {\n  showFingerPrint = false;\n\n  @service account;\n  @service intl;\n  @service connection;\n\n  @computed(\n    \"account.status.{personalSpace,createSpace,canInvite},account.serverSettings.onlineEditorEnabled\"\n  )\n  get haveRights() {\n    let { serverSettings, status } = this.account;\n\n    if (status && serverSettings) {\n      return (\n        status.personalSpace ||\n        status.createSpace ||\n        status.canInvite ||\n        (serverSettings.onlineEditorEnabled && status.canEditOnline)\n      );\n    }\n    return false;\n  }\n\n  @action\n  toggleFileChangeEmailNotification(event) {\n    event.preventDefault();\n    const { checked } = event.target;\n    tBoxClient.accountSettings.setFileChangeEmailNotification(checked);\n  }\n}\n","import { A } from '@ember/array';\nimport { action, computed } from '@ember/object';\nimport { DateTime } from 'luxon';\nimport { dependentKeyCompat } from '@ember/object/compat';\nimport { inject as service } from '@ember/service';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\nimport { union } from '@ember/object/computed';\nimport { v4 as uuidv4 } from 'uuid';\nimport Controller from '@ember/controller';\n\n/*global libcryptobox*/\n\nexport default class CreateGroupController extends Controller {\n  @tracked addedMembers = A([]);\n  @tracked whiteListedUsers = A([]);\n  @tracked usersToInvite = A([]);\n  @tracked currentDeviceSecurityLevels;\n\n  @union('usersToInvite', 'whiteListedUsers') invitedUsers;\n\n  @tracked addingTag;\n  @tracked creatingGroup = false;\n  @tracked searchEmail = null;\n  @tracked disableCancel = false;\n  @tracked confirmDisable = false;\n  @tracked wsImage = null;\n  @tracked addUsersEntered = false;\n\n  @service commonService;\n  @service store;\n  @service account;\n  @service intl;\n  @service modalManager;\n  @service notify;\n  @service connection;\n  @service router;\n\n  @action onWsImage(img) {\n    this.wsImage = img;\n  }\n\n  @dependentKeyCompat\n  get requiredOwnerCount() {\n    // Note: This count does not include the space creator.\n    const settings = this.account.serverSettings.minimalNumberOfOwnersPerWorkspace;\n    const enforced = settings?.mode == libcryptobox.MinimalNumberOfOwnersPerWorkspaceMode.Enforced;\n    return enforced && settings.number > 1 ? settings.number - 1 : 0;\n  }\n\n  @computed('requiredOwnerCount', 'addedMembers.@each.role')\n  get missingOwnerCount() {\n    // Note: This count does not include the space creator.\n    const required = this.requiredOwnerCount;\n    const ownerCount = this.addedMembers.filter(m => m.role == libcryptobox.Role.Owner).length;\n    return required && required > ownerCount ? required - ownerCount : 0;\n  }\n\n  get missingOwnerErrorClass() {\n    return this.missingOwnerCount && this.addUsersEntered ? \"error\" : \"\";\n  }\n\n  _inviteUsers(invitedUsers, spaceId) {\n    const invitedUsersLength = invitedUsers.length;\n    if (invitedUsersLength) {\n      invitedUsers.forEach((invitedUser, index) => {\n        tBoxClient.preaddedSpaceMember\n          .create(spaceId, invitedUser.email, invitedUser.role)\n          .then(() => {\n            if (index + 1 === invitedUsersLength) {\n              this.notify.success(\n                this.intl.t('toasts.inviteUser.message', {\n                  count: invitedUsersLength,\n                  appname: this.intl.t('appname'),\n                }),\n                {\n                  title: this.intl.t('toasts.inviteUser.title', {\n                    count: invitedUsersLength,\n                  }),\n                  icon: 'group',\n                },\n              );\n            }\n          });\n      });\n    }\n  }\n\n  @computed('currentDeviceSecurityLevels')\n  get securityLevels() {\n    return this.currentDeviceSecurityLevels;\n  }\n\n  set securityLevels(newSL) {\n    this.currentDeviceSecurityLevels = newSL;\n  }\n\n  get disabledValidate() {\n    return !this.model.name || this.notEnoughInvites || this.missingOwnerCount;\n  }\n\n  get thumbnailCapable() {\n    const thumbnail = libcryptobox.ServerCapability.Thumbnail;\n    return this.account.serverSettings.capabilities.includes(thumbnail);\n  }\n\n  @computed('account.status.createSpace')\n  get hasRightToCreate() {\n    if (!this.account.status.createSpace) {\n      this.router.transitionTo('my-groups');\n    }\n\n    return true;\n  }\n\n  @computed('usersToInvite.[]', 'remainingInvites')\n  get notEnoughInvites() {\n    return this.usersToInvite.length > this.remainingInvites;\n  }\n\n\n  @action\n  focusOutAddUsers() {\n    this.addUsersEntered = true;\n  }\n\n  @action\n  showWarningModal() {\n    if (!this.model.messagingEmailNotification) {\n      this.modalManager.open('messagingEmailNotificationWarning');\n    }\n  }\n\n  @action\n  async createGroup() {\n    if (this.addingTag || this.searchEmail || this.creatingGroup) {\n      return;\n    }\n\n    try {\n      this.disableCancel = true;\n      this.creatingGroup = true;\n      this.commonService.creationGroupRegistry = true;\n\n      const newSpace = this.model;\n      newSpace.setProperties({\n        id: uuidv4(),\n        documentCount: 0,\n        userCount: 1,\n        userRole: libcryptobox.Role.Owner,\n        date: DateTime.now().toISO(),\n      });\n\n      const newSpaceSl = await newSpace.get('securityLevels');\n      const selectedSecurityLevels =\n        this.securityLevels?.filter((sl) => sl.checked) || [];\n\n      const securityLevelRecords = selectedSecurityLevels\n        ?.map((sl) =>\n          this.store.peekRecord({ type: 'securityLevel', id: sl.id }),\n        )\n        ?.filter((record) => record !== null);\n\n      newSpaceSl.pushObjects(securityLevelRecords);\n\n      for (const user of this.addedMembers) {\n        const newMember = this.store.createRecord('space-member', {\n          email: user.get('email'),\n          givenName: user.get('givenName'),\n          surname: user.get('surname'),\n          role: user.get('role'),\n        });\n        newSpace.get('members').pushObject(newMember);\n      }\n\n      const createdSpace = await newSpace.save();\n\n      if (this.addedMembers.length) {\n        this.notify.success(\n          this.intl.t('toasts.addUser.message', {\n            count: this.addedMembers.length,\n          }),\n          {\n            title: this.intl.t('toasts.addUser.title', {\n              count: this.addedMembers.length,\n            }),\n            linkProperties: {\n              route: 'my-groups.group.members',\n              arg: createdSpace.id,\n            },\n            icon: 'group',\n          },\n        );\n      }\n\n      this.disableCancel = false;\n      this.commonService.creationGroupRegistry = false;\n      this.creatingGroup = false;\n\n      if (createdSpace.id) {\n        if (this.thumbnailCapable && this.wsImage) {\n          await tBoxClient.space.setThumbnail(createdSpace.id, this.wsImage);\n          this.wsImage = null;\n        }\n        if (this.account.status.canInvite) {\n          this._inviteUsers(this.invitedUsers, createdSpace.id);\n        }\n        this.notify.success(this.intl.t('toasts.createSpace.message'), {\n          title: this.intl.t('toasts.createSpace.title'),\n          linkProperties: {\n            route: 'my-groups.group.documents',\n            arg: createdSpace.id,\n          },\n          icon: 'group',\n        });\n      }\n      this.router.transitionTo('my-groups');\n    } catch (error) {\n      this.commonService.creationGroupRegistry = false;\n      this.creatingGroup = false;\n      this.disableCancel = false;\n\n      console.error('Erreur lors de la création :', error);\n    }\n  }\n\n  @action\n  cancelCreation() {\n    this.model.unloadRecord();\n    this.router.transitionTo('my-groups');\n    this.searchEmail = '';\n    this.addedMembers.clear();\n    this.invitedUsers.clear();\n    this.wsImage = null;\n  }\n\n  @action\n  async createTag(term, event) {\n    let tags = this.model.tags;\n    if (event.keyCode === 13 && term.searchText === '') {\n      await this.createGroup();\n    } else if (event.keyCode === 13 && tags.indexOf(term.searchText) === -1) {\n      tags.pushObject(term.searchText);\n    }\n  }\n\n  @action\n  onChangeSecurityLevelSelector(slList) {\n    this.securityLevels = slList;\n  }\n\n  @action\n  onThumbnailLoading(loading) {\n    this.confirmDisable = loading;\n  }\n}\n","import Controller from '@ember/controller';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class FileHistoryController extends Controller {\n  queryParams = ['trackingId'];\n\n  @service router;\n  @service('file-history') fileHistoryService;\n  @service intl;\n\n  @tracked model;\n  @tracked sideNavIsOpen = false;\n\n  @action\n  initializeFileHistory() {\n    this.fileHistoryService.model = this.model;\n  }\n\n  @action\n  onBackButton() {\n    this.router.transitionTo('my-groups.group.documents', this.model.spaceId);\n    window.history.go(-1);\n\n  }\n\n  @action\n  handleExportActivities() {\n    return this.fileHistoryService.exportActivities();\n  }\n\n  get canDisabledDownloadBtn() {\n    return this.fileHistoryService.isExportActivitiesDisabled;\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n/* global libcryptobox */\n\nexport default class GroupController extends Controller {\n  @service account;\n  @service messaging;\n  @service router;\n\n  @tracked showHeader = true;\n\n  get isInPersonalSpace() {\n    return this.account.personalSpaceId === this.model.id;\n  }\n\n  get sharingAllowed() {\n    const isAllowed =\n      this.model.accessRights.includes(\n        libcryptobox.SpaceAccessRight.AllSharings,\n      ) ||\n      this.model.accessRights.includes(\n        libcryptobox.SpaceAccessRight.OnlyMySharings,\n      );\n\n    if (!isAllowed && this.router.isActive('my-groups.group.shares')) {\n      this.router.transitionTo('my-groups.group.documents');\n    }\n\n    return isAllowed;\n  }\n\n  @action\n  onBackButton() {\n    window.history.back();\n  }\n}\n","import { computed } from '@ember/object';\nimport Controller from '@ember/controller';\nimport DS from 'ember-data';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { inject as service } from '@ember/service';\n\nexport default class Conversation extends Controller {\n  @tracked showAcknowledgement = false;\n  @tracked isDragOver = false;\n  @tracked showUsers = false;\n\n  @tracked model;\n\n  @service account;\n\n  constructor() {\n    super(...arguments);\n    window.addEventListener('dragover', this._preventEvent, false);\n    window.addEventListener('drop', this._preventEvent, false);\n  }\n\n  _preventEvent(e) {\n    e.preventDefault();\n  }\n\n\n  @computed('model.members')\n  get currentMember() {\n    return DS.PromiseObject.create({\n      promise: this.model.get('members').then((members) => {\n        return members.findBy('isMySelf', true);\n      }),\n    });\n  }\n\n  @action\n  closeAcknowledgement() {\n    this.showAcknowledgement = false;\n    this.model.selectedMessage = null;\n  }\n}\n","import { action, computed, set } from '@ember/object';\nimport ArrayProxy from '@ember/array/proxy';\nimport { debounce } from '@ember/runloop';\nimport { or, sort } from '@ember/object/computed';\nimport { isEmpty } from '@ember/utils';\nimport { observes } from '@ember-decorators/object';\nimport { tracked } from '@glimmer/tracking';\nimport { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { DOWNLOAD_TYPE } from '../../../utils/enums';\nimport {\n  FILE_TYPE_IMAGE,\n  FILE_TYPE_PDF,\n  FILE_TYPE_UNKNOWN,\n  FileInfoPreview,\n} from '../../../components/file-viewer/fileInfoPreview';\nimport mime from 'mime';\nimport getNodeIconName from '../../../utils/getNodeIconName';\nimport { DateTime } from 'luxon';\n\n/* global libcryptobox */\nexport default class DocumentsController extends Controller {\n  queryParams = ['path', 'trackingId', 'fileRevision'];\n  @tracked path = '/';\n  @tracked fileRevision = 0;\n  @tracked trackingId = '';\n  @tracked filePreviewPath = '';\n  @tracked dragCount = 0;\n  @tracked displayHistory = false;\n  @tracked showSearched = '';\n  @tracked selectedNodes = ArrayProxy.create({ content: [] });\n  @tracked sortingProperty = 'name';\n  @tracked sortingOrder = 'asc';\n  @tracked displaySearched = true;\n  @tracked isInitShareOpened = false;\n  @tracked currentFileTrackingId = '';\n  @tracked currentTrackingId = '';\n  @tracked currentSelectedNode = '';\n\n  @tracked showDragCount = false;\n  @tracked dropInProgress = false;\n  @tracked searchTerm = '';\n  @tracked detailsIsVisible = false;\n  @tracked displayOnlySearchedNodes = false;\n  @tracked searchedNodes = null;\n  @tracked allNodesAreLoaded = false;\n  @tracked searchFlag = false;\n  @tracked isFolderUpCapable = false;\n  @tracked showPathInFiles = false;\n  @tracked isSearchResults = false;\n  @tracked searchPreviewLength = 5;\n  @tracked lastClickedNode = null;\n  @tracked detailedNode = null;\n  selectedPage = 1;\n  @tracked displaySearchedNodesPopup = false;\n  @tracked selectedFoundResultsNode = null;\n  @tracked selectedFoundResultsListOfNode = null;\n\n  @tracked editedFile = null;\n  @tracked readOnly = null;\n\n  @service account;\n  @service browser;\n  @service store;\n  @service commonService;\n  @service notify;\n  @service modalManager;\n  @service intl;\n  @service('transfers') transfersManager;\n  @service router;\n  @service thinkfree;\n\n  copyMoveModalName = 'copy-move-modal copy-move-modal2';\n\n  /**\n   * disable interactions if we are in a deleted workspace, or if the user is not allowed to make changes\n   */\n  @computed('model.space.isDeleted')\n  get disabledActions() {\n    return this.model.space.isDeleted;\n  }\n\n  @computed('model.space.{isReader,isViewer}')\n  get canEdit() {\n    return (\n      !this.model.space.isReader &&\n      !this.model.space.isViewer\n    );\n  }\n\n  @computed('model.space.isDeleted')\n  get isSpaceDeleted() {\n    return this.model.space.isDeleted;\n  }\n\n  @observes('model.space.accessRights')\n  accessRightsObserver() {\n    const isSharingAllowed =\n      this.model.space.accessRights.includes(\n        libcryptobox.SpaceAccessRight.AllSharings,\n      ) ||\n      this.model.space.accessRights.includes(\n        libcryptobox.SpaceAccessRight.OnlyMySharings,\n      );\n\n    if (!isSharingAllowed && this.isInitShareOpened) {\n      this.modalManager.close('init-share');\n    }\n  }\n\n  @observes('editedFile')\n  updateDocumentTitle() {\n    if (this.editedFile) {\n      document.title = `Cryptobox - ${this.editedFile.name}`;\n    } else {\n      document.title = `Cryptobox - ${this.model.space.name} - ${this.intl.t('group.navigation.documents')}`;\n    }\n  }\n\n  @action\n  isOpened(opened) {\n    this.isInitShareOpened = opened;\n  }\n\n  get displayCancelSearch() {\n    return this.searchTerm || this.searchedNodes?.length || this.searchFlag;\n  }\n\n  @computed('commonService.workspaceRevision')\n  get workspaceRevision() {\n    return this.commonService.workspaceRevision;\n  }\n\n  @computed('selectedNodes.length')\n  get hasSeveralNodes() {\n    return this.selectedNodes.length > 1;\n  }\n\n  @computed('commonService.workspaceRevision')\n  get weAreInPast() {\n    return 0 < this.commonService.workspaceRevision;\n  }\n\n  @computed('workspaceRevision')\n  get showRevisions() {\n    return this.workspaceRevision;\n  }\n\n  @computed(\n    'displayHistory',\n    'detailsIsVisible',\n    'model.space.isReader',\n  )\n  get displayHistoryPanel() {\n    const isReader = this.model.space.isReader;\n    return this.displayHistory && !isReader;\n  }\n\n  @or('detailsIsVisible', 'displayHistoryPanel') showSidePanel;\n\n  @computed(\n    'showSearched.{}',\n    'model.files.@each.name',\n    'displayOnlySearchedNodes',\n  )\n  get displayedNodes() {\n    if (this.displayOnlySearchedNodes) return this.showSearched;\n\n    return this.model.files;\n  }\n\n  @sort('displayedNodes', 'sorting')\n  sortedNodes;\n\n  @computed('sortedNodes')\n  get fileViewerInfoPreviewList() {\n    return this.sortedNodes\n      .filter((file) => !file.isDirectory)\n      .map((file) => {\n        const filePath = file.path.startsWith('/')\n          ? file.path.substring(1, file.path.length)\n          : file.path;\n        const mimeType = mime.getType(filePath);\n        let fileType = '';\n        if (mimeType && mimeType.startsWith('image')) {\n          fileType = FILE_TYPE_IMAGE;\n        } else if (mimeType && mimeType === 'application/pdf') {\n          fileType = FILE_TYPE_PDF;\n        } else {\n          fileType = FILE_TYPE_UNKNOWN;\n        }\n\n        let author = '';\n\n        if (file.author) {\n          author =\n            file.author.givenName +\n            ' ' +\n            file.author.surname +\n            ' (' +\n            file.author.email +\n            ')';\n        }\n\n        let modifiedInfo;\n        if (author) {\n          modifiedInfo = this.intl.t('documents.fileViewer.modified', {\n            date: DateTime.fromISO(file.lastModified).toLocaleString(\n              DateTime.DATETIME_SHORT,\n            ),\n            user: author,\n          });\n        } else {\n          modifiedInfo = this.intl.t('documents.fileViewer.modifiedNoAuthor', {\n            date: DateTime.fromISO(file.lastModified).toLocaleString(\n              DateTime.DATETIME_SHORT,\n            ),\n          });\n        }\n\n        const iconName = getNodeIconName(false, filePath.split('.').pop());\n        return new FileInfoPreview(\n          fileType,\n          mimeType,\n          filePath,\n          modifiedInfo,\n          iconName,\n          file.id,\n          null,\n          file.contentSize,\n        );\n      });\n  }\n\n  @computed('filePreviewPath.length', 'fileViewerInfoPreviewList')\n  get filePreviewIndex() {\n    let previewPath = this.filePreviewPath;\n    if (previewPath.startsWith('/')) {\n      previewPath = previewPath.substring(1, this.filePreviewPath.length);\n    }\n    return this.fileViewerInfoPreviewList.findIndex((file) => {\n      return previewPath === file.spacePath;\n    });\n  }\n\n  constructor() {\n    super(...arguments);\n    const browser = this.browser.info;\n    this.isFolderUpCapable =\n      browser.name === 'Chrome' ||\n      browser.name === 'Opera' ||\n      (browser.name === 'Firefox' && browser.version >= 50);\n    this.allNodesAreLoaded = true;\n  }\n\n  @computed('sortingProperty', 'sortingOrder')\n  get sorting() {\n    return ['isFolder:desc', `${this.sortingProperty}:${this.sortingOrder}`];\n  }\n\n  @computed('sortingOrder')\n  get sortedDesc() {\n    return this.sortingOrder === 'desc';\n  }\n\n  @computed('sortingProperty')\n  get sortedByName() {\n    return this.sortingProperty === 'name';\n  }\n\n  @computed('sortingProperty')\n  get sortedByLastModification() {\n    return this.sortingProperty === 'lastModified';\n  }\n\n  @computed('sortingProperty')\n  get sortedBySize() {\n    return this.sortingProperty === 'contentSize';\n  }\n\n  @computed('isSearchResults', 'allNodesAreLoaded')\n  get searchLoading() {\n    return this.isSearchResults && !this.allNodesAreLoaded;\n  }\n\n  @computed('isSearchResults', 'displayedNodes.[]')\n  get noSearchResults() {\n    return (\n      this.isSearchResults &&\n      (!this.displayedNodes || !this.displayedNodes.length)\n    );\n  }\n\n  get seeMoreResults() {\n    if (this.searchedNodes) {\n      return this.searchedNodes?.length > this.searchPreviewLength;\n    }\n\n    return false;\n  }\n\n  get firstSearchedNodes() {\n    if (this.searchedNodes?.length) {\n      return this.searchedNodes.slice(0, this.searchPreviewLength);\n    }\n    return this.searchedNodes;\n  }\n\n  @observes('model.files.[]')\n  cleanSelectedNodesOnNotif() {\n    const files = this.model.files;\n    this.selectedNodes.setObjects(\n      this.selectedNodes.filter((file) => files.includes(file)),\n    );\n  }\n\n  @computed('model.members.role')\n  get hasViewer() {\n    const members = this.model.members;\n\n    return members.some((member) => {\n      return member.role === libcryptobox.Role.Viewer;\n    });\n  }\n\n  @computed('model.members.role', 'model.space.isViewer')\n  get textViewerBanner() {\n    if (this.model.space.isViewer) {\n      return this.intl.t('documents.viewerBanner.iamViewer');\n    }\n    return this.intl.t('documents.viewerBanner.hasViewer');\n  }\n\n  _performAutocomplete(event) {\n    this.allNodesAreLoaded = false;\n    this.searchFlag = true;\n    this.model.isLoading = true;\n    const term = event.target.value;\n    return this.store\n      .query('file', {\n        search: {\n          spaceId: this.model.space.id,\n          revision: -1,\n          searchTerm: term,\n        },\n        adapterOptions: { subscribe: this },\n      })\n      .then((files) => {\n        this.searchedNodes = files;\n        this.displaySearchedNodesPopup = true;\n        this.isSearchResults = true;\n        this.allNodesAreLoaded = true;\n        this.model.isLoading = false;\n      })\n      .then(() => {\n        if (event.key === 'Enter') {\n          this.displaySearchedTermResultsOnly();\n        }\n      })\n      .catch((error) => {\n        console.error(error);\n        this.notify.error(error.message + ' ' + error.details);\n        this.allNodesAreLoaded = true;\n        this.model.isLoading = false;\n      });\n  }\n\n  /*\n   * TODO Handle an event from ListedNode component that bubbles current selected node\n   * See : handleOnContextMenuTreeItem action\n   * */\n  @observes('selectedNodes.length')\n  selectedNodeObserver() {\n    if (Array.isArray(this.selectedNodes) && this.selectedNodes.length > 0) {\n      this.currentSelectedNode = this.selectedNodes?.at?.(0);\n    }\n  }\n\n  /*\n   * Currently used only with TreeItem component\n   * TODO Handle selected node from ListedNode component\n   * */\n  @action\n  handleOnContextMenuTreeItem(node) {\n    this.currentSelectedNode = node;\n  }\n\n  @action\n  setPropertyValue(propertyName, value) {\n    this[propertyName] = value;\n  }\n\n  @action\n  setSelectedPath(path) {\n    this.path = path;\n  }\n\n  @action\n  downloadZip(fileRevision) {\n    const sources = this.selectedNodes.map(node => node.path);\n    const spaceId = this.model.space.id;\n    this.transfersManager.downloadZip(spaceId, sources, fileRevision);\n  }\n\n  @action\n  downloadFile(dlType, nodeId, fileRevision = 0) {\n    if (dlType === DOWNLOAD_TYPE.ZIP) {\n      return this.downloadZip(fileRevision);\n    } else {\n      return this.transfersManager.downloadFile(nodeId, fileRevision);\n    }\n  }\n\n  @action\n  async download(dlType) {\n    const fileRevision = this.model.fileRevision;\n\n    if (dlType === DOWNLOAD_TYPE.FILE) {\n      this.transfersManager.downloadFileList(this.selectedNodes, fileRevision);\n    } else if (dlType === DOWNLOAD_TYPE.ZIP) {\n      this.downloadZip(fileRevision);\n    } else {\n      console.error(\n        'my-groups.group.documents controller : Unknown action type',\n        dlType,\n      );\n    }\n  }\n\n  @action\n  autocomplete(event) {\n    debounce(this, this._performAutocomplete, event, 500);\n  }\n\n  @action\n  moveObject(element, event) {\n    if (event.dataTransfer.files.length) {\n      return;\n    }\n    this.showDragCount = false;\n    const node = event.customDropData;\n    if (!node.isFolder) {\n      const message = this.intl.t('documents.actions.dragFile.notFolder');\n      return this.notify.info(message, {\n        title: this.intl.t('errors.occur'),\n        icon: 'warning',\n      });\n    }\n\n    const member = this.model.members.findBy('email', this.account.userEmail);\n    if (member.role === libcryptobox.Role.Auditor) {\n      const message = this.intl.t('toasts.permissionError.message');\n      const title = this.intl.t('toasts.permissionError.title');\n      return this.notify.error(message, {\n        title: title,\n        icon: 'warning',\n      });\n    }\n\n    this.dropInProgress = true;\n    const spaceId = this.model.space.get('id');\n    let source;\n    const nodes = this.selectedNodes;\n    if (!isEmpty(nodes)) {\n      source = nodes.map(\n        (file) => file.get('space.id') + ':' + file.get('path'),\n      );\n    } else {\n      const path = event.dataTransfer.getData('customDragDataPath');\n\n      if (!path) {\n        return;\n      }\n\n      source = [spaceId + ':' + path];\n    }\n\n    const target = spaceId + ':' + node.path;\n    return tBoxClient.file\n      .move(source, target)\n      .then(() => {\n        this.dropInProgress = false;\n        const countNodes = source.length;\n        const message = this.intl.t('documents.actions.dragFile.success', {\n          count: countNodes,\n        });\n        this.notify.info(message, {\n          title: this.intl.t('documents.actions.dragFile.title'),\n          icon: 'file',\n        });\n      })\n      .catch((error) => {\n        this.dropInProgress = false;\n        if (error.code !== libcryptobox.ErrorCode.InvalidParameter) {\n          this.notify.error(error.message, {\n            title: this.intl.t('errors.occur'),\n            icon: 'warning',\n          });\n        }\n\n        this.loadingModifyFile = false;\n      });\n  }\n\n  /**\n   * on click on a \"show more\" button (svg with dots \"...\"), toggle action panel.\n   * @param node\n   */\n  @action\n  showDetails(node) {\n    if (node && node.id) {\n      this.lastClickedNode = node;\n      this.detailedNode = node;\n      this.displayHistory = false;\n      this.detailsIsVisible = !this.detailsIsVisible;\n    } else {\n      console.error('no node', node);\n    }\n  }\n\n  @action\n  setLastClickedNode(node) {\n    this.lastClickedNode = node;\n  }\n\n  @action\n  hideDetails() {\n    this.displayHistory = false;\n    this.detailsIsVisible = false;\n  }\n\n  @action\n  onFileViewerClose() {\n    this.filePreviewPath = '';\n  }\n\n  @action\n  toggleHistory() {\n    this.displayHistory = !this.displayHistory;\n  }\n\n  /**\n   * display a found result as the only thing to display in the main file list\n   * @param node\n   */\n  @action\n  displayOnlyNode(node) {\n    this.displaySearchedNodesPopup = false;\n    this.showPathInFiles = true;\n    this.searchedNodes = [node];\n    this.displaySearchedTermResultsOnly();\n  }\n\n  /**\n   * show all the search results in the main list of files\n   */\n  @action\n  displaySearchedTermResultsOnly() {\n    if (this.searchTerm) {\n      this.displaySearchedNodesPopup = false;\n      this.displayOnlySearchedNodes = true;\n      this.selectedNodes.clear();\n      this.showPathInFiles = true;\n      this.showSearched = this.searchedNodes;\n    }\n  }\n\n  @action\n  onViewFileFromDetails(file) {\n    if (this.thinkfree.canOpenFileEditor(this.model.space, file, { readOnly: true })) {\n      this.openFileEditor(file, { readOnly: true });\n    } else {\n      this.filePreviewPath = file.path;\n    }\n  }\n\n  /**\n   * clean search input, back to normal file list\n   */\n  @action\n  cancelSearch() {\n    this.displaySearchedNodesPopup = false;\n    this.selectedFoundResultsNode = null;\n    this.selectedFoundResultsListOfNode = null;\n    this.searchTerm = '';\n    this.isSearchResults = false;\n    this.searchFlag = false;\n    this.showPathInFiles = false;\n    this.searchedNodes = null;\n    this.displayOnlySearchedNodes = false;\n    this.selectedNodes.clear();\n  }\n\n  @action\n  dragStart(node) {\n    const nodeSelectedIsDrag = this.selectedNodes.includes(node);\n    const countNodes =\n      this.selectedNodes.length === 0 || !nodeSelectedIsDrag\n        ? 1\n        : this.selectedNodes.length;\n    this.showDragCount = true;\n    this.dragCount = countNodes;\n  }\n\n  @action\n  sortNodesBy(propertyToSort) {\n    const sortingProperty = this.sortingProperty;\n    const sortingOrder = this.sortingOrder;\n\n    if (sortingProperty === propertyToSort) {\n      this.sortingOrder = sortingOrder === 'asc' ? 'desc' : 'asc';\n    } else {\n      this.sortingProperty = propertyToSort;\n    }\n  }\n\n  @action\n  async refreshFiles() {\n    await this.refreshRoute();\n  }\n\n  @action\n  goToCurrentRevision() {\n    const spaceId = this.model.space.get('id');\n    this.router.transitionTo('my-groups.group.documents', {\n      queryParams: { fileRevision: 0, spaceId: spaceId },\n    });\n  }\n\n  @action\n  onOver(node) {\n    if (node.isFolder) {\n      node.set('overred', true);\n    }\n  }\n\n  @action\n  onOverExit(node) {\n    if (node.isFolder) {\n      node.set('overred', false);\n    }\n  }\n\n  @action\n  setWorkspace(ws) {\n    this.commonService.selectedSpace = ws;\n    set(this, 'model.space', ws);\n  }\n\n  @action\n  openViewerInfo() {\n    this.modalManager.open('viewer-devices');\n  }\n\n  @action\n  openFileEditor(file, options = { readOnly: false }) {\n    this.thinkfree.isEditorOpened = true;\n    this.editedFile = file;\n    this.readOnly = options.readOnly;\n  }\n\n  @action\n  closeFileEditor() {\n    this.editedFile = null;\n    this.readOnly = null;\n    this.thinkfree.isEditorOpened = false;\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\nimport { tracked } from '@glimmer/tracking';\nimport { task, timeout } from 'ember-concurrency';\nimport { action, computed } from '@ember/object';\nimport { SECURITY_LEVELS_CONFIRM_REMOVE_MODAL_NAME } from '../../../utils/enums';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n/*global libcryptobox*/\nexport default class EditController extends Controller {\n  @service store;\n  @tracked addingTag;\n  @tracked isProcessing;\n  @tracked modalIsOpen = false;\n  @tracked confirmDisable = false;\n  @tracked currentDeviceSecurityLevels;\n\n  @service intl;\n  @service modalManager;\n  @service account;\n  @service notify;\n  @service connection;\n  @service router;\n\n  @tracked _wsImage;\n\n  @action onWsImage(img) {\n    this._wsImage = img;\n  }\n\n  @task({ drop: true })\n  *createTagTask() {\n    yield timeout(1000);\n    this.notify.success(this.intl.t('toasts.editSpace.message'), {\n      title: this.intl.t('toasts.editSpace.title'),\n      icon: 'group',\n    });\n  }\n\n  @computed('currentDeviceSecurityLevels')\n  get securityLevels() {\n    return this.currentDeviceSecurityLevels;\n  }\n\n  set securityLevels(newSL) {\n    this.currentDeviceSecurityLevels = newSL;\n  }\n\n  get isOwner() {\n    if (!this.model.isAdmin) {\n      this.router.transitionTo('my-groups.group.overview', this.model.id);\n    }\n\n    return true;\n  }\n\n  get thumbnailCapable() {\n    const thumbnail = libcryptobox.ServerCapability.Thumbnail;\n    return this.account.serverSettings.capabilities.includes(thumbnail);\n  }\n\n  async saveWorkspace() {\n    const currentSecurityLevels = await this.model.securityLevels;\n    this.updateSecurityLevelsRecord(currentSecurityLevels);\n\n    try {\n      if (this.thumbnailCapable) {\n        if (this._wsImage) {\n          await tBoxClient.space.setThumbnail(this.model.id, this._wsImage);\n        } else if (this._wsImage === null) {\n          await tBoxClient.space.clearThumbnail(this.model.id);\n        }\n      }\n\n      await this.model.save();\n      const spaceId = this.model.id;\n      this.createTagTask.perform(spaceId);\n      this._wsImage = undefined;\n      this.router.transitionTo('my-groups.group.overview', spaceId);\n    } catch (err) {\n      console.error(err);\n      this.notify.error(err.message);\n    }\n  }\n\n  updateSecurityLevelsRecord(securityLevels) {\n    this.securityLevels.forEach((sl) => {\n      const slRecord = this.store.peekRecord({\n        type: 'securityLevel',\n        id: sl.id,\n      });\n      if (sl.checked) {\n        securityLevels.pushObject(slRecord);\n      } else {\n        securityLevels.removeObject(slRecord);\n      }\n    });\n  }\n\n  @action\n  async onEdit() {\n    if (this.addingTag) {\n      return;\n    }\n\n    const currentSecurityLevels = await this.model.securityLevels;\n    const removedSecurityLevels = this.securityLevels\n      .filter((sl) => !sl.checked)\n      .filter((sl) => currentSecurityLevels.findBy('id', sl.id));\n\n    if (removedSecurityLevels.length) {\n      this.modalManager.open(SECURITY_LEVELS_CONFIRM_REMOVE_MODAL_NAME);\n      return;\n    }\n\n    await this.saveWorkspace();\n    this.model.removeSecurityLevelMessage = '';\n  }\n\n  @action\n  async onConfirmRemoveSecurityLevel(message) {\n    this.model.removeSecurityLevelMessage = message;\n\n    await this.saveWorkspace();\n    this.model.removeSecurityLevelMessage = '';\n  }\n\n  @action\n  async editGroup() {\n    if (this.addingTag) {\n      return;\n    }\n\n    const securityLevels = await this.model.securityLevels;\n    this.securityLevels.forEach((sl) => {\n      const slRecord = this.store.peekRecord({ type: 'securityLevel', id: sl.id });\n      if (sl.checked) {\n        securityLevels.pushObject(slRecord);\n      } else {\n        securityLevels.removeObject(slRecord);\n      }\n    });\n\n    this.model\n      .save()\n      .then(() => {\n        const spaceId = this.model.id;\n        this.createTagTask.perform(spaceId);\n        this.router.transitionTo('my-groups.group.overview', spaceId);\n      })\n      .catch((err) => {\n        console.error(err);\n        this.notify.error(err.message);\n      });\n  }\n\n  @action\n  async createTag(term, event) {\n    let tags = this.model.tags;\n    if (event.keyCode === 13 && term.searchText === '') {\n      await this.editGroup();\n    } else if (event.keyCode === 13 && tags.indexOf(term.searchText) === -1) {\n      tags.pushObject(term.searchText);\n    }\n  }\n\n  @action\n  cancelEdition() {\n    window.history.back();\n  }\n\n  @action\n  showWarningModal() {\n    if (!this.model.messagingEmailNotification) {\n      this.modalManager.open('messagingEmailNotificationEditWarning');\n    }\n  }\n\n  @action\n  onChangeSecurityLevelSelector(slList) {\n    this.securityLevels = slList;\n  }\n\n  @action\n  onThumbnailLoading(loading) {\n    this.confirmDisable = loading;\n  }\n}\n","import { action } from '@ember/object';\n\nimport { tracked } from '@glimmer/tracking';\nimport { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n/* global libcryptobox */\n\nexport default class MembersController extends Controller {\n  @tracked displayOwners = true;\n  @tracked displayMembers = true;\n  @tracked displayReaders = true;\n  @tracked displayViewers = true;\n  @tracked showUsers = true;\n  @tracked sortProperties = ['lastName', 'firstName', 'email'];\n  @tracked preaddMembers;\n  @tracked refreshModel = false;\n\n  observerId = null;\n\n  @service intl;\n  @service account;\n  @service modalManager;\n  @service router;\n\n  get sortedMembers() {\n    return this.model.spaceMembers.sortBy(...this.sortProperties);\n  }\n\n  get owners() {\n    return this.model.spaceMembers.filter( member => member.role === libcryptobox.Role.Owner);\n  }\n\n  get canAddUser() {\n    return this.model.isAdmin && !this.model.isDeleted;\n  }\n\n  get filteredMembers() {\n    return this.sortedMembers.filter((member) => {\n      const memberRole = member.role;\n\n      if (\n        (this.displayOwners && memberRole === libcryptobox.Role.Owner) ||\n        (this.displayMembers && memberRole === libcryptobox.Role.Member) ||\n        (this.displayReaders && memberRole === libcryptobox.Role.Auditor) ||\n        (this.displayViewers && memberRole === libcryptobox.Role.Viewer)\n      )\n        return member;\n    });\n  }\n\n  get roleColSpan() {\n    let span = 8\n    if (this.showOnlineEditionStatus) {\n      span -= 2\n    }\n    if (this.model.isAdmin) {\n      span -= 2\n    }\n    return span\n  }\n\n  get showOnlineEditionStatus() {\n    return this.account.serverSettings.onlineEditorEnabled && this.model.allowOnlineEdition\n  }\n\n  @action\n  observePreadd() {\n    tBoxClient.preaddedSpaceMember.watchAll({\n      onQueryResultUpdate: (id, results) => {\n        if (!results) return;\n        this.preaddMembers = results.filter(result => result.spaceId === this.model.id);\n        this.observerId = id;\n      },\n      onQueryError: (_, error) => {\n        console.warn('onQueryError', 'preadd', error);\n      },\n    });\n  }\n\n  @action\n  openRoleInfo() {\n    this.modalManager.open('role-modal');\n  }\n  @action\n  goToMyWorkspaces() {\n    this.router.transitionTo('my-groups');\n  }\n  @action\n  toggleDisplayProperty(property) {\n    this[property] = !this[property];\n  }\n}\n","import { action } from '@ember/object';\nimport { computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { observes } from '@ember-decorators/object';\nimport { sort } from '@ember/object/computed';\nimport { tracked } from '@glimmer/tracking';\nimport Controller from '@ember/controller';\n\nexport default class Overview extends Controller {\n  @service('store') store;\n  @service modalManager;\n  @service intl;\n  @service account;\n  @service notify;\n  @service router;\n\n  @tracked modalIsOpen = false;\n  @tracked isProcessing = false;\n  @tracked modalName = 'restoreWarning';\n  @tracked sortingRules;\n  @tracked rootDir;\n\n  constructor() {\n    super(...arguments);\n    this.sortingRules = ['state:desc', 'date:desc'];\n  }\n\n  @sort('model.notifications', 'sortingRules') sortedNotifications;\n\n  @computed('sortedNotifications.[]')\n  get displayedNotifications() {\n    return this.sortedNotifications.slice(0, 4);\n  }\n\n  @observes('model.id')\n  async onModelReady() {\n    const spaceId = this.model.id;\n    this.rootDir = await this.store.queryRecord('file', { spaceId, path: '/', revision: -1 });\n  }\n\n  get contentSize() {\n    return this.rootDir?.contentSize || 0;\n  }\n\n  @action\n  toggleFav(space) {\n    return this.store\n      .findRecord('category', this.account.favoritesCategoryId)\n      .then((favCat) => favCat.toggleSpace(space));\n  }\n\n  @action\n  displayRestoreWarning() {\n    this.modalManager.open(this.modalName);\n    this.modalIsOpen = true;\n  }\n\n  @action\n  closeRestoreWarning() {\n    this.modalManager.close(this.modalName);\n    this.modalIsOpen = false;\n  }\n\n  @action\n  restoreWorkspace() {\n    this.modalManager.close(this.modalName);\n    this.modalIsOpen = false;\n    this.model.status = 'active';\n\n    this.model\n      .save()\n      .then((space) => {\n        const notify = this.notify;\n\n        notify.success(this.intl.t('toasts.restoreSpace.message'), {\n          title: this.intl.t('toasts.restoreSpace.title'),\n          linkProperties: {\n            route: 'my-groups',\n          },\n          icon: 'restore',\n        });\n\n        return space.reload();\n      })\n      .then(() => {\n        this.router.transitionTo('my-groups.deleted-spaces');\n      });\n  }\n\n  @action\n  onClickNotification(notification) {\n    notification.markAsRead();\n  }\n\n  @action\n  deleteWorkspace() {\n    this.model.rollbackAttributes();\n    this.model.status = 'deleted';\n    this.modalIsOpen = false;\n    this.isProcessing = true;\n\n    this.model\n      .save()\n      .then((space) => {\n        const notify = this.notify;\n\n        notify.success(this.intl.t('toasts.deleteSpace.message'), {\n          title: this.intl.t('toasts.deleteSpace.title'),\n          linkProperties: {\n            route: 'my-groups',\n          },\n          icon: 'delete',\n        });\n\n        return space.reload();\n      })\n      .then(() => {\n        this.router.transitionTo('my-groups');\n      })\n      .catch((err) => {\n        this.notify.error(err.message);\n      });\n  }\n}\n","import { computed, action } from '@ember/object';\nimport { sort } from '@ember/object/computed';\nimport { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\nimport { tracked } from '@glimmer/tracking';\n/* global libcryptobox */\nexport default class SharesController extends Controller {\n  @tracked selectedShare = null;\n\n  @service account;\n  @service intl;\n  @service router;\n\n  @sort('model.shares', (a, b) => {\n    if (a.creationDate && b.creationDate) {\n      return Date.parse(b.creationDate) - Date.parse(a.creationDate);\n    } else if (a.creationDate) {\n      return -1;\n    } else if (b.creationDate) {\n      return 1;\n    } else {\n      return a.fileName.localeCompare(b.fileName);\n    }\n  })\n  sortedShares;\n\n  @computed('model.{id,isReader}')\n  get userHasRights() {\n    // let userCanRight = this.account.status.canWrite;\n\n    // if (!userCanRight) {\n    //   return this.router.transitionTo('my-groups.group', this.model.id);\n    // }\n    return true;\n  }\n\n  @action\n  selectShare(share) {\n    if (this.selectedShare === share) {\n      this.selectedShare = null;\n      this.detailsIsVisible = false;\n    } else {\n      this.selectedShare = share;\n    }\n  }\n\n  @action\n  suspendShare(share, event) {\n    event.stopPropagation();\n    this.selectedShare = share;\n    share.suspended = true;\n    share.save();\n  }\n\n  @action\n  resumeShare(share, event) {\n    event.stopPropagation();\n    this.selectedShare = share;\n    share.suspended = false;\n    share.save();\n  }\n\n  /* Do not forget to call applyChanges to apply changes */\n  @action\n  onChangeExpiration(share, newExpirationDate) {\n    share.notAfter = newExpirationDate || '';\n  }\n\n  /* Do not forget to call applyChanges to apply changes */\n  @action\n  onChangeUniqueDownload(share, newUniqueDownload) {\n    share.uniqueDownload = newUniqueDownload\n      ? libcryptobox.UniqueDownload.Downloadable\n      : libcryptobox.UniqueDownload.Disabled;\n  }\n\n  /* Do not forget to call applyChanges to apply changes */\n  @action\n  onChangeAuthorSubscription(share, authorSubscription) {\n    share.authorSubscription = authorSubscription;\n  }\n\n  @action\n  applyChanges(share) {\n    share.save();\n  }\n\n  @action\n  async refresh() {\n    this.isLoading = true;\n    this.refreshRoute();\n    setTimeout(() => {\n      this.isLoading = false;\n    }, 1000);\n  }\n}\n","import { sort } from '@ember/object/computed';\nimport { action, computed } from '@ember/object';\nimport { debounce } from '@ember/runloop';\nimport { observes } from '@ember-decorators/object';\nimport { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\nimport diacritic from 'diacritic';\nimport { tracked } from '@glimmer/tracking';\nimport getSortingChoicesFilters from '../../utils/getSortingChoicesFilters';\nimport getRoleChoicesFilters from '../../utils/getRoleChoicesFilters';\n\n/* global libcryptobox */\n\nexport default class IndexController extends Controller {\n  @tracked categoryFilters = [];\n  @tracked nameFilter;\n  @tracked scrollPosition;\n  @tracked listDisplay;\n  @tracked allSpaces = [];\n  @tracked sorting;\n  @tracked roleFilter;\n  @tracked tagsFilterSelection = [];\n  @tracked firstRender = true;\n  @tracked isFav;\n  @tracked deletedWorkspaces;\n  @tracked searchByName;\n  @tracked categories = [];\n\n  @service account;\n  @service store;\n  @service intl;\n  @service messaging;\n  @service manageStorage;\n\n  defaultSorting = {\n    value: 0,\n    label: this.intl.t('my.groups.nameAsc'),\n    property: 'name',\n    order: true,\n  };\n\n  defaultRoleFilter = {\n    value: 'none',\n    label: this.intl.t('my.groups.roleplaceholder'),\n  };\n\n  roleFilters = getRoleChoicesFilters(this.intl);\n\n  sortingChoices = getSortingChoicesFilters(this.intl);\n\n  constructor() {\n    super(...arguments);\n    const options = { reload: true, adapterOptions: { subscribe: this } };\n    this.store.findAll('space', options);\n    this.allSpaces = this.store.peekAll('space', options);\n    this.getFiltersSortingFromSession();\n  }\n\n  @computed('sorting.{order,property}', 'spaces')\n  get sortedSpaces() {\n    const { order = true, property = 'name' } = this.sorting || {};\n    const sortedSpaces = this.spaces.sortBy(property);\n\n    return order ? sortedSpaces : sortedSpaces.reverse();\n  }\n\n  setScrollPosition() {\n    if (this.scrollPosition !== null) {\n      const mainContentEl = document.querySelector('#main-content');\n      if (mainContentEl) {\n        mainContentEl.scrollTo({\n          top: this.scrollPosition,\n          behavior: 'auto',\n        });\n      }\n    }\n  }\n\n  scrollSetup() {\n    const mainContentEl = document.getElementById('main-content');\n\n    if (mainContentEl) {\n      mainContentEl.addEventListener('scroll', () => {\n        debounce(this, this.updateScrollPosition, 250);\n      });\n    }\n  }\n\n  @computed('isFav', 'deletedWorkspaces')\n  get listType() {\n    if (this.isFav) return 'fav';\n    if (this.deletedWorkspaces) return 'deleted';\n    return 'all';\n  }\n\n  getFiltersSortingFromSession() {\n    this.listDisplay = this.manageStorage.getSessionStorageItem(\n      'listDisplay',\n      this.listType,\n    );\n    this.sorting =\n      this.manageStorage.getSessionStorageItem('sortingWS', this.listType) ||\n      this.defaultSorting;\n    this.roleFilter =\n      this.manageStorage.getSessionStorageItem('roleWS', this.listType) ||\n      this.defaultRoleFilter;\n    this.tagsFilterSelection =\n      this.manageStorage.getSessionStorageItem('tagsFilterWS', this.listType) ||\n      [];\n    this.nameFilter = this.manageStorage.getSessionStorageItem(\n      'nameFilterWS',\n      this.listType,\n    );\n    this.scrollPosition =\n      this.manageStorage.getSessionStorageItem(\n        'scrollPositionWS',\n        this.listType,\n      ) || 0;\n  }\n\n  @action\n  setCategoryFilters() {\n    setTimeout(() => { // HACK Prevent EmberJS to report a \"double update\" error during first rendering.\n      const catFilters =\n        this.manageStorage.getSessionStorageItem('catFilterWS', this.listType) ||\n        [];\n\n      if (catFilters && this.categoryFilters.length > 0) {\n        catFilters.forEach((catFilter) => {\n          const cat = this.categoryFilters.find(\n            (cat) => cat.catfilterId === catFilter.catfilterId,\n          );\n          if (cat && cat.isActive !== catFilter.isActive) {\n            cat.isActive = catFilter.isActive;\n          }\n        });\n      }\n    });\n  }\n\n  @observes('listType')\n  listTypeObserver() {\n    this.getFiltersSortingFromSession();\n    setTimeout(this.setScrollPosition.bind(this), 0);\n  }\n\n  sortDefinitionCategories = ['name:asc'];\n  @sort('categories', 'sortDefinitionCategories') sortedCategories;\n\n  @observes('isFav', 'deletedWorkspaces')\n  async loadCategories() {\n    const options = { adapterOptions: { subscribe: this } };\n    this.store.findAll('category', options).then((categories) => {\n      this.categories = categories;\n    });\n  }\n\n  reloadCategories = async () => {\n    await this.loadCategories();\n  };\n\n  @computed(\n    'account.personalSpaceId',\n    'allSpaces.length',\n    'deletedWorkspaces',\n    'isFav',\n    'model.length',\n  )\n  get spaceModel() {\n    if (this.isFav) {\n      return this.model.filter(item => item.id !== this.account.personalSpaceId);\n    }\n    return this.allSpaces.filter(item => item.id !== this.account.personalSpaceId);\n  }\n\n  @computed(\n    'account.personalSpaceId',\n    'allSpaces.length',\n    'deletedWorkspaces',\n    'model.length',\n    'nameFilter',\n    'spaces.length',\n  )\n  get noWorkspaces() {\n    let spaces = this.allSpaces.filter(space =>\n      space.kind ===\n      libcryptobox.SpaceKind.Workspace,\n    );\n    spaces = spaces.filter(space => space.isDeleted === this.deletedWorkspaces);\n    return (\n      spaces.filter(space => space.id !== this.account.personalSpaceId).length === 0 &&\n      this.nameFilter === ''\n    );\n  }\n\n  @computed('nameFilter', 'spaceModel', 'spaces.length')\n  get noFoundSpacesInSearch() {\n    return this.nameFilter && !this.spaces.length;\n  }\n\n  @computed('allSpaces.length')\n  get workspacesCount() {\n    return this.allSpaces.filter(space => space.kind === libcryptobox.SpaceKind.Workspace)\n      .length;\n  }\n\n  @computed('categories', 'categories.length', 'account.favoritesCategoryId')\n  get userCategories() {\n    if (!this.categories) return null;\n    const favCatId = this.account.favoritesCategoryId;\n    return this.categories.filter(category => category.id !== favCatId);\n  }\n\n  @computed('account.personalSpaceId', 'spaceModel.@each.tags')\n  get tagFilterChoices() {\n    let tagsFilter = [];\n    const spaceModel = this.spaceModel;\n    if (!spaceModel || this.spaceModel.length === 0) return null;\n    const spaces = spaceModel.filter(category => category.id !== this.account.personalSpaceId);\n    spaces.forEach((space) => {\n      let spaceTags = space.tags;\n      if (!spaceTags) return null;\n      spaceTags.forEach((spaceTag) => {\n        if (tagsFilter.indexOf(spaceTag) === -1) {\n          tagsFilter.push(spaceTag);\n          return false;\n        }\n      });\n    });\n    return tagsFilter;\n  }\n\n  @computed('userCategories.length', 'categoryFilters.@each.isActive')\n  get allCatFiltersActive() {\n    const activeCategory = this.categoryFilters.filter(category => category.isActive);\n    return this.userCategories.length === activeCategory.length;\n  }\n\n  @computed(\n    'account.personalSpaceId',\n    'categoryFilters.@each.isActive',\n    'deletedWorkspaces',\n    'nameFilter',\n    'roleFilter.value',\n    'spaceModel.@each.{categories,kind,status,userRole}',\n    'tagsFilterSelection.length',\n  )\n  get spaces() {\n    const status = this.deletedWorkspaces\n      ? libcryptobox.SpaceStatus.Deleted\n      : libcryptobox.SpaceStatus.Active;\n\n    if (!this.spaceModel) return null;\n    let spaces = this.spaceModel.filter(space => space.id !== this.account.personalSpaceId);\n    spaces = spaces\n      .filter(space => space.status === status)\n      .filter(space => space.kind === libcryptobox.SpaceKind.Workspace);\n\n    if (this.nameFilter) {\n      let keyword = this.nameFilter.toLowerCase().trim();\n      spaces = spaces.filter((item) => {\n        const it = diacritic.clean(item.name.toLowerCase());\n        return it.includes(diacritic.clean(keyword));\n      });\n    }\n    //\n    if (this.roleFilter.value !== 'none') {\n      spaces = spaces.filterBy(this.roleFilter.value, true);\n    }\n\n    const activeCategory = this.categoryFilters\n      .filter(category => category.isActive).map(category => category.category);\n    if (activeCategory.length > 0) {\n      let catFilteredSpaces = [];\n      spaces.forEach((space) => {\n        space.categories.forEach((spaceCategory) => {\n          if (\n            activeCategory.indexOf(spaceCategory) !== -1 &&\n            catFilteredSpaces.indexOf(space) === -1\n          ) {\n            catFilteredSpaces.push(space);\n            return false;\n          }\n        });\n      });\n      spaces = catFilteredSpaces;\n    }\n\n    if (this.tagsFilterSelection.length > 0) {\n      let tagsFilteredSpaces = [];\n      spaces.forEach((space) => {\n        space.tags.forEach((spaceTag) => {\n          if (\n            this.tagsFilterSelection.indexOf(spaceTag) !== -1 &&\n            tagsFilteredSpaces.indexOf(space) === -1\n          ) {\n            tagsFilteredSpaces.push(space);\n            return false;\n          }\n        });\n      });\n      spaces = tagsFilteredSpaces;\n    }\n\n    return spaces;\n  }\n\n  @action\n  emptySearch() {\n    this.nameFilter = '';\n  }\n\n  @action\n  changeDisplay(isList) {\n    this.listDisplay = isList;\n    this.manageStorage.setSessionStorageItem(\n      'listDisplay',\n      isList,\n      this.listType,\n    );\n  }\n\n  @action\n  updateSorting(sorting) {\n    this.sorting = sorting;\n    this.manageStorage.setSessionStorageItem(\n      'sortingWS',\n      sorting,\n      this.listType,\n    );\n  }\n\n  @action\n  updateRole(role) {\n    this.roleFilter = role;\n    this.manageStorage.setSessionStorageItem('roleWS', role, this.listType);\n  }\n\n  @action\n  updateTagsFilter(tags) {\n    this.tagsFilterSelection = tags;\n    this.manageStorage.setSessionStorageItem(\n      'tagsFilterWS',\n      tags,\n      this.listType,\n    );\n  }\n\n  @action\n  async indexReady() {\n    const options = { reload: true, adapterOptions: { subscribe: this } };\n    await this.store.findAll('space', options);\n    this.allSpaces = this.store.peekAll('space', options);\n\n    this.getFiltersSortingFromSession();\n\n    if (this.firstRender) {\n      this.scrollSetup();\n      this.firstRender = false;\n    }\n\n    this.setScrollPosition();\n  }\n\n  _updateNameFilter() {\n    this.manageStorage.setSessionStorageItem(\n      'nameFilterWS',\n      this.nameFilter,\n      this.listType,\n    );\n  }\n\n  @observes('nameFilter')\n  updateNameFilter() {\n    debounce(this, this._updateNameFilter, null, 500);\n  }\n\n  @action\n  updateCatFilters() {\n    const catFilters = this.categoryFilters.map((cat) => {\n      return { catfilterId: cat.catfilterId, isActive: cat.isActive };\n    });\n\n    this.manageStorage.setSessionStorageItem(\n      'catFilterWS',\n      catFilters,\n      this.listType,\n    );\n  }\n\n  get currentScrollPosition() {\n    const myGroupsEl = document.querySelector('#my_groups');\n    const mainContentEl = document.getElementById('main-content');\n\n    if (myGroupsEl && mainContentEl) {\n      const topPosition = myGroupsEl.getBoundingClientRect().top;\n      const topOffset = mainContentEl.offsetTop;\n      return Math.abs(topPosition - topOffset);\n    }\n    return null;\n  }\n\n  updateScrollPosition() {\n    if (this.currentScrollPosition == null) return;\n    if (this.scrollPosition !== this.currentScrollPosition) {\n      this.scrollPosition = this.currentScrollPosition;\n\n      this.manageStorage.setSessionStorageItem(\n        'scrollPositionWS',\n        this.scrollPosition,\n        this.listType,\n      );\n    }\n  }\n\n  @action\n  toggleFav(space, event) {\n    event.preventDefault();\n    event.stopPropagation();\n    const favCatId = this.account.favoritesCategoryId;\n    let favCat = this.store.peekRecord({ type: 'category', id: favCatId });\n    favCat.toggleSpace(space);\n  }\n\n  @action\n  toggleAllCatFilters(event) {\n    event.preventDefault();\n    const value = !this.allCatFiltersActive;\n    this.categoryFilters.forEach((category) => (category.isActive = value));\n  }\n}\n","import { sort } from '@ember/object/computed';\nimport { action } from '@ember/object';\nimport Controller from '@ember/controller';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class extends Controller {\n  @service intl;\n\n  @tracked sortingRules = ['date:desc'];\n\n  @sort('model.notifications', 'sortingRules') sortedNotifications;\n\n  @action\n  async markAllAsRead() {\n    const notifications = await this.model.notifications;\n    notifications.forEach((notification) => notification.markAsRead());\n  }\n\n  @action\n  async removeAllNotifications() {\n    const notifications = await this.model.notifications;\n    notifications.forEach((notification) => notification.destroyRecord());\n  }\n}\n","import { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\n\nexport default class MyTransfersController extends Controller {\n  @service intl;\n  @service transfers;\n  @service notify;\n  @service router;\n  @service store;\n\n  get luxonOutputFormat() {\n    return this.intl.t('myTransfers.startTimeFormat');\n  }\n\n  @action\n  clearCompletedList() {\n    this.transfers.failed.clear();\n    this.transfers.completed.clear();\n    this.transfers.active.filter( activeTransfers => activeTransfers.state === 'failed').forEach(failed => {\n      this.transfers.active.removeObject(failed);\n    });\n  }\n\n  @action\n  async goToUploadPath(spaceId, path) {\n    const spaces = await this.store.findAll('space');\n    const space = spaces.findBy('id', spaceId);\n\n    if (space) {\n      this.router.transitionTo('my-groups.group.documents', spaceId, { queryParams: { path: path } });\n    } else {\n      const message = this.intl.t('errors.notMember');\n      this.notify.error(message, {\n        title: this.intl.t('errors.occur'),\n        icon: 'warning',\n      });\n    }\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\n/* global libcryptobox */\n\nexport default class OidcFailure extends Controller {\n    queryParams = ['errorCode']\n    errorCode = ''\n\n    @service intl;\n\n    get message() {\n        return this.errorCode === libcryptobox.ErrorCode.TokenEmailMismatch ? this.intl.t('login.oidc.tab.failure.message.tokenEmailMismatch') : this.intl.t('login.oidc.tab.failure.message.default')\n    }\n}","import Controller from '@ember/controller'\nimport { inject as service } from '@ember/service'\n\nexport default class OidcInProgressController extends Controller {\n    @service router\n\n    queryParams = ['state']\n\n    channel = null\n\n    constructor() {\n        super(...arguments)\n        this.channel = new BroadcastChannel('oidc')\n        this.channel.addEventListener('message', (event) => {\n            console.log('[oidc]', JSON.stringify(event.data))\n            if (event.data?.state !== this.get('state')) {\n                return\n            }\n            switch (event.data?.type) {\n                case 'success':\n                    this.router.transitionTo('oidc-success')\n                    break\n                case 'failure':\n                    this.router.transitionTo('oidc-failure', { queryParams: { errorCode: event.data?.errorCode } })\n                    break\n            }\n        })\n    }\n\n    willDestroy() {\n        super.willDestroy(...arguments)\n        if (this.channel) {\n            this.channel.close()\n        }\n    }\n}\n","import Controller from '@ember/controller'\n\nexport default class OidcSuccessController extends Controller {\n    constructor() {\n        super(...arguments)\n        window.close()\n    }\n}\n","import Controller from '@ember/controller';\n\nexport default class SecondAuthFailed extends Controller {\n  queryParams = ['email1', 'email2'];\n}\n","import { computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport Controller from '@ember/controller';\n\nexport default class Tutorial extends Controller {\n  @service account;\n  @service intl;\n\n  /**\n   * Fix for fingerprint image for production environement\n   * For more detail and cleaner solution: https://discuss.emberjs.com/t/resolving-fingerprinted-assets-using-generateassetmap/8783 - https://ember-cli.com/asset-compilation\n   */\n  @computed('intl.locale')\n  get isFr() {\n    return this.intl.locale[0] === 'fr-fr';\n  }\n}\n","import Controller from '@ember/controller';\n\nexport default class Validate extends Controller {\n  queryParams = ['token'];\n  token = '';\n  isValid = false;\n  isValidating = true;\n  isValidationFail = false;\n}\n","import Controller from '@ember/controller';\n\nexport default class extends Controller{\n  queryParams = ['requestedHash'];\n}\n","import { observer } from '@ember/object';\nimport fileTransfer from 'client/custom-objects/file-transfer';\nimport {DateTime} from \"luxon\";\n\nexport default fileTransfer.extend({\n  direction: 'download',\n  revision: 0,\n  target: null,\n\n  init() {\n    this._super();\n    this.initMeasure();\n\n    if (this.state === 'active' && this.kind === 'file') {\n      void this.startDownload();\n    }\n\n    if (this.state === 'active' && this.kind === 'zip') {\n      void this.startDownloadZip();\n    }\n\n    if (this.state === 'active' && this.kind === 'history') {\n      void this.startDownloadFileHistory();\n    }\n\n    if (this.state === 'active' && this.kind === 'downloadDepositBox') {\n      void this.startDownloadDepositBox();\n    }\n  },\n\n  activate: observer('state', function() {\n    if (this.state === 'active' && this.kind === 'file') {\n       this.startDownload();\n    }\n\n    if (this.state === 'active' && this.kind === 'zip') {\n       this.startDownloadZip();\n    }\n\n    if (this.state === 'active' && this.kind === 'history') {\n      this.startDownloadFileHistory();\n    }\n\n    if (this.state === 'active' && this.kind === 'downloadDepositBox') {\n      this.startDownloadDepositBox();\n    }\n  }),\n\n  async startDownload() {\n    let { spaceId, path, workspaceRevision: revision } = this;\n    this.observe(this.target.download(spaceId, path, revision));\n  },\n\n  async startDownloadZip() {\n    let { spaceId, sources, workspaceRevision: revision } = this;\n    this.observe(this.target.downloadZip(spaceId, sources, revision));\n  },\n\n  async startDownloadFileHistory() {\n    let { spaceId, trackingId } = this;\n    this.observe(this.target.downloadFileHistory(spaceId, trackingId));\n  },\n\n  async startDownloadDepositBox() {\n    let { boxId, fileNames, isZip } = this;\n    this.observe(this.target.downloadDepositBox(boxId, fileNames, isZip));\n  },\n\n  observe(promise) {\n    // TODO : duplication in share-download\n    promise.onprogress = (_, loaded, total) => {\n      this.set('loaded', loaded);\n      this.set('size', total);\n    };\n    this.set('cancelTransfer', promise.cancel);\n    this.set('startTime', DateTime.now());\n    this.peekProgressMeasure();\n    promise\n      .then(() => {\n        this.set('state', 'completed');\n      })\n      .catch((error) => {\n        if (this.state === 'completed') {\n          return;\n        }\n        if (error.code === window.libcryptobox.ErrorCode.Canceled) {\n          this.set('isCanceled', true);\n          this.set('toasted', true);\n        }\n        this.set('state', 'failed');\n      });\n  },\n\n  saveAs() {\n    if (this.state === 'completed' && this.kind === 'file') {\n      this.startDownload();\n    }\n\n    if (this.state === 'completed' && this.kind === 'zip') {\n       this.startDownloadZip();\n    }\n\n    if (this.state === 'completed' && this.kind === 'downloadDepositBox') {\n      void this.downloadDepositBox();\n    }\n  },\n\n});\n","import { later } from '@ember/runloop';\nimport ArrayProxy from '@ember/array/proxy';\nimport EmberObject, { computed } from '@ember/object';\nimport { DateTime } from 'luxon';\n\n//Don't create file Transfer object use fileDownload or fileUpload objects instead\nexport default EmberObject.extend({\n  fileName: '',\n  path: '',\n  spaceId: '',\n  spaceName: '',\n  size: 0,\n  state: '',\n  toasted: false,\n  isCanceled: false,\n  addTime: null,\n  loaded: 0,\n  startTime: null,\n  progressMeasureArray: null,\n  observer: null,\n  kind: 'file',\n  sources: null,\n\n  initMeasure() {\n    this.set('addTime', DateTime.now());\n    this.set(\n      'progressMeasureArray',\n      ArrayProxy.create({\n        content: [],\n      }),\n    );\n  },\n\n  progressPercent: computed('loaded', 'size', function () {\n    const loaded = this.loaded,\n      size = this.size;\n      const computed = (loaded / size) * 100;\n    return computed ? computed : 0;\n  }),\n\n  speed: computed('loaded', 'progressMeasureArray', 'size', function () {\n    const progressMeasureArray = this.progressMeasureArray;\n    if (!progressMeasureArray) {\n      return 0;\n    }\n    const progressMeasureArrayLength = this.progressMeasureArray.get('length');\n    if (!progressMeasureArrayLength) {\n      return 0;\n    }\n    let latestMeasure = progressMeasureArray.objectAt(0);\n    if (progressMeasureArrayLength <= 1) {\n      return 0;\n    }\n    let oldestMeasure = progressMeasureArray.objectAt(\n      progressMeasureArrayLength - 1,\n    );\n    let loadedByteMeasured = latestMeasure.loaded - oldestMeasure.loaded;\n    let timeMeasured = latestMeasure.timeStamp - oldestMeasure.timeStamp;\n\n    return loadedByteMeasured / timeMeasured; //Return speed in o/ms\n  }),\n\n  remain: computed('loaded', 'size', 'speed', function () {\n    const loadedSize = this.loaded,\n      totalSize = this.size,\n      speed = this.speed;\n    if (speed === 0) {\n      return false;\n    }\n    let remainSize = totalSize - loadedSize;\n    return Math.round(remainSize / speed); //Time on Ms\n  }),\n\n  remainSize: computed('loaded', 'size', 'speed', function () {\n    return this.size - this.loaded;\n  }),\n\n  peekProgressMeasure() {\n    later(\n      this,\n      function () {\n        if (this.state === 'active') {\n          const progressMeasureArray = this.progressMeasureArray;\n          let measure = {\n            timeStamp: DateTime.now(),\n            loaded: this.loaded,\n          };\n          progressMeasureArray.unshiftObject(measure);\n          if (progressMeasureArray.get('length') > 15) {\n            // Change int of condition to modify ponderation of measurement\n            progressMeasureArray.popObject();\n          }\n          this.peekProgressMeasure();\n        }\n      },\n      1000,\n    );\n  },\n});\n","import { observer } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport fileTransfer from 'client/custom-objects/file-transfer';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport FileReader from 'client/toolbox/file-reader';\nimport { DateTime } from 'luxon';\n/* global libcryptobox */\n\nexport default fileTransfer.extend({\n  direction: 'upload',\n  fileData: null,\n  depositBoxFormId: null,\n  //parentFolderId: '',\n  parentFolderPath: '',\n\n  store: service(),\n\n  init() {\n    this._super();\n    this.initMeasure();\n    if (this.state === 'active') {\n      if (this.kind === 'deposit_box_form') {\n        this.startDepositBoxUploadUnAuthenticated();\n      } else {\n        this.startUpload();\n      }\n    }\n  },\n\n  activate: observer('state', function () {\n    if (this.state === 'active') {\n      this.startUpload();\n    }\n  }),\n\n  async startUpload() {\n    const spaceId = this.spaceId;\n    const parentFolderPath = this.parentFolderPath;\n    const fileName = this.fileName;\n    const file = this.fileData;\n\n    const reader = new FileReader(tBoxClient, file, fileName);\n    const upload = await tBoxClient.fileUpload.create(\n      spaceId,\n      parentFolderPath + '/' + fileName,\n      reader,\n    );\n    this.watchProgress(upload);\n\n    const cancelTransfer = () => {\n      tBoxClient.fileUpload.cancel(upload.id);\n    };\n    const retryTransfer = () => {\n      this.set('isCanceled', false);\n      this.set('toasted', false);\n      this.set('state', 'retry');\n\n      tBoxClient.fileUpload.retry(upload.id);\n      this.watchProgress(upload);\n    };\n\n    this.set('cancelTransfer', cancelTransfer);\n    this.set('retryTransfer', retryTransfer);\n  },\n\n  lastKnownSpeed: 0,\n\n  async startDepositBoxUploadUnAuthenticated() {\n    const fileName = this.fileName;\n    const file = this.fileData;\n\n    const reader = new FileReader(tBoxClient, file, fileName);\n\n    const upload = tBoxClient.depositBoxForm.upload(\n      this.depositBoxFormId,\n      reader,\n    );\n    let hasReceivedProgressUpdate = false;\n    const onProgress = (_, loaded, total) => {\n      hasReceivedProgressUpdate = true;\n      this.set('loaded', loaded);\n      // this.set(\"size\", total);\n    };\n    const onError = (error) => {\n      if (error.code === libcryptobox.ErrorCode.Canceled) {\n        this.set('isCanceled', true);\n      }\n      this.set('toasted', true);\n      this.set('error', error);\n      this.set('state', 'failed');\n    };\n    const cancelTransfer = () => {\n      tBoxClient.depositBoxForm.remove(this.depositBoxFormId, fileName);\n    };\n    const startTime = DateTime.now();\n    const onSuccess = () => {\n      const nowTime = DateTime.now();\n      const timeMs = nowTime - startTime;\n      this.lastKnownSpeed = this.size / timeMs;\n      this.set('loaded', this.size);\n      this.set('state', 'completed');\n    };\n    upload.onprogress = onProgress;\n    this.set('cancelTransfer', cancelTransfer);\n    this.set('startTime', DateTime.now());\n    this.peekProgressMeasure();\n    upload.then(onSuccess).catch(onError);\n  },\n\n  watchProgress(upload) {\n    const onProgress = (timestamp, loaded, total) => {\n      this.set('loaded', loaded);\n      this.set('size', total);\n    };\n    const onSuccess = () => {\n      this.set('loaded', this.size);\n      this.set('state', 'completed');\n    };\n    const onError = (error) => {\n      // FIXME(jbe) The toolbox returns a concurrency error after multiple\n      // unsuccessful tries. It is helpless to try one more time.\n      // if(error.code === libcryptobox.ErrorCode.Conflict){\n      //   let observer = new DefaultObserver();\n      //   tBoxClient.synchronizeSpace(spaceId, observer);\n      //   // this.get('store').peekRecord('space', spaceId).reload().then(() => {\n      //   observer.deferred.promise.then(() => {\n      //     this.set('loaded', this.get('size'));\n      //     this.set('state', 'completed');\n      //   });\n      //   return;\n      // }\n      if (error.code === libcryptobox.ErrorCode.Canceled) {\n        this.set('isCanceled', true);\n        this.set('toasted', true);\n      }\n      this.set('state', 'failed');\n    };\n\n    this.set('startTime', DateTime.now());\n    this.peekProgressMeasure();\n    const promise = tBoxClient.fileUpload.wait(upload.id);\n    promise.onprogress = onProgress;\n    promise.then(onSuccess).catch(onError);\n  },\n});\n","/* global libcryptobox */\nimport fileDownload from 'client/custom-objects/file-download';\n\nexport default fileDownload.extend({\n  sharingUrl: '',\n  key: '',\n  transfers: null,\n\n  startDownload() {\n    let sharingUrl = this.sharingUrl;\n    let key = this.key;\n    this.set('startTime', Date.now());\n    this.peekProgressMeasure();\n    let promise = this.target.downloadSharing(sharingUrl, key);\n    promise.onprogress = (timestamp, loaded, total) => {\n      this.set('loaded', loaded);\n      this.set('size', total);\n    };\n    promise\n      .then(() => {\n        this.set('state', 'completed');\n      })\n      .catch((error) => {\n        if (error.code === libcryptobox.ErrorCode.Canceled) {\n          // Reset the download.\n          this.set('transfers.shareDownload', null);\n        } else {\n          this.set('error', error);\n          this.set('state', 'onError');\n        }\n      });\n  },\n});\n","export default {\n  time: {\n    hhmmss: {\n      hour: 'numeric',\n      minute: 'numeric',\n      second: 'numeric'\n    }\n  },\n  date: {\n    hhmmss: {\n      hour: 'numeric',\n      minute: 'numeric',\n      second: 'numeric'\n    }\n  },\n  number: {\n    EUR: {\n      style: 'currency',\n      currency: 'EUR',\n      minimumFractionDigits: 2,\n      maximumFractionDigits: 2\n    },\n    USD: {\n      style: 'currency',\n      currency: 'USD',\n      minimumFractionDigits: 2,\n      maximumFractionDigits: 2\n    }\n  }\n};\n","import {helper} from '@ember/component/helper';\n\n/**\n * @description comparator to include in templates\n *\n * @example will add active class to <li> if selectedMenuIndex === index of the #each loop\n {{#each menuItems as |item index|}}\n <li class=\"item\n {{active-class index selectedMenuIndex}}\"\n {{action \"selectMenuItem\" index}}\n >\n {{item.text}}\n </li>\n {{/each}}\n\n * @param params\n * @returns {string}\n */\nexport function activeClass(params/*, hash*/) {\n  const index = params[0];\n  const active = params[1];\n\n  return (index === active) ? 'active' : '';\n}\n\nexport default helper(activeClass);\n","import { helper } from \"@ember/component/helper\";\nimport ENV from \"client/config/environment\";\n\nconst versionRegExp = /\\d+[.]\\d+[.]\\d+/;\n\nfunction appVersion(/*args*/) {\n  return ENV.APP.version.match(versionRegExp);\n}\n\nexport default helper(appVersion);\n","import AssetMap from 'ember-cli-ifa/helpers/asset-map';\n\nexport default AssetMap;\n","import { inject as service } from '@ember/service';\nimport Helper from '@ember/component/helper';\n\nexport default Helper.extend({\n  intl: service(),\n  compute(fileName) {\n    let fileExt = fileName[0].split('.').pop().toLowerCase() || '';\n    if(fileExt === '' || fileName[0].indexOf('.') == -1){\n      return '';\n    }\n    let fileType = this.intl.t('fileType.' + fileExt);\n    if(!fileType){\n      return '';\n    }\n    return fileType;\n  },\n});\n","import { helper } from \"@ember/component/helper\";\nimport { FILE_TYPE_WITH_PREVIEW_LIST } from \"../utils/enums\";\n\nexport function fileWithPreview(params) {\n  if (!params[0]) {\n    return \"\";\n  }\n\n  return FILE_TYPE_WITH_PREVIEW_LIST.includes(params[0]);\n}\n\nexport default helper(fileWithPreview);\n","import { helper } from '@ember/component/helper';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n\nexport function getFingerPrint(certificate) {\n  return tBoxClient.security.getFingerprint(certificate[0]);\n}\n\nexport default helper(getFingerPrint);\n","import { helper } from '@ember/component/helper';\n\nexport function firstLetter(params) {\n\tif (!params[0]) {\n\t\treturn \"\";\n\t}\n\treturn Array.from(params[0].toUpperCase())[0];\n}\n\nexport default helper(firstLetter);\n","import { helper } from '@ember/component/helper';\n\nexport function firstLetters(params) {\n  if (!params[0]) {\n\treturn \"\";\n  }\n  let names = params[0].split(' ');\n  let firstname = names[0];\n  let lastname = names[1];\n\n  if (lastname) {\t\n\treturn `${Array.from(firstname)[0]} ${Array.from(names[1])[0]}`;\n  } else {\n\treturn `${Array.from(firstname)[0]}`;\n  }\n}\n\nexport default helper(firstLetters);\n","import Helper from '@ember/component/helper';\nimport { DateTime } from 'luxon';\nimport { inject as service } from '@ember/service';\n\nexport default class FormatDateHelper extends Helper {\n  @service intl;\n\n  compute(\n    [date],\n    {\n      format = false,\n      locale = navigator.language || 'en-US',\n      useMediumFormat = false,\n      includeToday = false,\n    },\n  ) {\n    const _locale = Array.isArray(locale) ? locale[0] : locale;\n    const _date = DateTime.fromISO(date).setLocale(_locale);\n\n    const today = DateTime.now().setLocale(_locale).startOf('day');\n\n    if (includeToday && _date.hasSame(today, 'day')) {\n      return this.intl.t('today');\n    }\n\n    if (useMediumFormat) {\n      const options = {\n        year: 'numeric',\n        month: 'short',\n        day: 'numeric',\n        hour: '2-digit',\n        minute: '2-digit',\n        hourCycle: 'h23',\n      };\n      if (_locale.startsWith('fr')) {\n        return _date.toLocaleString(options, { locale: 'fr' });\n      } else {\n        return _date.toLocaleString(options, { locale: 'en' });\n      }\n    }\n    if (format) {\n      return _date.toFormat(format);\n    } else {\n      const dateFormat = this.intl.t('luxonFormat');\n      return _date.toFormat(dateFormat);\n    }\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Helper from '@ember/component/helper';\n\nexport default Helper.extend({\n  intl: service(),\n  compute(role) {\n    switch(role[0]){\n      case 'auditor':\n        return this.intl.t('members.member.role.auditor');\n      case 'member':\n        return this.intl.t('members.member.role.member');\n      case 'owner':\n        return this.intl.t('members.member.role.owner');\n    }\n  },\n});\n","import { inject as service } from '@ember/service';\nimport Helper from '@ember/component/helper';\n\nexport default Helper.extend({\n  intl: service(),\n  compute(size) {\n    let formatSize;\n    if (size < 1e3) {\n      formatSize= size + ' ';\n    } else if (size >= 1e3 && size < 1e6) {\n      formatSize = (size / 1e3).toFixed(2) + ' k';\n    } else if (size >= 1e6 && size < 1e9) {\n      formatSize = (size / 1e6).toFixed(2) + ' M';\n    } else if (size >= 1e9 && size < 1e12) {\n      formatSize = (size / 1e9).toFixed(2) + ' G';\n    } else {\n      formatSize = (size / 1e12).toFixed(2) + ' T';\n    }\n    formatSize += this.intl.t('sizeUnit');\n    return formatSize;\n  },\n});\n","import Helper from '@ember/component/helper';\nimport { inject as service } from '@ember/service';\n\nexport default Helper.extend({\n  intl: service(),\n  compute(speed) {\n    let formatSpeed;\n    speed = speed * 1000; //convert B/ms to B/s\n    if (speed < 1e3) {\n      formatSpeed= speed.toFixed(2) + ' ';\n    } else if (speed >= 1e3 && speed < 1e6) {\n      formatSpeed = (speed / 1e3).toFixed(2) + ' k';\n    } else if (speed >= 1e6 && speed < 1e9) {\n      formatSpeed = (speed / 1e6).toFixed(2) + ' M';\n    } else if (speed >= 1e9 && speed < 1e12) {\n      formatSpeed = (speed / 1e9).toFixed(2) + ' G';\n    } else {\n      formatSpeed = (speed / 1e12).toFixed(2) + ' T';\n    }\n    formatSpeed += this.intl.t('sizeUnit')+'/s';\n    return formatSpeed;\n  },\n});\n","import { inject as service } from '@ember/service';\nimport Helper from '@ember/component/helper';\n\nexport default Helper.extend({\n  intl: service(),\n  compute(state) {\n    switch (state[0]){\n      case 'email_validation_pending':\n        return this.intl.t('admin.users.state.mailPending');\n      case 'blocked':\n        return this.intl.t('admin.users.state.blocked');\n      case 'deleted':\n        return this.intl.t('admin.users.state.deleted');\n      case 'active':\n        return this.intl.t('admin.users.state.active');\n      case 'admin_validation_pending':\n        return this.intl.t('admin.users.state.adminPending');\n    }\n  },\n});\n","import Helper from '@ember/component/helper';\nimport mime from 'mime';\n\nexport default class GetMimeType extends Helper {\n  compute([filename = '']) {\n    const normalizedFilename = filename.trim();\n    if (!normalizedFilename) {\n      return '*/*';\n    }\n\n    const mimeType = mime.getType(normalizedFilename);\n\n    if (!mimeType) {\n      return 'application/octet-stream';\n    }\n\n    return mimeType;\n  }\n}\n","import { helper } from '@ember/component/helper';\n\nexport function getPrevFileItem(positional, { fileHistoryData, index }) {\n  if (index > 0 && index < fileHistoryData.length) {\n    return fileHistoryData[index - 1];\n  } else {\n    return null;\n  }\n}\n\nexport default helper(getPrevFileItem);\n","import { helper } from \"@ember/component/helper\";\n\nfunction greaterThan(args) {\n  const [n1, n2] = args;\n  if (n1 == null) return false;\n  if (n2 == null) return false;\n  return n1 > n2;\n}\n\nexport default helper(greaterThan);\n","import { helper } from \"@ember/component/helper\";\n\nfunction greaterThanEqual(args) {\n  const [n1, n2] = args;\n  if (n1 == null) return false;\n  if (n2 == null) return false;\n  return n1 >= n2;\n}\n\nexport default helper(greaterThanEqual);\n","import _ from 'lodash';\nimport { DateTime } from 'luxon';\n\n/**\n * groupDataByYearAndByDates\n * Groups items from an array by year and by dates.\n *\n * @param {Array<Object>} data - The array of file activities..\n * @returns {Array<Object>} An array of file activities grouped by year and by dates.\n */\nexport function groupDataByYearAndByDates(data) {\n  const years = data.map((item) => new Date(item.date).getFullYear());\n  const minYear = Math.min(...years);\n  const maxYear = Math.max(...years);\n\n  const allYears = Array.from(\n    { length: maxYear - minYear + 1 },\n    (_, index) => minYear + index,\n  );\n\n  const groupedData = _.chain(data)\n    .groupBy((item) => item.date.substring(0, 4))\n    .mapValues((yearData) =>\n      _.groupBy(yearData, (item) =>\n        DateTime.fromISO(item.date).toISODate(),\n      ),\n    )\n    .map((value, key) => ({ year: key, days: value }))\n    .value();\n\n  allYears.forEach((year) => {\n    const foundYear = groupedData.find((item) => item.year === String(year));\n    if (!foundYear) {\n      groupedData.push({ year: String(year), days: {} });\n    }\n  });\n\n  return groupedData.sortBy('year').reverse();\n}\n","import Helper, { helper as buildHelper } from '@ember/component/helper';\nimport { inlineSvg } from 'ember-inline-svg/helpers/inline-svg';\nimport SVGs from '../svgs';\nimport Ember from 'ember';\n\nlet helper;\nif (Helper && buildHelper) {\n  helper = buildHelper(function([path], options) {\n    return inlineSvg(SVGs, path, options);\n  });\n} else {\n  helper = Ember.Handlebars.makeBoundHelper(function(path, options) {\n    return inlineSvg(SVGs, path, options.hash || {});\n  });\n}\n\nexport default helper;\n","import { helper } from \"@ember/component/helper\";\n/* global libcryptobox */\n\nfunction isClickableNotification(notification) {\n  return notification.state === libcryptobox.NotificationState.Unread;\n}\n\nfunction isClickable([target, testName]) {\n  if (testName === \"notification\") {\n    return isClickableNotification(target);\n  }\n\n  return false;\n}\n\nexport default helper(isClickable);\n","import { helper } from \"@ember/component/helper\";\n\nfunction isEven(args) {\n  let [n] = args;\n  return n % 2;\n}\n\nexport default helper(isEven);\n","import { helper } from \"@ember/component/helper\";\n\nfunction lessThan(args) {\n  const [n1, n2] = args;\n  if (n1 == null) return false;\n  if (n2 == null) return false;\n  return n1 < n2;\n}\n\nexport default helper(lessThan);\n","import pluralize from 'ember-inflector/lib/helpers/pluralize';\nexport default pluralize;\n","import Helper from '@ember/component/helper';\nimport { inject as service } from '@ember/service';\n\nexport default class extends Helper {\n\n  @service intl;\n\n  compute([time, useFullFormat]) {\n    time = Math.round(time / 1000); //convert ms to s\n    if(window.isNaN(time) || !isFinite(time)){\n      return '';\n    }\n    let timeRemainingSec = parseInt(time, 10);\n    let hoursRemaining   = Math.floor(timeRemainingSec / 3600);\n    let minutesRemaining = Math.floor((timeRemainingSec - (hoursRemaining * 3600)) / 60);\n    let secondsRemaining = timeRemainingSec - (hoursRemaining * 3600) - (minutesRemaining * 60);\n    let formatTimeRemaining='';\n    if(hoursRemaining>0){\n      formatTimeRemaining+=hoursRemaining+'h ';\n    }\n    if(minutesRemaining>0){\n      if(formatTimeRemaining!=='' && minutesRemaining<10){\n        minutesRemaining = '0'+minutesRemaining;\n      }\n      formatTimeRemaining+=minutesRemaining+'m ';\n    }\n    if(formatTimeRemaining!=='' && secondsRemaining<10){\n      secondsRemaining= '0'+secondsRemaining;\n    }\n    const formatSeconds = useFullFormat ? ' ' + this.intl.t('time.fullSecond', { value: secondsRemaining }) : secondsRemaining+'s'\n    formatTimeRemaining+=formatSeconds;\n    return formatTimeRemaining;\n  }\n}\n","import { helper } from \"@ember/component/helper\";\n\nfunction round(args) {\n  let [ number ] = args;\n  return Math.round(number);\n}\n\nexport default helper(round);\n","import { helper } from '@ember/component/helper';\n\nexport function showOnlineEditionBadge([space, serverSettings, ...rest], namedArgs) {\n  return serverSettings?.onlineEditorEnabled && space.allowOnlineEdition;\n};\n\nexport default helper(showOnlineEditionBadge);","import singularize from 'ember-inflector/lib/helpers/singularize';\nexport default singularize;\n","import { helper } from '@ember/component/helper';\nimport { htmlSafe } from '@ember/template';\nlet entityMap = {\n  '&': '&amp;',\n  '<': '&lt;',\n  '>': '&gt;',\n  '\"': '&quot;',\n  \"'\": '&#39;',\n  '/': '&#x2F;',\n  '`': '&#x60;',\n  '=': '&#x3D;',\n  '.': '&#46;'\n};\nlet escapeHtml = function (string) {\n  return String(string).replace(/[&<>\"'`=/.]/g, function fromEntityMap (s) {\n    return entityMap[s];\n  });\n};\nexport function urlify(params) {\n    let string = escapeHtml(params[0]);\n    const urlRegex = /(\\b(((https?|ftp|file):&#x2F;&#x2F;)|(www&#46;))[-A-Z0-9+&amp;@#/%?&#x3D;~_|!:,.;]*[-A-Z0-9+&amp;@#/%&#x3D;~_|])/ig;\n    let urlifiedString = string.replace(urlRegex, function(url, _b, c) {\n        const url2 = (c == 'www&#46;') ?  'http://' + url : url;\n        return '<a target=\"_blank\" href=\"' + url2 + '\">' + url + '</a>';\n    })\n  return htmlSafe(urlifiedString);\n}\n\nexport default helper(urlify);\n","import initializerFactory from 'ember-cli-app-version/initializer-factory';\nimport config from '../config/environment';\n\nlet name, version;\nif (config.APP) {\n  name = config.APP.name;\n  version = config.APP.version;\n}\n\nexport default {\n  name: 'App Version',\n  initialize: initializerFactory(name, version),\n};\n","import AssetMap from 'ember-cli-ifa/initializers/asset-map';\n\nexport default AssetMap;\n","import Inflector from \"ember-inflector\";\n\nexport function initialize(/* application */) {\n  const inflector = Inflector.inflector;\n\n  // Tell the inflector that the plural of \"account-settings\" is \"account-settings\"\n  inflector.uncountable(\"account-settings\");\n}\n\nexport default {\n  name: \"custom-inflector-rules\",\n  initialize,\n};\n","import ObjectProxy from '@ember/object/proxy';\n\nexport function initialize(/* appInstance */) {\n  ObjectProxy.reopen({\n    unknownProperty(key) {\n      if (this.isDestroying || this.isDestroyed) {\n        return;\n      }\n      return this._super(key);\n    },\n\n    willWatchProperty(/*key*/) {\n      if (\n        this.isDestroying ||\n        this.isDestroyed ||\n        (this.content != null &&\n          (this.content.isDestroying || this.content.isDestroyed))\n      ) {\n        return;\n      }\n      return this._super(arguments);\n    },\n  });\n}\n\nexport default {\n  initialize,\n};\n","import 'ember-data';\n\nimport setupContainer from 'ember-data/setup-container';\n\n/*\n  This code initializes EmberData in an Ember application.\n*/\nexport default {\n  name: 'ember-data',\n  initialize: setupContainer,\n};\n","import ENV from '../config/environment';\nimport UserAgent from '../toolbox/generated/client/user-agent';\nimport WebWorkerTransport from '../toolbox/generated/client/rpc/transport/web-worker';\nimport ElectronIPCTransport from '../toolbox/generated/client/rpc/transport/electron-ipc';\nimport TauriIPCTransport from '../toolbox/generated/client/rpc/transport/tauri-ipc';\nimport libcryptobox from '../toolbox/generated/client/libcryptobox';\nimport { getSettings } from '../toolbox/electron-settings';\nimport { invoke } from '@tauri-apps/api/core';\n\nlet tBoxClient;\nwindow.libcryptobox = libcryptobox;\n\nexport async function initialize(application) {\n  application.deferReadiness();\n  let toolBoxClient;\n\n  if (ENV.APP.isElectronApp) {\n    toolBoxClient = new UserAgent(\n      new ElectronIPCTransport(),\n      await getSettings(application),\n    );\n  } else if (ENV.APP.isTauriApp) {\n    const transport = new TauriIPCTransport();\n    toolBoxClient = new UserAgent(transport, async () => {\n      return {\n        cacheDir: await invoke('get_cache_dir'),\n        cacheKeyVault: {\n          setSecret: async (secret) => {\n            const value = transport.decodeUint8Array(secret);\n            await invoke('set_cache_key', { value });\n          },\n          getSecret: async () => {\n            const secret = await invoke('get_cache_key');\n            // Tauri converts Uint8Array to Vec<u8> (JS to Rust) but Vec<u8> to Array<number> (Rust to JS).\n            // https://github.com/tauri-apps/tauri/discussions/6286\n            return transport.encodeUint8Array(new Uint8Array(secret));\n          },\n        },\n        deviceInfo: {\n          appName: 'Desktop',\n          appVersion: ENV.APP.version,\n        },\n      };\n    });\n  } else {\n    toolBoxClient = new UserAgent(\n      new WebWorkerTransport('static/assets/workers/libcryptobox.js'),\n      {\n        deviceInfo: {\n          appName: 'Web',\n          appVersion: ENV.APP.version,\n        },\n      },\n    );\n  }\n\n  if (ENV.environment === 'development' || ENV.APP.isDesktopApp) {\n    toolBoxClient.logging.setSystemLogEnabled(true);\n  }\n\n  tBoxClient = toolBoxClient;\n  application.advanceReadiness();\n}\n\nexport default {\n  initialize,\n  name: 'initToolbox',\n};\n\nexport { tBoxClient };\n","import pdfjsLib from 'pdfjs-dist';\nimport ENV from 'client/config/environment';\n\nexport function initialize() {\n  if (typeof window === 'undefined') return;\n  const BASE_PATH = `/vendor/pdfjs-dist/build/pdf.worker.mjs`;\n  pdfjsLib.GlobalWorkerOptions.workerSrc = (ENV.APP.isElectronApp || ENV.APP.isTauriApp)\n    ? BASE_PATH\n    : `/static${BASE_PATH}`;\n}\n\nexport default {\n  name: 'pdfjs',\n  initialize,\n};\n","import EmberObject from '@ember/object';\nimport {Info} from \"luxon\";\n\nexport default {\n  name: 'setup-pikaday-i18n',\n  initialize: function(App) {\n    let locale = navigator.language || navigator.userLanguage || 'en-US';\n    Info.defaultLocale = locale;\n    let i18n = EmberObject.extend({\n      months: null,\n      weekdays: null,\n      weekdaysShort: null,\n\n      init() {\n        this._super(...arguments);\n        this.months = Info.months('long', { locale });\n        const weekdays = Info.weekdays('long', { locale });\n        this.weekdays = [weekdays[6], ...weekdays.slice(0, 6)];\n        const weekdaysShort = Info.weekdays('short', { locale });\n        this.weekdaysShort = [weekdaysShort[6], ...weekdaysShort.slice(0, 6)];\n      },\n    });\n\n    App.register('pikaday-i18n:main', i18n, { singleton: true });\n    App.inject('component:pikaday-input', 'i18n', 'pikaday-i18n:main');\n  }\n};\n","import { inject as service } from '@ember/service';\n\nexport function initialize(app) {\n  const workers = app.__container__.lookup('service:worker');\n  workers.set('webWorkersPath', '/static/assets/web-workers/');\n}\n\nexport default {\n  name: 'web-worker',\n  worker: service(),\n  initialize,\n};\n","import initialize from 'ember-modal-dialog/instance-initializers/add-modals-container';\n\nexport default {\n  name: 'add-modals-container',\n  initialize,\n};\n","/* exists only for things that historically used \"after\" or \"before\" */\nexport default {\n  name: 'ember-data',\n  initialize() {},\n};\n","export default {\n  name: 'head-browser',\n  initialize() {\n    // do nothing!\n    // this functionality has been moved into addon/components/head-layout.js\n    // This is only here in order to not break existing addons relying on this, e.g. ember-page-title.\n  },\n};\n","import { tBoxClient } from 'client/initializers/init-toolbox';\n\nexport function initialize(applicationInstance) {\n  var factory = applicationInstance.lookup('service:observer-factory');\n  tBoxClient.setGlobalErrorHandler(factory.getErrorManagement());\n}\n\nexport default {\n  initialize\n};\n","/* global ipc */\nimport { invoke } from '@tauri-apps/api/core';\nimport { listen } from '@tauri-apps/api/event';\nimport { open, save } from '@tauri-apps/plugin-dialog';\nimport { openUrl } from '@tauri-apps/plugin-opener';\nimport { getCurrentWebviewWindow } from '@tauri-apps/api/webviewWindow';\n\nimport ENV from 'client/config/environment';\n\nexport async function openExternal(url) {\n  if (ENV.APP.isElectronApp) {\n    await ipc.electron.shell.openExternal(url);\n  } else if (ENV.APP.isTauriApp) {\n    await openUrl(url);\n  }\n}\n\nexport async function showSaveDialog(filename) {\n  if (ENV.APP.isElectronApp) {\n    return ipc.electron.dialog.showSaveDialogSync({ defaultPath: filename });\n  } else if (ENV.APP.isTauriApp) {\n    return await save({ defaultPath: filename });\n  }\n}\n\nexport async function showSaveMultiDialog(filenames) {\n  if (ENV.APP.isElectronApp) {\n    return ipc.electron.dialog.showSaveMultiDialog(filenames);\n  } else if (ENV.APP.isTauriApp) {\n    throw 'Not implemented in Tauri';\n  }\n}\n\nexport async function getDefaultServerUrl() {\n  if (ENV.APP.isElectronApp) {\n    return await ipc.getDefaultUrlServerFromRegistry();\n  } else if (ENV.APP.isTauriApp) {\n    return await invoke('get_default_server_url');\n  }\n}\n\nexport async function getCfsbUrls() {\n  if (ENV.APP.isElectronApp) {\n    return await ipc.getCFSBFromRegisters();\n  } else if (ENV.APP.isTauriApp) {\n    return await invoke('get_cfsb_urls');\n  }\n}\n\nconst AUTO_UPDATE_EVENTS = ['available', 'disabled', 'downloading', 'enabled', 'error', 'up-to-date', 'verifying']\n\nexport async function autoUpdateInit() {\n  if (ENV.APP.isElectronApp) {\n    return await ipc.autoUpdate.init()\n  } else {\n    return await invoke('init_auto_update')\n  }\n}\n\nexport async function autoUpdateCheck() {\n  if (ENV.APP.isElectronApp) {\n    return await ipc.autoUpdate.check()\n  } else {\n    return await invoke('check_and_download_update', { manual: true })\n  }\n}\n\nexport async function autoUpdateRestart() {\n  if (ENV.APP.isElectronApp) {\n    return await ipc.autoUpdate.restart();\n  } else {\n    return await invoke('install_update_and_restart')\n  }\n}\n\nexport async function autoUpdateOn(event, listener) {\n  if (!AUTO_UPDATE_EVENTS.includes(event)) {\n    throw `event is not whitelisted`\n  }\n  if (ENV.APP.isElectronApp) {\n    ipc.autoUpdate.on(event, listener)\n  } else {\n    listen(`auto-update-${event}`, (e) => listener(e.payload))\n  }\n}\n\nexport async function bringToForeground() {\n  if (ENV.APP.isElectronApp) {\n    await ipc.bringToForeground()\n  } else if (ENV.APP.isTauriApp) {\n    const appWindow = getCurrentWebviewWindow()\n    await appWindow.unminimize()\n    await appWindow.show()\n    await appWindow.setFocus()\n  }\n}","import Mixin from '@ember/object/mixin';\n\nexport default Mixin.create({\n  mouseX: 0,\n  mouseY: 0,\n\n  contextMenu: function(e) {\n    this.set('mouseX',e.pageX);\n    this.set('mouseY',e.pageY);\n    let search = document.querySelector(\"input[name='search']\");\n\n    if (search) {\n      const searchBounds = search.getBoundingClientRect()\n      let searchX = searchBounds.left;\n      let searchY = searchBounds.top;\n      let xValid = e.pageX < searchX || e.pageX > (searchX + searchBounds.width + 50);\n      let yValid = e.pageY < searchY || e.pageY > (searchY + searchBounds.height + 30);\n\n      if (xValid || yValid) {\n        e.preventDefault();\n        this.set('isContextMenuOpened', true);\n        return false\n      }\n      return\n    } else {\n      e.preventDefault();\n      this.set('isContextMenuOpened', true);\n    }\n    return false\n  },\n});\n","import Mixin from '@ember/object/mixin';\n\nexport default Mixin.create({\n  actions:{\n    modalIsOpen() {\n      let parentView = this.get('parentView');\n      if(parentView) {\n        parentView.set('modalIsOpen', true);\n      }\n    },\n    modalIsClose() {\n      let parentView = this.get('parentView');\n      if(parentView) {\n        parentView.set('modalIsOpen', false);\n      }\n    }\n  },\n  \n  generateContextId(baseName) {\n    let contextualId = baseName;\n    if(this.get('parentView').get('classNames')[1] === 'details-pane-content'){\n      contextualId += \"-details\";\n    }\n    if(this.get('parentView').get('classNames')[1] === 'context_menu'){\n      contextualId += \"-context-menu\";\n    }\n    return contextualId;\n  },\n});\n","import { run } from '@ember/runloop';\nimport Evented from '@ember/object/evented';\nimport Mixin from '@ember/object/mixin';\nlet RESIZE_EVENTS = 'resize orientationchange';\n\nexport default Mixin.create(Evented, {\n  bindResize() {\n    this.resizeHandler = () => this.debouncedResize();\n    document.addEventListener(RESIZE_EVENTS, this.resizeHandler)\n  },\n\n  unbindResize() {\n    document.removeEventListener(RESIZE_EVENTS, this.resizeHandler)\n  },\n\n  debouncedResize() {\n    window.requestAnimationFrame(() => {\n      if (this.isDestroyed) {\n        return;\n      }\n      run(() => {\n        this.trigger('onResize');\n        this.onResize();\n      });\n    });\n  },\n});\n","function truncate(element, name) {\n  const visibleWidth = element.clientWidth - 18\n  const canvas = document.createElement(\"canvas\")\n  const context = canvas.getContext(\"2d\");\n  context.font = 'normal 12px roboto';\n  const metrics = context.measureText(name);\n\n  if (metrics.width > visibleWidth) {\n    let i = 1\n    const end = '...' + name.substring(name.length - 10, name.length)\n\n    while (context.measureText(name).width > visibleWidth) {\n      const start = name.substring(0, name.length - (10 + i * 3))\n      name = start + end\n      i++\n    }\n  }\n\n  return name\n}\n\n\nexport { truncate };\n","import { tBoxClient } from 'client/initializers/init-toolbox';\nimport BaseModel from 'client/toolbox/generated/models/attachment';\nimport BlobFileWriter from 'client/toolbox/blob-file-writer';\nimport { attr } from '@ember-data/model';\nimport { getFileDownloadTarget } from 'client/toolbox/file-download-target';\nimport mime from 'mime';\n\nexport default class Attachment extends BaseModel {\n  @attr fileData;\n\n  async downloadAttachment() {\n    const target = await getFileDownloadTarget(this.fileName, this.fileSize);\n    if (!target) {\n      return;\n    }\n    const promise = target.downloadAttachment(this.id);\n    this.downloadHasFailed = false;\n    this.isDownloading = true;\n    this.cancelDownload = promise.cancel;\n    return promise\n      .then(() => (this.isDownloading = false))\n      .catch((error) => {\n        console.error(error);\n        this.isDownloading = false;\n        if (error.code !== window.libcryptobox.ErrorCode.Canceled) {\n          this.downloadHasFailed = true;\n        }\n      });\n  }\n\n  createUrl() {\n    this.downloadHasFailed = false;\n    let writer = new BlobFileWriter();\n    this.isDownloading = true;\n    let promise = tBoxClient.attachment.download(this.id, writer);\n    this.cancelDownload = promise.cancel;\n\n    return promise\n      .then(() => {\n        this.isDownloading = false;\n        let fileName = this.fileName;\n        let blob = new Blob(writer.chunkBlobs, {\n          type: mime.getType(fileName) || 'application/octet-stream',\n        });\n        return URL.createObjectURL(blob);\n      })\n      .catch((error) => {\n        console.error(error);\n        this.isDownloading = false;\n        if (error.code !== window.libcryptobox.ErrorCode.Canceled) {\n          this.downloadHasFailed = true;\n        }\n      });\n  }\n\n  save() {\n    return super.save().catch((error) => {\n      console.warn('error save', error);\n      if (!this.isValid) {\n        this.unloadRecord();\n      }\n    });\n  }\n}\n","import BaseModel from 'client/toolbox/generated/models/category';\n\nexport default class Category extends BaseModel {\n  toggleSpace(space) {\n    this.spaces.then((categorySpaces) => {\n      if (categorySpaces.indexOf(space) === -1) {\n        this.spaces.pushObject(space);\n        this.save({ adapterOptions: { addedSpaceId: space.get('id') } });\n      } else {\n        this.spaces.removeObject(space);\n        this.save({ adapterOptions: { removedSpaceId: space.get('id') } });\n      }\n    });\n  }\n}\n","import Model, { attr, belongsTo } from '@ember-data/model';\n\nexport default class FileAccessLog extends Model {\n  @attr('string') date;\n  @attr('string') userEmail;\n  @belongsTo('file', { async: true, inverse: null }) file;\n}\n","import BaseModel from 'client/toolbox/generated/models/file-sharing';\n// import { computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\n\nexport default class FileSharing extends BaseModel {\n  @service intl;\n\n  // TODO : duplication in models/file.js\n\n  get fileType() {\n    let name = this.fileName;\n    let fileExt = name.split('.').pop().toLowerCase() || '';\n    if (fileExt === '' || name.indexOf('.') === -1) {\n      return '';\n    }\n    let fileType = this.intl.t('fileType.' + fileExt);\n    if (!fileType) {\n      return '';\n    }\n    return fileType;\n  }\n\n  save() {\n    return super.save().catch((error) => {\n      console.warn('error save', error);\n      if (!this.isValid) {\n        this.unloadRecord();\n      }\n    });\n  }\n}\n","import BaseModel from 'client/toolbox/generated/models/file';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { alias } from '@ember/object/computed';\n// import { computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { FILE_SUBSCRIPTION_TYPE } from '../utils/constants';\nimport getFileSubscriptionCollectionName from '../utils/tBoxClient/getFileSubscriptionCollectionName';\nimport { hasMany } from '@ember-data/model';\n\nexport default class File extends BaseModel {\n  @service intl;\n\n  @alias('isDirectory') isFolder;\n  @hasMany('file-access-log', { async: true, inverse: null }) accessLogs;\n\n  get name() {\n    return this.path.split('/').pop();\n  }\n\n  get ext() {\n    const index = this.name.lastIndexOf('.');\n    return index >= 0 ? this.name.substring(index) : '';\n  }\n\n  parent() {\n    const parts = this.path.split('/');\n    parts.pop();\n    const spaceId = this.belongsTo('space').id();\n    const revision = this.revision;\n    const path = parts.join('/');\n    return this.store.queryRecord('file', { spaceId, revision, path });\n  }\n\n  @alias('author.email') authorEmail;\n\n  get authorFullname() {\n    if (this.author) {\n      const name = this.author.givenName.trim();\n      const surname = this.author.surname.trim();\n      const email = this.author.email.trim();\n      return `${name} ${surname} (${email})`;\n    }\n    return '';\n  }\n\n  get type() {\n    if (this.isDirectory) {\n      return '';\n    }\n    let name = this.name;\n    let fileExt = name.split('.').pop().toLowerCase() || '';\n\n    if (fileExt === '' || name.indexOf('.') === -1) {\n      return '';\n    }\n\n    let fileType = this.intl.t('fileType.' + fileExt);\n    if (fileType.includes('Missing translation')) {\n      if (this.intl.locale[0] === 'fr-fr') {\n        return `fichier ${fileExt}`;\n      } else {\n        return `${fileExt} file`;\n      }\n    }\n    return fileType;\n  }\n\n  rename(newName) {\n    const spaceId = this.belongsTo('space').id();\n    const path = this.path;\n    const newPath = path.split('/').slice(0, -1).concat([newName]).join('/');\n    return tBoxClient.file\n      .rename(spaceId, path, newName)\n      .then(() => {\n        return this.store.queryRecord('file', {\n          spaceId,\n          revision: -1,\n          path: newPath,\n        });\n      })\n      .then((newRecord) => {\n        return {\n          oldPath: path,\n          oldRecord: this,\n          newPath: newPath,\n          newRecord: newRecord,\n        };\n      });\n  }\n\n  /*\n   *  Subscriptions to Modifications && Downloads\n   * */\n\n  hasSubscribed(subscriptions) {\n    if (!subscriptions) return;\n    const path = this.path;\n    return subscriptions.includes(path);\n  }\n\n  getSubscribedParent(subscriptions) {\n    if (!subscriptions) return;\n    const path = this.path;\n    const candidates = subscriptions.filter(\n      (sub) => sub === '/' || path.startsWith(sub + '/'),\n    );\n    candidates.sort();\n    return candidates.shift();\n  }\n\n  hasSubscribedChild(subscriptions) {\n    if (!subscriptions) return;\n    if (this.isDirectory) {\n      const path = this.path;\n      return subscriptions.some((subscription) =>\n        subscription.startsWith(path + '/'),\n      );\n    }\n    return false;\n  }\n\n  // CURRENT NODE\n\n  get subscribed() {\n    return this.hasSubscribed(this.space.get('subscriptions'));\n  }\n\n  get isSubscribedToDownloads() {\n    return this.hasSubscribed(this.space.get('downloadsSubscriptions'));\n  }\n\n  // PARENT\n\n  get subscribedParent() {\n    return this.getSubscribedParent(this.space.get('subscriptions'));\n  }\n\n  get downloadsSubscribedParent() {\n    return this.getSubscribedParent(this.space.get('downloadsSubscriptions'));\n  }\n\n  // CHILD\n\n  get subscribedChild() {\n    return this.hasSubscribedChild(this.space.get('subscriptions'));\n  }\n\n  get downloadsSubscribedChild() {\n    return this.hasSubscribedChild(this.space.get('downloadsSubscriptions'));\n  }\n\n  getSubscriptionData(type) {\n    if (type === FILE_SUBSCRIPTION_TYPE.DOWNLOADS) {\n      return {\n        subscribed: this.isSubscribedToDownloads,\n        subscribedParent: this.downloadsSubscribedParent,\n        subscribedChild: this.downloadsSubscribedChild,\n      };\n    }\n\n    return {\n      subscribed: this.subscribed,\n      subscribedParent: this.subscribedParent,\n      subscribedChild: this.subscribedChild,\n    };\n  }\n\n  toggleSubscription(subscribe, type) {\n    const collectionName = getFileSubscriptionCollectionName(type);\n    let isSubscribed = this.subscribed;\n\n    if (type === FILE_SUBSCRIPTION_TYPE.DOWNLOADS) {\n      isSubscribed = this.isSubscribedToDownloads;\n    }\n\n    const spaceId = this.belongsTo('space').id();\n    const path = this.path;\n\n    let action = '';\n    if (subscribe === false || isSubscribed) {\n      action = 'remove';\n    } else if (subscribe === true || !isSubscribed) {\n      action = 'add';\n    } else {\n      return;\n    }\n\n    return tBoxClient[collectionName][action](spaceId, [path]);\n  }\n\n  unSubscribeParent(type) {\n    const spaceId = this.belongsTo('space').id();\n    const path =\n      type === FILE_SUBSCRIPTION_TYPE.MODIFICATIONS\n        ? this.subscribedParent\n        : this.downloadsSubscribedParent;\n\n    return this.store\n      .queryRecord('file', { spaceId, revision: -1, path })\n      .then((file) => {\n        file.toggleSubscription(false, type);\n      });\n  }\n\n  /*\n   *\n   * */\n\n  updateFolderInfos() {\n    console.warn('[model:file] stop calling updateFolderInfos().');\n  }\n\n  reloadContent() {\n    console.warn('[model:file] stop calling reloadContent().');\n  }\n\n  unload() {\n    console.warn('[model:file] stop calling unload().');\n  }\n}\n","import BaseModel from 'client/toolbox/generated/models/invite';\nimport { alias } from '@ember/object/computed';\n\nexport default class Invite extends BaseModel {\n  constructor() {\n    super(...arguments);\n  }\n\n  @alias('eventHistory.lastObject.date') updatedAt;\n  @alias('eventHistory.lastObject.type') status;\n\n  save() {\n    return super.save().catch((error) => {\n      console.warn('error save', error);\n      if (!this.isValid) {\n        this.unloadRecord();\n      }\n    });\n  }\n}\n","// import { computed } from '@ember/object';\nimport Model, { attr } from '@ember-data/model';\n\nexport default class LocalAccount extends Model {\n  @attr('string') givenName;\n  @attr('string') surName;\n  @attr('string') serverUrl;\n  @attr('string') userEmail;\n  @attr color;\n  \n  \n  get deviceId() {\n    return `${this.userEmail}_${this.serverUrl}`;\n  }\n}\n","/* global libcryptobox */\nimport BaseModel from 'client/toolbox/generated/models/message';\nimport DS from 'ember-data';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { alias } from '@ember/object/computed';\n// import { computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport {DateTime} from \"luxon\";\nimport { belongsTo } from '@ember-data/model';\n\nexport default class Message extends BaseModel {\n  @service account;\n  @service intl;\n\n  @alias('space') conversation;\n  @alias('recipients') readFlags;\n  @belongsTo('message', {async:true, inverse: 'nextMessage' }) previousMessage;\n  @belongsTo('message', {async: true, inverse: 'previousMessage' }) nextMessage;\n\n\n  get isDelivered() {\n    const status = this.status;\n    return status === libcryptobox.MessageStatus.Delivered;\n  }\n\n\n  get isRejected() {\n    const status = this.status;\n    return status === libcryptobox.MessageStatus.Rejected;\n  }\n\n\n  get isSending() {\n    const status = this.status;\n    return (\n      status === libcryptobox.MessageStatus.Inflight ||\n      status === libcryptobox.MessageStatus.Pending\n    );\n  }\n\n\n  get read() {\n    const recipients = this.recipients;\n    return recipients.length > 0 && recipients.isAny('hasRead');\n  }\n\n\n  get readByAll() {\n    const conversationMembers = this.space.get(\"members\");\n    const emails = conversationMembers?.map(conversationMember => conversationMember.email);\n\n    return (\n      emails &&\n      emails.length > 0 &&\n      this.recipients?.every((recipient) => {\n        const recipientEmail = recipient.get('email');\n        return emails.includes(recipientEmail) && recipient.get('hasRead');\n      })\n    );\n  }\n\n  @alias('date') formatedTimestamp;\n\n\n  get isFromToday() {\n    const todayDate =\n      DateTime.now().toFormat('dd/MM/yyyy');\n\n    const timestamp = this.formatedTimestamp;\n    const timestampDate =\n      DateTime.fromISO(timestamp).toFormat('dd/MM/yyyy');\n    return todayDate === timestampDate;\n  }\n\n\n  get messageTime() {\n    const timestamp = this.formatedTimestamp;\n    const parsedTimestamp = DateTime.fromISO(timestamp);\n    return parsedTimestamp.toFormat('HH:mm') + ':' + parsedTimestamp.toFormat('MMMM');\n  }\n\n\n  get formatedCompleteDate() {\n    return DateTime.fromISO(this.formatedTimestamp).toFormat(\n      this.intl.t('messaging.dateFormat')\n    );\n  }\n\n\n  get formatedHourOnly() {\n    return DateTime.fromISO(this.formatedTimestamp).toFormat('HH:mm');\n  }\n\n\n  get fromNow() {\n    return DateTime.fromISO(this.formatedTimestamp).toRelative()\n  }\n\n\n  get parsedTimestamp() {\n    return parseInt(this.timestamp);\n  }\n\n  get groupMessageStatus() {\n    const currentMessage = this;\n    const previousMessage = this.previousMessage;\n    const nextMessage = this.nextMessage;\n\n    const authors = [currentMessage.get('author')];\n    if (previousMessage) {\n      authors.push(previousMessage.get('author'));\n    }\n    if (nextMessage) {\n      authors.push(nextMessage.get('author'));\n    }\n\n    if (authors.length === 1) {\n      return 'alone';\n    } else if (authors.length === 2) {\n      let currentMessageHour = currentMessage.get('formatedHourOnly');\n      if (authors[0] === authors[1]) {\n        if (!previousMessage) {\n          let nextMessageHour = nextMessage.get('formatedHourOnly');\n\n          if (currentMessageHour === nextMessageHour) {\n            return 'block first';\n          }\n        } else if (!nextMessage) {\n          let previousMessageHour = previousMessage.get('formatedHourOnly');\n\n          if (currentMessageHour === previousMessageHour) {\n            return 'block last';\n          }\n        }\n      }\n      return 'alone';\n    } else {\n      let currentMessageHour = currentMessage.get('formatedHourOnly');\n      let previousMessageHour = previousMessage.get('formatedHourOnly');\n      let nextMessageHour = nextMessage.get('formatedHourOnly');\n      let currentMessageAuthor = authors[0];\n      let previousMessageAuthor = authors[1];\n      let nextMessageAuthor = authors[2];\n\n      if (\n        currentMessageAuthor === previousMessageAuthor &&\n        currentMessageAuthor === nextMessageAuthor\n      ) {\n        if (\n          currentMessageHour === previousMessageHour &&\n          currentMessageHour === nextMessageHour\n        ) {\n          return 'block';\n        } else if (\n          currentMessageHour !== previousMessageHour &&\n          currentMessageHour !== nextMessageHour\n        ) {\n          return 'alone';\n        } else if (currentMessageHour === nextMessageHour) {\n          return 'block first';\n        } else if (currentMessageHour === previousMessageHour) {\n          return 'block last';\n        } else {\n          throw 'No matching';\n        }\n      } else if (currentMessageAuthor === previousMessageAuthor) {\n        if (currentMessageHour === previousMessageHour) {\n          return 'block last';\n        }\n      } else if (currentMessageAuthor === nextMessageAuthor) {\n        if (currentMessageHour === nextMessageHour) {\n          return 'block first';\n        }\n      }\n      return 'alone';\n    }\n  }\n\n  post() {\n    return tBoxClient.message.post(this.id);\n  }\n\n  deleteMessage() {\n    return tBoxClient.message.delete(this.id);\n  }\n}\n","import BaseModel from 'client/toolbox/generated/models/notification';\n/* global libcryptobox */\n\nexport default class Notification extends BaseModel {\n  markAsRead() {\n    let state = this.state;\n\n    if (state !== libcryptobox.NotificationState.Read) {\n      this.state = libcryptobox.NotificationState.Read;\n      this.save();\n    }\n  }\n}\n","import { attr } from '@ember-data/model';\nimport User from './user';\n\nexport default class PublicDirectoryUser extends User {\n    // License pool.\n    // @type LicensePool\n    @attr licensePool;\n}\n","import BaseModel from 'client/toolbox/generated/models/read-cursor';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n\nexport default class ReadCursor extends BaseModel {\n  advance() {\n    return tBoxClient.readCursor.advance(this.belongsTo('space').id());\n  }\n}\n","import BaseModel from 'client/toolbox/generated/models/space-member';\nimport { alias } from '@ember/object/computed';\nimport { inject as service } from '@ember/service';\nimport { attr, belongsTo } from '@ember-data/model';\n/* global libcryptobox */\n\nexport default class SpaceMember extends BaseModel {\n  @attr('string') email;\n  @alias('givenName') firstName;\n  @alias('surname') lastName;\n  @attr role;\n  @attr certificate;\n  @belongsTo('space', { async: true, inverse: 'space' }) space;\n  maximumLevel = libcryptobox.LicensePool.User;\n\n  @service account;\n\n  constructor() {\n    super(...arguments);\n  }\n\n\n  get fullName() {\n    return this.firstName + ' ' + this.lastName;\n  }\n\n\n  get isMySelf() {\n    return this.email === this.account.userEmail;\n  }\n\n\n  get isAdmin() {\n    return this.role === libcryptobox.Role.Owner;\n  }\n\n\n  get isMember() {\n    return this.role === libcryptobox.Role.Member;\n  }\n\n\n  get isReader() {\n    return this.role === libcryptobox.Role.Auditor;\n  }\n\n\n  get isViewer() {\n    return this.role === libcryptobox.Role.Viewer;\n  }\n\n\n  get isMaxAdmin() {\n    return this.maximumLevel === libcryptobox.LicensePool.User;\n  }\n\n\n  get isMaxMember() {\n    return this.maximumLevel === libcryptobox.LicensePool.Invitee;\n  }\n\n  save() {\n    return super.save().catch((error) => {\n      console.warn('error save', error);\n      if (!this.isValid) {\n        this.unloadRecord();\n      }\n    });\n  }\n}\n","import { alias } from '@ember/object/computed';\nimport { attr, hasMany } from '@ember-data/model';\nimport BaseModel from 'client/toolbox/generated/models/space';\n\nimport { inject as service } from '@ember/service';\nimport { schedule } from '@ember/runloop';\nimport { FILE_SUBSCRIPTION_TYPE } from '../utils/constants';\nimport getFileSubscriptionCollectionName from '../utils/tBoxClient/getFileSubscriptionCollectionName';\nimport { tBoxClient } from '../initializers/init-toolbox';\n\n/* global libcryptobox */\nexport default class Space extends BaseModel {\n  @alias('fileCount') documentCount;\n  @alias('memberCount') userCount;\n  @attr folder;\n  @hasMany('notification', { async: true, inverse: null }) notifications;\n  @alias('members') spaceMembers;\n  @alias('fileSharings') shares;\n  @alias('readCursor') cursor;\n  @alias('peer') user;\n\n  selectedMessage = null;\n\n  @service messaging;\n  @service account;\n  @alias('readCursor.latest') latestCursor;\n  @attr removeSecurityLevelMessage;\n\n  get computedName() {\n    if (this.name) {\n      return this.name;\n    }\n    if (this.user.fullName) {\n      return this.user.fullName;\n    }\n    return '';\n  }\n\n\n  get isWorkspace() {\n    return this.kind === libcryptobox.SpaceKind.Workspace;\n  }\n\n\n  get isDirect() {\n    return this.kind === libcryptobox.SpaceKind.DirectConversation;\n  }\n\n\n  get visibleTags() {\n    return this.tags?.slice(0, 2);\n  }\n\n\n  get hiddenTagsNumber() {\n    let hiddenTagsNumber = this.tags?.length - 2;\n    if (hiddenTagsNumber < 1) {\n      return false;\n    }\n    return hiddenTagsNumber;\n  }\n\n\n  get sortedMembers() {\n    const members = this.members;\n\n    if (members.length === 0) return;\n    return members.sortBy('fullName');\n  }\n\n\n  get isAdmin() {\n    return this.userRole === libcryptobox.Role.Owner;\n  }\n\n\n  get isMember() {\n    return this.userRole === libcryptobox.Role.Member;\n  }\n\n\n  get isReader() {\n    return this.userRole === libcryptobox.Role.Auditor;\n  }\n\n\n  get isViewer() {\n    return this.userRole === libcryptobox.Role.Viewer;\n  }\n\n\n  get unreadNotificationsCount() {\n    let unreadCount = 0;\n    this.notifications.forEach((notification) => {\n      if (notification.get('state') === 'unread') {\n        unreadCount++;\n      }\n    });\n    return unreadCount;\n  }\n\n  /*\n   *  Subscriptions : MODIFICATIONS && DOWNLOADS\n   * */\n\n  get isDeleted() {\n    return this.status === 'deleted';\n  }\n\n  get hasDownloadsSubscribedChild() {\n    return this.hasSubscribedChild(\n      this.downloadsSubscriptions,\n      this.hasSubscribedToDownloads\n    );\n  }\n\n  hasSubscribedChild(subscriptions, hasSubscribed) {\n    return hasSubscribed ? subscriptions.length > 1 : subscriptions.length >= 1;\n  }\n\n  // MODIFICATIONS\n\n  get subscriptions() {\n    return this.getSubscriptions('fileSubscription');\n  }\n\n  get subscribed() {\n    return this.hasSubscribed(this.subscriptions);\n  }\n\n  get subscribedChild() {\n    return this.hasSubscribedChild(this.subscriptions, this.subscribed);\n  }\n\n  // DOWNLOADS\n\n  get downloadsSubscriptions() {\n    return this.getSubscriptions('fileDownloadSubscription');\n  }\n\n  get hasSubscribedToDownloads() {\n    return this.hasSubscribed(this.downloadsSubscriptions);\n  }\n\n  getSubscriptions(subscriptionsAttributeName) {\n    const subscriptions = this[subscriptionsAttributeName];\n    if (!subscriptions) return;\n    return subscriptions.get('paths') || [];\n  }\n\n  hasSubscribed(subscriptions) {\n    if (!subscriptions) return;\n    return subscriptions.includes('/');\n  }\n\n  getSubscriptionData(type) {\n    if (type === FILE_SUBSCRIPTION_TYPE.DOWNLOADS) {\n      return {\n        subscribed: this.hasSubscribedToDownloads,\n        subscribedParent: false,\n        subscribedChild: this.hasDownloadsSubscribedChild,\n      };\n    } else {\n      return {\n        subscribed: this.subscribed,\n        subscribedParent: false,\n        subscribedChild: this.subscribedChild,\n      };\n    }\n  }\n\n  toggleSubscription(toggle, type) {\n    const collectionName = getFileSubscriptionCollectionName(type);\n    const action = toggle ? 'add' : 'remove';\n\n    return tBoxClient[collectionName][action](this.id, ['/']);\n  }\n\n  get deletionDates() {\n    if (this.isDeleted) {\n      return tBoxClient.space.getDeletionDates().then((deletionDates) => {\n        if (!deletionDates) return;\n        return deletionDates.find(({ spaceId }) => this.id === spaceId);\n      });\n    }\n  }\n\n  get isFavorite() {\n    return !!this.categories.find(category => category.id === this.account.favoritesCategoryId);\n  }\n\n  unloadRecord() {\n    // Skip new records, they don't even have an ID.\n    if (this.isNew) {\n      super.unloadRecord();\n      return;\n    }\n\n    // Redirect to my-groups if currently in this space.\n    if (window.location.hash.indexOf(this.id) !== -1) {\n      window.location.hash = '';\n    }\n\n    // Unload related records *without* triggering roundtrip with the backend.\n    // To prevent EmberData to \"crash\" on logout (because we also clear the store at this very moment and EmberData tries, and fails, to create a snapshot from a `null` record), we:\n    // - keep only references,\n    // - defer the operation (so we don't really have to unload the record in case of a logout).\n    let refs = [];\n    refs.push(\n      ...this.hasMany('fileSharings')\n        .ids()\n        .map((id) => ({ type: 'file-sharing', id }))\n    );\n    refs.push(\n      ...this.hasMany('members')\n        .ids()\n        .map((id) => ({ type: 'space-member', id }))\n    );\n    refs.push(\n      ...this.hasMany('messages')\n        .ids()\n        .map((id) => ({ type: 'message', id }))\n    );\n    schedule('destroy', () => {\n      for (let ref of refs) {\n        let record = this.store.peekRecord({ type: ref.type, id: ref.id });\n        if (record) {\n          // console.debug('unloadRecord', ref.type, ref.id);\n          record.unloadRecord();\n        }\n      }\n    });\n\n    // Actually unload the record.\n    super.unloadRecord();\n  }\n\n  unloadSpace() {\n    this.unloadRecord();\n  }\n\n  async save() {\n    return super.save().catch((error) => {\n      console.warn('error save', error);\n      if (!this.isValid) {\n        this.unloadRecord();\n      }\n    });\n  }\n}\n","// import DS from 'ember-data';\nimport BaseModel from 'client/toolbox/generated/models/user';\nimport { alias } from '@ember/object/computed';\nimport { inject as service } from '@ember/service';\n\nexport default class User extends BaseModel {\n  constructor() {\n    super(...arguments);\n  }\n\n  @service account;\n\n  @alias('givenName') firstName;\n  @alias('surname') lastName;\n\n\n  get isMySelf() {\n    return this.email === this.account.userEmail;\n  }\n\n\n  get fullName() {\n    return `${ this.firstName } ${ this.lastName }`;\n  }\n\n  save() {\n    return super.save().catch((error) => {\n      console.warn('error save', error);\n      if (!this.isValid) {\n        this.unloadRecord();\n      }\n    });\n  }\n}\n","import { modifier } from 'ember-modifier';\n\nexport default modifier((element, [intersectionCallback, options]) => {\n  const _options = {\n    threshold: 0.1,\n    ...options,\n  };\n  const observer = new IntersectionObserver((entries) => {\n    entries.forEach((entry) => {\n      intersectionCallback(entry);\n    });\n  }, _options);\n\n  observer.observe(element);\n\n  return () => observer.disconnect();\n});\n","// app/modifiers/pikaday.js\n\n/* Opt-in to using pikaday's default CSS */\nimport 'ember-pikaday/pikaday.css';\nexport { default } from 'ember-pikaday/modifiers/pikaday';\n","import Modifier from 'ember-modifier';\n\nexport default class RightClickCounterModifier extends Modifier {\n  rightClickCount = 0;\n\n  didInstall() {\n    this.element.addEventListener('contextmenu', this.handleRightClick);\n  }\n\n  willRemove() {\n    this.element.removeEventListener('contextmenu', this.handleRightClick);\n  }\n\n  handleRightClick = (event) => {\n    event.preventDefault(); // Pour empêcher le menu contextuel par défaut\n    this.rightClickCount++;\n\n    if (this.rightClickCount === 2) {\n      // Réinitialiser le compteur\n      this.rightClickCount = 0;\n\n      // Appeler la fonction passée en argument\n      if (typeof this.args.positional[0] === 'function') {\n        this.args.positional[0]();\n      }\n    }\n  };\n}\n","import EmberRouter from '@ember/routing/router';\nimport config from './config/environment';\n\nexport default class Router extends EmberRouter {\n  location = config.locationType;\n  rootURL = config.rootURL;\n}\n\nRouter.map(function () {\n  if (config.APP.devtool) {\n    this.route('design-system');\n  }\n  this.route('index', { path: '/' });\n  this.route('my-groups', { path: '/my-workspaces' }, function () {\n    this.route('index', { path: '/' });\n    this.route('login');\n    this.route('create-group');\n    this.route('my-favorites');\n    this.route('deleted-spaces');\n    this.route('group', { path: '/workspace/:space_id' }, function () {\n      this.route('overview', { path: '/' });\n      this.route('documents', function () {\n        this.route('history', function () {\n          this.route('revision', { path: '/revision/:revision' });\n        }); // display panel of dates to choose\n      });\n      this.route('conversation');\n      this.route('members');\n      this.route('shares');\n      this.route('edit');\n    });\n    this.route(\n      'file-history',\n      { path: '/workspace/:space_id/documents/file-history' },\n      function () {\n        this.route('index', { path: '/' });\n      },\n    );\n  });\n  this.route('validate');\n  this.route('login');\n  this.route('register');\n  this.route('deposit-boxes', function () {\n    this.route('index', { path: '/' });\n    this.route('deposit-box', { path: '/deposit-box/:box_id' });\n  });\n  this.route('browser-error');\n  this.route('my-transfers');\n  this.route('download-share', { path: '/public/:space_id/file/:content_id' });\n  this.route(\n    'account-recovery',\n    { path: '/account-recovery/:id' },\n    function () {\n      this.route('depositary-choice');\n      this.route('rendezvous', function () {\n        this.route('claimant', { path: '/:rdv_user_id/claimant' });\n        this.route('depositary', { path: '/:rdv_user_id/depositary' });\n      });\n      this.route('new-password', { path: '/:rdv_user_id/new-password' });\n    },\n  );\n  this.route('invitations');\n  this.route('my-notifications');\n  this.route('invite');\n  this.route('deposit-box-form', { path: '/deposit-box-form/:deposit_box_id' });\n  this.route('my-account');\n  this.route('fatal-error');\n  this.route('tutorial');\n  this.route('second-auth-success');\n  this.route('second-auth-failed');\n  this.route('oidc-in-progress')\n  this.route('oidc-success')\n  this.route('oidc-failure')\n  this.route('messages', function () {\n    this.route('index', { path: '/' }, function () {\n      this.route('conversation', { path: '/:space_id' });\n    });\n    this.route('create');\n  });\n  this.route('validate-preadd', { path: '/validate-preadd/:invitee_email' });\n  this.route('change-email', { path: '/change-email/:token' });\n});\n","import Route from '@ember/routing/route';\n\nexport default class AccountRecovery extends Route {\n\n};\n","import Route from '@ember/routing/route';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { inject as service } from '@ember/service';\n\nexport default class DepositaryChoice extends Route {\n  @service connection;\n\n  async model() {\n    const server = this.connection.serverAddress;\n    let recoveryId = this.paramsFor('account-recovery').id;\n    const recovery = await tBoxClient.recovery.getOptions(server, recoveryId);\n    return {\n      recoveryId: recoveryId,\n      defaultTrustee: recovery.defaultTrustee,\n    };\n  }\n\n  setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('stepDepositary', 1);\n    controller.set('isDefault', model.defaultTrustee !== '');\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox - Password Recovery';\n  }\n}\n","import Route from '@ember/routing/route';\n\nexport default class NewPassword extends Route {\n  model(params) {\n    let recoveryId = this.paramsFor('account-recovery').id;\n    let rdvUserId = params.rdv_user_id;\n    return {\n      recoveryId,\n      rdvUserId,\n    };\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox - Password Recovery';\n  }\n}\n","import Route from '@ember/routing/route';\n\nexport default class Rendezvous extends Route {\n\n}\n","import Route from '@ember/routing/route';\n\nexport default class Claimant extends Route {\n  model(params) {\n    const recoveryId = this.paramsFor('account-recovery').id;\n    const rdvUserId = params.rdv_user_id;\n    return {\n      recoveryId,\n      rdvUserId,\n    };\n  }\n\n  setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('isDepositaryConnected', false);\n    controller.set('sas', '');\n    controller.set('connectionError', false);\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox - Password Recovery';\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class Depositary extends Route {\n  @service router;\n  @service userActivity;\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n\n  model(params) {\n    const recoveryId = this.paramsFor('account-recovery').id,\n      rdvUserId = params.rdv_user_id;\n    return {\n      recoveryId,\n      rdvUserId,\n    };\n  }\n  constructor() {\n    super(...arguments);\n    this.router.on('routeWillChange', (transition) => {\n      const isDepositaryPage =\n        transition.to.name === 'account-recovery.rendezvous.depositary';\n      this.userActivity.setIsDepositaryPage(isDepositaryPage);\n    });\n  }\n\n  setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('isDepositaryConnected', false);\n    controller.set('sas', '');\n    controller.set('connectionError', false);\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox - Password Recovery';\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Route from '@ember/routing/route';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { Info, Settings } from 'luxon';\nimport { action } from '@ember/object';\n\nexport default class Application extends Route {\n  @service account;\n  @service modalManager;\n  @service session;\n  @service store;\n  @service router;\n  @service intl;\n  @service browser;\n  @service electronCommunication;\n\n  async beforeModel() {\n    const locale = navigator.language || navigator.userLanguage || 'en';\n    if (locale.indexOf('fr') !== -1) {\n      this.intl.setLocale(['fr-fr']);\n      tBoxClient.setLocale('fr');\n      Settings.defaultLocale = 'fr';\n      Info.defaultLocale = 'fr';\n    } else {\n      this.intl.setLocale(['en-us']);\n      tBoxClient.setLocale('en');\n      Settings.defaultLocale = 'en';\n      Info.defaultLocale = 'en';\n    }\n\n    Info.defaultFormat = this.intl.t('luxonFormat');\n    if (!this.browser.isSupportedBrowser) {\n      return;\n    }\n\n    window.tabId = crypto.randomUUID();\n    localStorage.setItem('notificationTabId', window.tabId);\n    window.addEventListener('pagehide', function () {\n      if (localStorage.getItem('notificationTabId') === window.tabId) {\n        localStorage.setItem('notificationTabId', 'none');\n      }\n    });\n    window.addEventListener('storage', (event) => {\n      switch (event.key) {\n        case 'notificationTabId':\n          if (event.newValue === 'none') {\n            localStorage.setItem('notificationTabId', window.tabId);\n          }\n          break;\n      }\n    });\n\n    await this.electronCommunication.cfsbSetup();\n\n    // OIDC callback URL\n    const params = new URLSearchParams(window.location.search);\n    const state = params.get('state')\n    const code = params.get('code')\n    const error = params.get('error')\n    if (state && (code || error)) {\n      const channel = new BroadcastChannel('oidc')\n      channel.postMessage({ type: 'oidcCallbackUrl', value: window.location.href, state })\n      this.router.transitionTo('oidc-in-progress', { queryParams: { state } })\n      return\n    }\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox';\n  }\n\n  @action\n  logout() {\n    this.account.logout('user');\n  }\n}\n","import Route from \"@ember/routing/route\";\nimport { inject as service } from \"@ember/service\";\n\nexport default class BrowserErrorRoute extends Route {\n  @service browser;\n  @service router;\n\n  beforeModel() {\n    if (this.browser.isSupportedBrowser) {\n      return this.router.transitionTo(\"login\");\n    }\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\n\nexport default class ChangeEmail extends Route {\n\n\t@service account;\n\t@service connection;\n  @service authService;\n  @service router;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n\tconstructor() {\n\t\tsuper(...arguments);\n\t}\n\n\tasync model(params) {\n\t\tlet account = this.account;\n\t\tlet token = params.token;\n\t\tlet route = this;\n\t\tlet email = await account.getNewEmail(token);\n\t\tif (email === null) {\n\t\t\tthis.router.transitionTo('my-groups');\n\t\t\treturn false;\n\t\t}\n\t\treturn { ...email, currentEmail: account.userEmail };\n\t}\n\n\t@action\n\tdidTransition() {\n\t\tthis.controller.set('isEmailChangeValidated', false);\n\t}\n}\n","import { inject as service } from '@ember/service';\nimport Route from '@ember/routing/route';\nimport { tBoxClient } from '../initializers/init-toolbox';\n\n/* global libcryptobox */\nexport default class DepositBoxForm extends Route {\n  @service account;\n  @service modalManager;\n  @service session;\n  @service browser;\n  @service connection;\n  @service secondFactorAuthenticator;\n  @service router;\n  @service store;\n  @service intl;\n  @service notify;\n\n  queryParams = {\n    code: {\n      refreshModel: true,\n    },\n  };\n\n  async model(params) {\n    document.title = this.intl.t('depositBoxForm.title');\n    let hasDepositBoxFetchError = false;\n    const depositBoxLink = window.location.href;\n    const code = params.code;\n\n    if (!code) {\n      try {\n        await tBoxClient.depositBoxForm.test(depositBoxLink);\n      } catch (error) {\n        if (error.code === libcryptobox.ErrorCode.NotFound) {\n          hasDepositBoxFetchError = true;\n        } else if (\n          error.code === libcryptobox.ErrorCode.MaxCodeAttemptsReached\n        ) {\n          hasDepositBoxFetchError = true;\n        } else {\n          this.notify.error(error.message);\n        }\n      }\n    }\n\n    let result = null;\n\n    if (code) {\n      try {\n        result = await tBoxClient.depositBoxForm.get(depositBoxLink, {\n          code: code,\n        });\n      } catch (error) {\n        if (error.code === libcryptobox.ErrorCode.NotFound) {\n          hasDepositBoxFetchError = true;\n        } else if (\n          error.code === libcryptobox.ErrorCode.MaxCodeAttemptsReached\n        ) {\n          hasDepositBoxFetchError = true;\n        } else {\n          this.notify.error(error.message);\n        }\n      }\n    }\n\n    return {\n      depositBoxId: params.deposit_box_code,\n      depositBox: result,\n      hasDepositBoxFetchError: hasDepositBoxFetchError,\n    };\n  }\n\n  async setupController(controller, model) {\n    controller.set('depositBox', model.depositBox);\n    controller.set('hasDepositBoxFetchError', model.hasDepositBoxFetchError);\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\n\nexport default class DepositBoxesRoute extends Route {\n  @service intl;\n  @service authService;\n  @service modalManager;\n  @service('deposit-box') depositBoxService;\n  @service router;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n\n  @action\n  willTransition() {\n    [\n      'depositBox-editor-modal',\n      'depositBox-delete-modal',\n      'depositBox-show-link',\n    ].forEach((modal) => this.modalManager.close(modal));\n  }\n\n  @action\n  didTransition() {\n    if (!this.depositBoxService.canAccessDepositBox) {\n      this.router.transitionTo('index');\n    }\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\n\nexport default class DepositBoxRoute extends Route {\n  @service intl;\n  @service store;\n  @service authService;\n  @service router;\n  @service('deposit-box') depositBoxService;\n\n  model(params) {\n    return this.depositBoxService\n      .getDepositBoxId(params.box_id)\n      .catch(() => this.router.transitionTo('deposit-boxes.index'));\n  }\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n\n  setupController(controller, model) {\n    super.setupController(...arguments);\n    controller.set('model', model);\n  }\n\n  async afterModel(model) {\n    document.title = 'Cryptobox - ' + this.intl.t('depositBox.title');\n    if (!this.depositBoxService.canAccessDepositBox) {\n      this.router.transitionTo('index');\n    }\n\n    if (model.state === 'populatedUnread') {\n      this.depositBoxService.changeStateDepositBox(model.id, 'populatedRead');\n    }\n  }\n\n  deactivate() {\n    this.store.adapterFor('deposit-box').unsubscribe(this);\n  }\n\n  @action\n  error(error) {\n    if (error.status === 404) {\n      this.router.transitionTo('deposit-boxes.index');\n    }\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\n\nexport default class DepositBoxesRoute extends Route {\n  @service intl;\n  @service router;\n  @service('deposit-box') depositBoxService;\n\n  beforeModel() {\n    if (!this.depositBoxService.canAccessDepositBox) {\n      this.router.transitionTo('my-groups.index');\n    }\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox - ' + this.intl.t('depositBox.title');\n  }\n\n  @action\n  refreshDepositBoxList() {\n    this.refresh();\n  }\n\n}\n","import { inject as service } from '@ember/service';\nimport Route from '@ember/routing/route';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { action } from '@ember/object';\n/* global libcryptobox */\n\nexport default class DownloadShare extends Route {\n  @service intl;\n  @service connection;\n\n  @action\n  didTransition() {\n    this.controller.set('inputKey', '');\n    this.controller.set('maxCodeAttemptsReached', false);\n    return true;\n  }\n\n  model(params) {\n    const model = params;\n    model.keyHint = '';\n    model.fileSize = '';\n    return tBoxClient.fileSharing\n      .getInfo(window.location.href)\n      .then(async (encInfos) => {\n        if (model.key) {\n          return tBoxClient.fileSharing\n            .decryptInfo(this.connection.serverAddress, encInfos, model.key)\n            .then((fileInfos) => {\n              model.name = fileInfos.fileName;\n              model.fileSize = fileInfos.fileSize;\n              return model;\n            });\n        } else {\n          model.keyHint = await tBoxClient.fileSharing.getKeyHint(\n            window.location.href,\n          );\n          model.encInfos = encInfos;\n          return model;\n        }\n      })\n      .catch((error) => {\n        if (error.code === libcryptobox.ErrorCode.MaxCodeAttemptsReached) {\n          model.error = error;\n          model.error.message = this.intl.t(\n            'shares.maxCodeAttemptsReached.error',\n          );\n        } else {\n          model.error = error;\n        }\n        return model;\n      });\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox - Your shared document';\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Route from '@ember/routing/route';\nimport getReportErrorBody from '../utils/getReportErrorBody';\nimport getMailTo from '../utils/getMailTo';\nimport getSupportEmail from '../utils/getSupportEmail';\nimport { action } from '@ember/object';\nimport { openExternal } from 'client/ipc';\n\nexport default class FatalError extends Route {\n  @service observerFactory;\n  @service account;\n  @service connection;\n  @service('platform-customization') platformCustomization;\n  @service router;\n\n  beforeModel() {\n    if (!this.observerFactory.fatalError) {\n      this.router.transitionTo('my-groups');\n    }\n  }\n\n  willTransition(transition) {\n    if (this.observerFactory.fatalError) {\n      transition.abort();\n    }\n  }\n\n  @action\n  reload() {\n    window.sessionStorage.clear();\n    window.location.hash = '#';\n    window.location.reload();\n  }\n\n  @action\n  async reportError() {\n    const isDesktopApp = this.connection.isDesktopApp;\n    const settings = this.platformCustomization.serverSettings;\n    const error = this.observerFactory.get('fatalError');\n    const { title, code, message, details } = error;\n    const email = await getSupportEmail(isDesktopApp, settings);\n    const subject = 'Cryptobox error report: ' + title;\n    const body = getReportErrorBody({\n      server: this.connection.serverAddress,\n      userEmail: this.account.get('userEmail'),\n      title,\n      code,\n      message,\n      details,\n    });\n\n    const mailTo = getMailTo({ email, subject, body });\n\n    if (this.connection.isDesktopApp) {\n      await openExternal(mailTo);\n    } else {\n      window.location = mailTo;\n    }\n\n    setTimeout(() => {\n      this.reload();\n    }, 2500);\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Route from '@ember/routing/route';\n\nexport default class Routes extends Route {\n  @service account;\n  @service session;\n  @service router;\n\n  async beforeModel(transition) {\n    await super.beforeModel(transition);\n    document.title = 'Cryptobox';\n    const requestedHash = this.paramsFor('index').requestedHash;\n    if (this.account.isLoggedIn) {\n      if (requestedHash) {\n        window.location.hash = requestedHash;\n      } else {\n        const messagesRoute = transition.router.oldState.params.messages;\n\n        if (messagesRoute) {\n          this.router.transitionTo('messages.index');\n        } else {\n          this.router.transitionTo('my-groups');\n        }\n      }\n    } else {\n      this.router.transitionTo('login', {\n        queryParams: { requestedHash, register: false },\n      });\n    }\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class Invitations extends Route {\n  @service intl;\n  @service store;\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n\n  model() {\n    return this.store.query('invite', {\n      pageSize: -1,\n      pageId: -1,\n      orderBy: '',\n      sort: '',\n      adapterOptions: { subscribe: this },\n    });\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox - ' + this.intl.t('navigation.my.invitations');\n  }\n\n  setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('searchTerm', null);\n    controller.set('selectedStatus', null);\n    controller.set('showCancel', true);\n    controller.set('selectedPage', 1);\n  }\n\n  resetController(controller, isExiting) {\n    if (isExiting) {\n      controller.set('showCancel', false);\n    }\n  }\n\n  deactivate() {\n    this.store.adapterFor('invite').unsubscribe(this);\n  }\n}\n","import { observes } from '@ember-decorators/object';\nimport { inject as service } from '@ember/service';\nimport Route from '@ember/routing/route';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n\nexport default class Invite extends Route {\n  @service account;\n  @service intl;\n  @service connection;\n  @service browser;\n  @service router;\n\n  beforeModel() {\n    if (!this.browser.isSupportedBrowser) {\n      return this.router.transitionTo('browser-error');\n    }\n\n    if (this.account.isLoggedIn) {\n      return this.router.transitionTo('my-groups');\n    }\n  }\n\n  @observes('account.isLoggedIn')\n  onLogin() {\n    if (this.account.isLoggedIn) {\n      if (this.requestedHash) {\n        window.location.hash = this.requestedHash;\n        this.set('requestedHash', '');\n      } else {\n        this.router.transitionTo('my-groups');\n      }\n    }\n  }\n\n  model() {\n    let token = this.paramsFor('invite').invite_token;\n    const server = this.connection.serverAddress;\n    return tBoxClient.invite\n      .getInfo(server, token)\n      .then(function (value) {\n        value.token = token;\n        return value;\n      })\n      .catch((error) => {\n        let key = 'inviteNotOpen';\n        key = /invite_not_found*/g.test(error.details) ? 'inviteNotFound' : key;\n\n        return {\n          error: error,\n          message: this.intl.t(`inviteUser.errors.${key}`),\n        };\n      });\n  }\n\n  setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('showForm', true);\n    controller.set('largeDisplay', true);\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox';\n    let requestedRoute = this.paramsFor('invite').requestedHash;\n    this.set('requestedHash', requestedRoute);\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Route from '@ember/routing/route';\n\nexport default class Login extends Route {\n  @service account;\n  @service modalManager;\n  @service session;\n  @service browser;\n  @service connection;\n  @service secondFactorAuthenticator;\n  @service router;\n  @service store;\n\n  queryParams = {\n    register: {\n      refreshModel: true,\n    },\n    email: {\n      refreshModel: false,\n    },\n    first_name: {\n      refreshModel: false,\n    },\n    last_name: {\n      refreshModel: false,\n    },\n  };\n\n  async beforeModel(transition) {\n    if (!this.browser.isSupportedBrowser) {\n      return this.router.transitionTo('browser-error');\n    }\n\n    await super.beforeModel(transition);\n\n    // Clean up second factor and incomplete login flag(eg. otp)\n    this.secondFactorAuthenticator.reset();\n    this.account.cancelLogin();\n\n    document.title = 'Cryptobox';\n    const hash = this.paramsFor('login').requestedHash;\n    this.set('requestedHash', hash);\n    this.set('account.requestedHash', hash);\n\n    if (this.account.isLoggedIn) {\n      if (this.requestedHash) {\n        window.location.hash = this.requestedHash;\n        this.set('requestedHash', '');\n      } else {\n        this.router.transitionTo('my-groups');\n      }\n    } else {\n      this.store.unloadAll();\n      this.store.peekAll('user').forEach((item) => {\n        this.store.unloadRecord(item);\n      });\n      this.store.peekAll('space').forEach((item) => {\n        this.store.unloadRecord(item);\n      });\n      this.session.useSharedSession();\n    }\n  }\n\n  afterModel() {\n    const isModalOpened = this.modalManager.isModalOpen('trustee-warning');\n    this.account.trusteeWarningModalIsOpen = false;\n    if (isModalOpened) {\n      this.modalManager.close('trustee-warning');\n    }\n  }\n\n  async model() {\n    if (this.connection.isDesktopApp) {\n      return this.store.findAll('account', {\n        adapterOptions: { subscribe: this },\n      });\n    }\n\n    return null;\n  }\n\n  async setupController(controller) {\n    const model = await this.model();\n    const params = this.paramsFor('login');\n\n    const { email, first_name, last_name } = params;\n    if (email && email.length > 0) {\n      controller.setProperties({\n        userEmail: email,\n        disabledEmail: true,\n      });\n    }\n\n    if (first_name) {\n      controller.setProperties({\n        firstName: first_name,\n        disabledFirstName: true,\n      });\n    }\n\n    if (last_name) {\n      controller.setProperties({\n        lastName: last_name,\n        disabledLastName: true,\n      });\n    }\n\n    controller.setProperties({\n      mailValidation: false,\n      logInProgress: false,\n      loginPassword: null,\n      model,\n    });\n  }\n\n  deactivate() {\n    let loginController = this.controllerFor('login');\n    loginController.set('SingUpInProcess', false);\n    loginController.set('signupIsDisplayed', false);\n    loginController.set('validationError', false);\n    loginController.set('credentialError', false);\n    loginController.set('disabledEmail', false);\n    loginController.set('disabledFirstName', false);\n    loginController.set('disabledLastName', false);\n  }\n}\n","import Route from '@ember/routing/route';\nimport { hash } from 'rsvp';\nimport { inject as service } from '@ember/service';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { action } from '@ember/object';\nexport default class Create extends Route {\n  @service account;\n  @service router;\n  @service authService;\n  @service store;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n  async model(params) {\n    const settings = await tBoxClient.serverSettings.get();\n\n    if (\n      settings &&\n      settings.disableConversations &&\n      params.kind !== 'workspace'\n    ) {\n      this.router.transitionTo('messages.index');\n    }\n\n    let spaces = await this.store.findAll('space');\n    let users = await this.store.query('public-directory-user', {});\n\n    users.forEach((user) => user.set('isSelected', false));\n    return hash({\n      spaces: spaces.filter(space => space.kind === 'workspace'),\n      users: users,\n    });\n  }\n\n  setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('inCreation', false);\n  }\n\n  @action\n  didTransition() {\n    this.controller.set('searchTerm', '');\n    this.controller.set('newConversation', null);\n    this.controller.set('groupName', null);\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\n\nexport default class Messages extends Route {\n  @service intl;\n  @service store;\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n  async model() {\n    let spaces = await this.store.findAll('space', { adapterOptions: { subscribe: this } });\n    const dirtySpaces = spaces.filter(space => space.isNew );\n    const dirtyMembers = [];\n    dirtySpaces.forEach((space) => {\n      space.get('spaceMembers').forEach(member => dirtyMembers.push(member));\n      space.unloadRecord();\n    });\n    dirtyMembers.forEach((member) => member.unloadRecord());\n    return spaces;\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox - ' + this.intl.t('navigation.my.messages');\n  }\n\n  @action\n  didTransition() {\n    this.controller.set('isNew', false);\n  }\n}\n","import Route from '@ember/routing/route';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { inject as service } from '@ember/service';\n\nexport default class Conversation extends Route {\n  @service messaging;\n  @service store;\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n  waitForOpenConnection() {\n    return new Promise((resolve, reject) => {\n      const maxNumberOfAttempts = 10;\n      const intervalTime = 500;\n\n      let currentAttempt = 0;\n      const interval = setInterval(() => {\n        if (currentAttempt > maxNumberOfAttempts - 1) {\n          clearInterval(interval);\n          reject(new Error('Maximum number of attempts exceeded'));\n        } else if (this.messaging.messagingStatus.isConnected) {\n          clearInterval(interval);\n          resolve();\n        }\n        currentAttempt++;\n      }, intervalTime);\n    });\n  }\n\n  async model(params) {\n    const space = await this.store.findRecord('space', params.space_id, {\n      include: 'messages',\n      adapterOptions: { subscribe: this },\n    });\n    await this.waitForOpenConnection();\n    await tBoxClient.message.load(params.space_id, 20);\n    const msg = await this.store.query('message', { spaceId: params.space_id, adapterOptions: { subscribe: this } });\n    space.set('messages', msg);\n    return space;\n  }\n\n  deactivate() {\n    this.store.adapterFor('space').unsubscribe(this);\n  }\n\n  resetController(controller) {\n    const model = controller.get('model');\n    const messages = model.get('messages');\n    if (Array.isArray(messages) && messages.length !== 0 && messages.some(msg => msg.get('isRead'))) {\n      model.get('cursor').then((cursor) => {\n        if (cursor) {\n          cursor.advance();\n        }\n      });\n    }\n  }\n\n  async setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('addMembers', false);\n    controller.set('showUsers', false);\n    controller.set('showAcknowledgement', false);\n  }\n}\n","import { hash } from 'rsvp';\nimport Route from '@ember/routing/route';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { inject as service } from '@ember/service';\n/* global libcryptobox */\n\nexport default class MyAccount extends Route {\n\n  @service intl;\n  @service store;\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n\n  model() {\n    return hash({\n      accountSettings: this.store.queryRecord('account-settings', {}),\n      SmCertificate: tBoxClient.security.getSmCertificate(),\n      devices: this.store.findAll('device', {\n        adapterOptions: { subscribe: this },\n      }),\n      currentDevice: this.loadCurrentDevice(),\n    });\n  }\n\n  async loadCurrentDevice() {\n    try {\n      return await this.store.queryRecord('device', {});\n    } catch (e) {\n      if (libcryptobox.ErrorCode.NotFound) {\n        return null;\n      }\n    }\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox - ' + this.intl.t('my.account.title');\n  }\n\n  deactivate() {\n    this.store.adapterFor('device').unsubscribe(this);\n  }\n}\n","import { inject as service } from '@ember/service';\nimport { A } from '@ember/array';\nimport Route from '@ember/routing/route';\n\nexport default class CreateGroup extends Route {\n  @service account;\n  @service store;\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n\n  model() {\n    if (this.account.status.createSpace) {\n      return this.store.createRecord('space', {\n        name: '',\n        description: '',\n        tags: A(),\n        thumbnail: null,\n      });\n    } else {\n      this.router.transitionTo('my-groups');\n    }\n  }\n\n  async setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('addedMembers', A());\n    controller.set('whiteListedUsers', A());\n    controller.set('usersToInvite', A());\n    controller.set('disableCancel', false);\n\n    // TODO : Duplicated code with group.edit router\n    let device;\n    let securityLevels = A();\n\n    try {\n      device = await this.store.queryRecord('device', {});\n      securityLevels = await device.securityLevels;\n    } catch (e) {\n      // eslint-disable-next-line no-console\n      console.debug('Route => error no current device');\n    }\n\n    // Ensure securityLevels is always an array\n    if (!securityLevels || !Array.isArray(securityLevels.toArray?.())) {\n      securityLevels = A([]);\n    }\n\n    controller.set(\n      'currentDeviceSecurityLevels',\n      securityLevels.map((sl) => {\n        const serializedData = sl.serialize()?.data?.attributes;\n        return {\n          ...serializedData,\n          id: sl.id,\n        };\n      }),\n    );\n  }\n\n  resetController(controller, isExiting, _transition) {\n    if (isExiting) {\n      controller.addUsersEntered = false;\n    }\n\n  }\n\n  deactivate() {\n    const spaceRecord = this.controller.get('model');\n    if (spaceRecord.get('isNew')) {\n      this.store.unloadRecord(spaceRecord);\n    }\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class DeletedSpaces extends Route {\n  controllerName = 'my-groups/index';\n  templateName = 'my-groups/index';\n\n  @service intl;\n  @service store;\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n  setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('isFav', false);\n    controller.set('deletedWorkspaces', true);\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox - ' + this.intl.t('navigation.my.groups.deleted');\n  }\n\n  deactivate() {\n    this.store.adapterFor('space').unsubscribe(this);\n    this.store.adapterFor('category').unsubscribe(this);\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class FileHistoryRoutes extends Route {\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n\n  model() {\n    return null;\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\n\nexport default class FileHistoryRoutes extends Route {\n  @service intl;\n  @service router;\n  @service store;\n  @service('file-history') fileHistoryService;\n\n  async model(params, transition) {\n    const path = this.fileHistoryService.filePath;\n    const spaceId = transition.to.parent.params.space_id;\n\n    const file = await this.store.queryRecord('file', {\n      spaceId,\n      path,\n      revision: -1,\n      adapterOptions: { subscribe: this },\n    });\n    this.fileHistoryService._modelName = file.name;\n    this.fileHistoryService.trackingId = params.trackingId;\n    if (!params.trackingId) {\n      return file;\n    }\n    return await this.store.queryRecord('file', {\n      find: {\n        spaceId,\n        trackingId: params.trackingId,\n      },\n    });\n  }\n\n  async afterModel(model) {\n    document.title = `Cryptobox - ${ model.space.get('name') }  - ${ this.fileHistoryService.modelName }`;\n  }\n\n  setupController = (controller, model) => controller.set('model', model);\n\n  @action\n  error(reason, transition) {\n    if (!reason) {\n      return;\n    }\n\n    this.router.transitionTo(\n      'my-groups.group.documents',\n      transition.to.parent.params.space_id,\n      { queryParams: { path: '', trackingId: '' } },\n    );\n    console.error(reason);\n    return reason;\n  }\n}\n","import { action } from '@ember/object';\nimport { ENFORCED_TRUSTEES_MODAL_NAME } from '../../utils/enums';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport Route from '@ember/routing/route';\n/* global libcryptobox */\n\nexport default class MyGroups extends Route {\n  @tracked isInPersonalSpace = null;\n\n  @service account;\n  @service modalManager;\n  @service store;\n  @service intl;\n  @service router;\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n\n  model(params) {\n    const account = this.account,\n      personalSpaceId = account.get('personalSpaceId'),\n      isInPersonalSpace = params.space_id === personalSpaceId,\n      userHavePersonalSpace = account.get('status.personalSpace');\n\n    if (isInPersonalSpace && !userHavePersonalSpace) {\n      this.router.transitionTo('my-groups');\n      return false;\n    }\n\n    return this.store.findRecord('space', params.space_id, {\n      reload: true,\n      include: 'fileSubscription,members',\n      adapterOptions: { subscribe: this },\n    });\n  }\n\n  afterModel(model) {\n    if (model.isAdmin && model.missingOwnerCount) {\n      this.modalManager.open('owner-count-modal', { excludedModals: ['trustee-warning'] });\n    }\n  }\n\n  @action\n  error(reason) {\n    this.router.transitionTo('my-groups');\n    if (\n      reason.code === libcryptobox.ErrorCode.NotFound ||\n      reason.code === libcryptobox.ErrorCode.Forbidden\n    ) {\n      this.modalManager.open('space-not-found');\n    }\n  }\n\n  deactivate() {\n    const account = this.account;\n    account.set('isInPersonalSpace', false);\n    this.store.adapterFor('space').unsubscribe(this);\n  }\n}\n","import Route from '@ember/routing/route';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { inject as service } from '@ember/service';\n\nexport default class Conversation extends Route {\n  @service messaging;\n  @service store;\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n  waitForOpenConnection() {\n    return new Promise((resolve, reject) => {\n      const maxNumberOfAttempts = 20;\n      const intervalTime = 1000;\n\n      let currentAttempt = 0;\n      const interval = setInterval(() => {\n        if (currentAttempt > maxNumberOfAttempts - 1) {\n          clearInterval(interval);\n          reject(new Error('Maximum number of attempts exceeded'));\n        } else if (this.messaging.messagingStatus.isConnected) {\n          clearInterval(interval);\n          resolve();\n        }\n        currentAttempt++;\n      }, intervalTime);\n    });\n  }\n\n  async model() {\n    let space = this.modelFor('my-groups.group');\n    space = await this.store.findRecord('space', space.get('id'), {\n      include: 'messages',\n      adapterOptions: { subscribe: this },\n    });\n    await this.waitForOpenConnection();\n    await tBoxClient.message.load(space.get('id'), 20);\n    const members = await this.store.query('space-member', { spaceId: space.get('id') });\n    const msg = await this.store.query('message', { spaceId: space.get('id') });\n    space.messages.pushObjects(msg);\n    space.members.pushObjects(members);\n    return space;\n  }\n\n  setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('showAcknowledgement', false);\n  }\n\n  afterModel() {\n    let spaceName = this.modelFor('my-groups.group').get('name');\n    document.title = 'Cryptobox - ' + spaceName + ' - ' + 'Conversation';\n  }\n}\n","import { inject as service } from '@ember/service';\nimport Route from '@ember/routing/route';\nimport RSVP from 'rsvp';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n/* global libcryptobox */\nexport default class Documents extends Route {\n  @service notify;\n  @service commonService;\n  @service account;\n  @service modalManager;\n  @service intl;\n  @service store;\n  @service router;\n  @service authService;\n  @service thinkfree;\n\n  @tracked queryOptions = null;\n  @tracked params = null;\n  @tracked transition = null;\n  @tracked isLoading = null;\n  queryParams = {\n    path: { refreshModel: true },\n    trackingId: { refreshModel: true },\n    fileRevision: { refreshModel: true },\n  };\n\n  abortCtrl;\n\n  constructor() {\n    super(...arguments);\n  }\n\n  syncCommonService(queryOptions) {\n    this.queryOptions = queryOptions;\n    if (this.commonService.workspaceRevision !== queryOptions.fileRevision) {\n      this.commonService.workspaceRevision = queryOptions.fileRevision;\n    }\n  }\n\n  getQueryOptions() {\n    const params = this.params;\n    const spaceId = this.paramsFor('my-groups.group').space_id;\n    const path = params.path;\n    const trackingId = params.trackingId;\n    const queryOptions = {\n      fileRevision: params.fileRevision,\n      spaceId: spaceId,\n      path: path,\n      trackingId: trackingId,\n      reload: true,\n    };\n    this.set('queryOptions', queryOptions);\n    return queryOptions;\n  }\n\n  refreshModel() {\n    console.warn(\n      '[routes:my-groups.group.documents] stop calling refreshModel()',\n    );\n  }\n\n  activate() {\n    this.abortCtrl = new AbortController();\n    const { signal } = this.abortCtrl;\n\n    this.thinkfree.watchActivity(this.paramsFor('my-groups.group').space_id, { signal })\n  }\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n    const space = this.modelFor('my-groups.group');\n    const params = this.paramsFor('my-groups.group.documents');\n\n    // //user try to see old file revision\n    // if (!this.account.status.canWrite && params.fileRevision !== 0) {\n    //   return this.router.transitionTo('my-groups.group.documents', space.id, {\n    //     queryParams: { fileRevision: 0, path: '/' },\n    //   });\n    // }\n\n    return this.store\n      .queryRecord('breadcrumb', {\n        spaceId: space.id,\n        revision: params.fileRevision,\n        path: params.path,\n      })\n      .then((breadcrumb) => {\n        if (breadcrumb.get('path') !== params.path) {\n          this.router.transitionTo('my-groups.group.documents', space.id, {\n            queryParams: {\n              fileRevision: breadcrumb.get('revision'),\n              path: breadcrumb.get('path'),\n            },\n          });\n        }\n      });\n  }\n\n  async model(params, transition) {\n    const documentModel = this.modelFor('my-groups.group.documents');\n\n    if (documentModel) {\n      documentModel.isLoading = true;\n    }\n\n    this.unsubscribe();\n    this.params = params;\n    this.transition = transition;\n    const queryOptions = this.getQueryOptions();\n\n    this.syncCommonService(queryOptions);\n\n    const adapterOptions = { subscribe: this };\n    const space = this.modelFor('my-groups.group');\n    const members = space.get('members');\n    let path = queryOptions.path;\n    let filePreviewPath = '';\n    this.filePreview = null;\n    if (queryOptions.trackingId) {\n      try {\n        const fileTrackingIdInfo = await this.store.queryRecord('file', {\n          find: {\n            spaceId: queryOptions.spaceId,\n            trackingId: queryOptions.trackingId,\n          },\n        });\n        if (!fileTrackingIdInfo.isDirectory) {\n          path = fileTrackingIdInfo.path.substring(\n            0,\n            fileTrackingIdInfo.path.lastIndexOf('/'),\n          );\n          filePreviewPath = fileTrackingIdInfo.path;\n          if (!path) {\n            path = '/';\n          }\n          this.filePreview = fileTrackingIdInfo;\n        } else {\n          path = fileTrackingIdInfo.path;\n        }\n      } catch (error) {\n        if (error.code === libcryptobox.ErrorCode.NotFound) {\n          this.modalManager.open('file-not-found');\n        } else if (error.code === libcryptobox.ErrorCode.Forbidden) {\n          this.modalManager.open('space-not-found');\n        }\n      }\n\n      this.set('trackingIdPath', path);\n    } else {\n      this.set('trackingIdPath', '');\n    }\n\n    this.set(\n      'filePreviewPath',\n      filePreviewPath.substring(1, filePreviewPath.length),\n    );\n\n    // TODO : Differences between those 2 queries\n    const folder = this.store.queryRecord('file', {\n      spaceId: queryOptions.spaceId,\n      revision: queryOptions.fileRevision,\n      path: path,\n      adapterOptions,\n    });\n    const files = await this.store.query('file', {\n      spaceId: queryOptions.spaceId,\n      revision: queryOptions.fileRevision,\n      path: path,\n      adapterOptions,\n    });\n    const isLoading = false;\n    const fileRevision = queryOptions.fileRevision;\n    const breadcrumb = this.store.queryRecord('breadcrumb', {\n      spaceId: queryOptions.spaceId,\n      revision: queryOptions.fileRevision,\n      path: path,\n      adapterOptions,\n    });\n\n    if (queryOptions.trackingId) {\n      this.set('folderTrackingId', folder.get('trackingId'));\n    } else {\n      this.set('folderTrackingId', '');\n    }\n\n    const fileDownloadSubscription = this.store.queryRecord(\n      'file-download-subscription',\n      {\n        spaceId: queryOptions.spaceId,\n        adapterOptions,\n      },\n    );\n\n    return RSVP.hash({\n      fileDownloadSubscription,\n      space,\n      members,\n      folder,\n      files,\n      isLoading,\n      fileRevision,\n      breadcrumb,\n    });\n  }\n\n  deactivate() {\n    this.controller.closeFileEditor();\n    this.unsubscribe();\n    window.removeEventListener('resize', this.resizeEvent);\n    this.abortCtrl.abort();\n  }\n\n  unsubscribe() {\n    this.store.adapterFor('file').unsubscribe(this);\n    this.store.adapterFor('file-revision').unsubscribe(this);\n    this.store.adapterFor('breadcrumb').unsubscribe(this);\n    this.store.adapterFor('file-download-subscription').unsubscribe(this);\n  }\n\n  setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('trackingIdPath', this.trackingIdPath);\n    if (this.folderTrackingId) {\n      controller.set('trackingId', this.folderTrackingId);\n      controller.set('fileTrackingId', this.getQueryOptions().trackingId);\n    }\n    if (this.filePreview) {\n      const { space } = model;\n      const { filePreview: file } = this;\n      if (controller.thinkfree.canOpenFileEditor(space, file)) {\n        controller.openFileEditor(file);\n      } else if (controller.thinkfree.canOpenFileEditor(space, file, { readOnly: true })) {\n        controller.openFileEditor(file, { readOnly: true });\n      } else {\n        controller.set('filePreviewPath', this.filePreviewPath);\n      }\n    }\n    controller.updateDocumentTitle();\n  }\n\n  @action\n  didTransition() {\n    this.controller.set('searchedNodes', null);\n    this.controller.set('searchTerm', '');\n    this.controller.set('showPathInFiles', false);\n    this.controller.set('displaySearchedNodesPopup', false);\n    this.controller.set('displayOnlySearchedNodes', false);\n    this.controller.set('searchFlag', false);    \n\n    //if there is no current revision\n    if (!this.params.fileRevision) {\n      this.controller.set('displayHistory', false);\n    }\n    return true;\n  }\n\n  @action\n  refreshRoute() {\n    this.refresh();\n  }\n}\n","import Route from '@ember/routing/route';\n\nexport default class Revision extends Route {\n}\n","import Route from '@ember/routing/route';\nimport { A } from '@ember/array';\nimport { inject as service } from '@ember/service';\n\nexport default class Edit extends Route {\n  @service store;\n  @service intl;\n  @service account;\n  @service router;\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n\n\n  model() {\n    const account = this.account;\n    let spaceId = this.paramsFor('my-groups.group').space_id;\n    if (account.get('isInPersonalSpace')) {\n      this.router.transitionTo('my-groups.group.documents', spaceId);\n    }\n    return this.store.findRecord('space', spaceId);\n  }\n\n  async setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('isProcessing', false);\n    this.controllerFor('my-groups.group').set('showHeader', false);\n\n    // TODO : Duplicated code with create-group router\n    let device;\n    let securityLevels = A();\n\n    try {\n      device = await this.store.queryRecord('device', {});\n      securityLevels = await device.securityLevels;\n    } catch (e) {\n      // eslint-disable-next-line no-console\n      console.debug('Route => error no current device');\n    }\n\n    controller.set(\n      'currentDeviceSecurityLevels',\n      securityLevels.map((sl) => {\n        const serializedData = sl.serialize()?.data?.attributes;\n        const checked = !!model.securityLevels.findBy('id', sl.id);\n        return {\n          ...serializedData,\n          id: sl.id,\n          checked,\n        };\n      }),\n    );\n  }\n\n\n  afterModel(resolvedModel) {\n    let spaceName = resolvedModel.get('name');\n    document.title = 'Cryptobox - ' + spaceName + ' - ' + this.intl.t('group.navigation.overview');\n  }\n\n  deactivate() {\n    let spaceRecord = this.controller.get('model'),\n      spaceRecordState = spaceRecord.get('currentState.stateName');\n    if (spaceRecordState.indexOf('uncommitted') !== -1) {\n      spaceRecord.rollbackAttributes();\n    }\n  }\n\n  resetController(_controller, isExiting, ) {\n    if (isExiting) {\n      this.controllerFor('my-groups.group').set('showHeader', true);\n    }\n  }\n}\n","import Route from '@ember/routing/route';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { inject as service } from '@ember/service';\nexport default class Members extends Route {\n  @service store\n  @service intl\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n  async model() {\n    const space = this.modelFor('my-groups.group');\n    this.store.findAll('preadded-space-member', {\n      reload: true,\n      adapterOptions: { subscribe: this },\n    });\n    return await this.store.findRecord('space', space.id, {\n      include: 'members',\n      adapterOptions: { subscribe: this },\n    });\n  }\n\n  setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('accountTypes', this.accountTypes);\n    controller.set('displayOwners', true);\n    controller.set('displayMembers', true);\n    controller.set('displayReaders', true);\n    controller.set('showUsers', true);\n  }\n\n  async afterModel() {\n    let spaceName = this.modelFor('my-groups.group').get('name');\n    const model = await this.model();\n    const members = await model.get('spaceMembers');\n    this.set(\n      'accountTypes',\n      await tBoxClient.invite.getUsersType(members.map( member => member.email)),\n    );\n    document.title = `Cryptobox - ${ spaceName } - ${ this.intl.t(\n      'group.navigation.members',\n    ) }`;\n  }\n\n  deactivate() {\n    this.store.adapterFor('space').unsubscribe(this);\n  }\n\n\n}\n","import { inject as service } from '@ember/service';\nimport Route from '@ember/routing/route';\n\nexport default class Overview extends Route {\n  @service account;\n  @service intl;\n  @service authService;\n  @service store;\n  @service router;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n\n  model() {\n    const space = this.modelFor('my-groups.group');\n    const spaceId = space.id;\n    const adapterOptions = { subscribe: this };\n\n    if (this.account.isInPersonalSpace) {\n      this.router.transitionTo('my-groups.group.documents', spaceId);\n    }\n\n    this.store.queryRecord('file', { spaceId, path: '/', revision: -1, adapterOptions });\n    this.store.queryRecord('file-download-subscription', { spaceId, adapterOptions });\n    return this.store.findRecord('space', spaceId, { include: 'notifications', adapterOptions });\n  }\n\n  afterModel(resolvedModel) {\n    let spaceName = resolvedModel.get('name');\n    document.title = `Cryptobox - ${spaceName} - ${this.intl.t('group.navigation.overview')}`;\n  }\n\n  deactivate() {\n    this.store.adapterFor('file').unsubscribe(this);\n    this.store.adapterFor('file-download-subscription').unsubscribe(this);\n    this.store.adapterFor('space').unsubscribe(this);\n  }\n}\n","import Route from '@ember/routing/route';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\n\nexport default class Shares extends Route {\n  @service store;\n  @service intl;\n  @service router;\n\n  model() {\n    let spaceId = this.paramsFor('my-groups.group').space_id;\n    let model;\n\n    return this.store\n      .findRecord('space', spaceId)\n      .then((space) => {\n        model = space;\n\n        return this.store.query('file-sharing', {\n          spaceId,\n          adapterOptions: { subscribe: this },\n        });\n      })\n      .then((shares) => {\n        model.set('shares', shares.sortBy('fileName'));\n        return model;\n      });\n  }\n\n  setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('selectedShare', null);\n    controller.set('detailsIsVisible', false);\n    controller.set('refreshRoute', this.refreshRoute.bind(this));\n  }\n\n  afterModel(resolvedModel) {\n    let spaceName = resolvedModel.get('name');\n    document.title =\n      'Cryptobox - ' +\n      spaceName +\n      ' - ' +\n      this.intl.t('group.navigation.shares');\n  }\n\n  deactivate() {\n    this.store.adapterFor('file-sharing').unsubscribe(this);\n  }\n\n  @action\n  refreshRoute() {\n    this.refresh();\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class MyGroups extends Route {\n  @service intl;\n  @service store;\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n\n  model() {\n    const options = { adapterOptions: { subscribe: this } };\n    this.store.findAll('category', options);\n  }\n\n  setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('isFav', false);\n    controller.set('deletedWorkspaces', false);\n    controller.set('searchByName', '');\n    controller.set('categoryFilters', []);\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox - ' + this.intl.t('navigation.my.groups');\n  }\n\n  deactivate() {\n    this.store.adapterFor('space').unsubscribe(this);\n    this.store.adapterFor('category').unsubscribe(this);\n  }\n}\n","import Route from '@ember/routing/route';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { inject as service } from '@ember/service';\nexport default class MyFavorites extends Route {\n\n  controllerName = 'my-groups/index';\n  templateName = 'my-groups/index';\n\n  @service intl;\n  @service store;\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n  async model() {\n    const options = { adapterOptions: { subscribe: this } };\n    return this.store\n      .findRecord(\n        'category',\n        await tBoxClient.category.getFavoritesCategoryId(),\n        options\n      )\n      .then((rec) => rec.get('spaces'));\n  }\n\n  setupController(controller, model) {\n    controller.set('model', model);\n    controller.set('isFav', true);\n    controller.set('deletedWorkspaces', false);\n    controller.set('categoryFilters', []);\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox - ' + this.intl.t('navigation.my.groups.fav');\n  }\n\n  deactivate() {\n    this.store.adapterFor('space').unsubscribe(this);\n    this.store.adapterFor('category').unsubscribe(this);\n  }\n}\n","import { hash } from 'rsvp';\nimport { inject as service } from '@ember/service';\nimport Route from '@ember/routing/route';\n\nexport default class MyNotifications extends Route {\n\n  @service store;\n  @service intl;\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n\n  model() {\n    return hash({\n      notifications: this.store.findAll('notification', { adapterOptions: { subscribe: this } }),\n      spaces: this.store.findAll('space', { adapterOptions: { subscribe: this } }),\n    });\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox - ' + this.intl.t('navigation.my.notifications');\n  }\n\n  deactivate() {\n    this.store.adapterFor('notification').unsubscribe(this);\n    this.store.adapterFor('space').unsubscribe(this);\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class MyTransfers extends Route {\n  @service notify;\n  @service intl;\n  @service authService;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n\n  afterModel() {\n    document.title = 'Cryptobox - ' + this.intl.t('navigation.my.transfers');\n  }\n\n}\n","import { inject as service } from '@ember/service';\nimport Route from '@ember/routing/route';\n\nexport default class Register extends Route {\n  @service router;\n\n  beforeModel() {\n    const [, queryString] = window.location.hash.split('?');\n    const queryParams = Object.fromEntries(new URLSearchParams(queryString));\n\n    return this.router.transitionTo('login', {\n      queryParams: { ...queryParams, register: true },\n    });\n  }\n}\n","import Route from '@ember/routing/route';\n\nexport default class SecondAuthSuccess extends Route {\n\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class Tutorial extends Route {\n\n  @service authService;\n  @service intl;\n\n  beforeModel() {\n    this.authService.loginIfNotAuthenticated();\n  }\n  afterModel() {\n    document.title = 'Cryptobox - ' + this.intl.t('navigation.tutorial');\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class ValidatePreadd extends Route {\n  @service modalManager;\n  @service account;\n  @service preaddMember;\n  @service router;\n\n  async model(params) {\n\n    if (this.account.isLoggedIn) {\n      this.preaddMember.preaddUser = params.invitee_email;\n      await this.preaddMember.loadPreaddedMembers();\n      this.modalManager.open('validatePreadd');\n    }\n\n    return this.router.transitionTo('my-groups');\n  }\n}\n","import Route from '@ember/routing/route';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { inject as service } from '@ember/service';\n\nexport default class Validate extends Route {\n  @service connection;\n\n  async model(params) {\n    const server = this.connection.serverAddress;\n    try {\n      await tBoxClient.account.validateEmail(server, params.token);\n      return this.handleValidationSuccess();\n    } catch (error) {\n      return this.handleValidationError(error);\n    }\n  }\n\n  handleValidationSuccess() {\n    this.setControllerProperties(true, false);\n    this.scheduleTransitionToLogin();\n    return {};\n  }\n\n  handleValidationError(error) {\n    this.setControllerProperties(false, true, error);\n    this.scheduleTransitionToLogin();\n    return { error };\n  }\n\n  setControllerProperties(isValid, isValidationFail, error = null) {\n    const controller = this.controllerFor('validate');\n    controller.setProperties({\n      isValid,\n      isValidating: false,\n      isValidationFail,\n      model: isValidationFail ? { error } : null,\n    });\n  }\n\n  scheduleTransitionToLogin() {\n    setTimeout(() => this.transitionTo('login'), 5000);\n  }\n}\n","import DS from 'ember-data';\n\n// The JSON API responses already abide by the naming conventions expected by EmberData.\n// In some case, it is even dangerous to let JSONAPISerializer \"guess\" the right name; \n// by eg. modelNameFromPayloadKey(\"server-settings\") returns \"server-setting\" (singular)\n// while the model name is actually \"server-settings\" (plural).\nexport default DS.JSONAPISerializer.extend({\n\tmodelNameFromPayloadKey(key) {\n\t\treturn key;\n\t},\n\n\tpayloadKeyFromModelName(name) {\n\t\treturn name;\n\t},\n\n\tkeyForAttribute(key) {\n\t\treturn key;\n\t},\n\n\tkeyForRelationship(key) {\n\t\treturn key;\n\t}\n});\n","import DS from 'ember-data';\n\nexport default DS.JSONSerializer.extend({});\n","import DS from 'ember-data';\n\nexport default DS.JSONSerializer.extend({});\n","import { computed } from '@ember/object';\nimport Service, { inject as service } from '@ember/service';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { task, timeout } from 'ember-concurrency';\nimport getNotifyRightChange from '../utils/getNotifyRightChange';\nimport { DEVICE_KEY_ASSOCIATION_MODAL_NAME, ENFORCED_TRUSTEES_MODAL_NAME } from '../utils/enums';\nimport shouldRenderEnforcedTrusteesModal from '../utils/shouldRenderEnforcedTrusteesModal';\nimport PrivateFileWriter from 'client/toolbox/private-file-writer';\nimport isAccountRegisteredInDevice from '../utils/isAccountRegisteredInDevice';\nimport shouldRenderWarningNoTrusteeModal from '../utils/shouldRenderWarningNoTrusteeModal';\nimport { clearStorage } from '../utils/clearStorage';\nimport { tracked } from '@glimmer/tracking';\nimport { observes } from '@ember-decorators/object';\nimport { confirm } from '@tauri-apps/plugin-dialog';\nimport { listen } from '@tauri-apps/api/event';\nimport { invoke } from '@tauri-apps/api/core';\n/* global ipc */\n/* global libcryptobox */\n\nconst { MessagingEmailNotification, Messaging } = libcryptobox.ServerCapability;\nconst LOGOUT_SOURCE_KEY = 'logoutSource';\n\nexport default class Account extends Service {\n  isLoggedIn = false;\n  @tracked isLoggingIn = false;\n  @tracked credentialError = false;\n  @tracked serverSettings = null;\n  @tracked loginError = false;\n  @tracked requestedHash = '';\n  @tracked enforcedTrustee = null;\n  @tracked enforcedTrusteeInviter = null;\n  @tracked enforcedTrusteesStatus = null;\n  @tracked status = null;\n  @tracked userEmail = '';\n  @tracked userFirstname = '';\n  @tracked userLastname = '';\n  @tracked personalSpaceId = '';\n  @tracked personalCert = '';\n  @tracked isInPersonalSpace = false;\n  @tracked trustees = null;\n  @tracked trusteeWarningModalIsOpen = false;\n  @tracked validationError = false;\n  @tracked newUser = false;\n  @tracked favoritesCategoryId = null;\n  @tracked employeeId = '';\n  @tracked hasLocalChanges = false;\n  @tracked modalToOpen = [];\n  // PREVENT add modal ENFORCED_TRUSTEES_MODAL_NAME\n  // ON Guest Enforced Trustee + Admin Enforced Trustee\n  // WHEN {enforcedTrusteeStatus: 'ok', inviteeTrusteeStatus: 'additionRequired'}\n  // Ref JIRA bug : https://jira-sec.ercom.fr/browse/CNUAGE-11011\n  @tracked runningEnforcedTrustee = false;\n  @tracked lockModalsFlow = false;\n  @tracked platformConfig = null;\n  @tracked _cancelLogin = null;\n\n  @service router;\n  @service commonService;\n  @service notify;\n  @service intl;\n  @service store;\n  @service modalManager;\n  @service messaging;\n  @service('transfers') transfersManager;\n  @service notificationApi;\n  @service session;\n  @service connection;\n  @service preaddMember;\n  @service userActivity;\n  @service platformCustomization;\n  @service('deposit-box') depositBoxService;\n  @service thinkfree;\n\n  constructor() {\n    super(...arguments);\n    void this.initialize();\n  }\n\n  async initialize() {\n    const transfersManager = this.transfersManager;\n    const thinkfree = this.thinkfree;\n    if (this.connection.isElectronApp) {\n      window.onbeforeunload = () => {\n        if (this.hasLocalChanges || transfersManager.isTransfering || thinkfree.shouldPromptBeforeUnload) {\n          return this._onBeforeOnloadElectronModal();\n        }\n      };\n    } else if (this.connection.isTauriApp) {\n      // NB. You must enable confirm_on_exit in Tauri, check src-tauri/lib.rs.\n      // The option is enabled in css/client, not in cbox-front.\n      listen('exit-requested', async () => {\n        if (this.hasLocalChanges || transfersManager.isTransfering || thinkfree.shouldPromptBeforeUnload) {\n          const intl = this.intl;\n          const quit = await confirm(intl.t('desktop.quit.message'), {\n            title: intl.t('desktop.quit.title'),\n            kind: 'warning',\n            okLabel: intl.t('desktop.quit.buttonQuit'),\n            cancelLabel: intl.t('desktop.quit.buttonCancel'),\n          });\n          if (quit) {\n            invoke('exit');\n          }\n        } else {\n          invoke('exit');\n        }\n      });\n    } else {\n      window.onbeforeunload = () => {\n        if (this.hasLocalChanges || transfersManager.isTransfering || thinkfree.shouldPromptBeforeUnload) {\n          return \"Local changes wasn't save, are you sure to leave this tab\";\n        }\n      };\n    }\n\n    window.addEventListener('pagehide', function () {\n      PrivateFileWriter.removeAll();\n    });\n\n    // In the web plateforme,\n    // the client is initialized AND calls itself the user session AND init the Toolbox with it.\n    // In the desktop client,\n    // the Toolbox handle its own database and is able to know if the user is logged in before the client\n    //\n    // For user session\n    // Web : js client => Toolbox\n    // Desktop : Toolbox => js client\n    //\n    // In the Web plateforme, this fonction (\"tBoxClient.isLoggedIn()\") will be called before the session has been init.\n    // So, in case of a refresh && user already logged in, this will be \"false\"\n    //\n    // Conclusion : Can be \"true\" ONLY in desktop client\n    if (await tBoxClient.isLoggedIn()) {\n      const accountInfos = await tBoxClient.account.getInfo();\n      this.setUserInfos(accountInfos);\n      this.set('isLoggedIn', true);\n    }\n    // We bypass the store because it is unloaded on logout and we would lost the loginStatus record.\n    // ie. `this.get('store').queryRecord('login-status', { adapterOptions: { subscribe: this } })` would be more idiomatic but would not update after a logout.\n    await tBoxClient.loginStatus.watch({\n      onQueryResultUpdate: async (id, loginStatus) => {\n        if (loginStatus.isLoggedIn) {\n          //HACK Ensure the trustees are loaded before isLoggedIn is set.\n          //This does update the user status twice (see login).\n          if (!this.messaging.isEnabled) {\n            await this.messaging.initializeMessaging();\n          }\n\n          const currentIsLoggedIn = this.isLoggedIn;\n\n          if (this.connection.isDesktopApp && this.platformConfig?.isEnabled) {\n            this._addModal('platform-customization-modal');\n          }\n\n          await this.loadUserStatus(true);\n\n          // We use the temp variable because \"isLoggedIn\" is updated in \"this.loadUserStatus\"\n          // And we keep that order because it will correspond to the modal appearance order\n          // TODO : order modals before they are print instead of ordering them in that flow\n          if (!currentIsLoggedIn) {\n            await this.handleDeviceRegisteredModal();\n          }\n\n          this.onLoginModals();\n        }\n        this.set('isLoggedIn', loginStatus.isLoggedIn);\n      },\n      onQueryError: (_, error) => {\n        if (error.code !== libcryptobox.ErrorCode.LoggedOut) {\n          console.warn('onQueryError', 'loginStatus', error);\n        }\n      },\n    });\n\n    // We could use the store and subscribe to user-status/trustee on login, but we would have to refactor `loadUserStatus()`.\n    // (JBE) ...and I don't remember why.\n    await tBoxClient.userStatus.watch({\n      onQueryResultUpdate: async (_, userStatus) => {\n        if (!this.isLoggedIn) {\n          return;\n        }\n\n        const status = await tBoxClient.trustee.getStatus();\n        const { enforcedTrusteeStatus } = status;\n        if (\n          enforcedTrusteeStatus ===\n          libcryptobox.EnforcedTrusteeStatus.ReplacementRequired\n        ) {\n          this._addModal(ENFORCED_TRUSTEES_MODAL_NAME);\n          this.openNextModal();\n        }\n        await this.loadUserStatus();\n\n        const { enforcedTrustee } = userStatus;\n        if (enforcedTrustee) {\n          const enforcedTrusteeResult =\n            await tBoxClient.user.match(enforcedTrustee);\n          this.set('enforcedTrustee', enforcedTrusteeResult[0]);\n        }\n      },\n      onQueryError: (_, error) => {\n        if (error.code !== libcryptobox.ErrorCode.LoggedOut) {\n          console.warn('onQueryError', 'userStatus', error);\n        }\n      },\n    });\n\n    await tBoxClient.trustee.watchAll({\n      onQueryResultUpdate: (_, trustees) => {\n        this.set('trustees', trustees);\n      },\n      onQueryError: (_, error) => {\n        if (error.code !== libcryptobox.ErrorCode.LoggedOut) {\n          console.warn('onQueryError', 'trustee', error);\n        }\n      },\n    });\n\n    await tBoxClient.userAgentStatus.watch({\n      onQueryResultUpdate: (_, status) => {\n        this.set('hasLocalChanges', status.hasLocalChanges);\n      },\n      onQueryError: (_, error) => {\n        console.warn('onQueryError', 'userAgentStatus', error);\n      },\n    });\n    this.set(\n      'favoritesCategoryId',\n      await tBoxClient.category.getFavoritesCategoryId(),\n    );\n\n    await tBoxClient.serverSettings.watch({\n      onQueryResultUpdate: (_, settings) => {\n        const { capabilities } = settings;\n\n        const capabilitiesFlags = new Map();\n        capabilitiesFlags.set(\n          'hasMessagingEmailNotification',\n          MessagingEmailNotification,\n        );\n        capabilitiesFlags.set('hasMessaging', Messaging);\n\n        capabilitiesFlags.forEach((value, key) => {\n          settings[key] = capabilities.includes(value);\n        });\n\n        this.set('serverSettings', settings);\n        this.set('connection.serverUrl', settings.serverUrl);\n\n        if (!this.isLoggedIn) {\n          return;\n        }\n\n        //init messaging and load ws\n        this.messaging.initializeMessaging();\n      },\n      onQueryError: (_, error) => {\n        console.warn('onQueryError', 'serverSettings', error);\n      },\n    });\n\n    // CNUAGE-13168 Observe the user account.\n    tBoxClient.account.watchCurrent({\n      onQueryResultUpdate: async () => {\n        const accountInfos = await tBoxClient.account.getInfo();\n        this.setUserInfos(accountInfos);\n      },\n      onQueryError: () => {},\n    });\n\n    this.platformCustomization.getConfigFromUrl(\n      this.connection.serverAddress,\n      (config) => {\n        this.set('platformConfig', config);\n      },\n    );\n  }\n\n  @observes('isLoggedIn')\n  onLog() {\n    //logout\n    if (!this.isLoggedIn) {\n      if (!this.connection.isDesktopApp) {\n        this.userActivity.stop();\n      }\n\n      const session = this.session;\n      const messaging = this.messaging;\n      messaging.set('messagingIsClosed', true);\n      messaging.set('messagingIsOpened', false);\n      messaging.set('messagingIsOpening', false);\n      messaging.set('hideOfflineBanner', true);\n      this.#clearSessionStorage();\n      // session.clearSession();\n      this.set('isLoggingIn', false);\n      this.set('status', null);\n      this.set('newUser', false);\n      this.setUserInfos(null, { clear: true });\n    } else {\n      //login\n      this.clearLogoutSource();\n\n      if (!this.connection.isDesktopApp) {\n        this.userActivity.start();\n      }\n\n      if (this.requestedHash) {\n        window.location.hash = this.requestedHash;\n        this.set('requestedHash', '');\n      } else {\n        this.router.transitionTo('my-groups');\n      }\n      // Reload the messaging to get the new server settings. if user is logged in\n      // For Fix CNUAGE-13751\n      this.messaging.initializeMessaging();\n    }\n  }\n\n  @task({ enqueue: true })\n  *_manageUserStatus(status, enforcedTrusteeEmail, accountInfos) {\n    yield timeout(1000);\n\n    if (\n      status === libcryptobox.EnforcedTrusteeStatus.CleanUpRequired ||\n      status === libcryptobox.EnforcedTrusteeStatus.RemovalRequired\n    ) {\n      yield tBoxClient.trustee.resolveStatus();\n      const trustees = yield tBoxClient.trustee.list();\n\n      if (trustees.length === 0) {\n        this._addModal('trustee-warning');\n        this.set('trusteeWarningModalIsOpen', true);\n      }\n\n      return;\n    }\n\n    const enforcedNotHimself = enforcedTrusteeEmail !== accountInfos.user.email;\n    const enforcedTrusteeModalOpen = this.modalManager.isModalOpen(\n      ENFORCED_TRUSTEES_MODAL_NAME,\n    );\n\n    if (enforcedNotHimself && !enforcedTrusteeModalOpen) {\n      this.set(\n        'newUser',\n        status === libcryptobox.EnforcedTrusteeStatus.AdditionRequired,\n      );\n      this._addModal(ENFORCED_TRUSTEES_MODAL_NAME);\n    }\n  }\n\n  @computed('userFirstname', 'userLastname')\n  get userCompleteName() {\n    return `${this.userFirstname} ${this.userLastname}`;\n  }\n\n  loadSession(sessionObject) {\n    this.cancelLogin();\n    this.set('isLoggingIn', true);\n    const promise = tBoxClient.session.load(sessionObject);\n    this._cancelSession = promise.cancel;\n    return promise\n      .then(() => this.loadUserStatus())\n      .then(() => setTimeout(() => this.set('isLoggingIn', false), 3000))\n      .catch((error) => {\n        this.set('isLoggingIn', false);\n        throw error;\n      });\n  }\n\n  login(email, pwd) {\n    if (email && pwd) {\n      this.set('credentialError', false);\n      this.set('isLoggingIn', true);\n      this.set('email', email);\n\n      const server = this.connection.serverAddress;\n      const promise = tBoxClient.login(server, email, pwd);\n      this._cancelLogin = promise.cancel;\n\n      return promise\n        .then(() => {\n          this._cancelLogin = null;\n          // const session = this.session;\n          // return session.setSession();\n        })\n        .then(() => this.loadUserStatus(true))\n        .then(() => this.isLoggedIn)\n        .catch((error) => {\n          this._cancelLogin = null;\n          this.set('isLoggedIn', false);\n          this.set('isLoggingIn', false);\n          if (error.code === libcryptobox.ErrorCode.UnvalidatedEmail) {\n            this.set('validationError', true);\n            return;\n          }\n          if (error.code === libcryptobox.ErrorCode.InvalidCredentials) {\n            this.set('credentialError', true);\n            return;\n          }\n          this.set('loginError', true);\n        });\n    } else {\n      this.set('credentialError', true);\n    }\n  }\n\n  cancelLogin() {\n    if (this._cancelLogin) {\n      this._cancelLogin();\n    }\n    this._cancelLogin = null;\n    if (this._cancelSession) {\n      this._cancelSession();\n    }\n    this._cancelSession = null;\n  }\n\n  logout(source) {\n    if (source) {\n      this.setLogoutSource(source);\n    }\n\n    if (this.hasLocalChanges) {\n      const confirmLogout = confirm(this.intl.t('logoutWarning'));\n      if (confirmLogout && this.hasLocalChanges) {\n        this.confirmLogout();\n      }\n    } else {\n      this.confirmLogout();\n    }\n  }\n\n  confirmLogout() {\n    if (this.isLoggedIn) {\n      tBoxClient.logout();\n      this.#clearSessionStorage();\n      this.clearAccountInfos();\n      PrivateFileWriter.removeAll();\n      // this.router.transitionTo('login')\n    }\n  }\n\n  // for logout => clear the session storage except (some of) the sort and filter keys\n  #clearSessionStorage() {\n    // See:\n    //  - css/client/app/controllers/my-groups/index.js\n    //  - css/client/app/services/manage-storage.js\n    const filterKeys = [\n      'listDisplay',\n      'displayFilters', // Probably unused.\n      'sortingWS',\n      'roleWS',\n      'tagsFilterWS',\n      'nameFilterWS',\n      'catFilterWS', // Not initially in the list, but would crash Ember if the space list is displayed during the logout.\n      'scrollPositionWS',\n    ].flatMap(key => [key, `${key}-fav`, `${key}-deleted`, `${key}-all`]);\n\n    clearStorage({\n      toKeep: filterKeys,\n      storageType: 'sessionStorage',\n    });\n  }\n\n  async getNewEmail(token) {\n    try {\n      return await tBoxClient.account.getEmailUpdateInfo(token);\n    } catch (error) {\n      if (error.code === libcryptobox.ErrorCode.InvalidCredentials) {\n        this.set('credentialError', true);\n      }\n      return null;\n    }\n  }\n\n  async confirmChangeEmail(token, newEmail) {\n    try {\n      await tBoxClient.account.validateEmailUpdate(token, newEmail);\n      return true;\n    } catch (error) {\n      this.notify.error(error.message, {\n        title: error.title,\n        closeAfter: null,\n        error: error,\n      });\n      return false;\n    }\n  }\n\n  _addModal(name, position) {\n    if (this.modalToOpen.indexOf(name) > -1) {\n      return;\n    }\n    if (this.runningEnforcedTrustee && name === ENFORCED_TRUSTEES_MODAL_NAME) {\n      return;\n    }\n    if (typeof position !== 'number') {\n      this.modalToOpen.push(name);\n    } else {\n      this.modalToOpen.splice(position, 0, name);\n    }\n  }\n\n  //call once after login\n  onLoginModals() {\n    this.openNextModal();\n  }\n\n  async closeModal(modalName) {\n    this.modalToOpen.removeObject(modalName);\n    if (this.modalManager.isModalOpen(modalName)) {\n      await this.modalManager.close(modalName);\n    }\n  }\n\n  openNextModal() {\n    if (!this.lockModalsFlow && this.modalToOpen.length > 0) {\n      const modal = this.modalToOpen[0];\n      if (modal === ENFORCED_TRUSTEES_MODAL_NAME) {\n        this.runningEnforcedTrustee = true;\n      }\n      if (!this.modalManager.isModalOpen(modal)) {\n        this.modalManager.open(modal);\n      }\n    }\n  }\n\n  toggleLockModalsFlow(toggle) {\n    this.lockModalsFlow = toggle;\n  }\n\n  onCloseModals(modalName) {\n    this.runningEnforcedTrustee = false;\n    this.modalToOpen = this.modalToOpen.filter((modal) => modal !== modalName);\n    this.onLoginModals();\n  }\n\n  clearAccountInfos() {\n    this.set('isLoggedIn', false);\n    this.set('status', null);\n    this.set('trustees', null);\n    this.set('messaging.isEnabled', false);\n    this.setUserInfos(null, { clear: true });\n    const transfersManager = this.transfersManager;\n    transfersManager.get('queued').clear();\n    transfersManager.get('active').clear();\n    transfersManager.get('completed').clear();\n    transfersManager.get('failed').clear();\n  }\n\n  setUserInfos(accountInfos, { clear = false } = {}) {\n    const { user, personalSpaceId } = accountInfos || {};\n\n    this.set('userEmail', clear ? '' : user.email);\n    this.set('userFirstname', clear ? '' : user.givenName);\n    this.set('userLastname', clear ? '' : user.surname);\n    this.set('personalCert', clear ? '' : user.signingCertificate);\n    this.set('personalSpaceId', clear ? '' : personalSpaceId);\n  }\n\n  async handleDeviceRegisteredModal() {\n    if (this.connection.isDesktopApp) {\n      const personalCert = this.personalCert;\n      const accountsRegistered = await tBoxClient.account.list();\n      const serverUrl = this.connection.serverAddress?.toLowerCase();\n\n      const isRegistered = isAccountRegisteredInDevice(\n        serverUrl,\n        personalCert,\n        accountsRegistered,\n      );\n\n      if (!isRegistered) {\n        this._addModal(DEVICE_KEY_ASSOCIATION_MODAL_NAME);\n      }\n    }\n  }\n\n  async handleTrusteesWarningModal(status, checkTrustee) {\n    await tBoxClient.account.getInfo();\n\n    const trusteeList = (await tBoxClient.trustee.list()) || [];\n    this.set('trustees', trusteeList);\n\n    const shouldOpenModal = shouldRenderWarningNoTrusteeModal(\n      this.trustees.length,\n      status,\n      checkTrustee,\n      ['trustee-warning', ENFORCED_TRUSTEES_MODAL_NAME],\n      this.modalManager,\n    );\n\n    if (shouldOpenModal) {\n      this._addModal('trustee-warning', 1);\n      this.set('trusteeWarningModalIsOpen', true);\n    }\n  }\n\n  async isOnDevice() {\n    let account;\n    try {\n      await this.store.queryRecord('device', {});\n      account = await this.store.queryRecord('account', {});\n    } catch (e) {\n      console.warn(e);\n    }\n\n    return account?.isOnDevice;\n  }\n\n  handlePersonalSpace(hasPersonalSpace, personalSpaceId) {\n    const currentUserStatus = this.status;\n    if (\n      !hasPersonalSpace &&\n      hasPersonalSpace !== currentUserStatus.personalSpace &&\n      personalSpaceId\n    ) {\n      const personalSpaceRecord = this.store.peekRecord({\n        type: 'space',\n        id: personalSpaceId,\n      });\n      if (personalSpaceRecord) {\n        personalSpaceRecord.unloadSpace();\n      }\n    }\n  }\n\n  /**\n   * Controls the behavior of modals in relation to user email changes.\n   * Disables modals when the user is changing their email address or during specific account recovery steps.\n   * @returns {Array} The updated list of modals to be displayed.\n   */\n  handleEmailChangeModalControl() {\n    const currentRouteName = this.router.currentRouteName;\n    const currentURL = this.router.currentURL;\n    const excludedModals = [\n      'validatePreadd',\n      'trustee-warning',\n      ENFORCED_TRUSTEES_MODAL_NAME,\n    ];\n\n    if (\n      currentRouteName === 'account-recovery.rendezvous.depositary' ||\n      currentURL.startsWith('/change-email')\n    ) {\n      this.userActivity.stop();\n      this.modalToOpen = this.modalToOpen.filter(\n        (modal) => !excludedModals.includes(modal),\n      );\n      return this.modalToOpen;\n    }\n  }\n\n  async loadUserStatus(checkTrustee = false) {\n    const userStatus = await this.store.queryRecord('user-status', {});\n    const currentUserStatus = this.status;\n    const accountInfos = await tBoxClient.account.getInfo();\n\n    if (currentUserStatus) {\n      this.handlePersonalSpace(\n        userStatus.hasPersonalSpace,\n        accountInfos.personalSpaceId,\n      );\n\n      const notifyRightChange = getNotifyRightChange(\n        currentUserStatus,\n        userStatus,\n      );\n      if (notifyRightChange) {\n        const message = this.intl.t('toasts.rightsUpdated.message');\n        const title = this.intl.t('toasts.rightsUpdated.title');\n\n        this.notify.info(message, { title });\n      }\n    }\n    await this.depositBoxService.checkCanAccessDepositBox();\n\n    this.employeeId = userStatus.employeeId;\n\n    // redirect to my-groups if user can't access deposit box\n    //TODO find a better way to handle this\n    const depositBoxRoutesNames = [\n      'deposit-boxes.index',\n      'deposit-boxes.deposit-box',\n    ];\n    if (\n      !this.depositBoxService.canAccessDepositBox &&\n      depositBoxRoutesNames.includes(this.router.currentRouteName)\n    ) {\n      this.router.transitionTo('my-groups');\n    }\n\n    this.set('status', {\n      admin: userStatus.isAdmin,\n      state: userStatus.state,\n      maximumLevel: userStatus.maximumLevel,\n      personalSpace: userStatus.hasPersonalSpace,\n      createSpace: userStatus.canCreateSpace,\n      canInvite: userStatus.canInviteUsers,\n      canEditOnline: userStatus.canEditOnline,\n    });\n\n    if (accountInfos) {\n      this.setUserInfos(accountInfos);\n      if (!this.isLoggedIn) {\n        this.set('isLoggedIn', true);\n      }\n      /**\n       * Check if the current route is not an account recovery rendezvous page or any page after it,\n       * then loads pre-added members if they exist and shows a modal to validate them.\n       */\n      if (\n        !/^account-recovery\\.rendezvous(\\..*)?$/.test(\n          this.router.currentRouteName,\n        )\n      ) {\n        await this.preaddMember.loadPreaddedMembers();\n        if (this.preaddMember.preaddedMembers.length > 0) {\n          this._addModal('validatePreadd');\n        }\n      }\n\n      // ENFORCED TRUSTEES (enforced trustee + inviter)\n      const status = await tBoxClient.trustee.getStatus();\n      let enforcedTrusteeResult = [];\n      let inviterResult = [];\n\n      if (userStatus.enforcedTrustee) {\n        enforcedTrusteeResult = await tBoxClient.user.match(\n          userStatus.enforcedTrustee,\n        );\n      }\n\n      if (userStatus.inviter?.email) {\n        inviterResult = await tBoxClient.user.match(userStatus.inviter.email);\n      }\n\n      this.set('enforcedTrusteesStatus', status);\n      this.set('enforcedTrusteeInviter', inviterResult[0]);\n      this.set('enforcedTrustee', enforcedTrusteeResult[0]);\n\n      const isOnDevice = await this.isOnDevice();\n      if (!isOnDevice && shouldRenderEnforcedTrusteesModal(status)) {\n        const { enforcedTrusteeStatus } = status;\n        await this._manageUserStatus.perform(\n          enforcedTrusteeStatus,\n          userStatus.enforcedTrustee,\n          accountInfos,\n        );\n      }\n\n      await this.handleTrusteesWarningModal(status, checkTrustee);\n\n      this.handleEmailChangeModalControl();\n    }\n  }\n\n  _onBeforeOnloadElectronModal() {\n    const intl = this.intl;\n    const returnCode = ipc.electron.dialog.showMessageBoxSync({\n      title: intl.t('desktop.quit.title'),\n      message: intl.t('desktop.quit.message'),\n      buttonQuit: intl.t('desktop.quit.buttonQuit'),\n      buttonCancel: intl.t('desktop.quit.buttonCancel'),\n    });\n\n    if (returnCode === 0) {\n      // user has clicked on quit\n      return null;\n    }\n    return 'Do not close';\n  }\n\n  getLogoutSource() {\n    return localStorage.getItem(LOGOUT_SOURCE_KEY);\n  }\n\n  isUserLogOutSource() {\n    return this.getLogoutSource() === 'user';\n  }\n\n  isTimeoutActivityLogOutSource() {\n    return this.getLogoutSource() === 'timeout-activity';\n  }\n\n  setLogoutSource(source) {\n    localStorage.setItem(LOGOUT_SOURCE_KEY, source);\n  }\n\n  clearLogoutSource() {\n    localStorage.removeItem(LOGOUT_SOURCE_KEY);\n  }\n}\n","import AssetMap from 'ember-cli-ifa/services/asset-map';\n\nexport default AssetMap;\n","import Service from '@ember/service';\nimport { inject as service } from '@ember/service';\nimport { observes } from '@ember-decorators/object';\n\nexport default class AuthServiceService extends Service {\n  @service account;\n  @service intl;\n  @service userActivity;\n  @service router;\n\n  get isUserLoggedIn() {\n    return this.account.isLoggedIn;\n  }\n\n  loginIfNotAuthenticated() {\n    if (!this.isUserLoggedIn) {\n      let requestedHash = window.location.hash;\n      this.router.transitionTo('index', { queryParams: { requestedHash: requestedHash } });\n    }\n  }\n\n  @observes('account.isLoggedIn')\n  onLogout() {\n    const account = this.account;\n    account.getLogoutSource();\n    if (!account.isLoggedIn) {\n      if (account.isUserLogOutSource()) {\n        window.location.hash = '';\n        this.router.transitionTo('login', { queryParams: { requestedHash: '', register: false } });\n      } else {\n        if (account.isTimeoutActivityLogOutSource()) {\n          this.userActivity.openToastSessionExpired();\n        }\n        let requestedHash = window.location.hash;\n        this.router.transitionTo('login', { queryParams: { requestedHash: requestedHash } });\n      }\n    }\n  }\n\n}\n","import { autoUpdateInit, autoUpdateOn, autoUpdateCheck, autoUpdateRestart } from 'client/ipc';\nimport { tracked } from '@glimmer/tracking';\nimport ENV from 'client/config/environment';\nimport Service, { inject as service } from '@ember/service';\n\nconst UPDATE_STATE_IDLE = 'idle';\nconst UPDATE_STATE_AVAILABLE = 'available';\nconst UPDATE_STATE_VERIFYING = 'verifying';\nconst UPDATE_STATE_DOWNLOADING = 'downloading';\nconst UPDATE_STATE_UPTODATE = 'uptodate';\nconst UPDATE_STATE_DISABLED = 'disabled';\n\nexport default class AutoUpdateService extends Service {\n  @tracked state;\n  @tracked newVersion = null;\n  @tracked showUpdateNotification = false;\n  @service notify;\n  @service modalManager;\n  @service intl;\n  @service electronCommunication;\n  @service connection;\n\n  updateAvailableCallback;\n\n  constructor() {\n    super(...arguments);\n    if (ENV.APP.isDesktopApp) {\n      this.setupIpc();\n    }\n  }\n\n  get isUpdateAvailable() {\n    return this.state === UPDATE_STATE_AVAILABLE;\n  }\n\n  get isUpdateVerifying() {\n    return this.state === UPDATE_STATE_VERIFYING;\n  }\n\n  get isUpdateDownloading() {\n    return this.state === UPDATE_STATE_DOWNLOADING;\n  }\n\n  get isUpToDate() {\n    return this.state === UPDATE_STATE_UPTODATE;\n  }\n\n  get isUpdateEnabled() {\n    return this.state !== UPDATE_STATE_DISABLED;\n  }\n\n  get isUpdateDisabled() {\n    return this.state === UPDATE_STATE_DISABLED;\n  }\n\n  willDestroy() {\n    super.willDestroy(...arguments);\n    this.state = null;\n    this.newVersion = null;\n  }\n\n  setupIpc() {\n    // initialise the auto update\n    autoUpdateInit();\n    autoUpdateOn('disabled', () => {\n      this.state = UPDATE_STATE_DISABLED;\n      this.newVersion = null;\n    });\n    autoUpdateOn('enabled', () => {\n      this.state = UPDATE_STATE_IDLE;\n      this.newVersion = null;\n    });\n\n    autoUpdateOn('downloading', (data) => {\n      this.state = UPDATE_STATE_DOWNLOADING;\n      this.newVersion = data.version;\n    });\n\n    autoUpdateOn('verifying', () => {\n      this.newVersion = null;\n      this.state = UPDATE_STATE_VERIFYING;\n    });\n\n    autoUpdateOn('available', (data) => {\n      this.state = UPDATE_STATE_AVAILABLE;\n      this.newVersion = data.version;\n      if (this.updateAvailableCallback) {\n        this.updateAvailableCallback();\n      }\n    });\n\n    autoUpdateOn('up-to-date', () => {\n      this.newVersion = null;\n      this.state = UPDATE_STATE_UPTODATE;\n    });\n\n    autoUpdateOn('error', (data) => {\n      this.newVersion = null;\n      this.state = null;\n      if (data) {\n        const message = this._getErrorMessage(data);\n\n        console.info(\n          `${new Date().toISOString()} - AUTO UPDATE:  ${message} ${\n            data?.serverUrl ? `- - server  ${data.serverUrl} ` : ''\n          } }`,\n        );\n        if (data.manual) {\n          this._notifyError(data, message);\n        }\n      }\n    });\n  }\n\n  check() {\n    autoUpdateCheck();\n  }\n\n  restart() {\n    this.newVersion = null;\n    autoUpdateRestart();\n  }\n\n  registerUpdateAvailableCallback(callback) {\n    this.updateAvailableCallback = callback;\n  }\n\n  _notifyError(error, message) {\n    const title = this.intl.t('about.error.title');\n    this.notify.error(message, { title: title });\n  }\n\n  _getErrorMessage(error) {\n    switch (error.error) {\n      case 'update-execute-failed':\n        return this.intl.t('about.error.updateExecute');\n      case 'update-download-version-failed':\n        return this.intl.t('about.error.updateDownloadVersion');\n      case 'update-check-version-failed':\n        return this.intl.t('about.error.updateCheckVersion');\n      case 'update-download-failed':\n        return this.intl.t('about.error.updateDownload');\n      case 'update-invalid-signature':\n        return this.intl.t('about.error.updateInvalidSignature');\n      default:\n        return this.intl.t('about.error.default');\n    }\n  }\n}\n","import Service from \"@ember/service\";\nimport getBrowserInfo from \"../utils/getBrowserInfo\";\n\nexport default class BrowserService extends Service {\n  get info() {\n    return getBrowserInfo();\n  }\n\n  get isSupportedBrowser() {\n    return this.info.name !== 'IE';\n  }\n}\n","import { tracked } from '@glimmer/tracking';\nimport Service from '@ember/service';\nimport { action } from '@ember/object';\n\nexport default class CommonService extends Service {\n  @tracked selectedSpace = null;\n  @tracked workspaceRevisionObject = null;\n  @tracked workspaceRevision = 0;\n  @tracked popoverRegistry = null;\n  @tracked destinationNode = null;\n  @tracked creationGroupRegistry = false;\n  @tracked treeItemsDocuments = [];\n  @tracked modalIsOpen;\n  @tracked isLoading;\n  @tracked closeContextMenu;\n  @tracked isOpenSideNav = false;\n\n  closePopover() {\n    this.set('popoverRegistry.isOpen', false);\n    this.set('popoverRegistry', null);\n  }\n\n  @action\n  handleOpenSideNav() {\n    this.isOpenSideNav = true;\n  }\n\n  @action\n  toggleSideNav() {\n    this.isOpenSideNav = !this.isOpenSideNav;\n  }\n\n  @action\n  handleCloseSideNav() {\n    this.isOpenSideNav = false;\n  }\n\n}\n","import Service, { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport ENV from '../config/environment';\n\nexport default class ConnectionService extends Service {\n  @tracked isDesktopApp = ENV.APP.isDesktopApp;\n  @tracked isElectronApp = ENV.APP.isElectronApp;\n  @tracked isTauriApp = ENV.APP.isTauriApp;\n  @tracked tmpServerAddress;\n\n  @service account;\n\n  get serverAddress() {\n    if (!this.isDesktopApp) {\n      return window.location.origin;\n    }\n\n    if (this.account.isLoggedIn && this.account.serverSettings) {\n      return this.account.serverSettings.serverUrl;\n    }\n\n    return this.tmpServerAddress;\n  }\n}\n","import Service from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nexport default class ContextMenu extends Service {\n  @tracked mouseX = 0;\n  @tracked mouseY = 0;\n  isContextMenuOpened = false;\n\n  @action\n  handleRightClick(e) {\n    this.mouseX = e.pageX;\n    this.mouseY = e.pageY;\n    let search = document.querySelector(\"input[name='search']\");\n\n    if (search) {\n      const searchBounds = search.getBoundingClientRect();\n      let searchX = searchBounds.left;\n      let searchY = searchBounds.top;\n      let xValid =\n        e.pageX < searchX || e.pageX > searchX + searchBounds.width + 50;\n      let yValid =\n        e.pageY < searchY || e.pageY > searchY + searchBounds.height + 30;\n\n      if (xValid || yValid) {\n        e.preventDefault();\n        this.isContextMenuOpened = true;\n        return false;\n      }\n      return;\n    } else {\n      e.preventDefault();\n      this.isContextMenuOpened = true;\n    }\n    // return false;\n  }\n}\n","import Service, { inject as service } from \"@ember/service\";\nimport { computed } from '@ember/object';\nimport { URL_CRYPTOBOX } from \"../utils/enums\";\n\nconst ATTRIBUTE_NAME_SERVER_SETTINGS_CGU = \"eulaUrl\";\nconst ATTRIBUTE_NAME_SERVER_SETTINGS_PRIVACY_POLICY = \"privacyPolicyUrl\";\n\nexport default class CryptoboxURLsService extends Service {\n  @service intl;\n  @service account;\n\n  get langAttributeName() {\n    return this.intl.locale[0] === 'fr-fr' ? 'FR' : 'EN';\n  }\n\n  getUrl(serverSettingsAttrStr) {\n    const serverSettings = this.account.serverSettings;\n\n    if (!serverSettings) return;\n\n    const url = serverSettings[serverSettingsAttrStr];\n\n    if (url) {\n      return url[this.langAttributeName.toLocaleLowerCase()];\n    }\n  }\n\n  get cguURL() {\n    let eulaUrl = this.getUrl(ATTRIBUTE_NAME_SERVER_SETTINGS_CGU);\n    if (!eulaUrl) {\n      eulaUrl = URL_CRYPTOBOX[this.langAttributeName].CGU;\n    }\n\n    return eulaUrl;\n  }\n\n  get privacyPolicyURL() {\n    let privacyPolicyUrl = this.getUrl(\n      ATTRIBUTE_NAME_SERVER_SETTINGS_PRIVACY_POLICY\n    );\n    if (!privacyPolicyUrl) {\n      privacyPolicyUrl = URL_CRYPTOBOX[this.langAttributeName].PRIVACY_POLICY;\n    }\n\n    return privacyPolicyUrl;\n  }\n}\n","import Service from '@ember/service';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class DepositBox extends Service {\n  @tracked canAccessDepositBox = false;\n\n  @service store;\n  @service account;\n\n\n  get depositBoxSettings() {\n    return this.account.serverSettings.depositBox || {\n      codePolicy: 'none',\n    };\n  }\n  @action\n  async checkCanAccessDepositBox() {\n    return (this.canAccessDepositBox = await tBoxClient.depositBox.canAccess());\n  }\n\n  @action\n  async getDepositBoxId(boxId) {\n    return this.store.queryRecord('deposit-box', { id: boxId });\n  }\n\n  @action\n  async createDepositBox(box) {\n    const { name, description, note, code } = box;\n    const newRecord = this.store.createRecord('deposit-box', {\n      name,\n      description,\n      note,\n    });\n    return newRecord.save({\n      adapterOptions: { code },\n    });\n  }\n\n  @action\n  updateDepositBox(oldBox, newBox) {\n    const { name, description, note } = newBox;\n    oldBox.setProperties({\n      name,\n      description,\n      note,\n    });\n    return oldBox.save();\n  }\n\n  @action\n  getAllDepositBoxes() {\n    this.store.findAll('deposit-box-list-item', {\n      reload: true,\n      adapterOptions: { subscribe: this },\n    });\n    return this.store.peekAll('deposit-box-list-item');\n  }\n\n  @action\n  async deleteDepositBox(id) {\n    return this.store\n      .adapterFor('deposit-box')\n      .deleteRecord(this.store, 'deposit-box', { id });\n  }\n\n  @action\n  changeStateDepositBox(id, state) {\n    this.store\n      .adapterFor('deposit-box')\n      .updateState(this.store, 'deposit-box', {\n        id,\n        state,\n      });\n  }\n}\n","import Service from '@ember/service';\nimport { inject as service } from '@ember/service';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { getCfsbUrls } from 'client/ipc';\n\nexport default class ElectronCommunicationService extends Service {\n  @service connection;\n\n  async cfsbSetup() {\n    if (!this.connection.isDesktopApp) return;\n    const { dlpUrl, avUrl } = await getCfsbUrls();\n    if (dlpUrl !== null) {\n      tBoxClient.security.setDlp(dlpUrl);\n    }\n    if (avUrl !== null) {\n      tBoxClient.security.setAv(avUrl);\n    }\n  }\n}\n","import Service, { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { DateTime } from 'luxon';\nimport { groupDataByYearAndByDates } from '../helpers/groupDataByYearAndByDates';\nimport { action } from '@ember/object';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { observes } from '@ember-decorators/object';\n\n/* global libcryptobox */\nexport default class FileHistoryService extends Service {\n  @service intl;\n  @service('transfers') transfersManager;\n  @service account;\n\n  @tracked model = null;\n  @tracked _modelName = '';\n  @tracked trackingId;\n\n  @tracked year = new Date().getFullYear();\n  @tracked firstDateRevision = new Date(); // not be fore in heatmap data\n\n  @tracked selectedDate;\n  @tracked oldSelectedDate;\n\n  @tracked selectedDateNumberActivities = 0;\n  @tracked selectedFileHistoryData = [];\n  @tracked selectedFileHistoryInSideNav;\n\n  @tracked automaticScroll = false;\n\n  @tracked filter = {\n    value: 'none',\n    label: this.intl.t('fileHistory.filterBy.all'),\n  };\n\n  @tracked heatmapData = [];\n  @tracked isLoadingHeatmapData = false;\n\n  @tracked fileHistoryData = [];\n\n  @tracked isLoadingFileHistoryData = false;\n  @tracked lastDateRevisionFetched = null;\n\n  // DownloadList\n  @tracked fileHistoryDownloadList = [];\n  @tracked isLoadingFileHistoryDownloadList = false;\n\n  @action\n  iconName(name) {\n    switch ( name ) {\n      case libcryptobox.FileHistoryAction.Add:\n        return 'add';\n      case libcryptobox.FileHistoryAction.Rename:\n        return 'rename';\n      case libcryptobox.FileHistoryAction.Modify:\n        return 'edit';\n      case libcryptobox.FileHistoryAction.Move:\n        return 'copy_4';\n      case libcryptobox.FileHistoryAction.Delete:\n        return 'delete_1';\n      default:\n        return 'add';\n    }\n  }\n\n  get modelName() {\n    if (this.model?.name) {\n      return this.model.get('name');\n    } else {\n      return this._modelName;\n    }\n  }\n\n  get emptyCurrentYearFileHistory() {\n    if (\n      this.isLoadingFileHistoryData ||\n      this.fileHistoryData.length === 0 ||\n      this.filter.value !== 'none'\n    ) {\n      return false;\n    }\n\n    return (\n      new Date(this.fileHistoryData[0].date).getFullYear() !==\n      new Date().getFullYear()\n    );\n  }\n\n  @action\n  authorFullName(item) {\n    return !item.name && !item.surname\n      ? item.email\n      : `${ item.name || '' } ${ item.surname || '' }`;\n  }\n\n  @action\n  formatFileName(name) {\n    return name.charAt(0) === '/' ? name.substring(1) : name;\n  }\n\n  @action\n  fileActionText(item) {\n    const authorName = this.authorFullName(item.author);\n\n    switch ( item.action ) {\n      case 'add':\n        return this.intl.t(\n          'fileHistory.actionText.add.text',\n          {\n            authorName,\n            name: this.formatFileName(item.name),\n          },\n          { htmlSafe: true },\n        );\n      case 'rename':\n        return this.intl.t(\n          'fileHistory.actionText.rename.text',\n          {\n            authorName,\n            name: this.formatFileName(item.name),\n            oldName: this.formatFileName(item.oldName),\n          },\n          { htmlSafe: true },\n        );\n      case 'modify':\n        return this.intl.t(\n          'fileHistory.actionText.edit.text',\n          {\n            authorName,\n            name: this.formatFileName(item.name),\n          },\n          { htmlSafe: true },\n        );\n      case 'move':\n        return this.intl.t(\n          'fileHistory.actionText.move.text',\n          {\n            authorName,\n            path: this.formatFileName(item.name),\n          },\n          { htmlSafe: true },\n        );\n      case 'delete':\n        return this.intl.t(\n          'fileHistory.actionText.delete.text',\n          {\n            authorName,\n            name: this.formatFileName(item.name),\n          },\n          { htmlSafe: true },\n        );\n    }\n  }\n\n  get firstFileHistoryItem() {\n    return this.fileHistoryData.at(0);\n  }\n\n  get fileHistoryDataTransformed() {\n    return groupDataByYearAndByDates(this.fileHistoryData);\n  }\n\n  get startHeatMapDate() {\n    return new Date(new Date().setFullYear(this.year, 0, 1));\n  }\n\n  get areRevisionDatesIdentical() {\n    if (this.firstDateRevision && this.lastDateRevisionFetched) {\n      const firstDate = DateTime.fromJSDate(this.firstDateRevision);\n      const lastDate = DateTime.fromJSDate(this.lastDateRevisionFetched);\n      return firstDate.equals(lastDate);\n    }\n    return !this.firstDateRevision && !this.lastDateRevisionFetched;\n  }\n\n  get isExportActivitiesDisabled() {\n    return !this.model || !this.model.trackingId || !this.model.version;\n  }\n\n  exportActivities() {\n    const dateTime = DateTime.now().toFormat('yyyy-LL-dd');\n    const name = this.model.path.substring(\n      this.model.path.lastIndexOf('/') + 1,\n      this.model.path.length,\n    );\n    this.transfersManager.downloadFileHistory(\n      this.model.spaceId,\n      this.model.trackingId,\n      name + '_export-' + dateTime + '.csv',\n    );\n  }\n\n  @action\n  async loadMoreFileHistoryData() {\n    if (\n      this.isLoadingFileHistoryData ||\n      this.fileHistoryData.length < 100 ||\n      this.fileHistoryData.at(-1).fileVersionNumber === 1\n    ) {\n      return;\n    }\n    await this.fetchFileHistory(\n      this.fileHistoryData.at(-1)?.date,\n      100,\n      libcryptobox.FileHistoryDirection.Before,\n    );\n  }\n\n  @action\n  async getNumberDownload({ fileVersion }) {\n    return await tBoxClient.file.getNumberDownloads(\n      this.model.trackingId,\n      fileVersion,\n    );\n  }\n\n  @action\n  async downloadFileHistoryVersion(file) {\n    if (!file) {\n      return;\n    }\n    void this.transfersManager.downloadFileByRevisionAndPath({\n      spaceId: this.model.spaceId,\n      trackingId: this.model.trackingId,\n      revision: file.fileRevisionNumber || 0,\n    });\n  }\n\n  @observes('selectedDate')\n  async refreshFileHistoryData() {\n    if (\n      this.account.isLoggedIn === false ||\n      this.selectedDate === this.oldSelectedDate\n    ) {\n      return;\n    }\n    const _data = await this.fetchFileHistory(\n      this.selectedDate,\n      100,\n      libcryptobox.FileHistoryDirection.After,\n    );\n    this.selectedFileHistoryData = _data.filter(\n      (item) =>\n        item.year === new Date(this.selectedDate).getFullYear().toString(),\n    );\n  }\n\n  @observes('filter')\n  async refreshFileHistoryDataIfFilterChange() {\n    if (this.account.isLoggedIn === false) {\n      return;\n    }\n    await this.fetchFileHistory();\n  }\n\n  @action\n  async fetchHeatMapData() {\n    const spaceId = this.model.spaceId;\n    const trackingId = this.model.trackingId;\n\n    if (!spaceId || !this.trackingId) {\n      return (this.heatmapData = []);\n    }\n    try {\n      const actionType = this.filter.value;\n      this.isLoadingHeatmapData = true;\n      const data = await tBoxClient.file.getHistoryHeatmap(\n        spaceId,\n        trackingId,\n        this.year,\n        actionType !== 'none' ? { action: actionType } : null,\n      );\n\n      this.isLoadingHeatmapData = false;\n      this.firstDateRevision = data.notBefore ? new Date(data.notBefore) : null;\n      const dataFiltered = Object.entries(data.values).map(([date, value]) => ({\n        date: new Date(date),\n        value: value,\n      }));\n      if (actionType !== 'none') {\n        this.heatmapData = [];\n      }\n\n      return (this.heatmapData = [...dataFiltered]);\n    } catch (e) {\n      console.error('Error fetching heatmap data:', e);\n      throw e;\n    }\n  }\n\n  @action\n  async fetchFileHistory(\n    before = null,\n    limit = 100,\n    direction = libcryptobox.FileHistoryDirection.After,\n  ) {\n    const { spaceId, trackingId } = this.model || {};\n\n    if (!spaceId || !this.trackingId) {\n      return (this.fileHistoryData = []);\n    }\n\n    try {\n      const params = {\n        ...(before && { date: before }),\n        ...(this.filter.value !== 'none' && { action: this.filter.value }),\n        ...(before && { direction }),\n      };\n\n      this.isLoadingFileHistoryData = true;\n      const { entries: data } = await tBoxClient.file.getHistory(\n        spaceId,\n        trackingId,\n        limit,\n        params,\n      );\n\n      if (data.length === 0) {\n        this.lastDateRevisionFetched = null;\n        return (this.fileHistoryData = []);\n      }\n\n      if (!before) {\n        this.fileHistoryData = data;\n      } else {\n        const combinedData = [...this.fileHistoryData, ...data];\n        const seenDates = new Set();\n        this.fileHistoryData = combinedData.filter((item) => {\n          if (seenDates.has(item.date)) {\n            return false;\n          } else {\n            seenDates.add(item.date);\n            return true;\n          }\n        });\n      }\n      this.lastDateRevisionFetched = new Date(this.fileHistoryData.at(-1).date);\n\n      return this.fileHistoryDataTransformed;\n    } catch (e) {\n      console.error('Error fetching file history data:', e);\n      throw e;\n    } finally {\n      this.isLoadingFileHistoryData = false;\n    }\n  }\n\n  @action\n  resetFileHistoryData() {\n    this.fileHistoryData = [];\n    this.lastDateRevisionFetched = null;\n    this.selectedDate = null;\n    this.model = null;\n    this.oldSelectedDate = null;\n    this.selectedDateNumberActivities = 0;\n    this.selectedFileHistoryData = [];\n    this.selectedFileHistoryInSideNav = null;\n    this.heatmapData = [];\n    this.isLoadingHeatmapData = false;\n    this.isLoadingFileHistoryData = false;\n    this.automaticScroll = false;\n  }\n\n  @action\n  async getDownloadListFileHistory({ version, type: downloadType }) {\n    if (this.fileHistoryDownloadList.length > 0) {\n      this.fileHistoryDownloadList = [];\n    }\n\n    if (!this.validateInputs(version, downloadType)) {\n      return;\n    }\n\n    try {\n      this.isLoadingFileHistoryDownloadList = true;\n      const data = await tBoxClient.file.getDownloadList(\n        this.model.trackingId,\n        version,\n        downloadType,\n        1000,\n        '',\n      );\n      this.fileHistoryDownloadList = data.entries;\n    } catch (e) {\n      console.error('Error fetching download list:', e);\n    } finally {\n      this.isLoadingFileHistoryDownloadList = false;\n    }\n  }\n\n  validateInputs(version, downloadType) {\n    if (!version || !downloadType) {\n      console.error('Invalid file version or download type');\n      return false;\n    }\n    if (\n      downloadType !== libcryptobox.DownloadListType.FromSharing &&\n      downloadType !== libcryptobox.DownloadListType.ByUsers\n    ) {\n      console.error('Invalid download type');\n      return false;\n    }\n    return true;\n  }\n}\n","import Service, { inject as service } from '@ember/service';\nimport { A } from '@ember/array';\nimport { tracked } from '@glimmer/tracking';\nimport { DateTime } from 'luxon';\n\nexport default class HistoryService extends Service {\n  @tracked histories = A([]);\n\n  @service store;\n  @service commonService;\n  @service router;\n\n  async loadHistory({\n    space,\n    workspaceId,\n    workspaceRevision,\n    limit = 100,\n    offset = 0,\n    notAfterDate = '',\n  }) {\n    this.histories = A([]);\n    if (notAfterDate) {\n      notAfterDate = DateTime.fromISO(notAfterDate).plus({ days: 1 }).toISO();\n    }\n    if (!space.isReader && !space.isViewer) {\n      this.histories = await this.store.query(\n        'file-revision',\n        {\n          spaceId: workspaceId,\n          notAfterDate: notAfterDate,\n          notAfterNumber: offset,\n          count: limit,\n          noCache: true,\n        },\n        {\n          reload: true,\n          adapterOptions: { subscribe: true },\n        },\n      );\n      if (workspaceRevision !== 0) {\n        this.commonService.workspaceRevisionObject = this.histories.findBy(\n          'number',\n          workspaceRevision,\n        );\n      }\n    }\n    return this.histories;\n  }\n}\n","import Service from '@ember/service';\n\nexport default class ManageStorageService extends Service {\n  getSessionStorageItem(item, listType = '') {\n    const key = listType ? `${item}-${listType}` : item;\n    return JSON.parse(sessionStorage.getItem(key));\n  }\n\n  setSessionStorageItem(item, value, listType = '') {\n    const key = listType ? `${item}-${listType}` : item;\n    sessionStorage.setItem(key, JSON.stringify(value));\n  }\n}\n","import { run, debounce } from '@ember/runloop';\nimport { Promise as EmberPromise } from 'rsvp';\nimport { computed } from '@ember/object';\nimport { observes } from '@ember-decorators/object';\nimport { tracked } from '@glimmer/tracking';\nimport Service, { inject as service } from '@ember/service';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n/* global libcryptobox */\n\nexport default class Messaging extends Service {\n  @tracked isEnabled = false;\n  @tracked messagingIsClosed = true;\n  @tracked messagingIsOpened = false;\n  @tracked messagingIsOpening = false;\n  @tracked directConversationsIsExpand = false;\n  @tracked workspaceConversationsIsExpand = false;\n  @tracked conversationSortTimestamp;\n  @tracked conversationSortName;\n  @tracked hideOfflineBanner = true;\n  @tracked messagingStatus = null;\n  @tracked readCursors = null;\n  @tracked inbox = null;\n  @tracked isConnecting = false;\n  @tracked lastTimestamp = null;\n  @tracked spaces = null;\n\n  @service store;\n  @service notificationApi;\n  @service account;\n  @service router;\n\n  constructor() {\n    super(...arguments);\n    this.initializeService();\n  }\n  initializeService() {\n    this.conversationSortTimestamp = ['cursor.latest:desc'];\n    this.conversationSortName = ['name:asc'];\n    this.messagingStatus = {};\n    this.readCursors = [];\n    this.inbox = [];\n    this.hideOfflineBanner = true;\n  }\n\n  @computed('messagingStatus.isConnected')\n  get isOffline() {\n    return !this.messagingStatus.isConnected;\n  }\n\n  @computed('readCursors.@each.unreadCount', 'router.currentRoute.name')\n  get unreadCount() {\n    let cursors;\n    if (this.router.currentRoute.name === 'messages.index.conversation') {\n      const conversationId = this.router.currentRoute.params.space_id;\n      cursors = this.readCursors.filter( cursor => cursor.id !== conversationId);\n    } else {\n      cursors = this.readCursors;\n    }\n    return cursors.reduce((prev, cur) => prev + cur.unreadCount, 0);\n  }\n\n  @computed('spaces.@each.kind')\n  get conversations() {\n    return this.spaces.filter((space) => {\n      const kind = space.kind;\n      return (\n        kind === libcryptobox.SpaceKind.Workspace ||\n        kind === libcryptobox.SpaceKind.DirectConversation ||\n        kind === libcryptobox.SpaceKind.GroupConversation\n      );\n    });\n  }\n\n  initializeMessaging() {\n    return tBoxClient.serverSettings\n      .get()\n      .then((serverSettings) => {\n        let capabilities = serverSettings.capabilities;\n\n        const adapterOptions = { subscribe: this };\n        this.spaces = this.store.findAll('space', { adapterOptions });\n        if (capabilities.includes(libcryptobox.ServerCapability.Messaging)) {\n          this.connectToMessaging().then(() => {\n            setTimeout(() => {\n              this.hideOfflineBanner = false;\n            }, 10000);\n          });\n\n          this.notificationApi.checkIfNotificationAreGranted();\n          this.isEnabled = true;\n          this.store\n            .queryRecord('messaging-status', { adapterOptions })\n            .then((status) => this.messagingStatus = status);\n          this.store\n            .findAll('read-cursor', { adapterOptions })\n            .then((readCursors) => (this.readCursors = readCursors));\n          this.store\n            .query('message', { inbox: true, adapterOptions })\n            .then((inbox) => (this.inbox = inbox));\n          return true;\n        } else {\n          this.isEnabled = false;\n        }\n        return false;\n      })\n      .catch((error) => {\n        console.error(error);\n        this.initializeMessaging();\n      });\n  }\n\n  connectToMessaging() {\n    const store = this.store;\n    this.spaces = store.findAll('space');\n\n    return new EmberPromise((resolve, reject) => {\n      if (!this.messagingStatus.isConnected) {\n        tBoxClient.im\n          .connect()\n          .then(() => {\n            run(null, resolve);\n          })\n          .catch(() => {\n            this.isConnecting = false;\n            run(null, reject);\n          });\n      } else {\n        run(null, resolve);\n      }\n    });\n  }\n\n  retryMessagingConnection() {\n    if (this.isConnecting) {\n      return false;\n    }\n    this.isConnecting = true;\n    this.connectToMessaging()\n      .then(() => {\n        this.isConnecting = false;\n      })\n      .catch((e) => {\n        console.warn(e);\n      });\n\n    //timeout\n    setTimeout(() => {\n      if (!this.messagingStatus.isConnected) {\n        this.isConnecting = false;\n      }\n    }, 5000);\n  }\n\n  _sendInbox() {\n    this.inbox.forEach((message) => {\n      if (this.lastTimestamp !== message.timestamp) {\n        this.store\n          .findRecord('space', message.space.get('id'))\n          .then((conversation) => {\n            let notificationTitle;\n            if (\n              conversation.get('kind') ===\n              libcryptobox.SpaceKind.DirectConversation\n            ) {\n              notificationTitle = conversation.computedName;\n            } else {\n              let conversationName = conversation.name;\n              notificationTitle = `${message.author.givenName} ${message.author.surname} (${conversationName})`;\n            }\n            this.notificationApi.sendNotification(notificationTitle, {\n              body:\n                message.text ||\n                message.attachments.at(0).fileName,\n              fallbackIcon: 'empty-message-bubble',\n              disableFallback: true,\n            });\n            this.lastTimestamp = message.timestamp;\n          });\n      }\n    });\n  }\n\n  @observes('inbox.[]')\n  onMessageReception() {\n    debounce(this, this._sendInbox, null, 500);\n  }\n\n  uploadAttachments(files, conversation) {\n    let store = this.store;\n    conversation.members.then(async (members) => {\n      let author = members.findBy('email', this.account.userEmail);\n      for (let file of files) {\n        let message = store.createRecord('message', {\n          space: conversation,\n          text: '',\n          author: store.createRecord('user', {\n            email: author.email,\n            givenName: author.givenName,\n            surname: author.surname,\n          }),\n          status: libcryptobox.MessageStatus.Pending,\n        });\n\n        let attachment = store.createRecord('attachment', {\n          message: message,\n          fileName: file.name,\n          fileSize: file.size,\n          fileData: file,\n        });\n\n        message\n          .save()\n          .then(() => attachment.save())\n          .then(() => {\n            message.set('isUploading', true);\n            const promise = message.post();\n            message.set('cancelUpload', promise.cancel);\n            return promise;\n          })\n          .then(\n            () => {},\n            (rejection) => {\n              console.warn(rejection);\n              attachment.unloadRecord();\n              message.unloadRecord();\n            },\n          );\n      }\n    });\n  }\n}\n","import { computed } from '@ember/object';\nimport Service from '@ember/service';\nimport ENV from '../config/environment';\nimport { getDestinationElementIdFromConfig } from 'ember-modal-dialog/utils/config-utils';\n\nfunction computedFromConfig(prop) {\n  return computed(function () {\n    return ENV['ember-modal-dialog'] && ENV['ember-modal-dialog'][prop];\n  });\n}\n\nexport default Service.extend({\n  hasEmberTether: computedFromConfig('hasEmberTether'),\n  hasLiquidWormhole: computedFromConfig('hasLiquidWormhole'),\n  hasLiquidTether: computedFromConfig('hasLiquidTether'),\n  destinationElementId: computed(function () {\n    return getDestinationElementIdFromConfig(ENV);\n  }),\n});\n","import { tracked } from '@glimmer/tracking';\nimport Service from '@ember/service';\n\nexport default class ModalManager extends Service {\n  /**\n   * A map of modal names to their open state.\n   * @private\n   * @type {Map<string, boolean>}\n   * @example new Map([['my-modal', true]])\n   * @default new Map()\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\n   */\n  @tracked _modals = new Map();\n\n  /**\n   * Opens a modal specified by its name.\n   * @param {string} name - The name of the modal to open.\n   * @param options - The options to pass to the modal.\n   * @example open('my-modal', { foo: 'bar' })\n   * @example open('my-modal')\n   */\n  open(name, options = {}) {\n    // Do not open if excluded by an opened modal\n    for (const [_, value] of this._modals) {\n      if (value.isOpen && value.options?.excludedModals?.includes(name)) {\n        return\n      }\n    }\n\n    // Close the opened modals excluded by the new modal\n    if (options.excludedModals?.length) {\n      for (const name of options.excludedModals) {\n        this.close(name)\n      }\n    }\n\n    this._modals.set(name, { isOpen: true, options })\n    this._markModalsAsTracked();\n  }\n\n  /**\n   * Closes a modal specified by its name.\n   * @param {string} name - The name of the modal to close.\n   * @example close('my-modal')\n   */\n  close(name) {\n    if (this._modals.has(name)) {\n      this._modals.set(name, { ...this._modals.get(name), isOpen: false });\n    }\n    this._markModalsAsTracked();\n  }\n\n  /**\n   * Closes all modals.\n   * @example closeAll()\n   */\n  closeAll() {\n    this._modals.forEach((value, key) => {\n      this._modals.set(key, { ...value, isOpen: false });\n    });\n    this._markModalsAsTracked();\n  }\n  /**\n   * Checks if a modal specified by its name is open.\n   * @param {string} name - The name of the modal to check.\n   * @returns {boolean} Returns true if the modal is open, false otherwise.\n   * @example isModalOpen('my-modal') // false\n   */\n  isModalOpen(name) {\n    return this._modals.get(name)?.isOpen;\n  }\n\n  /**\n   * Returns the options of a modal specified by its name.\n   * @param {string} name - The name of the modal to get options for.\n   * @returns {object} The options of the modal.\n   * @example getOptions('my-modal') // { foo: 'bar' }\n   */\n  getOptions(name) {\n    return this._modals.get(name)?.options;\n  }\n\n  /**\n   * Marks the `_modals` map as tracked to trigger re-rendering.\n   * This method is used internally to ensure that changes in the state of modals are reflected in templates.\n   * @private\n   */\n  _markModalsAsTracked() {\n    this._modals = new Map(this._modals);\n  }\n}\n","import { run } from '@ember/runloop';\nimport { Promise as EmberPromise } from 'rsvp';\nimport Service, { inject as service } from '@ember/service';\n\nexport default class NotificationApi extends Service {\n  @service notify;\n  @service router;\n  @service connection;\n\n  checkIfNotificationAreGranted() {\n    return new EmberPromise((resolve, reject) => {\n      if (!('Notification' in window)) {\n        run(null, reject);\n      } else if (Notification.permission === 'granted') {\n        run(null, resolve);\n      } else if (Notification.permission !== 'denied') {\n        void Notification.requestPermission(function (permission) {\n          if (!('permission' in Notification)) {\n            Notification.permission = permission;\n          }\n          if (permission === 'granted') {\n            run(null, resolve);\n          } else {\n            run(null, reject);\n          }\n        });\n      } else {\n        run(null, reject);\n      }\n    });\n  }\n\n  sendNotification(title, options) {\n    // Attr follow the API notification browser implementation => https://developer.mozilla.org/fr/docs/Web/API/notification\n    const userInIm = this.router.currentRouteName.includes('messages.index');\n    if (\n      localStorage.getItem('notificationTabId') !== window.tabId ||\n      (userInIm && !document.hidden)\n    ) {\n      return false;\n    }\n    let defaultOptions = {\n      icon: `/static/img/logo.png`,\n      fallbackIcon: null,\n      disableFallback: false,\n    };\n    let definitiveOptions = Object.assign(defaultOptions, options);\n\n    if (document.hidden) {\n      const icon = document.querySelector('link[rel=\"icon\"]');\n      icon.href = `/static/img/logo_notified.png`;\n    }\n\n    if (definitiveOptions.body.length > 60) {\n      const truncatedBody = definitiveOptions.body.substring(0, 59);\n      definitiveOptions.body = `${truncatedBody}...`;\n    }\n    this.checkIfNotificationAreGranted()\n      .then(() => {\n        return new Notification(title, definitiveOptions);\n      })\n      .then((notification) => {\n        notification.onclick = () => {\n          window.focus();\n          this.router.transitionTo('messages.index');\n        };\n      })\n      .catch(() => {\n        if (!definitiveOptions.disableFallback) {\n          this.notify.info(definitiveOptions.body, {\n            title: title,\n            icon: definitiveOptions.fallbackIcon,\n          });\n        }\n      });\n  }\n}\n","import Notify from 'ember-notify';\nexport default Notify;\n","import Service, { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\n\n/* global libcryptobox */\n\nexport default class ObserverFactory extends Service {\n  @tracked fatalError = null;\n  @tracked fatalErrorLocation = null;\n  @service notify;\n  @service account;\n  @service session;\n  @service intl;\n  @service router;\n  @service messaging;\n\n  hideErrorNotification = false;\n\n\n  constructor() {\n    super(...arguments);\n    this.initialiseFactory();\n  }\n\n  initialiseFactory() {\n    this.errorWithReportPage = [\n      // libcryptobox.ErrorCode.FatalError, // Removed.\n    ];\n    this.errorsWithoutToast = [\n      libcryptobox.ErrorCode.Canceled,\n      libcryptobox.ErrorCode.NotExist,\n      libcryptobox.ErrorCode.RecoveryBadTrustee,\n      libcryptobox.ErrorCode.NotFound,\n      libcryptobox.ErrorCode.InvalidCredentials,\n      libcryptobox.ErrorCode.NetworkError,\n      libcryptobox.ErrorCode.RecoveryBadID,\n      libcryptobox.ErrorCode.RecoveryBadSAS,\n      libcryptobox.ErrorCode.RecoverySessionBroken,\n      libcryptobox.ErrorCode.UnvalidatedEmail,\n      libcryptobox.ErrorCode.BadKey,\n      libcryptobox.ErrorCode.BadKeySize,\n      libcryptobox.ErrorCode.Forbidden,\n      libcryptobox.ErrorCode.InvalidParameter,\n      libcryptobox.ErrorCode.InvalidOTP,\n      libcryptobox.ErrorCode.TooManyOTPAttempts,\n      libcryptobox.ErrorCode.BadDepositBoxCode,\n      libcryptobox.ErrorCode.BadDepositBoxCodeSize,\n    ];\n  }\n\n  _invitationError(detail) {\n    return (\n      /invite_not_found*/g.test(detail) || /invite_not_open*/g.test(detail)\n    );\n  }\n\n  _hasRedirection(error) {\n    return /temporary_redirection*/g.test(error);\n  }\n\n  getErrorManagement() {\n\n    const notify = this.notify;\n    const service = this;\n    const account = this.account;\n    const session = this.session;\n    const errorsWithoutToast = this.errorsWithoutToast;\n    const errorWithReportPage = this.errorWithReportPage;\n\n    return (error) => {\n\n      if (this.hideErrorNotification) {\n        return;\n      }\n\n      // Already displayed in the UI.\n      if (error.code === libcryptobox.ErrorCode.TokenEmailMismatch) {\n        return\n      }\n\n      if (error.code === libcryptobox.ErrorCode.UpgradeRequired) {\n        this.notify.error(error.message, {\n          id: 'upgrade-required-notif',\n          title: error.title,\n          closeAfter: 10000,\n        });\n        return;\n      }\n      if (error.title === 'Connection error')\n        this.messaging.hideOfflineBanner = false;\n      if (error.code === libcryptobox.ErrorCode.NotExist) {\n        return;\n      }\n      if (errorWithReportPage.indexOf(error.code) !== -1) {\n        if (!service.get('fatalError')) {\n          service.set('fatalError', error);\n        }\n      } else if (\n        error.code === libcryptobox.ErrorCode.NotFound &&\n        error.server &&\n        error.server.code === 'email_change_not_found'\n      ) {\n        return notify.error(this.intl.t('errors.changeEmailNotFound.title'));\n      } else if (\n        error.code === libcryptobox.ErrorCode.NotFound &&\n        error.server &&\n        error.server.code === 'file_sharing_not_found'\n      ) {\n        notify.error(error.message, {\n          title: error.title,\n          closeAfter: null,\n          error: error,\n        });\n      } else if (\n        error.code === libcryptobox.ErrorCode.ServerError &&\n        error.details.startsWith('deposit_box_unknown:')\n      ) {\n        // skip error deposit box unknow\n        return;\n      } else if (\n        error.code === libcryptobox.ErrorCode.InternalError &&\n        error.details.startsWith('cipher:')\n      ) {\n        //No toast on key download share\n        return;\n      } else if (\n        error.code === libcryptobox.ErrorCode.InternalError &&\n        error.details.startsWith('NotReadableError:')\n      ) {\n        notify.error(this.intl.t('toasts.downloadError.message'), {\n          title: this.intl.t('toasts.downloadError.title'),\n          closeAfter: null,\n          error: error,\n        });\n      } else if (\n        error.code === libcryptobox.ErrorCode.Forbidden &&\n        error.details.startsWith('forbidden\\nspace: get')\n      ) {\n        // skip error\n        return;\n      } else if (error.code === libcryptobox.ErrorCode.Forbidden) {\n        notify.error(this.intl.t('toasts.permissionError.message'), {\n          title: this.intl.t('toasts.permissionError.title'),\n          error: error,\n        });\n      } else if (\n        error.code === libcryptobox.ErrorCode.InvalidCredentials &&\n        !account.get('isLoggingIn') &&\n        !account.get('inRecovery')\n      ) {\n        if (\n          !session.get('changingPwd') &&\n          this.router.currentRouteName !== 'my-account'\n        ) {\n          sessionStorage.clear();\n          window.location.reload();\n        }\n      } else if (\n        error.code === libcryptobox.ErrorCode.MessagingConnectionRefused\n      ) {\n        return;\n      } else if (error.code === libcryptobox.ErrorCode.NetworkError) {\n        if (service.get('networkError.visible')) {\n          return;\n        }\n        let networkError = notify.error(this.intl.t('errors.network.message'), {\n          title: this.intl.t('errors.network.title'),\n          closeAfter: null,\n          icon: 'disconnected',\n        });\n        service.set('networkError', networkError);\n      } else if (\n        error.code === libcryptobox.ErrorCode.AlreadyRegistered ||\n        error.code === libcryptobox.ErrorCode.EmailNotAllowed\n      ) {\n        return notify.error(error.message, {\n          title: error.title,\n          error: error,\n        });\n      } else if (error.code === libcryptobox.ErrorCode.NotEnoughOwners) {\n        return notify.error(error.message, { \n          title: error.title,\n          closeAfter: 6_000,\n        });\n      } else if (this._hasRedirection(error.details)) {\n        const location = error.details.match(/\\/#[^\\s]+/g);\n        this.router.transitionTo(location[0]);\n        return window.location.reload();\n      } else if (errorsWithoutToast.indexOf(error.code) === -1) {\n        const messages = notify.get('target.messages');\n\n        if (this._invitationError(error.details)) {\n          return;\n        }\n\n        if (\n          !error.details?.startsWith('rename:') &&\n          messages\n            .map((message) => message.get('error.code'))\n            .indexOf(error.code) === -1\n        ) {\n          notify.error(error.message, {\n            title: error.title,\n            closeAfter: null,\n            error: error,\n          });\n        }\n      }\n    };\n  }\n}\n","import Service from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport {\n  EventBus,\n  NullL10n,\n  PDFFindController,\n  PDFLinkService,\n  PDFScriptingManager,\n  PDFViewer,\n} from 'pdfjs-dist/web/pdf_viewer.mjs';\nimport pdfjsLib from 'pdfjs-dist';\nimport { DateTime } from 'luxon';\n\nconst FindState = {\n  FOUND: 0,\n  NOT_FOUND: 1,\n  WRAPPED: 2,\n  PENDING: 3,\n};\n\nexport default class PdfjsServiceService extends Service {\n  container = document.getElementById('viewerContainer');\n  @tracked pdfViewer = null;\n  @tracked findController = null;\n  @tracked scriptingManager = null;\n  @tracked eventBus = null;\n  @tracked linkService = null;\n  @tracked presentationMode = null;\n  @tracked toolbar = null;\n  @tracked fileName = '';\n  @tracked pdfDocument = null;\n  @tracked pdfUrl = '';\n  @tracked findState = {\n    query: '',\n    caseSensitive: false,\n    entireWord: false,\n    highlightAll: false,\n    findPrevious: false,\n    matchDiacritics: false,\n  };\n\n  constructor() {\n    super(...arguments);\n    this.initializeBase();\n  }\n\n  @action\n  alignToolbarItemPosition() {\n    const toolbar = document.getElementById('toolbar');\n    const searchButton = document.getElementById('viewFindButton');\n    const menuButton = document.getElementById('secondaryToolbarToggle');\n    const menuRect = menuButton.getBoundingClientRect();\n    const searchRect = searchButton.getBoundingClientRect();\n\n    document.getElementById('findbar').style.bottom =\n      toolbar.offsetHeight + 10 + 'px';\n    document.getElementById('findbar').style.left = searchRect.left + 'px';\n    document.getElementById('secondaryToolbar').style.bottom =\n      toolbar.offsetHeight + 10 + 'px';\n    document.getElementById('secondaryToolbar').style.left =\n      menuRect.left + 'px';\n\n    return searchRect.left > 0 && toolbar.offsetHeight > 0;\n  }\n\n  initializeBase() {\n    this.eventBus = new EventBus();\n\n    this.linkService = new PDFLinkService({\n      eventBus: this.eventBus,\n      externalLinkTarget: 2,\n    });\n\n    this.scriptingManager = new PDFScriptingManager({\n      eventBus: this.eventBus,\n    });\n\n    this.findController = new PDFFindController({\n      linkService: this.linkService,\n      eventBus: this.eventBus,\n      selected: {\n        pageIdx: -1,\n        matchIdx: -1,\n      },\n      updateMatchesCount: (matchesCount) =>\n        this.updateFindMatchesCount({ matchesCount }),\n    });\n\n    this.eventBus.on('updatefindcontrolstate', (evt) =>\n      this.updateFindControlState(evt),\n    );\n\n    this.eventBus.on('updatefindmatchescount', (evt) =>\n      this.updateFindMatchesCount(evt),\n    );\n  }\n\n  @action\n  initialize() {\n    this.container = document.querySelector('#viewerContainer');\n    this.viewer = document.querySelector('#viewer');\n\n    if (!this.container || !this.viewer) {\n      throw new Error('Container or viewer element not found');\n    }\n\n    if (this.pdfViewer) {\n      this.pdfViewer.cleanup();\n      this.pdfViewer = null;\n    }\n\n    this.pdfViewer = new PDFViewer({\n      container: this.container,\n      viewer: this.viewer,\n      eventBus: this.eventBus,\n      scriptingManager: this.scriptingManager,\n      l10n: NullL10n,\n      linkService: this.linkService,\n      findController: this.findController,\n      enableScripting: false,\n      enablePrintAutoRotate: true,\n      textLayerMode: 2,\n      enhanceTextSelection: true,\n      renderInteractiveForms: true,\n      removePageBorders: true,\n      enablePresentationMode: true,\n      enableHandToolOnLoad: false,\n    });\n\n    this.setupHandTool();\n\n    this.linkService.setViewer(this.pdfViewer);\n    return this.pdfViewer;\n  }\n\n  setupHandTool() {\n    let isPanning = false;\n    let startX = 0;\n    let startY = 0;\n\n    const handleMouseDown = (event) => {\n      if (this.currentTool === 0) {\n        this.container.style.cursor = 'initial';\n        return;\n      }\n      if (this.currentTool !== 1) return;\n\n      isPanning = true;\n      startX = event.clientX;\n      startY = event.clientY;\n      this.container.style.cursor = 'grabbing';\n      event.preventDefault();\n    };\n\n    const handleMouseMove = (event) => {\n      if (!isPanning) return;\n\n      const deltaX = event.clientX - startX;\n      const deltaY = event.clientY - startY;\n\n      this.container.scrollLeft -= deltaX;\n      this.container.scrollTop -= deltaY;\n\n      startX = event.clientX;\n      startY = event.clientY;\n      event.preventDefault();\n    };\n\n    const handleMouseUp = () => {\n      if (isPanning) {\n        isPanning = false;\n        if (this.currentTool === 0) {\n          this.container.style.cursor = 'initial';\n        }\n\n        if (this.currentTool === 1) {\n          this.container.style.cursor = 'grab';\n        }\n      }\n    };\n\n    this.container.addEventListener('mousedown', handleMouseDown);\n    window.addEventListener('mousemove', handleMouseMove);\n    window.addEventListener('mouseup', handleMouseUp);\n\n    this._handToolHandlers = {\n      mouseDown: handleMouseDown,\n      mouseMove: handleMouseMove,\n      mouseUp: handleMouseUp,\n    };\n  }\n\n  @action\n  updateFindControlState(evt) {\n    document.getElementById('findPrevious').disabled = !evt.canFind;\n    document.getElementById('findNext').disabled = !evt.canFind;\n\n    const findBar = document.getElementById('findbar');\n    const findInput = document.getElementById('findInput');\n    const findMsg = document.getElementById('findMsg');\n    const findResultsCount = document.getElementById('findResultsCount');\n    const { current, total } = evt.matchesCount || { current: 0, total: 0 };\n    if (!findBar || !findInput || !findMsg) return;\n    if (evt.state === FindState.PENDING) {\n      findMsg.textContent = 'Searching...';\n      findResultsCount.textContent = '';\n    } else if (evt.state === FindState.NOT_FOUND) {\n      findMsg.textContent = 'No matches found';\n      findResultsCount.textContent = '';\n      findInput.classList.add('not-found');\n    } else {\n      findResultsCount.textContent = `${ current } of ${ total } matches`;\n      findMsg.textContent = '';\n      findInput.classList.remove('not-found');\n    }\n\n    ['findPrevious', 'findNext'].forEach((buttonId) => {\n      const button = document.getElementById(buttonId);\n      if (button) {\n        button.disabled =\n          evt.state === FindState.PENDING || evt.state === FindState.NOT_FOUND;\n      }\n    });\n  }\n\n  @action\n  updateFindMatchesCount(evt) {\n    const { current, total } = evt.matchesCount || { current: 0, total: 0 };\n    const findResultsCount = document.getElementById('findResultsCount');\n    const findMsg = document.getElementById('findMsg');\n    const findInput = document.getElementById('findInput');\n\n    if (!findResultsCount || !findMsg || !findInput) return;\n\n    if (!evt.matchesCount || evt.matchesCount.total === 0) {\n      findResultsCount.textContent = '';\n      findMsg.textContent = 'No matches found';\n      findInput.classList.add('not-found');\n    }\n\n    if (findResultsCount) {\n      if (total > 0) {\n        findResultsCount.textContent = `${ current } of ${ total } matches`;\n        findMsg.textContent = '';\n      } else {\n        findResultsCount.textContent = '';\n        findMsg.textContent = 'No matches found';\n      }\n    }\n    const findPrevious = document.getElementById('findPrevious');\n    const findNext = document.getElementById('findNext');\n    if (findPrevious && findNext) {\n      const disabled = total === 0;\n      findPrevious.disabled = disabled;\n      findNext.disabled = disabled;\n    }\n  }\n\n  @action\n  async loadPdf(url, password = null) {\n    try {\n      const viewer = this.initialize();\n      this.pdfUrl = url;\n      const loadingTask = pdfjsLib.getDocument({ url, password });\n\n      const pdfDocument = await loadingTask.promise;\n      this.pdfDocument = pdfDocument;\n      viewer.setDocument(pdfDocument);\n      this.linkService.setDocument(pdfDocument, null);\n      this.findController.setDocument(pdfDocument);\n\n      // Reset scale to default when loading a new PDF\n      const resetScale = () => {\n        viewer.currentScaleValue = 'auto';\n        this.eventBus.off('pagesloaded', resetScale);\n      };\n      this.eventBus.on('pagesloaded', resetScale);\n\n      this.eventBus.dispatch('documentloaded', {\n        source: this,\n        pdfDocument,\n      });\n\n      await this.scriptingManager.setDocument(pdfDocument);\n    } catch (error) {\n      if (error.name === 'PasswordException') {\n        document.getElementById('passwordDialog').setAttribute('open', 'true');\n        return;\n      }\n      console.error(error);\n      throw new Error(error);\n    }\n  }\n\n  @action\n  async togglePresentationMode() {\n    if (this.pdfViewer) {\n      try {\n        if (!this.pdfViewer.isInPresentationMode) {\n          await this.container.requestFullscreen();\n          this.eventBus.dispatch('presentationmode');\n        } else {\n          await document.exitFullscreen();\n          this.eventBus.dispatch('exitpresentationmode');\n        }\n      } catch (error) {\n        console.error(error);\n      }\n    }\n  }\n\n  @action\n  selectTool() {\n    this.setCursorTool(0);\n  }\n\n  @action\n  handTool() {\n    this.setCursorTool(1);\n  }\n\n  @action\n  setSpreadMode(mode) {\n    if (!this.pdfViewer) return;\n\n    const buttons = {\n      spreadNone: document.getElementById('spreadNone'),\n      spreadOdd: document.getElementById('spreadOdd'),\n      spreadEven: document.getElementById('spreadEven'),\n    };\n\n    Object.values(buttons).forEach((button) => {\n      button?.classList.remove('toggled');\n      button?.setAttribute('aria-checked', 'false');\n    });\n\n    const selectedButton =\n      buttons[`spread${ mode.charAt(0).toUpperCase() + mode.slice(1) }`];\n    selectedButton?.classList.add('toggled');\n    selectedButton?.setAttribute('aria-checked', 'true');\n\n    const spreadModes = { none: 0, odd: 1, even: 2 };\n    this.pdfViewer.spreadMode = spreadModes[mode];\n    this.closeSecondaryToolbar();\n  }\n\n  @action\n  closeSecondaryToolbar() {\n    const secondaryToolbar = document.getElementById('secondaryToolbar');\n    secondaryToolbar.classList.add('hidden');\n  }\n\n  @action\n  setScrollMode(mode) {\n    if (!this.pdfViewer) return;\n\n    const buttons = {\n      scrollPage: document.getElementById('scrollPage'),\n      scrollVertical: document.getElementById('scrollVertical'),\n      scrollHorizontal: document.getElementById('scrollHorizontal'),\n      scrollWrapped: document.getElementById('scrollWrapped'),\n    };\n\n    Object.values(buttons).forEach((button) => {\n      button?.classList.remove('toggled');\n      button?.setAttribute('aria-checked', 'false');\n    });\n\n    const selectedButton =\n      buttons[`scroll${ mode.charAt(0).toUpperCase() + mode.slice(1) }`];\n    selectedButton?.classList.add('toggled');\n    selectedButton?.setAttribute('aria-checked', 'true');\n\n    const scrollModes = { page: 3, vertical: 2, horizontal: 1, wrapped: 0 };\n    this.pdfViewer.scrollMode = scrollModes[mode];\n    this.closeSecondaryToolbar();\n  }\n\n  @action\n  async showDocumentProperties() {\n    const doc = this.pdfDocument;\n    if (!doc) return;\n\n    const metadatas = await doc.getMetadata();\n    const { info } = metadatas;\n    const firstPage = await doc.getPage(1);\n    const viewport = firstPage.getViewport({ scale: 1 });\n    const data = await doc.getData();\n\n    this.documentProperties = {\n      fileName: this.fileName || '-',\n      fileSize: this.formatFileSize(data.byteLength),\n      title: info?.Title || '-',\n      author: info?.Author || '-',\n      subject: info?.Subject || '-',\n      keywords: info?.Keywords || '-',\n      creationDate: this.formatDate(info?.CreationDate),\n      modificationDate: this.formatDate(info?.ModDate),\n      creator: info?.Creator || '-',\n      producer: info?.Producer || '-',\n      version: `${ info?.PDFFormatVersion || '-' }`,\n      pageCount: doc.numPages,\n      pageSize: `${ Math.round(viewport.width) } × ${ Math.round(viewport.height) } pixels`,\n      linearized: doc.linearized ? 'Yes' : 'No',\n    };\n\n    this.updateDialog();\n    document.getElementById('documentPropertiesDialog').showModal();\n  }\n\n  formatFileSize(bytes) {\n    const kb = bytes/1024;\n    return kb < 1024\n      ? `${ Math.round(kb*100)/100 } KB`\n      : `${ Math.round((kb/1024)*100)/100 } MB`;\n  }\n\n  formatDate(date) {\n    if (!date) return '-';\n    const formatted = date\n      .slice(2)\n      .replace(\n        /^(\\d{4})(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})([-+]\\d{2})'(\\d{2})'$/,\n        '$1-$2-$3T$4:$5:$6$7:$8',\n      );\n    return DateTime.fromISO(formatted).toLocaleString(DateTime.DATETIME_SHORT);\n  }\n\n  updateDialog() {\n    Object.entries(this.documentProperties).forEach(([key, value]) => {\n      const element = document.getElementById(`${ key }Field`);\n      if (element) element.textContent = (value || '').toString();\n    });\n  }\n\n  @action\n  executeFindOperation(options = {}) {\n    const defaultOptions = {\n      query: '',\n      caseSensitive: false,\n      entireWord: false,\n      highlightAll: true,\n      findPrevious: false,\n      matchDiacritics: false,\n      pageRange: null,\n      matchesCountLimit: 1000,\n      type: 'find',\n    };\n\n    const findOptions = { ...defaultOptions, ...options };\n    if (!this.findController) {\n      console.error('Find controller not initialized');\n      return;\n    }\n    this.findState = findOptions;\n\n    this.eventBus.dispatch('find', {\n      source: this,\n      ...findOptions,\n      updateMatchesCount: true,\n    });\n  }\n\n  @action\n  setCursorTool(toolMode) {\n    if (!this.pdfViewer) return;\n\n    const cursorSelectTool = document.getElementById('cursorSelectTool');\n    const cursorHandTool = document.getElementById('cursorHandTool');\n    const viewerContainer = document.getElementById('viewerContainer');\n\n    this.currentTool = toolMode;\n\n    if (toolMode === 1) {\n      cursorSelectTool?.classList.remove('toggled');\n      cursorHandTool?.classList.add('toggled');\n      cursorSelectTool?.setAttribute('aria-checked', 'false');\n      cursorHandTool?.setAttribute('aria-checked', 'true');\n      this.pdfViewer.cursor = 'grab';\n    } else {\n      cursorSelectTool?.classList.add('toggled');\n      cursorHandTool?.classList.remove('toggled');\n      cursorSelectTool?.setAttribute('aria-checked', 'true');\n      cursorHandTool?.setAttribute('aria-checked', 'false');\n      this.pdfViewer.cursor = 'initial';\n    }\n    viewerContainer.classList.toggle('grab-to-pan-grab');\n    this.closeSecondaryToolbar();\n\n    this.eventBus.dispatch('switchtool', {\n      source: this,\n      tool: toolMode,\n    });\n  }\n\n  willDestroy() {\n    super.willDestroy(...arguments);\n\n    if (this._handToolHandlers && this.container) {\n      this.container.removeEventListener(\n        'mousedown',\n        this._handToolHandlers.mouseDown,\n      );\n      window.removeEventListener('mousemove', this._handToolHandlers.mouseMove);\n      window.removeEventListener('mouseup', this._handToolHandlers.mouseUp);\n      this._handToolHandlers = null;\n    }\n\n    this.cleanupPdf();\n  }\n\n  @action\n  cleanupPdf() {\n    if (this.fileName) {\n      this.fileName = '';\n    }\n\n    if (this.presentationMode) {\n      if (this.presentationMode.isActive) {\n        this.presentationMode.exit();\n      }\n      const presentationButton = document.getElementById('presentationMode');\n      if (presentationButton) {\n        presentationButton.removeEventListener(\n          'click',\n          this.togglePresentationMode,\n        );\n      }\n    }\n    if (this.eventBus) {\n      this.eventBus.off('updatefindcontrolstate');\n      this.eventBus.off('updatefindmatchescount');\n      this.eventBus = null;\n    }\n\n    if (this.findController) {\n      this.findController = null;\n    }\n\n    if (this.pdfViewer) {\n      this.pdfViewer = null;\n    }\n    if (this.pdfDocument) {\n      this.pdfDocument = null;\n    }\n  }\n}\n","import Service, { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { A } from '@ember/array';\nimport getVariables from '../utils/getVariables';\nimport { action } from '@ember/object';\n\nconst COLOR_BADGE_DEFAULT = '#4A4B50';\n\nclass PlatformCustomization {\n  @tracked url;\n  @tracked isEnabled = false;\n  @tracked _badgeColor;\n  @tracked _badgeLabel;\n  @tracked _description;\n  @tracked language;\n\n  constructor(url, data, language) {\n    this.url = url;\n    this.setData(data, language);\n  }\n\n  setData(data, language) {\n    if (data) {\n      this.isEnabled = true;\n      this._badgeColor = data.badgeColor;\n      this._badgeLabel = data.badgeLabel;\n      this._description = data.description;\n      this.language = language;\n    } else {\n      this.isEnabled = false;\n      this._badgeColor = null;\n      this._badgeLabel = null;\n      this._description = null;\n      this.language = null;\n    }\n\n    return this;\n  }\n\n  get badgeLabel() {\n    if (!this.isEnabled) return null;\n    return decodeURIComponent(this._badgeLabel[this.language]);\n  }\n\n  get description() {\n    if (!this.isEnabled) return null;\n    return decodeURIComponent(this._description[this.language]);\n  }\n\n  get badgeColor() {\n    if (!this.isEnabled) return null;\n    const isValidColor = CSS.supports('color', this._badgeColor);\n    return isValidColor ? this._badgeColor : COLOR_BADGE_DEFAULT;\n  }\n}\n\nexport default class PlatformCustomizationService extends Service {\n  @service connection;\n  @service intl;\n  @service store;\n  @service account;\n\n  @tracked configs = A([]);\n  @tracked serverSettings = {};\n\n  getConfigFromUrl(serverUrl, callback) {\n    if (!serverUrl && !this.account.isLoggedIn) {\n      callback(null);\n      return;\n    }\n\n    const options = serverUrl ? { url: serverUrl } : {};\n    return this.store\n      .queryRecord('server-settings', options)\n      .then((result) => {\n        let config;\n        if (result && result.platformCustomization) {\n          config = this.setConfig(serverUrl, result.platformCustomization);\n        } else {\n          config = this.setConfig(serverUrl, null);\n        }\n        callback(config);\n      })\n      .catch(() => {\n        const config = this.setConfig(serverUrl, null);\n        callback(config);\n      });\n  }\n\n  get language() {\n    return this.intl.locale[0] === 'fr-fr' ? 'fr' : 'en';\n  }\n\n  setConfig(url, data) {\n    const isKnownUrl = this.configs.find((conf) => conf.url === url);\n    let config;\n    if (isKnownUrl) {\n      config = isKnownUrl.setData(data, this.language);\n    } else {\n      config = new PlatformCustomization(url, data, this.language);\n      this.configs.push(config);\n    }\n    return config;\n  }\n\n  getConfig(url) {\n    return this.configs.find((conf) => conf.url === url);\n  }\n\n  @action\n  async getPlatformSettings() {\n    this.serverSettings = await getVariables();\n  }\n\n  async getHideAppStoreLinks(callBack) {\n    const { hide_app_store_links = false } = this.serverSettings;\n    callBack(hide_app_store_links);\n  }\n}\n","import Service, { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\n\nexport default class PreaddMemberService extends Service {\n  @tracked preaddedMembers = [];\n  @tracked maxIndex = 1;\n  @tracked preaddUser = null;\n\n  @service store;\n\n  async loadPreaddedMembers() {\n    await this.store\n      .findAll('preadded-space-member', {\n        reload: true,\n        adapterOptions: { subscribe: this },\n      })\n      .then(async (members) => {\n        members = members.filter(member => member.status !== 'invited');\n        return members.reduce((rv, x) => {\n          const user = rv.findBy('email', x.email);\n\n          if (user) {\n            user.invites.pushObject(x);\n          } else {\n            rv.pushObject({\n              email: x.email,\n              invites: [x],\n            });\n          }\n          return rv;\n        }, []);\n      })\n      .then((members) => {\n        members.forEach(async (member) => {\n          member.user = await tBoxClient.user.get(member.email);\n        });\n\n        const member = members.findBy('email', this.preaddUser);\n\n        if (member) {\n          members.removeObject(member);\n          members.unshiftObject(member);\n        }\n\n        this.maxIndex = members.length;\n        this.preaddedMembers = members;\n      });\n  }\n}\n","import { bringToForeground } from 'client/ipc';\nimport { computed } from '@ember/object';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\nimport Service, { inject as service } from '@ember/service';\n\nexport default class SecondFactorAuthenticatorService extends Service {\n  @tracked secondFactorUrl;\n  @tracked emailOtp = '';\n\n  @service account;\n  @service connection;\n  @service modalManager;\n\n  constructor() {\n    super(...arguments);\n    tBoxClient.setSecondFactorAuthenticator({\n      openUrl: async (url) => {\n        /* To do: group modal name in constant */\n        // Close modal and wait for close before showing 2fa modal to make sure onClose() is called on those closed modal(see remodal issue)\n        const isModalOpened = this.modalManager.isModalOpen('changePassword') && this.modalManager.isModalOpen('changePassword');\n        if (isModalOpened) {\n          await this.modalManager.close('changePassword');\n        }\n\n        this.secondFactorUrl = url;\n        this.modalManager.open('2fa');\n      },\n      requestOtp: async (email) => {\n        /* To do: group modal name in constant */\n        // Close modal and wait for close before showing otp modal to make sure onClose() is called on those closed modal(see remodal issue)\n        const isModalOpened = this.modalManager.isModalOpen('changePassword') && this.modalManager.isModalOpen('changePassword');\n        if (isModalOpened) {\n          await this.modalManager.close('changePassword');\n        }\n        if (!this.modalManager.isModalOpen('otp') && this.account.isLoggedIn) {\n          this.modalManager.open('otp');\n        }\n        this.emailOtp = email;\n      },\n      requestOidc: async (authority, clientId, nonce) => {\n        if (this.modalManager.isModalOpen('changePassword')) {\n          this.modalManager.close('changePassword')\n        }\n        if (this.connection.isDesktopApp) {\n          const url = await tBoxClient.oidc.startLocalServer(authority, clientId, nonce, {\n            redirectUrlForResult: (error) => {\n              if (!error) {\n                return this.connection.serverAddress + '#/oidc-success'\n              }\n              if (error.code === libcryptobox.ErrorCode.TokenEmailMismatch) {\n                return this.connection.serverAddress + '#/oidc-failure?errorCode='+libcryptobox.ErrorCode.TokenEmailMismatch\n              }\n              return this.connection.serverAddress + '#/oidc-failure'\n            }\n          })\n          this.secondFactorUrl = url\n          this.modalManager.open('oidc-redirect')\n          try {\n            await tBoxClient.oidc.joinLocalServer()\n            this.modalManager.close('oidc-inProgress')\n          } catch (error) {\n            this.modalManager.close('oidc-inProgress')\n            if (error.code === libcryptobox.ErrorCode.TokenEmailMismatch) {\n              this.modalManager.open('oidc-failure')\n            }\n          } finally {\n            await bringToForeground();\n          }\n        } else {\n          const channel = new BroadcastChannel('oidc')\n          const redirectUrl = new URL(window.location.href)\n          redirectUrl.hash = ''\n          const url = await tBoxClient.oidc.createAuthorizationUrl(authority, clientId, redirectUrl.toString(), nonce)\n          const state = new URL(url).searchParams.get('state')\n          this.secondFactorUrl = url\n          this.modalManager.open('oidc-redirect')\n          try {\n            await new Promise((resolve) => {\n              channel.addEventListener('message', (event) => {\n                if (event.data?.state !== state) {\n                  return\n                }\n                switch (event.data?.type) {\n                  case 'oidcCallbackUrl':\n                    resolve(tBoxClient.oidc.handleCallbackUrl(event.data?.value))\n                    break\n                }\n              }, { once: true })\n            })\n            this.modalManager.close('oidc-inProgress')\n            channel.postMessage({ type: 'success', state })\n          } catch (error) {\n            this.modalManager.close('oidc-inProgress')\n            if (error.code === libcryptobox.ErrorCode.TokenEmailMismatch) {\n              this.modalManager.open('oidc-failure')\n            }\n            channel.postMessage({ type: 'failure', state, errorCode: error.code })\n          }\n          channel.close()\n        }\n      }\n    });\n  }\n\n\n  @computed('secondFactorUrl')\n  get secondFactorDomain() {\n    try {\n      return new URL(this.secondFactorUrl).hostname;\n    } catch (e) {\n      return '';\n    }\n  }\n\n  async setOtp(code) {\n    if (this.emailOtp) {\n      return await tBoxClient.otp.set(code).then(() => {\n        // Clear otp email after code is set\n        this.emailOtp = null;\n      });\n    }\n  }\n\n  async cancelOtp() {\n    if (this.emailOtp) {\n      this.emailOtp = null;\n      return await tBoxClient.otp.cancel();\n    }\n  }\n\n  async resendOtp() {\n    if (this.emailOtp) {\n      return await tBoxClient.otp.resend();\n    }\n  }\n\n  reset() {\n    this.secondFactorUrl = null;\n    this.emailOtp = null;\n  }\n}\n","import { gt } from '@ember/object/computed';\nimport Service, { inject as service } from '@ember/service';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class Session extends Service {\n  @service account;\n  @service connection;\n\n  @tracked session = null;\n  @tracked changingPwd;\n  @tracked revision = 0; // 0 until ready, limit the propagation of session changes.\n\n  @tracked canLogout = false;\n  @tracked canAssociateDevice = false;\n  @tracked isLoggedIn = false;\n  @tracked isLoginWithDevice = false;\n  @tracked localAccountIDToDelete = false;\n  @tracked fatalError = false;\n  @tracked sigmaSessionId = null;\n  @gt('revision', 0) ready; // true when the session is ready (ie. the session is loaded or cleared).\n\n  #enabled = false;\n  #event = null;\n\n  constructor() {\n    super(...arguments);\n\n    if (this.connection.isDesktopApp) {\n      return;\n    }\n\n    // Always install session sharing.\n    // Store the last event in #event until the client calls useSharedSession().\n\n    (async () => {\n      // nb. on Firefox with \"delete cookies on close\", the service worker API is available but raises a security error exception when invoked.\n      try {\n        await navigator.serviceWorker.register('/service-worker.js');\n      } catch (error) {\n        console.warn(error);\n      }\n\n      // session sharing\n      tBoxClient.session.share((ev) => {\n        console.info('Session sharing event:', ev.type);\n        if (!this.#enabled) {\n          this.#event = ev;\n        } else {\n          this.#apply(ev);\n        }\n      }, { timeout: 1000 });\n    })();\n  }\n\n  useSharedSession() {\n    this.#enabled = true;\n    if (this.#event) {\n      this.#apply(this.#event);\n      this.#event = null;\n    }\n  }\n\n  #apply(ev) {\n    if (ev.session) {\n      this.account.loadSession(ev.session);\n    } else {\n      this.account.confirmLogout();\n    }\n  }\n}\n","import RSVP from 'rsvp';\nimport { schedule } from '@ember/runloop';\nimport StoreService from 'ember-data/store';\n\nexport default class Store extends StoreService {\n  unloadAll() {\n    const args = arguments;\n    return new RSVP.Promise((resolve) => {\n      super.unloadAll(...args);\n      schedule('destroy', this, function () {\n        resolve();\n      });\n    });\n  }\n}\n","import { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\nimport ENV from '../config/environment';\nimport Service, { inject as service } from '@ember/service';\n/* global libcryptobox */\n\nexport default class Thinkfree extends Service {\n  @service account;\n  @service intl;\n  @service notify;\n  @service store;\n\n  @tracked isEditorOpened = false;\n  @tracked numberOfFilesBeingSaved = 0;\n  @tracked editedTrackingIds = new Set();\n\n  async watchActivity(spaceId, { signal } = {}) {\n    tBoxClient.onlineEditorSupport.watchActivity(spaceId, {\n      onQueryResultUpdate: (_, activity) => {\n        this.editedTrackingIds = new Set(activity.trackingIds);\n      },\n    }, { signal });\n  }\n\n  isOnlineEditionEnabled(space) {\n    return (\n      !ENV.APP.isDesktopApp &&\n      this.account.serverSettings.onlineEditorEnabled &&\n      this.account.status.canEditOnline &&\n      ((space.kind == libcryptobox.SpaceKind.Workspace &&\n        space.status == libcryptobox.SpaceStatus.Active &&\n        space.allowOnlineEdition) ||\n        (space.kind == libcryptobox.SpaceKind.PersonalSpace &&\n          this.account.serverSettings.onlineEditorEnableForPersonalWorkspaces))\n    );\n  }\n\n  isEditorMenuVisible(space) {\n    return this.isOnlineEditionEnabled(space) && (space.isAdmin || space.isMember)\n  }\n\n  canOpenFileEditor(space, file, { readOnly } = {}) {\n    return (\n      this.isOnlineEditionEnabled(space) &&\n      (space.isAdmin || space.isMember || (space.isReader && readOnly)) &&\n      tBoxClient.onlineEditor.supportedFileExtensions.includes(file.ext.toLowerCase())\n    );\n  }\n\n  async open(iframe, file, { readOnly, signal } = {}) {\n    const session = await tBoxClient.onlineEditor.open(iframe, file.spaceId, file.path, { readOnly, signal });\n\n    const q = new NotificationQueue();\n    session.addEventListener('checking', () => {\n      this.numberOfFilesBeingSaved++;\n      q.push(this.notify.info(this.intl.t('onlineEditor.status.checking', { filename: basename(file.path) }), { closeAfter: null }), 3_000);\n    });\n    session.addEventListener('blocked', () => {\n      this.numberOfFilesBeingSaved--;\n      q.push(this.notify.error(this.intl.t('onlineEditor.status.blocked', { filename: basename(file.path) }), { closeAfter: 7_000 }), 7_000);\n    });\n    session.addEventListener('modified', () => {\n      q.push(this.notify.info(this.intl.t('onlineEditor.status.saving', { filename: basename(file.path) }), { closeAfter: null }), 3_000);\n    });\n    session.addEventListener('saved', () => {\n      this.numberOfFilesBeingSaved--;\n      q.push(null);\n    });\n\n    return session;\n  }\n\n  get shouldPromptBeforeUnload() {\n    return this.isEditorOpened || this.numberOfFilesBeingSaved > 0;\n  }\n}\n\n// Ensure the notification is visible until the next notification is pushed and at least for the specified delay.\n// The last notification must have its own closeAfter configured or you may push a null message to flush it (it will be closed after the delay specified when it was pushed to the queue).\nclass NotificationQueue {\n  #current;\n\n  push(message, delay) {\n    const current = this.#current;\n    if (current) {\n      const elapsed = new Date() - current.time;\n      if (elapsed >= current.delay) {\n        current.message.close();\n      } else {\n        setTimeout(() => {\n          current.message.close();\n        }, current.delay - elapsed);\n      }\n    }\n    if (message) {\n      this.#current = { message, delay, time: new Date() };\n    }\n  }\n}\n\n// GPT-4o (via duck.ai)\nfunction basename(path) {\n  return path.split('/').pop().split('\\\\').pop(); // Handles both Unix and Windows paths\n}\n","import { action } from '@ember/object';\nimport { getFileDownloadTarget, FileDownloadTarget } from 'client/toolbox/file-download-target';\nimport { observes } from '@ember-decorators/object';\nimport { Promise as EmberPromise } from 'rsvp';\nimport { showSaveMultiDialog } from 'client/ipc';\nimport { tBoxClient } from 'client/initializers/init-toolbox';\nimport { tracked } from '@glimmer/tracking';\nimport ENV from 'client/config/environment';\nimport fileDownload from 'client/custom-objects/file-download';\nimport fileUpload from 'client/custom-objects/file-upload';\nimport Service, { inject as service } from '@ember/service';\n\nfunction join(...paths) {\n  const filteredPaths = paths.filter((path) => path);\n  let joinedPath = filteredPaths.join('/');\n  joinedPath = joinedPath.replace(/\\/+/g, '/');\n  if (joinedPath !== '/') {\n    joinedPath = joinedPath.replace(/\\/$/, '');\n  }\n\n  return joinedPath;\n}\n\nfunction dirname(path) {\n  if (!path) {\n    return '';\n  }\n\n  const components = path.split('/');\n  components.pop();\n\n  if (components.length === 0) {\n    return '/';\n  }\n\n  return join(...components);\n}\n\nexport default class Transfers extends Service {\n  @service account;\n  @service store;\n  @service modalManager;\n  @service notify;\n  @service intl;\n  @service connection;\n  @service commonService;\n\n  @tracked fileAccessLogs = null;\n  @tracked shareDownload = null;\n  // parentFolderId: null, //used to refresh folder after transfers are done\n\n  @tracked queued = [];\n  @tracked active = [];\n  @tracked completed = [];\n  @tracked failed = [];\n  @tracked currentFiles = [];\n  @tracked conflictObject;\n  @tracked globalRemainingTime = 0;\n\n  depositBoxUploadId = 1;\n\n  refreshLogs(spaceId, path) {\n    this.fileAccessLogs = this.store.query('fileAccessLog', {\n      spaceId: spaceId,\n      path: path,\n    });\n  }\n\n  get isTransfering() {\n    return this.active.length || this.queued.length;\n  }\n\n  updateTransferTimeId;\n\n  updateTransferRemainingTime(time) {\n    this.globalRemainingTime = time;\n    this.updateTransferTimeId = null;\n  }\n\n  @observes(\n    'queued.@each.remainSize',\n    'queued.@each.size',\n    'active.@each.size',\n    'active.@each.remainSize',\n    'active.@each.speed',\n    'active.@each.state',\n  )\n  updateGlobalRemaningTime() {\n    const allQueuedRemainingSize = this.queued.map(item => item.remainSize);\n    const allActiveRemainingSize = this.active.map(item => item.remainSize);\n    const allActiveSpeed = this.active.map(item => item.speed);\n    const globalRemainingSize =\n      allQueuedRemainingSize.reduce(\n        (previous, current) => previous + current,\n        0,\n      ) +\n      allActiveRemainingSize.reduce(\n        (previous, current) => previous + current,\n        0,\n      );\n    const globalSpeed = allActiveSpeed.reduce(\n      (previous, current) => previous + current,\n      0,\n    );\n    if (this && this.isTransfering) {\n      const time = Math.round(globalRemainingSize / globalSpeed);\n      if (isFinite(time)) {\n        this.globalRemainingTime = time;\n      }\n    }\n  }\n\n  @observes('active.@each.state')\n  updateTransfersList() {\n    const activeTransfers = this.active;\n    const completedTransfers = this.completed;\n    const failedTransfers = this.failed;\n\n    const completedTransfer = activeTransfers.findBy('state', 'completed');\n    if (completedTransfer) {\n      // Move to completed list\n      activeTransfers.removeObject(completedTransfer);\n      if (completedTransfer.kind !== 'history') {\n        completedTransfers.unshiftObject(completedTransfer);\n        this.currentFiles.pushObject(completedTransfer);\n      }\n\n      this.startNextTransfer();\n\n      if (activeTransfers.length === 0) {\n        this.currentFiles.length = 0;\n      }\n    }\n\n    const failedtransfer = activeTransfers.findBy('state', 'failed');\n    if (failedtransfer) {\n      // Move to failed list\n      failedTransfers.unshiftObject(failedtransfer);\n      activeTransfers.removeObject(failedtransfer);\n\n      this.startNextTransfer();\n    }\n  }\n\n  /**\n   * make a notification at each change in the queue of transfers\n   */\n  @observes('active.length')\n  transfersToast() {\n    const activeTransfers = this.active;\n    const completedTransfersToToast = this.completed.filter(item => item.toasted === false);\n    const failedTransfersToToast = this.failed.filter(item => item.toasted === false);\n    const notify = this.notify;\n    /**\n     * at the point where all transferts are done, notify for each case.\n     */\n    if (activeTransfers.get('length') === 0) {\n      if (completedTransfersToToast.get('length') > 0) {\n        if (\n          completedTransfersToToast.isAny('direction', 'upload') &&\n          completedTransfersToToast.isAny('direction', 'download')\n        ) {\n          notify.success(this.intl.t('toasts.endTransfers.message'), {\n            title: this.intl.t('toasts.endTransfers.title'),\n            linkProperties: {\n              route: 'my-transfers',\n            },\n            icon: 'transfers',\n          });\n        } else if (!completedTransfersToToast.isAny('direction', 'download')) {\n          if (completedTransfersToToast.isAny('kind', 'deposit_box_form')) {\n            return;\n          }\n          notify.success(\n            this.intl.t('toasts.endUpload.message', {\n              count: completedTransfersToToast.get('length'),\n            }),\n            {\n              title: this.intl.t('toasts.endUpload.title', {\n                count: completedTransfersToToast.get('length'),\n              }),\n              linkProperties: {\n                route: 'my-transfers',\n              },\n              icon: 'transfers',\n            },\n          );\n        } else if (!completedTransfersToToast.isAny('direction', 'upload')) {\n          notify.success(\n            this.intl.t('toasts.endDownload.message', {\n              count: completedTransfersToToast.get('length'),\n            }),\n            {\n              title: this.intl.t('toasts.endDownload.title', {\n                count: completedTransfersToToast.get('length'),\n              }),\n              linkProperties: {\n                route: 'my-transfers',\n              },\n              icon: 'transfers',\n            },\n          );\n        } else {\n          notify.success(\n            this.intl.t('toasts.endDownload.message', {\n              count: completedTransfersToToast.get('length'),\n            }),\n            {\n              title: this.intl.t('toasts.endDownload.title', {\n                count: completedTransfersToToast.get('length'),\n              }),\n              linkProperties: {\n                route: 'my-transfers',\n              },\n              icon: 'transfers',\n            },\n          );\n        }\n        /**\n         * some transfers have failed\n         */\n        if (failedTransfersToToast.get('length') > 0) {\n          if (\n            failedTransfersToToast.isAny('direction', 'upload') &&\n            failedTransfersToToast.isAny('direction', 'download')\n          ) {\n            notify.error(this.intl.t('toasts.someTransfersFailed.message'), {\n              title: this.intl.t('toasts.someTransfersFailed.title'),\n              linkProperties: {\n                route: 'my-transfers',\n              },\n              icon: 'transfers',\n            });\n          } else if (!failedTransfersToToast.isAny('direction', 'download')) {\n            notify.error(\n              this.intl.t('toasts.someUploadFailed.message', {\n                count: failedTransfersToToast.get('length'),\n              }),\n              {\n                title: this.intl.t('toasts.someUploadFailed.title', {\n                  count: failedTransfersToToast.get('length'),\n                }),\n                linkProperties: {\n                  route: 'my-transfers',\n                },\n                icon: 'transfers',\n              },\n            );\n          } else {\n            notify.error(\n              this.intl.t('toasts.someDownloadFailed.message', {\n                count: failedTransfersToToast.get('length'),\n              }),\n              {\n                title: this.intl.t('toasts.someDownloadFailed.title', {\n                  count: failedTransfersToToast.get('length'),\n                }),\n                linkProperties: {\n                  route: 'my-transfers',\n                },\n                icon: 'transfers',\n              },\n            );\n          }\n          failedTransfersToToast.setEach('toasted', true);\n        }\n        completedTransfersToToast.setEach('toasted', true);\n      } else if (failedTransfersToToast.get('length') > 0) {\n        if (\n          failedTransfersToToast.isAny('direction', 'upload') &&\n          failedTransfersToToast.isAny('direction', 'download')\n        ) {\n          notify.error(this.intl.t('toasts.transfersFailed.message'), {\n            title: this.intl.t('toasts.transfersFailed.title'),\n            linkProperties: {\n              route: 'my-transfers',\n            },\n            icon: 'transfers',\n          });\n        } else if (!failedTransfersToToast.isAny('direction', 'download')) {\n          notify.error(\n            this.intl.t('toasts.uploadFailed.message', {\n              count: failedTransfersToToast.get('length'),\n            }),\n            {\n              title: this.intl.t('toasts.uploadFailed.title', {\n                count: failedTransfersToToast.get('length'),\n              }),\n              linkProperties: {\n                route: 'my-transfers',\n              },\n              icon: 'transfers',\n            },\n          );\n        } else {\n          notify.error(\n            this.intl.t('toasts.downloadFailed.message', {\n              count: failedTransfersToToast.get('length'),\n            }),\n            {\n              title: this.intl.t('toasts.downloadFailed.title', {\n                count: failedTransfersToToast.get('length'),\n              }),\n              linkProperties: {\n                route: 'my-transfers',\n              },\n              icon: 'transfers',\n            },\n          );\n        }\n        failedTransfersToToast.setEach('toasted', true);\n      }\n    } else {\n    }\n  }\n\n  startNextTransfer() {\n    const activeTransfers = this.active;\n    const queuedTransfers = this.queued;\n    const nextTransfer = queuedTransfers.shiftObject();\n    if (nextTransfer) {\n      nextTransfer.set('state', 'active');\n      activeTransfers.pushObject(nextTransfer);\n    }\n  }\n\n  async downloadFileByRevisionAndPath({ spaceId, revision, trackingId }) {\n    const store = this.store;\n    try {\n      const file = await store.queryRecord('file', {\n        find: { spaceId, trackingId, revision },\n      });\n\n      const target = await getFileDownloadTarget(file.name, file.contentSize);\n      if (!target) {\n        return;\n      }\n      const downloadProperties = {\n        workspaceRevision: revision,\n        fileName: file.name,\n        size: file.contentSize,\n        target,\n      };\n      file.space\n        .then((spaceRecord) => {\n          downloadProperties.spaceId = spaceRecord.id;\n          downloadProperties.spaceName = spaceRecord.name;\n          return file.path;\n        })\n        .then((path) => {\n          downloadProperties.path = path;\n          fileDownload.revision = revision;\n\n          if (this.active.length < 4) {\n            downloadProperties.state = 'active';\n            this.active.pushObject(fileDownload.create(downloadProperties));\n          } else {\n            downloadProperties.state = 'queued';\n            this.queued.unshiftObject(fileDownload.create(downloadProperties));\n          }\n\n          this.notify.info(this.intl.t('toasts.startDownload.message'), {\n            title: this.intl.t('toasts.startDownload.title'),\n            linkProperties: {\n              route: 'my-transfers',\n            },\n            icon: 'transfers',\n          });\n        })\n        .then(() => {\n          setTimeout(() => {\n            this.refreshLogs(downloadProperties.spaceId, file.path);\n          }, 500);\n        });\n    } catch (e) {\n      console.error('Error downloadFileByRevisionAndPath', e);\n    }\n  }\n\n  /**\n   * Download Method\n   * @param fileId\n   * @param workspaceRevision\n   */\n  @action\n  async downloadFile(fileId, workspaceRevision = 0, customTarget = null) {\n    const store = this.store;\n    const fileRecord = store.peekRecord({ type: 'file', id: fileId });\n    const target = customTarget || await getFileDownloadTarget(\n      fileRecord.get('name'),\n      fileRecord.get('contentSize'),\n    );\n    if (!target) {\n      return;\n    }\n    const downloadProperties = {\n      workspaceRevision: workspaceRevision,\n      fileName: fileRecord.get('name'),\n      size: fileRecord.get('contentSize'),\n      target,\n      // errorManagementFunction: observerFactory.getErrorManagement(),\n    };\n    fileRecord\n      .get('space')\n      .then((spaceRecord) => {\n        downloadProperties.spaceId = spaceRecord.get('id');\n        downloadProperties.spaceName = spaceRecord.get('name');\n        return fileRecord.get('path');\n      })\n      .then((path) => {\n        downloadProperties.path = path;\n        fileDownload.revision = workspaceRevision;\n\n        if (this.active.length < 4) {\n          downloadProperties.state = 'active';\n          this.active.pushObject(fileDownload.create(downloadProperties));\n        } else {\n          downloadProperties.state = 'queued';\n          this.queued.unshiftObject(fileDownload.create(downloadProperties));\n        }\n        const notify = this.notify;\n\n        notify.info(this.intl.t('toasts.startDownload.message'), {\n          title: this.intl.t('toasts.startDownload.title'),\n          linkProperties: {\n            route: 'my-transfers',\n          },\n          icon: 'transfers',\n        });\n      })\n      .then(() => {\n        setTimeout(() => {\n          this.refreshLogs(downloadProperties.spaceId, fileRecord.get('path'));\n        }, 500);\n      });\n  }\n\n  async downloadFileList(files, revision) {\n    // Note: showSaveMultiDialog is not implemented in Tauri.\n    if (ENV.APP.isElectronApp && files.length > 1) {\n      const paths = await showSaveMultiDialog(files.map(file => file.name));\n      if (!paths) {\n        return;\n      }\n      for (var i = 0; i < files.length; i++) {\n        const path = paths[i];\n        if (path) {\n          const file = files.content[i];\n          const target = new FileDownloadTarget(file.name, file.contentSize, path);\n          this.downloadFile(file.id, revision, target);\n        }\n      }\n    } else {\n      files.forEach(file => this.downloadFile(file.id, revision));\n    }\n  }\n\n  async downloadFileHistory(spaceId, trackingId, name) {\n    const target = await getFileDownloadTarget(name, 0);\n    if (!target) {\n      return;\n    }\n\n    const downloadProperties = {\n      fileName: name,\n      size: 0,\n      trackingId: trackingId,\n      kind: 'history',\n      target,\n      // errorManagementFunction: observerFactory.getErrorManagement(),\n    };\n\n    downloadProperties.spaceId = spaceId;\n    downloadProperties.spaceName = name;\n\n    downloadProperties.state = 'active';\n    this.active.pushObject(fileDownload.create(downloadProperties));\n\n    const notify = this.notify;\n\n    notify.info(this.intl.t('toasts.startDownload.message'), {\n      title: this.intl.t('toasts.startDownload.title'),\n      linkProperties: {\n        route: 'my-transfers',\n      },\n      icon: 'transfers',\n    });\n  }\n\n  uploadFilesList(\n    fileList,\n    parentFolderPath,\n    targetSpace,\n    confirmUpload = false,\n  ) {\n    if (fileList.length > 1000 && !confirmUpload) {\n      this.modalManager.open('filesCountWarning');\n      this.pendingFiles = fileList;\n      this.pendingFolder = parentFolderPath;\n      this.pendingSpace = targetSpace;\n      this.isFolder = false;\n      return;\n    }\n\n    const files = [].slice.call(fileList);\n    const uploadProperties = {\n      spaceId: targetSpace.get('id'),\n      spaceName: targetSpace.get('name'),\n    };\n    const folderPath = parentFolderPath.get('path');\n    return this.checkConflict(files, parentFolderPath).then(\n      (checkedFileListArray) => {\n        /**\n         * upload files one by one\n         */\n        checkedFileListArray.forEach((file) => {\n          uploadProperties.fileName = file.name;\n          uploadProperties.size = file.size;\n          uploadProperties.path = join(folderPath, file.name);\n          uploadProperties.fileData = file;\n          uploadProperties.parentFolderPath = folderPath;\n          this.uploadFile(uploadProperties);\n        });\n        this.notifyStartUpload(fileList.length);\n      },\n    );\n  }\n\n  uploadFileToDepositBoxUnAuthenticated(depositBoxFormId, file) {\n    this.depositBoxUploadId++;\n    const id = this.depositBoxUploadId;\n    const uploadProperties = {\n      kind: 'deposit_box_form',\n      depositBoxFormId: depositBoxFormId,\n      fileData: file,\n      fileName: file.name,\n      id: id,\n      size: file.size,\n    };\n\n    uploadProperties.state = 'active';\n    this.active.pushObject(fileUpload.create(uploadProperties));\n  }\n\n  @action\n  async replaceFileContent(file, parentFolderPath, oldFile) {\n    try {\n      if (!file) {\n        new Error('no file to upload');\n      }\n      this.uploadFile({\n        spaceId: oldFile.get('space.id'),\n        spaceName: oldFile.get('space.name'),\n        fileName: oldFile.name,\n        size: file.size,\n        fileData: file,\n        path: join(parentFolderPath.get('path'), oldFile.name),\n        parentFolderPath: parentFolderPath.get('path'),\n      });\n    } catch (e) {\n      console.error(e, 'error while replacing file content');\n    }\n  }\n\n  /**\n   * notif to start\n   * @param countFiles\n   */\n  notifyStartUpload(countFiles) {\n    const notify = this.notify;\n    notify.info(\n      this.intl.t('toasts.startUpload.message', { count: countFiles }),\n      {\n        title: `${this.intl.t('toasts.startUpload.title')}(${countFiles})`,\n        linkProperties: {\n          route: 'my-transfers',\n        },\n        icon: 'transfers',\n      },\n    );\n  }\n\n  /**\n   * lists conflicting files to upload and asks user in a modal what to do.\n   * then proceeds to upload accordingly.\n   *\n   * @param fileListArray\n   * @param targetFolder\n   * @returns {Promise}\n   */\n  checkConflict(fileListArray, targetFolder) {\n    const transfersManager = this;\n    return new EmberPromise(function (resolve, reject) {\n      /**\n       * choices in the modal\n       * @type {{overwrite(): void, ignoreConflicts(): void, abortUpload(): void, fileConflicts: Array, folderConflicts: Array, unConflictFileListArray: Array}}\n       */\n      const conflictObject = {\n        overwrite() {\n          transfersManager.set('conflictObject', null);\n          resolve(fileListArray);\n          transfersManager.get('modalManager').close('node-conflict-modal');\n        },\n        ignoreConflicts() {\n          transfersManager.set('conflictObject', null);\n          if (this.unConflictFileListArray.length) {\n            resolve(this.unConflictFileListArray);\n          }\n          transfersManager.get('modalManager').close('node-conflict-modal');\n        },\n        abortUpload() {\n          transfersManager.set('conflictObject', null);\n          reject();\n        },\n        fileConflicts: [],\n        folderConflicts: [],\n        unConflictFileListArray: [],\n      };\n\n      const spaceId = targetFolder.get('space.id');\n      const path = targetFolder.get('path');\n\n      const exists = function (path) {\n        return tBoxClient.file.exists(spaceId, 0, path);\n      };\n\n      Promise.all(\n        fileListArray.map((file) => {\n          const relativePathArray = file.CBRelativePath.split('/');\n          if (relativePathArray.length === 1) {\n            return exists(path + '/' + file.name).then((ok) => {\n              if (ok) {\n                conflictObject.fileConflicts.push(file.name);\n              } else {\n                conflictObject.unConflictFileListArray.push(file);\n              }\n            });\n          } else {\n            return exists(path + '/' + file.CBRelativePath).then((ok) => {\n              if (ok) {\n                conflictObject.folderConflicts.push(relativePathArray[0]);\n              } else {\n                conflictObject.unConflictFileListArray.push(file);\n              }\n            });\n          }\n        }),\n      ).then(() => {\n        conflictObject.fileConflicts = conflictObject.fileConflicts.uniq();\n        conflictObject.folderConflicts = conflictObject.folderConflicts.uniq();\n\n        if (\n          conflictObject.fileConflicts.length ||\n          conflictObject.folderConflicts.length\n        ) {\n          transfersManager.set('conflictObject', conflictObject);\n          transfersManager.get('modalManager').open('node-conflict-modal');\n        } else {\n          resolve(fileListArray);\n        }\n      });\n    });\n  }\n\n  async downloadDepositBox(box, files) {\n    const isZip = files.length > 1;\n\n    const fileName = isZip ? `${box.name}.zip` : `${files[0].name}`;\n    const boxId = box.id;\n    const totalFilesSize = files.reduce((acc, file) => acc + file.size, 0);\n    const fileNames = files.map((file) => file.name);\n    const target = await getFileDownloadTarget(fileName, totalFilesSize);\n    if (!target) {\n      return;\n    }\n    const downloadProperties = {\n      kind: 'downloadDepositBox',\n      fileName,\n      boxId,\n      fileNames,\n      target,\n      isZip,\n      restart: async () => {\n        await this.downloadDepositBox(box, files);\n      },\n    };\n\n    if (this.active.length < 4) {\n      downloadProperties.state = 'active';\n      this.active.pushObject(fileDownload.create(downloadProperties));\n    } else {\n      downloadProperties.state = 'queued';\n      this.queued.unshiftObject(fileDownload.create(downloadProperties));\n    }\n  }\n\n  async downloadZip(spaceId, sources, revision) {\n    const fileName = await tBoxClient.file.getSuggestedZipName(\n      spaceId,\n      sources,\n      revision,\n    );\n    const fileSize = await tBoxClient.file.getExpectedZipSize(\n      spaceId,\n      sources,\n      revision,\n    );\n    const target = await getFileDownloadTarget(fileName, fileSize);\n    if (!target) {\n      return;\n    }\n\n    const downloadProperties = {\n      spaceId: spaceId,\n      sources: sources,\n      workspaceRevision: revision,\n      kind: 'zip',\n      fileName,\n      target,\n    };\n\n    if (this.active.length < 4) {\n      downloadProperties.state = 'active';\n      this.active.pushObject(fileDownload.create(downloadProperties));\n    } else {\n      downloadProperties.state = 'queued';\n      this.queued.unshiftObject(fileDownload.create(downloadProperties));\n    }\n  }\n\n  uploadFolderFilesList(\n    fileListArray,\n    parentFolderRecord,\n    targetSpace,\n    confirmUpload = false,\n  ) {\n    if (!fileListArray.length) {\n      return;\n    }\n\n    if (fileListArray.length > 1000 && !confirmUpload) {\n      this.modalManager.open('filesCountWarning');\n      this.pendingFiles = fileListArray;\n      this.pendingFolder = parentFolderRecord;\n      this.pendingSpace = targetSpace;\n      this.isFolder = true;\n      return;\n    }\n\n    const transfersManager = this;\n    const uploadProperties = {\n      spaceId: targetSpace.get('id'),\n      spaceName: targetSpace.get('name'),\n    };\n    this.checkConflict(fileListArray, parentFolderRecord).then(\n      (checkedFileListArray) => {\n        const fileListIterator = this.fileListIterator(checkedFileListArray);\n        const readFileList = function (fileListIterator) {\n          const iteration = fileListIterator.next();\n          if (iteration.done === true) {\n            return;\n          }\n          const file = iteration.value;\n          const path = join(\n            parentFolderRecord.get('path'),\n            file.CBRelativePath,\n          );\n          uploadProperties.fileName = file.name;\n          uploadProperties.size = file.size;\n          uploadProperties.path = path;\n          uploadProperties.fileData = file;\n          uploadProperties.parentFolderPath = dirname(path);\n          transfersManager.uploadFile(uploadProperties);\n          readFileList(fileListIterator);\n        };\n        const notify = this.notify;\n        notify.info(\n          this.intl.t('toasts.startUpload.message', {\n            count: fileListArray.length,\n          }),\n          {\n            title: this.intl.t('toasts.startUpload.title'),\n            linkProperties: {\n              route: 'my-transfers',\n            },\n            icon: 'transfers',\n          },\n        );\n        readFileList(fileListIterator);\n      },\n    );\n  }\n\n  *fileListIterator(fileList) {\n    for (const file of fileList) {\n      yield file;\n    }\n    return true;\n  }\n\n  uploadFile(uploadProperties) {\n    if (this.active.length < 4) {\n      uploadProperties.state = 'active';\n      this.active.pushObject(fileUpload.create(uploadProperties));\n    } else {\n      uploadProperties.state = 'queued';\n      this.queued.pushObject(fileUpload.create(uploadProperties));\n    }\n  }\n\n  retryUpload(transfer) {\n    const activeTransfers = this.active;\n    const failedTransfers = this.failed;\n\n    if (!failedTransfers.length) {\n      return;\n    }\n\n    failedTransfers.removeObject(transfer);\n    activeTransfers.unshiftObject(transfer);\n    transfer.retryTransfer();\n  }\n\n  /**\n   * Uploads files from a drop event.\n   * \n   * The method does basic verifications on the space rights and status.\n   * \n   * @param {Model} space\n   * @param {Model} dir - Current directory\n   * @param {DragEvent} event\n   */\n  async handleDrop(space, dir, event) {\n    const { files, items } = event.dataTransfer;\n\n    if (space.isDeleted ||\n      space.isReader ||\n      space.isViewer ||\n      !dir.isFolder ||\n      !files.length) {\n      return;\n    }\n\n    if (!items) {\n      this.uploadFilesList(files, dir, space);\n    } else {\n      const { files, emptyDirs } = await this.readDataTransferItemList(items);\n      this.createFolders(space, dir, emptyDirs);\n      this.uploadFolderFilesList(files, dir, space);\n    }\n  }\n\n  /**\n   * Extract the list of files from a DataTransferItemList.\n   * \n   * @param {[]DataTransferItemList} items\n   * @returns {{files: []File, emptyDirs: [string]}} a list of File with CBRelativePath set and a list of path to empty folders\n   */\n  async readDataTransferItemList(items) {\n    const entries = [];\n    for (const item of items) {\n      const entry = item.webkitGetAsEntry();\n      if (!entry) {\n        continue;\n      }\n      entries.push(entry);\n    }\n    return await this.readFileSystemEntries(entries);\n  }\n\n  /**\n   * Extract the list of files from a []FileSystemEntry.\n   * You are probably looking for readDataTransferItemList, just above.\n   * \n   * @param {[]FileSystemEntry} entries\n   * @returns {{files: []File, emptyDirs: [string]}} A list of File with CBRelativePath set and a list of path to empty folders.\n   */\n  async readFileSystemEntries(entries) {\n    const files = [];\n    const emptyDirs = [];\n    for (const entry of entries) {\n      if (entry.isFile) {\n        const file = await new Promise((resolve, reject) => {\n          entry.file(resolve, reject);\n        });\n        file.CBRelativePath = entry.fullPath.slice(1);\n        files.push(file);\n      } else if (entry.isDirectory) {\n        const reader = entry.createReader();\n        const entries = await new Promise((resolve, reject) => {\n          reader.readEntries(resolve, reject);\n        });\n        if (entries.length) {\n          const contents = await this.readFileSystemEntries(entries);\n          files.push(...contents.files);\n          emptyDirs.push(...contents.emptyDirs);\n        } else {\n          const path = entry.fullPath.slice(1);\n          emptyDirs.push(path);\n        }\n      }\n    }\n    return { files, emptyDirs };\n  }\n\n  /**\n   * Extract the list of files from FileSystemDirectoryHandle.\n   * \n   * @param {FileSystemDirectoryHandle} handle\n   * * @param {string} path - parent path for CBRelativePath\n   * @returns {{files: []File, emptyDirs: [string]}} A list of File with CBRelativePath set and a list of path to empty folders.\n   */\n  async readFileSystemDirectoryHandle(handle, path = '') {\n    const files = [];\n    const emptyDirs = [];\n\n    const values = [];\n    for await (const value of handle.values()) {\n      values.push(value);\n    }\n    if (values.length) {\n      for (const value of values) {\n        if (value.kind === 'file') {\n          const file = await value.getFile();\n          file.CBRelativePath = join(path, handle.name, value.name)\n          files.push(file);\n        } else if (value.kind === 'directory') {\n          const contents = await this.readFileSystemDirectoryHandle(value, join(path, handle.name));\n          files.push(...contents.files);\n          emptyDirs.push(...contents.emptyDirs)\n        }\n      }\n    } else {\n      emptyDirs.push(join(path, handle.name));\n    }\n\n    return { files, emptyDirs };\n  }\n\n  /**\n   * Create multiple folders in a space.\n   * This is meant to be called with the emptyDirs from readDataTransferItemList or readFileSystemDirectoryHandle above.\n   * \n   * @param {Model} space\n   * @param {Model} dir - Root directory\n   * @param {[]string} paths - Relative paths\n   */\n  async createFolders(space, dir, paths) {\n    const isDirectory = true;\n    return Promise.all(paths.map(async (path) => {\n      const newFolder = this.store.createRecord('file', { space, path: join(dir.path, path), isDirectory });\n      await newFolder.save();\n    }));\n  }\n}\n","import Service from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class NotificationService extends Service {\n  @tracked notifications = [];\n\n  constructor() {\n    super(...arguments);\n  }\n\n  get unreadCount() {\n    let count = 0;\n    this.notifications.forEach((notification) => {\n      if (notification.state === 'unread') {\n        count++;\n      }\n    });\n    return count;\n  }\n}\n","import Service, { inject as service } from '@ember/service';\nimport { throttle } from '@ember/runloop';\nimport { AUTOMATIC_LOGOUT_COUNTDOWN_SEC } from '../utils/constants';\nimport { tracked } from '@glimmer/tracking';\n\nconst LAST_USER_ACTIVITY_TIMESTAMP = 'last-user-activity-tp';\nconst AUTOMATIC_LOGOUT_MODAL_NAME = 'automatic-logout-modal';\n\nexport default class UserActivityService extends Service {\n  @service account;\n  @service transfers;\n  @service modalManager;\n  @service notify;\n  @service intl;\n\n  @tracked interval;\n\n  @tracked externalLogout = false;\n  @tracked monitoring = false;\n  @tracked warning = false;\n\n  @tracked pleaseLogOut = false;\n  @tracked depositaryPage = false;\n\n  @tracked toast = null;\n\n  constructor() {\n    super(...arguments);\n\n    document.addEventListener(\n      'visibilitychange',\n      this._onVisibilityChange.bind(this),\n    );\n\n    const events = [\n      'click',\n      'keypress',\n      'touchstart',\n      'mousemove',\n      'mousedown',\n      'wheel',\n    ];\n    this._registerEventListeners(events);\n  }\n\n  /*\n   * Start user activity tracking, a local storage value will be shared across tabs\n   * with last activity timestamp. (click, mousemove, download, upload...)\n   * After inactivity, value set in webIdleLogoutTimeoutMinutes (ServerSettings)\n   * the user user activity tracking is stoped and user will be logged out\n   * If webIdleLogoutTimeoutMinutes is null or 0, user activity tracking is disabled\n   */\n  start() {\n    if (!this.timeoutMinutes) return;\n    this.externalLogout = false;\n    this._startMonitoring();\n    this.warning = false;\n\n    this._updateLastUserActivityTimestamp();\n    this._startInterval();\n    this._closeToastSessionExpired();\n  }\n\n  /*\n   * Stop user activity tracking\n   */\n  stop() {\n    this.externalLogout = true;\n    this._stop();\n  }\n\n  /*\n   * Confirm if logout should happen or user activity tracking should reset\n   * This function is called via the modal\n   * @shouldLogOut is a boolean, true if user should be loged out, false otherwise\n   */\n  confirmLogOut(shouldLogOut, noToast) {\n    this._stop();\n    if (this.pleaseLogOut || shouldLogOut || this.externalLogout) {\n      if (shouldLogOut || this.pleaseLogOut) {\n        this.modalManager.closeAll();\n        this.account.logout(noToast ? 'user' : 'timeout-activity');\n        this.pleaseLogOut = false;\n      }\n    } else {\n      this.start();\n    }\n  }\n\n  get windowIsVisible() {\n    return document.visibilityState === 'visible';\n  }\n\n  get timeoutMinutes() {\n    if (this.account.serverSettings) {\n      return this.account.serverSettings.webIdleLogoutTimeoutMinutes;\n    }\n    return null;\n  }\n\n  get timeoutMilliseconds() {\n    return this.timeoutMinutes * 60 * 1000;\n  }\n\n  get countdownTimeoutMilliseconds() {\n    return AUTOMATIC_LOGOUT_COUNTDOWN_SEC * 1000;\n  }\n\n  get lastUserActivityTimestamp() {\n    return localStorage.getItem(LAST_USER_ACTIVITY_TIMESTAMP);\n  }\n\n  get millisecondsSinceLastUserActivity() {\n    const last = this.lastUserActivityTimestamp;\n    const now = Date.now();\n    return Math.round(now - last);\n  }\n\n  get timeoutLeftSeconds() {\n    if (!this.timeoutMilliseconds) return null;\n    if (!this.millisecondsSinceLastUserActivity) return null;\n    if (this._isActivityTimeoutCountdown()) return null;\n\n    return Math.round(\n      (this.timeoutMilliseconds - this.millisecondsSinceLastUserActivity) / 1000,\n    );\n  }\n\n  _isActivityTimeout() {\n    const elapsed = this.millisecondsSinceLastUserActivity;\n    const timeout =\n      this.timeoutMilliseconds - this.countdownTimeoutMilliseconds;\n    return elapsed >= timeout;\n  }\n\n  /*\n   * setIsDepositaryPage is a function who set a boolean to true\n   * if the user is on the depositary page\n   *\n   */\n  setIsDepositaryPage(status) {\n    this.depositaryPage = status;\n  }\n\n  _isActivityTimeoutCountdown() {\n    const elapsed = this.millisecondsSinceLastUserActivity;\n    const timeout = this.timeoutMilliseconds;\n    return elapsed > timeout;\n  }\n\n  _startInterval() {\n    this._stopInterval();\n    this.tracking = true;\n    this.interval = setInterval(this._intervalCallback.bind(this), 1000);\n  }\n\n  _stopInterval() {\n    this.tracking = false;\n    if (this.interval) clearInterval(this.interval);\n  }\n\n  _intervalCallback() {\n    if (this.depositaryPage || this.transfers.isTransfering) {\n      this._updateLastUserActivityTimestamp();\n    } else if (!this._isActivityTimeout() && this.warning) {\n      this._stop();\n      this.start();\n    } else if (this._isActivityTimeout() && !this.warning) {\n      this._warningEvent();\n    } else if (this._isActivityTimeoutCountdown()) {\n      this.pleaseLogOut = true;\n      this._stop();\n      this.confirmLogOut(true);\n    }\n  }\n\n  _stop() {\n    this.warning = false;\n    this._stopMonitoring();\n    this._stopInterval();\n    this._closeModal();\n  }\n\n  _updateLastUserActivityTimestamp() {\n    localStorage.setItem(LAST_USER_ACTIVITY_TIMESTAMP, Date.now());\n  }\n\n  _registerEventListeners(events) {\n    for (const ev of events) {\n      window.addEventListener(ev, this._eventCallback.bind(this));\n    }\n  }\n\n  _eventCallback() {\n    if (this.monitoring) {\n      throttle(this, this._updateLastUserActivityTimestamp, 500);\n    }\n  }\n\n  _onVisibilityChange() {\n    if (!this.timeoutMinutes) return;\n    if (this.windowIsVisible && this.account.isLoggedIn) {\n      if (this._isActivityTimeout() && this.warning) {\n        this._openModal();\n      } else if (this._isActivityTimeoutCountdown()) {\n        this.confirmLogOut(true);\n      }\n    }\n  }\n\n  _startMonitoring() {\n    this.monitoring = true;\n  }\n\n  _stopMonitoring() {\n    this.monitoring = false;\n  }\n\n  _cleanLastUserActivity() {\n    localStorage.removeItem(LAST_USER_ACTIVITY_TIMESTAMP);\n  }\n\n  _warningEvent() {\n    this._stopMonitoring();\n    this.warning = true;\n    if (this.windowIsVisible) {\n      this._openModal();\n    }\n  }\n\n  _closeModal() {\n    if (this.modalManager.isModalOpen(AUTOMATIC_LOGOUT_MODAL_NAME)) {\n      this.modalManager.close(AUTOMATIC_LOGOUT_MODAL_NAME);\n    }\n  }\n\n  _openModal() {\n    if (!this.modalManager.isModalOpen(AUTOMATIC_LOGOUT_MODAL_NAME))\n    {\n      this.modalManager.open(AUTOMATIC_LOGOUT_MODAL_NAME);\n    }\n  }\n\n  openToastSessionExpired() {\n    if (!this.toast) {\n      const message = this.intl.t('userActivity.toast.reconnect');\n      const title = this.intl.t('userActivity.toast.sessionExpired');\n      this.toast = this.notify.error(message, {\n        title: title,\n        closeAfter: null,\n      });\n    }\n  }\n\n  _closeToastSessionExpired() {\n    if (this.toast) {\n      this.toast.close();\n      this.toast = null;\n    }\n  }\n}\n","export default {\n  \"about\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 92 92\\\"><path d=\\\"M45.386.004C19.983.344-.333 21.215.005 46.619c.34 25.393 21.209 45.715 46.611 45.377 25.398-.342 45.718-21.213 45.38-46.615-.34-25.395-21.21-45.716-46.61-45.377zM45.25 74l-.254-.004c-3.912-.116-6.67-2.998-6.559-6.852.109-3.788 2.934-6.538 6.717-6.538l.227.004c4.021.119 6.748 2.972 6.635 6.937C51.904 71.346 49.123 74 45.25 74zm16.455-32.659c-.92 1.307-2.943 2.93-5.492 4.916l-2.807 1.938c-1.541 1.198-2.471 2.325-2.82 3.434-.275.873-.41 1.104-.434 2.88l-.004.451H39.43l.031-.907c.131-3.728.223-5.921 1.768-7.733 2.424-2.846 7.771-6.289 7.998-6.435.766-.577 1.412-1.234 1.893-1.936 1.125-1.551 1.623-2.772 1.623-3.972a7.74 7.74 0 0 0-1.471-4.576c-.939-1.323-2.723-1.993-5.303-1.993-2.559 0-4.311.812-5.359 2.478-1.078 1.713-1.623 3.512-1.623 5.35v.457H27.936l.02-.477c.285-6.769 2.701-11.643 7.178-14.487C37.947 18.918 41.447 18 45.531 18c5.346 0 9.859 1.299 13.412 3.861 3.6 2.596 5.426 6.484 5.426 11.556 0 2.837-.896 5.502-2.664 7.924z\\\" fill=\\\"#030104\\\"/></svg>\",\n  \"add-file\": \"<svg viewBox=\\\"0 0 522 586\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M306.375 485.688c0-23.522 7.009-45.405 19.042-63.688H113.346c-8.953 0-16.219-7.58-16.219-16.5 0-8.921 7.266-16.5 16.219-16.5h227.063c4.369 0 8.341 1.825 11.265 4.728 19.573-15.071 44.089-24.04 70.702-24.04 10.964 0 21.571 1.522 31.625 4.365V31.938C454.001 14.023 439.561 0 421.748 0H32.252C14.439 0 0 14.023 0 31.938v454.125c0 17.915 14.439 32.938 32.252 32.938h278.986a116.023 116.023 0 0 1-4.863-33.313zM210.658 97h129.75c8.921 0 16.219 7.547 16.219 16.5s-7.298 16.5-16.219 16.5h-129.75c-8.953 0-16.219-7.547-16.219-16.5S201.706 97 210.658 97zm-97.312 98h227.063c8.921 0 16.219 7.047 16.219 16s-7.298 16-16.219 16H113.346c-8.953 0-16.219-7.047-16.219-16s7.266-16 16.219-16zm0 97h227.063c8.921 0 16.219 7.58 16.219 16.5S349.33 325 340.409 325H113.346c-8.953 0-16.219-7.58-16.219-16.5s7.266-16.5 16.219-16.5z\\\"/><path d=\\\"M422.001 386.68c54.858 0 99.319 44.473 99.319 99.321 0 54.846-44.471 99.319-99.319 99.319-54.848 0-99.321-44.47-99.321-99.319 0-54.847 44.47-99.321 99.321-99.321zm.749 24.007c-8.312 0-15 6.738-15 15.05V471h-45.075c-8.312 0-15.05 6.688-15.05 15 0 8.312 6.738 15 15.05 15h45.075v45.138c0 8.312 6.688 15.05 15 15.05 8.312 0 15-6.738 15-15.05V501h45.325c8.312 0 15.05-6.688 15.05-15 0-8.312-6.738-15-15.05-15H437.75v-45.263c0-8.312-6.688-15.05-15-15.05z\\\"/></svg>\",\n  \"add-folder\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 810 650.395\\\"><path d=\\\"M560 525.394c0-69.035 55.965-124.999 125-124.999 25.937 0 50.027 7.901 70 21.426V173.896c0-38.5-31.5-70.001-70-70.001H405l-70-70H125c-38.5 0-70 31.501-70 70.001v420c0 38.5 31.5 69.998 70 69.998h455.436C567.52 573.895 560 550.688 560 525.394z\\\"/><path class=\\\"action\\\" d=\\\"M685 424.895c-55.229 0-100 44.771-100 100s44.771 100 100 100 100-44.771 100-100-44.771-100-100-100zm59.95 116H700v44.45c0 8.312-6.688 15.05-15 15.05s-15-6.738-15-15.05v-44.45h-45.45c-8.312 0-15.05-6.688-15.05-15s6.738-15 15.05-15H670v-45.95c0-8.312 6.688-15.05 15-15.05s15 6.738 15 15.05v45.95h44.95c8.312 0 15.05 6.688 15.05 15s-6.738 15-15.05 15z\\\"/></svg>\",\n  \"add-group\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 6.348 85.086 71.428\\\"><path d=\\\"M20.031 6.348c-6.492 0-11.75 5.259-11.75 11.75 0 6.488 5.258 11.75 11.75 11.75 2.3 0 4.438-.67 6.25-1.813a14.558 14.558 0 0 1 5.469-9.28c.012-.22.031-.435.031-.657 0-6.491-5.262-11.75-11.75-11.75zm40.063 0c-6.43.002-11.651 5.158-11.75 11.563 3.705 2.322 6.309 6.28 6.781 10.843a11.69 11.69 0 0 0 4.969 1.094c6.49 0 11.75-5.26 11.75-11.75 0-6.491-5.26-11.75-11.75-11.75zM40.656 18.473c-6.49 0-11.75 5.26-11.75 11.75s5.26 11.75 11.75 11.75c6.491 0 11.75-5.26 11.75-11.75s-5.26-11.75-11.75-11.75zM15.062 30.661C6.765 30.66 0 37.395 0 45.69v12.22l.031.187.844.25c6.352 1.983 12.013 2.9 16.937 3.188v-3.688c.002-8.078 5.405-14.899 12.782-17.094a14.492 14.492 0 0 1-4.469-10.031c-.367-.027-.72-.063-1.094-.063h-9.969zm40.125 0a14.491 14.491 0 0 1-4.468 10.093 17.89 17.89 0 0 1 11.843 11.438 14.119 14.119 0 0 1 8.375-2.719c3.51 0 6.715 1.26 9.188 3.375v-7.156c.001-8.296-6.736-15.032-15.031-15.032h-9.907zm-19.53 12.124c-8.298 0-15.032 6.766-15.032 15.063v12.188l.031.187.844.25c7.918 2.474 14.776 3.313 20.437 3.313 9.031 0 14.757-2.026 16.844-2.907a14.044 14.044 0 0 1-2-7.25c0-3.557 1.303-6.826 3.469-9.312-1.588-6.602-7.51-11.532-14.594-11.532h-10z\\\"/><path d=\\\"M72.397 52.398c-7.007 0-12.688 5.682-12.688 12.689s5.681 12.689 12.688 12.689c7.007 0 12.689-5.682 12.689-12.689s-5.68-12.689-12.689-12.689zm6.264 15.024h-4.895v4.896a1.469 1.469 0 0 1-2.937 0v-4.895l-4.895-.001a1.468 1.468 0 0 1 0-2.935h4.896v-4.895a1.47 1.47 0 0 1 2.936.002v4.893h4.894a1.467 1.467 0 1 1 .001 2.935z\\\"/></svg>\",\n  \"add-member\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"315.716 88.506 376.14 418.635\\\"><path d=\\\"M477.174 310.564c61.294 0 111.011-49.735 111.011-110.968 0-61.346-49.708-111.09-111.011-111.09-61.337 0-110.985 49.753-110.985 111.09 0 61.232 49.639 110.968 110.985 110.968z\\\"/><path d=\\\"M617.48 341.031c-5.863-12.557-13.248-25.183-22.681-37.231-5.075-6.458-14.332-13.545-23.283-18.401-23.205 26.005-56.841 42.473-94.343 42.473-37.477 0-71.103-16.468-94.281-42.411-8.75 4.97-17.763 12.058-22.671 18.497-15.925 20.781-40.503 61.058-44.424 115.334-.822 11.453 4.629 28.944 14.202 35.621 18.165 12.714 57.347 28.979 138.933 28.979 28.244 0 52.045-1.741 72.161-4.453-8.12-13.694-12.871-29.619-12.871-46.664-.009-49.779 39.812-90.344 89.258-91.744z\\\"/><path class=\\\"action\\\" d=\\\"M617.48 358.391c-41.073 0-74.375 33.303-74.375 74.375s33.302 74.375 74.375 74.375c41.072 0 74.375-33.303 74.375-74.375s-33.293-74.375-74.375-74.375zm36.715 88.06h-28.691v28.699c0 4.752-3.859 8.602-8.61 8.602s-8.609-3.85-8.609-8.602v-28.69l-28.691-.009a8.577 8.577 0 0 1-8.602-8.593c0-4.76 3.85-8.61 8.602-8.61h28.7v-28.691c0-4.751 3.85-8.601 8.601-8.592a8.612 8.612 0 0 1 8.61 8.601v28.683h28.683c4.751 0 8.601 3.851 8.609 8.61-.001 4.742-3.851 8.592-8.602 8.592z\\\"/></svg>\",\n  \"add-member_2\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 27 14.7\\\"><path class=\\\"st0\\\" d=\\\"M5.6 5.7V2.3H3.4v3.4H0V8h3.4v3.4h2.2V7.9H9V5.7H5.6zm18-2.3c0-1.9-1.5-3.4-3.4-3.4-.4 0-.7.1-1 .2.6.9 1 2 1 3.2s-.4 2.3-1 3.2c.3.1.7.2 1 .2 1.9 0 3.4-1.5 3.4-3.4zm-5.6 0C18 1.5 16.5 0 14.6 0s-3.4 1.5-3.4 3.4 1.5 3.4 3.4 3.4S18 5.3 18 3.4zm5.6 9.1v2.3H27v-2.3c0-1.7-2.7-2.8-4.9-3.2.9.8 1.5 1.8 1.5 3.2zm-15.7 0v2.3h13.5v-2.3c0-2.3-4.5-3.4-6.8-3.4s-6.7 1.1-6.7 3.4z\\\"/></svg>\",\n  \"add-participant\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 19 13\\\"><path d=\\\"M5 5V2H3v3H0v2h3v3h2V7h3V5H5zm10.99-2c0-1.66-1.33-3-2.99-3s-3 1.34-3 3 1.34 3 3 3 2.99-1.34 2.99-3zM7 11v2h12v-2c0-2-4-3-6-3s-6 1-6 3z\\\"/></svg>\",\n  \"add\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M11 13H5v-2h6V5h2v6h6v2h-6v6h-2v-6z\\\" fill=\\\"#fff\\\"/></svg>\",\n  \"admin-validation-pending\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 478.268 478.268\\\"><path d=\\\"M445.905 0H145.418c-8.781 0-15.902 7.121-15.902 15.902v237.204l31.804-31.804V31.804h268.683v373.849h-20.018v31.804h35.92c8.781 0 15.902-7.121 15.902-15.902V15.902C461.807 7.121 454.686 0 445.905 0zM134.353 432.922c2.866 2.788 6.755 4.535 11.065 4.535h181.501v-31.804H161.622l-27.269 27.269z\\\"/><path d=\\\"M417.634 350.849c0-9.629-2.874-18.534-7.649-26.121-3.16-5.016-7.213-9.341-11.919-12.921-8.253-6.273-18.442-10.141-29.615-10.141-11.173 0-21.361 3.867-29.615 10.141-4.705 3.58-8.759 7.905-11.919 12.921-4.775 7.587-7.649 16.492-7.649 26.121 0 9.621 2.874 18.534 7.649 26.113 4.03 6.397 9.465 11.725 15.902 15.684v80.863a4.774 4.774 0 0 0 3.02 4.434 4.779 4.779 0 0 0 5.234-1.204l13.884-15.016a4.758 4.758 0 0 1 3.494-1.522c1.328 0 2.594.55 3.494 1.522l13.884 15.016a4.779 4.779 0 0 0 5.234 1.204 4.773 4.773 0 0 0 3.02-4.434v-80.863c6.437-3.96 11.873-9.287 15.902-15.684 4.776-7.579 7.649-16.492 7.649-26.113zm-49.182-21.485c11.865 0 21.485 9.621 21.485 21.485 0 11.865-9.621 21.485-21.485 21.485-11.865 0-21.485-9.621-21.485-21.485 0-11.864 9.62-21.485 21.485-21.485zM327.991 245.187a71.959 71.959 0 0 0 54.942-30.338l13.372-18.938c11.537-16.32 9.627-38.568-4.503-52.692a8.73 8.73 0 0 0-6.197-2.57 8.724 8.724 0 0 0-6.203 2.57l-34.84 34.826a15.641 15.641 0 0 1-11.081 4.597 15.626 15.626 0 0 1-11.081-4.597l-25.5-25.499a15.626 15.626 0 0 1-4.597-11.081c0-4.162 1.646-8.137 4.589-11.089l34.832-34.832a8.754 8.754 0 0 0 0-12.4c-7.943-7.951-18.456-12.027-29.033-12.027a40.912 40.912 0 0 0-23.659 7.515l-18.938 13.379a71.972 71.972 0 0 0-30.337 54.944l-2.252 41.883L28.598 387.771c-16.182 16.18-16.182 42.403 0 58.583 8.091 8.099 18.698 12.145 29.296 12.145s21.198-4.046 29.289-12.137l198.933-198.931 41.875-2.244z\\\"/></svg>\",\n  \"alert\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"510\\\" height=\\\"510\\\" viewBox=\\\"0 0 510 510\\\"><path d=\\\"M255 510c28.05 0 51-22.95 51-51H204c0 28.05 22.95 51 51 51zm165.75-153V216.75c0-79.05-53.55-142.8-127.5-160.65V38.25C293.25 17.85 275.4 0 255 0s-38.25 17.85-38.25 38.25V56.1c-73.95 17.85-127.5 81.6-127.5 160.65V357l-51 51v25.5h433.5V408l-51-51z\\\"/></svg>\",\n  \"android_lock_locked\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"6\\\" height=\\\"8\\\" viewBox=\\\"0 0 6 8\\\"><path fill=\\\"#FFF\\\" d=\\\"M3 6.095a.758.758 0 0 1-.75-.762c0-.419.337-.762.75-.762.412 0 .75.343.75.762a.758.758 0 0 1-.75.762zm1.162-3.428H1.837v-.762C1.837 1.253 2.36.724 3 .724s1.162.53 1.162 1.18v.763zm1.088 0h-.375v-.762C4.875.853 4.035 0 3 0 1.965 0 1.125.853 1.125 1.905v.762H.75a.758.758 0 0 0-.75.762v3.81C0 7.656.338 8 .75 8h4.5c.412 0 .75-.343.75-.762v-3.81a.758.758 0 0 0-.75-.761z\\\"/></svg>\",\n  \"android_lock_opened\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"6\\\" height=\\\"8\\\" viewBox=\\\"0 0 6 8\\\"><path fill=\\\"#FFF\\\" d=\\\"M3.75 5.333a.758.758 0 0 1-.75.762.758.758 0 0 1-.75-.762c0-.419.337-.762.75-.762s.75.343.75.762zm1.125-2.666v-.762C4.875.853 4.035 0 3 0 1.965 0 1.125.853 1.125 1.905h.712C1.837 1.253 2.36.724 3 .724s1.162.53 1.162 1.18v.763H.75a.758.758 0 0 0-.75.762v3.81C0 7.656.338 8 .75 8h4.5c.412 0 .75-.343.75-.762v-3.81a.758.758 0 0 0-.75-.761h-.375z\\\"/></svg>\",\n  \"appstore\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"101\\\" height=\\\"30\\\" viewBox=\\\"0 0 101 30\\\"><defs><rect id=\\\"a\\\" width=\\\"101\\\" height=\\\"30\\\" rx=\\\"2.793\\\"/><mask id=\\\"b\\\" width=\\\"101\\\" height=\\\"30\\\" x=\\\"0\\\" y=\\\"0\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#a\\\"/></mask></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><use fill=\\\"#000\\\" stroke=\\\"#8F8F8F\\\" stroke-width=\\\"1.034\\\" mask=\\\"url(#b)\\\" xlink:href=\\\"#a\\\"/><path fill=\\\"#FFF\\\" d=\\\"M38.768 23.04h1.697l-3.716-10.3H35.03l-3.716 10.3h1.64l.95-2.734h3.922l.942 2.733zm-2.96-8.43h.12l1.491 4.354h-3.11l1.499-4.354zm9.158.528c-1.055 0-1.968.529-2.44 1.414h-.113v-1.285h-1.477v10.292h1.534v-3.697h.121c.407.82 1.284 1.306 2.39 1.306 1.96 0 3.209-1.549 3.209-4.018 0-2.47-1.248-4.012-3.224-4.012zm-.435 6.652c-1.284 0-2.09-1.013-2.09-2.633 0-1.628.806-2.641 2.097-2.641 1.298 0 2.076.992 2.076 2.634 0 1.648-.778 2.64-2.083 2.64zm8.388-6.652c-1.055 0-1.968.529-2.439 1.414h-.114v-1.285h-1.477v10.292h1.534v-3.697h.121c.407.82 1.284 1.306 2.39 1.306 1.961 0 3.21-1.549 3.21-4.018 0-2.47-1.249-4.012-3.225-4.012zm-.435 6.652c-1.284 0-2.09-1.013-2.09-2.633 0-1.628.806-2.641 2.097-2.641 1.299 0 2.076.992 2.076 2.634 0 1.648-.777 2.64-2.083 2.64zm6.905-1.52c.115 1.842 1.648 3.02 3.93 3.02 2.44 0 3.966-1.236 3.966-3.205 0-1.55-.87-2.406-2.981-2.898l-1.134-.278c-1.341-.315-1.883-.736-1.883-1.47 0-.929.841-1.535 2.104-1.535 1.198 0 2.025.592 2.175 1.541h1.555c-.093-1.734-1.619-2.954-3.709-2.954-2.247 0-3.744 1.22-3.744 3.054 0 1.513.848 2.413 2.71 2.848l1.327.321c1.362.321 1.961.792 1.961 1.578 0 .913-.941 1.577-2.225 1.577-1.377 0-2.333-.621-2.468-1.599h-1.584zm9.216-6.887v1.92h-1.277v1.291h1.277v4.39c0 1.499.678 2.098 2.382 2.098.3 0 .578-.035.82-.078v-1.278c-.213.022-.335.036-.57.036-.763 0-1.098-.357-1.098-1.17v-3.998h1.74v-1.291h-1.74v-1.92h-1.534zm7.076 8.443c-1.334 0-2.083-.978-2.083-2.676 0-1.685.75-2.67 2.083-2.67 1.327 0 2.083.985 2.083 2.67 0 1.691-.756 2.676-2.083 2.676zm0 1.363c2.268 0 3.659-1.52 3.659-4.04 0-2.505-1.398-4.032-3.659-4.032-2.268 0-3.666 1.527-3.666 4.033 0 2.52 1.39 4.04 3.666 4.04zm4.358-.15h1.534V18.45c0-1.092.82-1.827 1.976-1.827.256 0 .727.05.848.093v-1.513a3.214 3.214 0 0 0-.677-.065c-1.013 0-1.869.557-2.09 1.32h-.114v-1.191h-1.477v7.772zm7.811-6.616c1.134 0 1.876.792 1.912 2.013h-3.923c.085-1.213.877-2.013 2.011-2.013zm1.904 4.518c-.285.607-.92.942-1.847.942-1.227 0-2.018-.863-2.068-2.227v-.085h5.485v-.536c0-2.44-1.306-3.918-3.467-3.918-2.19 0-3.58 1.577-3.58 4.061s1.362 4.011 3.587 4.011c1.776 0 3.017-.856 3.367-2.248h-1.477zM32.751 4.701v4.905h1.77c1.46 0 2.306-.901 2.306-2.468 0-1.543-.853-2.437-2.306-2.437h-1.77zm.76.694h.925c1.015 0 1.616.645 1.616 1.753 0 1.125-.59 1.764-1.616 1.764h-.924V5.395zm5.993 3.633c-.635 0-.992-.466-.992-1.275 0-.802.357-1.27.992-1.27.632 0 .992.468.992 1.27 0 .806-.36 1.275-.992 1.275zm0 .649c1.08 0 1.742-.724 1.742-1.924 0-1.193-.665-1.92-1.742-1.92-1.08 0-1.746.727-1.746 1.92 0 1.2.662 1.924 1.746 1.924zm7.466-3.773h-.73l-.66 2.825h-.057l-.76-2.825h-.7l-.761 2.825h-.055l-.662-2.825h-.74l1.019 3.702h.75l.761-2.726h.058l.764 2.726h.757l1.016-3.702zm.928 3.702h.73V7.44c0-.578.36-.938.948-.938.543 0 .808.295.808.89v2.213h.73V7.209c0-.88-.465-1.376-1.29-1.376-.557 0-.989.248-1.169.66h-.054v-.589h-.703v3.702zm4.45 0h.73V4.46h-.73v5.146zm3.56-.578c-.635 0-.992-.466-.992-1.275 0-.802.357-1.27.992-1.27.632 0 .992.468.992 1.27 0 .806-.36 1.275-.992 1.275zm0 .649c1.08 0 1.742-.724 1.742-1.924 0-1.193-.665-1.92-1.742-1.92-1.08 0-1.746.727-1.746 1.92 0 1.2.663 1.924 1.746 1.924zm4.002-.625c-.398 0-.686-.194-.686-.527 0-.326.23-.5.74-.534l.904-.058v.31c0 .459-.408.809-.958.809zm-.187.615c.486 0 .89-.211 1.11-.581h.058v.52h.703v-2.53c0-.78-.523-1.243-1.45-1.243-.839 0-1.437.408-1.511 1.043h.706c.082-.261.364-.41.771-.41.5 0 .758.22.758.61v.32l-1.002.058c-.88.055-1.376.439-1.376 1.105 0 .676.52 1.108 1.233 1.108zm4.436 0c.51 0 .941-.242 1.162-.646h.058v.585h.7V4.46h-.73v2.032h-.055c-.2-.407-.629-.649-1.135-.649-.934 0-1.535.741-1.535 1.91 0 1.173.595 1.914 1.535 1.914zm.208-3.168c.611 0 .995.486.995 1.258 0 .775-.38 1.254-.995 1.254-.619 0-.989-.473-.989-1.258 0-.778.374-1.254.989-1.254zm6.617 2.529c-.635 0-.992-.466-.992-1.275 0-.802.357-1.27.992-1.27.632 0 .992.468.992 1.27 0 .806-.36 1.275-.992 1.275zm0 .649c1.08 0 1.743-.724 1.743-1.924 0-1.193-.666-1.92-1.743-1.92-1.08 0-1.746.727-1.746 1.92 0 1.2.663 1.924 1.746 1.924zm2.793-.071h.73V7.44c0-.578.36-.938.948-.938.543 0 .808.295.808.89v2.213h.73V7.209c0-.88-.465-1.376-1.29-1.376-.557 0-.989.248-1.169.66h-.054v-.589h-.703v3.702zm6.75-4.599v.914h-.608v.616h.608v2.09c0 .713.323.999 1.134.999.143 0 .275-.017.39-.037V8.98c-.101.01-.159.017-.27.017-.364 0-.524-.17-.524-.557V6.537h.829V5.92h-.829v-.914h-.73zm2.599 4.599h.73V7.444c0-.56.37-.938.968-.938.55 0 .825.299.825.89v2.21h.73v-2.39c0-.88-.475-1.38-1.307-1.38-.557 0-.985.249-1.165.663h-.058V4.46h-.723v5.147zM89.1 6.455c.54 0 .893.377.91.958h-1.868c.04-.577.418-.958.958-.958zm.907 2.151c-.136.29-.438.449-.88.449-.584 0-.961-.411-.985-1.06v-.041h2.612v-.255c0-1.162-.622-1.866-1.65-1.866-1.043 0-1.706.751-1.706 1.934 0 1.183.649 1.91 1.709 1.91.845 0 1.436-.408 1.603-1.07h-.703zM22.491 15.143c-.022-2.49 2.037-3.7 2.132-3.757-1.167-1.702-2.975-1.934-3.61-1.953-1.518-.16-2.99.91-3.764.91-.79 0-1.98-.894-3.264-.868-1.652.026-3.197.983-4.045 2.469-1.749 3.03-.444 7.483 1.232 9.932.838 1.2 1.817 2.539 3.1 2.492 1.254-.051 1.722-.8 3.236-.8 1.5 0 1.94.8 3.247.769 1.347-.02 2.194-1.204 3.003-2.415.969-1.374 1.358-2.73 1.373-2.799-.03-.01-2.613-.996-2.64-3.98m-2.47-7.321c.675-.844 1.137-1.993 1.008-3.158-.976.043-2.197.676-2.9 1.501-.623.728-1.178 1.92-1.035 3.042 1.097.082 2.223-.554 2.927-1.385\\\"/></g></svg>\",\n  \"arrows\": {\n    \"down\": \"<svg viewBox=\\\"0 0 700 700\\\"><path d=\\\"M286.203 0v437.622L99.292 250.71 0 350.006 349.994 700 700 350.006l-99.297-99.296-186.91 186.912V0z\\\"/></svg>\",\n    \"left\": \"<svg viewBox=\\\"0 0 700 700\\\"><path d=\\\"M700 286.203H262.378L449.291 99.292 349.995 0 0 349.994 349.995 700l99.296-99.297-186.913-186.91H700z\\\"/></svg>\",\n    \"right\": \"<svg viewBox=\\\"0 0 700 700\\\"><path d=\\\"M0 413.797h437.622L250.71 600.708 350.006 700 700 350.006 350.006 0 250.71 99.297l186.912 186.91H0z\\\"/></svg>\",\n    \"up\": \"<svg viewBox=\\\"0 0 700 700\\\"><path d=\\\"M413.797 700V262.378L600.708 449.29 700 349.994 350.006 0 0 349.994l99.297 99.296 186.91-186.912V700z\\\"/></svg>\"\n  },\n  \"attachement\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0.879 0.879 10.242 10.242\\\"><path d=\\\"M9.437 9.437a1.86 1.86 0 0 1-2.63 0L5.109 7.74l-.806.806L6 10.242a2.998 2.998 0 0 0 4.242 0 2.998 2.998 0 0 0 0-4.242L8.545 4.303l-.806.806 1.697 1.698c.726.724.726 1.904.001 2.63zM8.121 7.273L4.727 3.878l-.848.848L7.274 8.12l.847-.847zM1.757 6l1.697 1.697.806-.807-1.697-1.697a1.86 1.86 0 0 1 2.63-2.63L6.89 4.26l.807-.806L6 1.757A3.001 3.001 0 0 0 1.757 6z\\\"/></svg>\",\n  \"attachment\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"19\\\" height=\\\"19\\\" viewBox=\\\"0 0 19 19\\\"><defs><path id=\\\"b\\\" d=\\\"M18 0h253c9.941 0 18 8.059 18 18s-8.059 18-18 18H18C8.059 36 0 27.941 0 18S8.059 0 18 0z\\\"/><filter id=\\\"a\\\" width=\\\"103.5%\\\" height=\\\"127.8%\\\" x=\\\"-1.7%\\\" y=\\\"-11.1%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"1\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"1.5\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0\\\"/></filter></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path fill=\\\"#F3F4F7\\\" d=\\\"M-21-601h360V39H-21z\\\"/><path fill=\\\"#E7EEF6\\\" d=\\\"M-21-21h360v60H-21z\\\"/><g transform=\\\"translate(-9 -9)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#a)\\\" xlink:href=\\\"#b\\\"/><use fill=\\\"#FFF\\\" xlink:href=\\\"#b\\\"/></g><path fill=\\\"#AAA\\\" fill-rule=\\\"nonzero\\\" d=\\\"M15.339 15.332a3.103 3.103 0 0 1-4.384 0l-2.829-2.828-1.343 1.343 2.828 2.829a5.002 5.002 0 0 0 7.071 0 5.002 5.002 0 0 0 0-7.071l-2.828-2.829L12.51 8.12l2.829 2.828a3.103 3.103 0 0 1 0 4.384zm-2.192-3.606L7.49 6.069 6.076 7.483l5.656 5.657 1.415-1.414zM2.54 9.605l2.829 2.828 1.343-1.343-2.828-2.83a3.103 3.103 0 0 1 0-4.384 3.103 3.103 0 0 1 4.384 0l2.828 2.829 1.344-1.344-2.83-2.827a5.002 5.002 0 0 0-7.07 0 5.002 5.002 0 0 0 0 7.07z\\\"/></g></svg>\",\n  \"audit-logs\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 57 57\\\"><path d=\\\"M55.688 41.863l-1.444-.277a1.934 1.934 0 0 1-1.462-1.216 1.932 1.932 0 0 1 .245-1.885l.907-1.236a1 1 0 0 0-.1-1.299l-1.959-1.958a1.001 1.001 0 0 0-1.268-.121l-1.217.824c-.331.224-.71.343-1.099.343-.844 0-1.787-.576-1.956-1.676l-.233-1.515a.998.998 0 0 0-.987-.847h-2.77a1 1 0 0 0-.982.812l-.358 1.865c-.201 1.051-1.13 1.601-1.942 1.601-.389 0-.769-.118-1.099-.342l-1.572-1.064a1.001 1.001 0 0 0-1.268.121l-1.959 1.958a1 1 0 0 0-.1 1.299l.907 1.236c.408.556.498 1.243.245 1.885a1.934 1.934 0 0 1-1.462 1.216l-1.444.277a1.001 1.001 0 0 0-.812.982v2.77a1 1 0 0 0 .848.988l1.515.233a1.937 1.937 0 0 1 1.508 1.16 1.938 1.938 0 0 1-.175 1.895l-.824 1.217a1 1 0 0 0 .121 1.268l1.958 1.959c.348.349.899.39 1.299.1l1.236-.907a1.939 1.939 0 0 1 1.156-.385c.813 0 1.742.551 1.944 1.602l.277 1.444c.092.469.504.81.984.81h2.77a1 1 0 0 0 .988-.848l.164-1.065c.169-1.1 1.113-1.676 1.958-1.676.413 0 .813.134 1.156.386l.869.638c.4.293.951.25 1.299-.1l1.958-1.959a1 1 0 0 0 .121-1.268l-.824-1.217a1.938 1.938 0 0 1-.175-1.895 1.935 1.935 0 0 1 1.508-1.16l1.515-.233a1 1 0 0 0 .848-.988v-2.77a1.003 1.003 0 0 0-.813-.982zM54.5 44.758l-.667.103a3.95 3.95 0 0 0-3.036 2.337 3.95 3.95 0 0 0 .352 3.815l.361.533-.768.768-.177-.13a3.935 3.935 0 0 0-2.34-.772 3.958 3.958 0 0 0-3.935 3.371l-.032.217h-1.086l-.121-.633a3.985 3.985 0 0 0-3.909-3.225c-.843 0-1.651.268-2.34.771l-.544.399-.768-.768.361-.533a3.953 3.953 0 0 0 .352-3.815 3.95 3.95 0 0 0-3.036-2.337l-.667-.101v-1.086l.633-.121a3.952 3.952 0 0 0 2.947-2.449 3.956 3.956 0 0 0-.494-3.8l-.399-.544.768-.768.889.602a3.95 3.95 0 0 0 2.22.686 3.981 3.981 0 0 0 3.907-3.224L43.172 33h1.086l.103.667a3.957 3.957 0 0 0 3.934 3.371c.789 0 1.556-.237 2.219-.687l.533-.361.768.768-.399.544a3.952 3.952 0 0 0-.494 3.8 3.953 3.953 0 0 0 2.947 2.449l.633.121v1.086z\\\"/><path d=\\\"M43.5 39c-2.757 0-5 2.243-5 5s2.243 5 5 5 5-2.243 5-5-2.243-5-5-5zm0 8c-1.654 0-3-1.346-3-3s1.346-3 3-3 3 1.346 3 3-1.346 3-3 3z\\\"/><path d=\\\"M29.498 51.477l1.303-1.923-2.453-.377a1 1 0 0 1-.848-.988V43v-2.633a1 1 0 0 1 .812-.982l2.28-.438-1.469-2a1 1 0 0 1 .1-1.299l5.532-5.529c.34-.339.87-.389 1.268-.121l2.338 1.583.054-.315.471-2.454a1 1 0 0 1 .981-.812H27.5a1 1 0 1 1 0-2h18c.552 0 1 .447 1 1s1.188 1 1.188 1a1 1 0 0 1 .988.848l.378 2.453 1.922-1.303a1.001 1.001 0 0 1 1.268.121l2.256 2.254V12.176C54.5 5.462 49.038 0 42.324 0H12.676C5.962 0 .5 5.462.5 12.176v29.648C.5 48.538 5.962 54 12.676 54h18.198l-1.255-1.256a.999.999 0 0 1-.121-1.267zM27.5 12h18a1 1 0 1 1 0 2h-18a1 1 0 1 1 0-2zm-6.312 25.65l-6.857 7.999a.999.999 0 0 1-1.36.15L8.4 42.37a.999.999 0 1 1 1.2-1.599l3.822 2.866 6.248-7.287a.999.999 0 1 1 1.518 1.3zm0-15l-6.857 8a.999.999 0 0 1-1.36.15L8.4 27.371a.999.999 0 1 1 1.2-1.599l3.822 2.866 6.248-7.288a.999.999 0 1 1 1.518 1.3zm0-14l-6.857 8a.999.999 0 0 1-1.36.15L8.4 13.371a.999.999 0 1 1 1.2-1.599l3.822 2.866L19.67 7.35a.999.999 0 1 1 1.518 1.3z\\\"/></svg>\",\n  \"audits\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0.001 0.718 125.62 125.18\\\"><path d=\\\"M75.841.718c-27.524 0-49.779 22.254-49.779 49.779 0 10.542 3.514 20.498 9.37 28.697L2.636 111.989c-3.514 3.513-3.514 8.199 0 11.712 3.514 2.928 8.785 2.928 11.713 0l32.796-32.796c8.199 5.856 18.155 9.37 28.696 9.37 27.525 0 49.779-22.254 49.779-49.779 0-27.524-22.254-49.778-49.779-49.778zm0 87.845c-21.083 0-38.066-16.984-38.066-38.066 0-21.083 16.983-38.066 38.066-38.066s38.066 16.983 38.066 38.066c0 21.082-16.983 38.066-38.066 38.066z\\\"/><path d=\\\"M93.177 39.269h11.33v26.947h-11.33zM77.866 27.939h10.718v38.277H77.866zM62.249 44.781h10.717v21.435H62.249zM46.632 35.289h10.717v30.928H46.632z\\\"/></svg>\",\n  \"back\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M7.825 13l5.6 5.6L12 20l-8-8 8-8 1.425 1.4-5.6 5.6H20v2H7.825z\\\"/></svg>\",\n  \"basic-invit\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"18\\\" height=\\\"18\\\" viewBox=\\\"0 0 18 18\\\"><path fill=\\\"#2196F3\\\" d=\\\"M14.85 2.813H3.15c-.804 0-1.455.696-1.455 1.546l-.008 9.282c0 .85.659 1.546 1.463 1.546h11.7c.804 0 1.462-.696 1.462-1.546V4.359c0-.85-.658-1.546-1.462-1.546zm0 3.093L9 9.773 3.15 5.906V4.36L9 8.227l5.85-3.868v1.547z\\\"/></svg>\",\n  \"binder\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 17.26 17.26\\\"><g fill=\\\"#030104\\\"><path d=\\\"M.355 3.743h7.733L9.647 2.12H1.322c-1.175 0-.98.848-.98.848l.013.775z\\\"/><path d=\\\"M16.604 2.022h-4.948a.656.656 0 0 0-.491.222L9.236 4.426H.656A.656.656 0 0 0 0 5.082v9.5c0 .362.294.656.656.656h15.948a.657.657 0 0 0 .656-.656V2.678a.658.658 0 0 0-.656-.656zm-.657 11.903H1.311V5.737h8.22a.658.658 0 0 0 .492-.222l1.928-2.182h3.996v10.592z\\\"/></g></svg>\",\n  \"blue\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"110\\\" height=\\\"110\\\"><path fill=\\\"#22a1f2\\\" d=\\\"M0 0h110v110H0z\\\"/><path d=\\\"M70 20l40 40v50H60L30 80h40z\\\" fill=\\\"#0287ee\\\"/><path d=\\\"M70 25h5v60H35v-5h35z\\\" fill=\\\"#cbcbcb\\\"/><path d=\\\"M70 80H30V40h20V20h20z\\\" fill=\\\"#fefefe\\\"/><path d=\\\"M50 40V20L30 40z\\\" fill=\\\"#e5e5e5\\\"/></svg>\",\n  \"boxicon-empty\": \"<svg width=\\\"56\\\" height=\\\"56\\\" viewBox=\\\"0 0 56 56\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M47.064 43.194V18.418L33.089 4.375H9.8v1.371l37.265 37.448zm-4.658-22.436H30.76V9.057l11.646 11.703z\\\"/><path d=\\\"M9.799 12.366v38.819h37.265v-1.37L9.799 12.365z\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M46.581 56L0 9.19l3.294-3.31 46.581 46.81L46.581 56z\\\"/></svg>\",\n  \"boxicon\": \"<svg width=\\\"56\\\" height=\\\"56\\\" viewBox=\\\"0 0 56 56\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M9.625 50.75V5.25h22.969L46.375 18.9v31.85H9.625zm20.672-29.575H41.78L30.297 9.8v11.375z\\\"/></svg>\",\n  \"brand\": {\n    \"cbox-new-white\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"309\\\" height=\\\"182\\\" viewBox=\\\"0 0 309 182\\\"><defs><path id=\\\"b\\\" d=\\\"M38.39 90.031l-.834-.368c-.397-.17-9.967-4.387-19.367-14.564-5.492-5.958-9.824-12.752-12.854-20.211a70.423 70.423 0 0 1-4.048-13.956C.31 35.625-.115 30.006.027 24.232l.028-1.162L38.39 0l1.09.651 37.26 22.42.028 1.16c.142 5.775-.283 11.394-1.26 16.716-.892 4.84-2.25 9.54-4.049 13.955a67.353 67.353 0 0 1-12.868 20.211c-9.4 10.191-18.955 14.395-19.352 14.565l-.85.353zM4.246 25.491C4.19 30.558 4.6 35.497 5.45 40.154c.835 4.557 2.109 8.96 3.808 13.106A62.887 62.887 0 0 0 21.29 72.184a66.12 66.12 0 0 0 6.554 6.185 62.426 62.426 0 0 0 5.762 4.218 49.93 49.93 0 0 0 4.813 2.774 49.293 49.293 0 0 0 4.827-2.789 64.398 64.398 0 0 0 5.762-4.217 65.966 65.966 0 0 0 6.54-6.185 62.887 62.887 0 0 0 12.034-18.924 66.895 66.895 0 0 0 3.793-13.106c.85-4.67 1.26-9.596 1.204-14.663-5.167-3.114-28.78-17.324-34.16-20.552L4.245 25.491z\\\"/><filter id=\\\"a\\\" width=\\\"113%\\\" height=\\\"111.1%\\\" x=\\\"-6.5%\\\" y=\\\"-4.4%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"1\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"1.5\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0\\\"/></filter></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><g fill=\\\"#FFF\\\" fill-rule=\\\"nonzero\\\"><path d=\\\"M227.59 146.34c2.505-1.31 4.818-3.492 4.818-7.568v-.098c0-2.28-.77-4.122-2.264-5.626-1.929-1.94-4.965-3.008-8.819-3.008h-17.321l2.188 3.14v30.816h15.615c7.517 0 12.48-3.25 12.48-9.313v-.096c0-4.609-2.746-6.89-6.698-8.248zm-15.566-11.013h8.53c3.807 0 5.926 1.65 5.926 4.318v.097c0 3.105-2.554 4.608-6.361 4.608h-8.095v-9.023zm16.336 18.725c0 3.056-2.459 4.657-6.506 4.657h-9.83v-9.314h9.397c4.673 0 6.94 1.698 6.94 4.56v.097zm11.134-6.936v-.098c0-9.556 7.325-17.56 17.686-17.56 10.36 0 17.589 7.907 17.589 17.464v.096c0 9.556-7.326 17.56-17.685 17.56-10.361 0-17.59-7.907-17.59-17.462zm29.06 0v-.098c0-6.598-4.772-12.078-11.47-12.078-6.7 0-11.375 5.384-11.375 11.982v.096c0 6.598 4.771 12.03 11.47 12.03 6.7 0 11.375-5.336 11.375-11.932zm39.517-17.076l-11.759 16.59 12.241 17.366h-6.987l-8.916-12.95-8.868 12.95h-6.794l12.192-17.268-11.71-16.688h6.988l8.385 12.323 8.434-12.323z\\\" fill-opacity=\\\".6\\\"/><path d=\\\"M0 147.116v-.098c0-9.653 7.18-17.56 17.397-17.56 6.217 0 9.976 2.183 13.204 5.287l-3.807 4.414c-2.698-2.522-5.59-4.22-9.445-4.22-6.41 0-11.133 5.336-11.133 11.982v.097c0 6.646 4.675 12.03 11.133 12.03 4.144 0 6.794-1.65 9.686-4.365l3.807 3.88c-3.517 3.686-7.373 6.015-13.686 6.015C7.325 164.578 0 156.865 0 147.116zm79.06 3.492L65.661 130.04h7.036l9.397 14.99 9.542-14.99h6.795l-13.397 20.423v13.534h-5.976v-13.39zm85.458-3.492v-.098c0-9.556 7.326-17.56 17.687-17.56 10.36 0 17.588 7.907 17.588 17.464v.096c0 9.556-7.325 17.56-17.684 17.56-10.361 0-17.591-7.907-17.591-17.462zm29.06 0v-.098c0-6.598-4.772-12.078-11.47-12.078-6.7 0-11.373 5.384-11.373 11.982v.096c0 6.598 4.77 12.03 11.47 12.03 6.698 0 11.373-5.336 11.373-11.932zm-75.072-17.076h-15.49l2.189 3.14v30.816h5.927v-10.914h6.699c7.421 0 13.493-3.978 13.493-11.594v-.096c0-6.84-4.915-11.352-12.818-11.352zm6.794 11.593c0 3.54-2.795 6.064-7.277 6.064h-6.89v-12.224h6.89c4.434 0 7.277 2.086 7.277 6.063v.097zm-68.675 9.509c4.675-1.358 8-4.706 8-10.284v-.098c0-2.958-1.011-5.48-2.794-7.325-2.169-2.134-5.494-3.395-9.735-3.395H34.872l2.188 3.139v30.816h5.928V152.16h7.422l8.288 11.836h7.037l-9.11-12.853zm-13.637-4.27v-11.4h8.627c4.385 0 6.987 1.99 6.987 5.628v.097c0 3.445-2.698 5.675-6.94 5.675h-8.674zm102.699-11.302h-10.699v-5.53h27.373v5.53h-10.698v28.426h-5.976V135.57zM281.994 176.766v-.026c0-2.512 1.771-4.576 4.294-4.576 1.542 0 2.46.564 3.262 1.372l-.943 1.153c-.675-.654-1.388-1.102-2.331-1.102-1.58 0-2.753 1.384-2.753 3.115v.025c0 1.73 1.147 3.128 2.753 3.128 1.019 0 1.682-.436 2.395-1.14l.943 1.012c-.88.961-1.822 1.564-3.377 1.564-2.433.012-4.243-1.987-4.243-4.525zm8.219 0v-.026c0-2.487 1.81-4.576 4.37-4.576 2.562 0 4.346 2.064 4.346 4.55v.026c0 2.487-1.81 4.563-4.37 4.563-2.562 0-4.346-2.05-4.346-4.537zm7.187 0v-.026c0-1.718-1.185-3.14-2.842-3.14-1.656 0-2.803 1.397-2.803 3.114v.026c0 1.718 1.172 3.128 2.841 3.128 1.644 0 2.804-1.385 2.804-3.102zm-29.945 3.102v-2.449h4.18v-1.448h-4.18V173.6h4.715v-1.436h-6.728l.547.846v8.293h6.244v-1.435zm11.519-2.025c1.16-.372 1.975-1.27 1.975-2.77v-.038c0-.794-.255-1.474-.688-1.974-.535-.577-1.363-.91-2.408-.91h-4.23l.509.808v8.332h1.465v-3.192h1.835l2.052 3.192h1.733l-2.243-3.448zm-3.377-1.141v-3.077h2.141c1.083 0 1.72.539 1.72 1.513v.025c0 .923-.662 1.526-1.707 1.526h-2.154v.013zm31.385-4.538l-2.867 4.486-2.88-4.486h-1.745l.548.846v8.293h1.44v-6.011l2.612 4.05h.05l2.626-4.14v6.101h1.465v-9.139zm-61.419 0h3.76c.955 0 1.72.282 2.19.808.37.41.562.897.562 1.512v.026c0 1.09-.574 1.679-1.198 2.038.981.359 1.669.974 1.669 2.217v.026c0 1.628-1.236 2.512-3.096 2.512h-3.887v-9.139zm5.033 2.59c0-.719-.535-1.167-1.478-1.167h-2.115v2.435h2.013c.956 0 1.58-.41 1.58-1.243v-.026zm-1.248 2.627h-2.345v2.512h2.447c1.006 0 1.618-.423 1.618-1.243v-.026c0-.794-.56-1.243-1.72-1.243zm6.69.321l-3.339-5.538h1.758l2.332 4.038 2.383-4.038h1.682l-3.326 5.499v3.64h-1.478v-3.601z\\\"/></g><g fill-rule=\\\"nonzero\\\"><g fill=\\\"#FFF\\\" opacity=\\\".55\\\"><path fill-opacity=\\\".5\\\" d=\\\"M166.008 12.971l-11.319-6.875-1.887 1.148-4.461 15.195 22.31 11.01 6.676-13.586zm-29.282 4.086L120.06 27.18c.771 14.375 2.855 23.892 8.728 35.378.18.361.721 1.182.721 1.182l7.005-1.904 11.86-39.365-11.319-5.58-.328.165z\\\"/><path fill-opacity=\\\".3\\\" d=\\\"M148.357 22.455l-11.32-5.595 3.43-2.084 12.335-7.515z\\\"/><path fill-opacity=\\\".5\\\" d=\\\"M170.667 33.466l-10.81 21.922-.05.082 26.953-8.138c.557-2.002.853-3.233 1.23-5.317l-17.29-8.533-.033-.016z\\\"/><path fill-opacity=\\\".3\\\" d=\\\"M189.335 27.181v.968c-.05 4.71-.476 9.222-1.263 13.554l-.05.296-17.339-8.55 6.677-13.586 11.975 7.318z\\\"/><path fill-opacity=\\\".5\\\" d=\\\"M159.807 55.47l-23.327 6.35-2.526 8.468s1.329 1.756 3.215 3.856c7.645 7.647 9.22 8.5 9.22 8.5l13.418-27.174\\\"/><path fill-opacity=\\\".3\\\" d=\\\"M136.497 61.82l-7.005 1.904a64.281 64.281 0 0 0 4.478 6.547l2.527-8.45m9.891 20.806c3.527 2.675 6.53 4.398 8.252 5.3 3.15-1.64 10.45-5.972 17.503-13.767l-12.352-18.69-13.403 27.157z\\\"/><path fill-opacity=\\\".7\\\" d=\\\"M186.76 47.332l-26.953 8.138 12.353 18.69c.049-.049.098-.098.13-.147a.737.737 0 0 0 .1-.115c.016-.017.016-.033.032-.033.033-.05.082-.082.115-.131l.016-.017c.05-.049.082-.098.132-.147a66.45 66.45 0 0 0 4.478-5.661c.016-.017.033-.033.05-.066a.358.358 0 0 1 .065-.082c.016-.033.049-.066.065-.099.017-.016.033-.049.05-.065.032-.033.049-.082.082-.115.016-.017.016-.033.032-.05 3.806-5.513 6.693-11.519 8.662-18.016l.295-.985.296-1.1z\\\"/><path fill-opacity=\\\".7\\\" d=\\\"M148.357 22.455l-11.86 39.366 23.31-6.35 10.86-22.005-22.31-11.01\\\"/><path fill-opacity=\\\".4\\\" d=\\\"M120.06 27.181l28.297-4.726-6.578 21.808z\\\"/></g><g transform=\\\"translate(116.385 2)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#a)\\\" xlink:href=\\\"#b\\\"/><use fill=\\\"#FFF\\\" fill-rule=\\\"evenodd\\\" xlink:href=\\\"#b\\\"/></g></g><g fill=\\\"#FFF\\\"><path d=\\\"M149.466 27.852v4.626H130.86v9.253h18.607v4.625l9.273-9.252z\\\"/><path fill-opacity=\\\".7\\\" d=\\\"M178.745 43.824l-18.608-.001v-4.625l-9.271 9.252 9.27 9.251v-4.625h18.609\\\"/></g></g></svg>\",\n    \"cryptobox-by-ercom-colorful\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 565.465 279.138\\\"><path fill=\\\"#1A375D\\\" d=\\\"M294.702 268.167v-.064c0-6.072 4.541-11.043 11.008-11.043 3.934 0 6.307 1.373 8.36 3.322l-2.415 2.775c-1.716-1.588-3.542-2.648-5.981-2.648-4.056 0-7.042 3.346-7.042 7.533v.061c0 4.182 2.95 7.563 7.042 7.563 2.625 0 4.31-1.041 6.136-2.746l2.411 2.449c-2.243 2.309-4.666 3.77-8.656 3.77-6.232-.001-10.863-4.849-10.863-10.972zM316.451 268.167v-.064c0-6.012 4.636-11.043 11.2-11.043 6.56 0 11.135 4.971 11.135 10.982v.061c0 6.018-4.639 11.035-11.201 11.035-6.552 0-11.134-4.967-11.134-10.971zm18.402 0v-.064c0-4.152-3.021-7.594-7.269-7.594-4.235 0-7.193 3.379-7.193 7.533v.061c0 4.145 3.005 7.563 7.26 7.563 4.247-.001 7.202-3.356 7.202-7.499zM257.465 275.419v-5.731h10.716v-3.355h-10.716v-5.555h12.081v-3.349h-17.23l1.399 1.963v19.384h15.98v-3.357zM286.957 270.692c2.953-.857 5.062-2.959 5.062-6.457v-.078c0-1.865-.643-3.443-1.766-4.602-1.383-1.342-3.487-2.127-6.176-2.127h-10.831l1.312 1.883v19.465h3.75v-7.438h4.711l5.245 7.438h4.45l-5.757-8.084zm-8.65-2.675v-7.172h5.475c2.769 0 4.414 1.246 4.414 3.537v.064c0 2.158-1.702 3.57-4.389 3.57h-5.5zM360.12 257.429l-7.335 10.478-7.379-10.478h-4.451l1.392 1.972v19.375h3.684v-14.035l6.683 9.436h.138l6.727-9.658v14.257h3.758v-21.347z\\\"/><g fill=\\\"#1A375D\\\"><path d=\\\"M202.129 257.261h9.629c2.457 0 4.392.666 5.609 1.902.956.947 1.448 2.107 1.448 3.559v.059c0 2.574-1.474 3.957-3.068 4.787 2.514.848 4.263 2.293 4.263 5.213v.059c0 3.832-3.155 5.887-7.942 5.887h-9.939v-21.466zm12.917 6.068c0-1.682-1.357-2.725-3.776-2.725h-5.43v5.713h5.144c2.434 0 4.062-.963 4.062-2.918v-.07zm-3.213 6.162h-5.992v5.889h6.261c2.568 0 4.131-.998 4.131-2.936v-.059c-.001-1.82-1.434-2.894-4.4-2.894zM229.678 270.274l-8.54-13.014h4.492l5.968 9.477 6.085-9.477h4.32l-8.53 12.908v8.557h-3.796v-8.451z\\\"/></g><g><path fill=\\\"#75879E\\\" d=\\\"M244.664 17.694l-17.705 17.703h17.705z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M226.96 17.697l-17.703 17.697h17.703z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M244.664 17.697L226.96 35.394V17.697z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M244.664 17.697l17.694 17.697h-17.694z\\\"/><path fill=\\\"#A3AFBE\\\" d=\\\"M244.664 17.697l17.694 17.697V17.697z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M226.96 35.394l17.697 17.702H226.96z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M262.358 35.394l-17.694 17.702h17.694z\\\"/><path fill=\\\"#A3AFBE\\\" d=\\\"M262.358 35.394l-17.694 17.702V35.394z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M262.358 0l17.705 17.697h-17.705z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M280.063 17.69l-17.705 17.704h17.705z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M280.06 17.697l-17.702 17.697V17.697z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M262.358 70.787l17.702-17.693h-17.702zM280.06 53.094l-17.702-17.7h17.702z\\\"/><path fill=\\\"#A3AFBE\\\" d=\\\"M280.06 53.094l-17.702-17.7v17.7z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M280.06 53.094l17.701-17.7H280.06z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M297.769 35.394l-17.706-17.697v17.697z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M220.281 37.971l-17.697 17.7h17.697z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M220.281 16.584l-17.697 17.704V16.584zM207.339 44.26l-17.703-17.701V44.26z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M226.968 35.394l17.696 17.702V35.394z\\\"/><g><path fill=\\\"#28B0E4\\\" d=\\\"M320.801 96.5l17.703-17.704h-17.703z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M338.504 96.498l17.704-17.699h-17.704z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M320.801 96.498l17.703-17.699v17.699z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M320.801 96.498l-17.696-17.699h17.696z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M320.801 96.498l-17.696-17.699v17.699zM338.504 78.802l-17.696-17.701h17.696z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M303.105 78.799l17.696-17.701h-17.696z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M303.105 78.799l17.696-17.701v17.701z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M303.105 114.191l-17.702-17.693h17.702z\\\"/><path fill=\\\"#28B0E4\\\" d=\\\"M285.403 96.5l17.702-17.701h-17.702z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M285.407 96.498l17.698-17.699v17.699z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M303.105 43.406l-17.698 17.698h17.698zM285.407 61.104l17.698 17.695h-17.698z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M285.407 61.104l17.698 17.695V61.104zM285.407 61.098l-17.703 17.701h17.703z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M267.695 78.799l17.708 17.699V78.799z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M345.184 76.225l17.695-17.702h-17.695z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M345.184 97.61l17.695-17.703V97.61z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M358.126 69.935l17.706 17.701V69.935z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M338.497 78.799l-17.696-17.701v17.701z\\\"/></g></g><g><path fill=\\\"#1A375D\\\" d=\\\"M0 179.308v-.178c0-17.575 13.16-31.97 31.882-31.97 11.394 0 18.282 3.974 24.199 9.626l-6.977 8.036c-4.945-4.592-10.245-7.683-17.31-7.683-11.746 0-20.402 9.714-20.402 21.814v.176c0 12.1 8.567 21.902 20.402 21.902 7.595 0 12.452-3.004 17.752-7.947l6.977 7.064c-6.447 6.711-13.512 10.951-25.082 10.951C13.424 211.101 0 197.058 0 179.308zM144.887 185.665l-24.553-37.445h12.895l17.222 27.289 17.487-27.289h12.452l-24.552 37.182v24.639h-10.951v-24.376zM301.502 179.308v-.178c0-17.398 13.425-31.97 32.413-31.97 18.986 0 32.234 14.395 32.234 31.794v.176c0 17.398-13.425 31.971-32.41 31.971-18.988 0-32.237-14.397-32.237-31.793zm53.257 0v-.178c0-12.012-8.746-21.99-21.02-21.99-12.278 0-20.844 9.803-20.844 21.814v.176c0 12.012 8.743 21.902 21.02 21.902 12.276 0 20.844-9.715 20.844-21.724zM217.178 148.22h-28.387l4.011 5.715v56.105h10.863v-19.871h12.276c13.601 0 24.728-7.242 24.728-21.107v-.176c0-12.453-9.007-20.666-23.491-20.666zm12.452 21.105c0 6.447-5.123 11.041-13.336 11.041h-12.629V158.11h12.629c8.125 0 13.336 3.798 13.336 11.039v.176zM103.774 186.638c8.567-2.473 14.661-8.568 14.661-18.724v-.177c0-5.387-1.854-9.979-5.122-13.337-3.974-3.885-10.068-6.181-17.84-6.181H63.908l4.01 5.715v56.105h10.863V188.49h13.602l15.19 21.549h12.895l-16.694-23.401zm-24.993-7.774V158.11h15.81c8.037 0 12.806 3.621 12.806 10.246v.176c0 6.271-4.946 10.332-12.718 10.332H78.781z\\\"/><path fill=\\\"#26AFE2\\\" d=\\\"M417.089 177.894c4.591-2.385 8.831-6.357 8.831-13.777v-.178c0-4.15-1.413-7.506-4.15-10.244-3.534-3.532-9.098-5.475-16.161-5.475h-31.744l4.011 5.715v56.105h28.616c13.775 0 22.872-5.916 22.872-16.955v-.176c0-8.39-5.033-12.543-12.275-15.015zm-28.526-20.049h15.632c6.978 0 10.861 3.004 10.861 7.861v.176c0 5.654-4.681 8.391-11.658 8.391h-14.835v-16.428zm29.939 34.09c0 5.564-4.507 8.48-11.924 8.48h-18.016v-16.957h17.222c8.564 0 12.718 3.09 12.718 8.301v.176zM438.905 179.308v-.178c0-17.398 13.425-31.97 32.413-31.97 18.986 0 32.234 14.395 32.234 31.794v.176c0 17.398-13.425 31.971-32.41 31.971-18.989 0-32.237-14.397-32.237-31.793zm53.257 0v-.178c0-12.012-8.745-21.99-21.02-21.99-12.278 0-20.846 9.803-20.846 21.814v.176c0 12.012 8.744 21.902 21.021 21.902 12.276 0 20.845-9.715 20.845-21.724zM564.583 148.22l-21.55 30.203 22.433 31.617h-12.805l-16.339-23.578-16.252 23.578h-12.451l22.343-31.439-21.459-30.381h12.805l15.368 22.434 15.455-22.434h12.452z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M266.991 158.287h-19.606V148.22h50.164v10.067h-19.605v51.753h-10.952v-51.753z\\\"/></g></svg>\",\n    \"cryptobox-by-ercom-white\": \"<svg viewBox=\\\"0 0 233 117\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><g fill-rule=\\\"nonzero\\\" fill=\\\"#FFF\\\"><path opacity=\\\".55\\\" d=\\\"M100.827 7.312l-7.343 7.316h7.343z\\\"/><path opacity=\\\".35\\\" d=\\\"M93.484 7.313l-7.344 7.314h7.344z\\\"/><path opacity=\\\".25\\\" d=\\\"M100.827 7.313l-7.343 7.314V7.313z\\\"/><path opacity=\\\".45\\\" d=\\\"M100.827 7.313l7.341 7.314h-7.341z\\\"/><path opacity=\\\".3\\\" d=\\\"M100.827 7.313l7.341 7.314V7.313z\\\"/><path d=\\\"M93.484 14.627l7.341 7.316h-7.341z\\\" opacity=\\\".35\\\"/><path opacity=\\\".45\\\" d=\\\"M108.168 14.632l-7.341 7.316h7.341z\\\"/><path opacity=\\\".25\\\" d=\\\"M108.168 14.627l-7.341 7.316v-7.316z\\\"/><path opacity=\\\".45\\\" d=\\\"M108.168 0l7.344 7.313h-7.344z\\\"/><path opacity=\\\".65\\\" d=\\\"M115.512 7.311l-7.344 7.316h7.344z\\\"/><path opacity=\\\".25\\\" d=\\\"M115.511 7.313l-7.342 7.314V7.313z\\\"/><path opacity=\\\".45\\\" d=\\\"M108.168 29.253l7.342-7.312h-7.342zM115.51 21.94l-7.342-7.313h7.342z\\\"/><path opacity=\\\".35\\\" d=\\\"M115.51 21.94l-7.342-7.313v7.314z\\\"/><path opacity=\\\".25\\\" d=\\\"M115.51 21.942l7.345-7.315h-7.345z\\\"/><path opacity=\\\".35\\\" d=\\\"M122.857 14.627l-7.345-7.314v7.314z\\\"/><path opacity=\\\".25\\\" d=\\\"M90.713 15.692l-7.341 7.315h7.341zM90.713 6.854l-7.341 7.316V6.854z\\\"/><path opacity=\\\".15\\\" d=\\\"M85.344 18.29L78 10.976v7.314z\\\"/><path opacity=\\\".45\\\" d=\\\"M93.487 14.627l7.34 7.316v-7.316z\\\"/><path opacity=\\\".51\\\" d=\\\"M132.412 39.88l7.344-7.316h-7.344z\\\"/><path opacity=\\\".9\\\" d=\\\"M139.756 39.879l7.344-7.314h-7.344z\\\"/><path d=\\\"M132.412 39.879l7.344-7.314v7.314z\\\"/><path opacity=\\\".9\\\" d=\\\"M132.412 39.879l-7.34-7.314h7.34z\\\"/><path opacity=\\\".51\\\" d=\\\"M132.412 39.879l-7.34-7.314v7.314zM139.756 32.566l-7.342-7.316h7.342z\\\"/><path d=\\\"M125.071 32.565l7.34-7.316h-7.34z\\\"/><path opacity=\\\".51\\\" d=\\\"M125.071 32.565l7.34-7.316v7.316z\\\"/><path opacity=\\\".72\\\" d=\\\"M125.071 47.192l-7.344-7.313h7.344v7.313\\\"/><path opacity=\\\".72\\\" d=\\\"M117.727 39.88l7.344-7.315h-7.344z\\\"/><path opacity=\\\".95\\\" d=\\\"M117.729 39.879l7.342-7.314v7.314z\\\"/><path opacity=\\\".9\\\" d=\\\"M125.071 17.939l-7.342 7.312h7.342z\\\"/><g><path opacity=\\\".9\\\" d=\\\"M117.729 25.251l7.342 7.314h-7.342z\\\"/><path opacity=\\\".48\\\" d=\\\"M117.729 25.251l7.342 7.314v-7.314z\\\"/></g><path opacity=\\\".72\\\" d=\\\"M117.729 25.25l-7.344 7.315h7.344z\\\"/><path d=\\\"M110.383 32.565l7.344 7.314v-7.314z\\\"/><path opacity=\\\".9\\\" d=\\\"M142.884 31.5l7.341-7.315h-7.34z\\\"/><path opacity=\\\".72\\\" d=\\\"M142.527 40.338l7.34-7.316v7.316zM147.896 28.901l7.344 7.315v-7.315z\\\"/><path opacity=\\\".9\\\" d=\\\"M139.753 32.565l-7.341-7.316v7.316z\\\"/><g><path d=\\\"M121.32 112.046v-.026c0-2.524 1.88-4.588 4.556-4.588 1.63 0 2.611.57 3.461 1.38l-.999 1.153c-.71-.66-1.466-1.1-2.476-1.1-1.678 0-2.915 1.39-2.915 3.128v.027c0 1.736 1.222 3.139 2.915 3.139 1.086 0 1.784-.432 2.54-1.141l.997 1.018c-.926.96-1.931 1.566-3.583 1.566-2.578 0-4.495-2.013-4.495-4.556zM130.323 112.046v-.026c0-2.498 1.919-4.589 4.636-4.589 2.716 0 4.61 2.065 4.61 4.562v.027c0 2.498-1.921 4.582-4.636 4.582-2.713 0-4.61-2.062-4.61-4.556zm7.618 0v-.026c0-1.725-1.251-3.155-3.008-3.155-1.755 0-2.979 1.403-2.979 3.128v.027c0 1.72 1.245 3.138 3.005 3.138 1.757 0 2.982-1.392 2.982-3.112zM105.906 115.058v-2.381h4.435v-1.393h-4.435v-2.308h5.001v-1.39h-7.132l.58.816v8.048h6.613v-1.392zM118.114 113.093c1.222-.354 2.095-1.229 2.095-2.682v-.032c0-.774-.265-1.429-.73-1.91-.574-.558-1.445-.884-2.557-.884h-4.484l.544.782v8.083h1.552v-3.087h1.95l2.17 3.087h1.843l-2.383-3.357zm-3.58-1.11v-2.98h2.266c1.145 0 1.827.52 1.827 1.47v.027c0 .897-.704 1.483-1.817 1.483h-2.276zM148.4 107.585l-3.037 4.352-3.053-4.352h-1.843l.576.82v8.045h1.525v-5.828l2.766 3.92h.056l2.786-4.012v5.92h1.556v-8.865zM83 107.515h3.986c1.017 0 1.818.277 2.321.79.396.394.6.877.6 1.48v.022c0 1.07-.61 1.644-1.27 1.989 1.041.351 1.765.953 1.765 2.165v.026c0 1.59-1.306 2.444-3.288 2.444H83v-8.916zm5.347 2.521c0-.697-.562-1.131-1.563-1.131h-2.248v2.371h2.13c1.007 0 1.68-.4 1.68-1.212v-.028zm-1.33 2.56h-2.481v2.446h2.591c1.064 0 1.711-.416 1.711-1.22v-.025c0-.756-.593-1.202-1.822-1.202zM94.404 112.92l-3.535-5.405h1.86l2.47 3.936 2.52-3.936h1.787l-3.53 5.362v3.554h-1.572z\\\"/></g><g><path d=\\\"M171.699 73.505c1.89-.97 3.636-2.587 3.636-5.606v-.072c0-1.69-.583-3.054-1.709-4.168-1.455-1.438-3.745-2.228-6.653-2.228h-13.068l1.652 2.325v22.83h11.78c5.67 0 9.415-2.409 9.415-6.9v-.072c0-3.414-2.072-5.102-5.053-6.11zm-11.743-8.158h6.435c2.873 0 4.47 1.222 4.47 3.199v.072c0 2.3-1.926 3.415-4.798 3.415h-6.107v-6.686zm12.325 13.872c0 2.263-1.856 3.45-4.909 3.45h-7.416v-6.9h7.089c3.525 0 5.236 1.257 5.236 3.378v.072zM180.68 74.08v-.072c0-7.08 5.526-13.008 13.343-13.008 7.816 0 13.27 5.857 13.27 12.936v.073c0 7.079-5.527 13.009-13.343 13.009s-13.27-5.858-13.27-12.938zm21.923 0v-.072c0-4.888-3.6-8.948-8.653-8.948-5.054 0-8.581 3.988-8.581 8.876v.072c0 4.887 3.6 8.912 8.653 8.912 5.054 0 8.581-3.952 8.581-8.84zM232.417 61.431l-8.872 12.29 9.235 12.865h-5.271l-6.727-9.595-6.69 9.595h-5.126l9.199-12.793-8.835-12.362h5.272l6.326 9.128 6.362-9.128z\\\"/><path d=\\\"M0 74.08v-.072C0 66.858 5.417 61 13.125 61c4.69 0 7.526 1.617 9.961 3.916l-2.872 3.27c-2.036-1.868-4.217-3.126-7.126-3.126-4.835 0-8.398 3.953-8.398 8.876v.073c0 4.923 3.526 8.912 8.398 8.912 3.126 0 5.126-1.223 7.308-3.234l2.872 2.874c-2.654 2.73-5.562 4.456-10.325 4.456C5.526 87.017 0 81.303 0 74.08zM59.644 76.668L49.537 61.43h5.308l7.09 11.104 7.198-11.104h5.126L64.152 76.56v10.026h-4.508zM124.117 74.08v-.072c0-7.08 5.526-13.008 13.343-13.008 7.815 0 13.27 5.857 13.27 12.936v.073c0 7.079-5.527 13.009-13.343 13.009-7.817 0-13.27-5.858-13.27-12.938zm21.923 0v-.072c0-4.888-3.6-8.948-8.653-8.948-5.054 0-8.58 3.988-8.58 8.876v.072c0 4.887 3.599 8.912 8.652 8.912 5.054 0 8.581-3.952 8.581-8.84zM89.404 61.431H77.718l1.651 2.325v22.83h4.471V78.5h5.054c5.6 0 10.18-2.946 10.18-8.588v-.072c0-5.067-3.708-8.409-9.67-8.409zm5.126 8.588c0 2.623-2.109 4.493-5.49 4.493h-5.2v-9.056h5.2c3.345 0 5.49 1.545 5.49 4.491v.072zM42.72 77.063c3.526-1.006 6.035-3.486 6.035-7.618v-.072c0-2.193-.764-4.06-2.109-5.427-1.636-1.58-4.144-2.515-7.344-2.515H26.308l1.651 2.325v22.83h4.472v-8.768h5.599l6.253 8.768h5.309l-6.873-9.523zM32.43 73.9v-8.445h6.509c3.309 0 5.272 1.472 5.272 4.168v.072c0 2.552-2.036 4.205-5.236 4.205h-6.544zM109.91 65.528h-8.071V61.43h20.65v4.097h-8.07v21.058h-4.51z\\\" opacity=\\\".6\\\"/></g></g></svg>\",\n    \"cryptobox-colorful\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 565.465 63.94\\\"><path fill=\\\"#1A375D\\\" d=\\\"M0 32.147v-.177C0 14.395 13.16 0 31.882 0c11.394 0 18.282 3.974 24.199 9.625l-6.977 8.037c-4.945-4.592-10.245-7.683-17.31-7.683-11.746 0-20.402 9.714-20.402 21.814v.177c0 12.099 8.567 21.902 20.402 21.902 7.595 0 12.452-3.004 17.752-7.947l6.977 7.064C50.076 59.7 43.011 63.94 31.441 63.94 13.424 63.94 0 49.897 0 32.147zM144.887 38.505L120.334 1.06h12.895l17.222 27.29 17.487-27.29h12.452l-24.552 37.182V62.88h-10.951V38.505zM301.502 32.147v-.177c0-17.399 13.425-31.97 32.413-31.97 18.986 0 32.234 14.395 32.234 31.793v.177c0 17.398-13.425 31.97-32.41 31.97-18.988 0-32.237-14.396-32.237-31.793zm53.257 0v-.177c0-12.012-8.746-21.991-21.02-21.991-12.278 0-20.844 9.803-20.844 21.814v.177c0 12.011 8.743 21.902 21.02 21.902 12.276 0 20.844-9.715 20.844-21.725zM217.178 1.06h-28.387l4.011 5.714V62.88h10.863V43.009h12.276c13.601 0 24.728-7.242 24.728-21.107v-.176c0-12.454-9.007-20.666-23.491-20.666zm12.452 21.106c0 6.447-5.123 11.041-13.336 11.041h-12.629V10.951h12.629c8.125 0 13.336 3.797 13.336 11.039v.176zM103.774 39.478c8.567-2.473 14.661-8.568 14.661-18.724v-.176c0-5.388-1.854-9.98-5.122-13.337-3.974-3.885-10.068-6.181-17.84-6.181H63.908l4.01 5.714V62.88h10.863V41.331h13.602l15.19 21.549h12.895l-16.694-23.402zm-24.993-7.773V10.951h15.81c8.037 0 12.806 3.62 12.806 10.245v.176c0 6.271-4.946 10.333-12.718 10.333H78.781z\\\"/><path fill=\\\"#26AFE2\\\" d=\\\"M417.089 30.733c4.591-2.384 8.831-6.357 8.831-13.777v-.177c0-4.151-1.413-7.506-4.15-10.244-3.534-3.532-9.098-5.475-16.161-5.475h-31.744l4.011 5.714V62.88h28.616c13.775 0 22.872-5.916 22.872-16.955v-.176c0-8.391-5.033-12.543-12.275-15.016zm-28.526-20.049h15.632c6.978 0 10.861 3.004 10.861 7.861v.176c0 5.654-4.681 8.391-11.658 8.391h-14.835V10.684zm29.939 34.09c0 5.564-4.507 8.48-11.924 8.48h-18.016V36.298h17.222c8.564 0 12.718 3.09 12.718 8.301v.175zM438.905 32.147v-.177C438.905 14.571 452.33 0 471.318 0c18.986 0 32.234 14.395 32.234 31.793v.177c0 17.398-13.425 31.97-32.41 31.97-18.989 0-32.237-14.396-32.237-31.793zm53.257 0v-.177c0-12.012-8.745-21.991-21.02-21.991-12.278 0-20.846 9.803-20.846 21.814v.177c0 12.011 8.744 21.902 21.021 21.902 12.276 0 20.845-9.715 20.845-21.725zM564.583 1.06l-21.55 30.204 22.433 31.617h-12.805l-16.339-23.578L520.07 62.88h-12.451l22.343-31.44-21.46-30.38h12.805l15.368 22.433L552.13 1.06h12.453z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M266.991 11.127h-19.606V1.06h50.164v10.067h-19.605V62.88h-10.952V11.127z\\\"/></svg>\",\n    \"cryptobox-full-grey\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"129.324 422.466 699.999 110.95\\\"><path opacity=\\\".5\\\" d=\\\"M291.432 466.389v-.168c0-16.719 12.519-30.411 30.327-30.411 10.839 0 17.391 3.78 23.02 9.155l-6.637 7.645c-4.704-4.368-9.746-7.309-16.466-7.309-11.174 0-19.407 9.24-19.407 20.751v.168c0 11.51 8.148 20.833 19.407 20.833 7.225 0 11.845-2.857 16.886-7.559l6.637 6.719c-6.133 6.385-12.853 10.418-23.858 10.418-17.14.002-29.909-13.357-29.909-30.242zM429.254 472.438l-23.356-35.62h12.267l16.382 25.959 16.634-25.959h11.845l-23.354 35.367v23.439h-10.417l-.001-23.186zM578.232 466.389v-.168c0-16.551 12.771-30.411 30.834-30.411 18.06 0 30.661 13.693 30.661 30.243v.168c0 16.549-12.771 30.412-30.829 30.412-18.062 0-30.666-13.695-30.666-30.244zm50.66 0v-.168c0-11.426-8.319-20.919-19.996-20.919-11.679 0-19.827 9.325-19.827 20.751v.168c0 11.426 8.315 20.833 19.996 20.833 11.677.002 19.827-9.24 19.827-20.665zM498.02 436.818h-27.003l3.815 5.435v53.37h10.332v-18.901h11.678c12.938 0 23.523-6.889 23.523-20.078v-.167c.001-11.846-8.568-19.659-22.345-19.659zm11.845 20.077c0 6.133-4.873 10.503-12.686 10.503h-12.014v-21.171h12.014c7.729 0 12.686 3.612 12.686 10.501v.167zM390.146 473.361c8.149-2.352 13.946-8.148 13.946-17.81v-.169c0-5.125-1.764-9.492-4.873-12.687-3.779-3.695-9.576-5.879-16.97-5.879h-30.025l3.814 5.435v53.371h10.333v-20.497h12.938l14.449 20.499h12.267l-15.879-22.263zm-23.776-7.392v-19.742h15.039c7.646 0 12.182 3.443 12.182 9.745v.168c0 5.965-4.705 9.829-12.098 9.829H366.37z\\\"/><path fill=\\\"#BABABA\\\" d=\\\"M688.184 465.044c4.366-2.268 8.399-6.046 8.399-13.105v-.168c0-3.947-1.343-7.14-3.947-9.744-3.361-3.359-8.655-5.208-15.372-5.208h-30.195l3.814 5.435v53.37h27.222c13.103 0 21.755-5.628 21.755-16.128v-.169c-.001-7.981-4.789-11.93-11.676-14.283zm-27.137-19.071h14.871c6.637 0 10.331 2.857 10.331 7.478v.168c0 5.378-4.454 7.981-11.09 7.981h-14.112v-15.627zm28.48 32.428c0 5.292-4.286 8.065-11.342 8.065h-17.139v-16.13h16.384c8.146 0 12.097 2.939 12.097 7.897v.168zM708.934 466.389v-.168c0-16.551 12.771-30.411 30.833-30.411 18.06 0 30.662 13.693 30.662 30.243v.168c0 16.549-12.771 30.412-30.83 30.412-18.063 0-30.665-13.695-30.665-30.244zm50.661 0v-.168c0-11.426-8.319-20.919-19.996-20.919-11.679 0-19.829 9.325-19.829 20.751v.168c0 11.426 8.317 20.833 19.996 20.833 11.678.002 19.829-9.24 19.829-20.665zM828.484 436.818l-20.498 28.73 21.338 30.075h-12.181l-15.541-22.429-15.461 22.429h-11.843l21.253-29.906-20.413-28.898h12.181l14.62 21.339 14.701-21.339 11.844-.001z\\\"/><path opacity=\\\".5\\\" d=\\\"M545.403 446.395h-18.648v-9.576h47.718v9.576h-18.649v49.229h-10.418l-.003-49.229z\\\"/><g><path opacity=\\\".5\\\" d=\\\"M777.891 525.518v-.046c0-4.371 3.27-7.948 7.922-7.948 2.831 0 4.539.989 6.016 2.394l-1.736 1.998c-1.236-1.144-2.55-1.906-4.304-1.906-2.918 0-5.068 2.407-5.068 5.42v.045c0 3.01 2.12 5.441 5.068 5.441 1.887 0 3.102-.748 4.417-1.975l1.732 1.763c-1.613 1.663-3.356 2.713-6.229 2.713-4.484-.005-7.818-3.494-7.818-7.899zM793.542 525.518v-.046c0-4.327 3.337-7.948 8.063-7.948 4.719 0 8.013 3.578 8.013 7.904v.045c0 4.331-3.341 7.94-8.063 7.94-4.717-.001-8.013-3.573-8.013-7.895zm13.243 0v-.046c0-2.989-2.173-5.465-5.23-5.465-3.049 0-5.175 2.432-5.175 5.42v.045c0 2.983 2.161 5.441 5.225 5.441 3.053 0 5.18-2.413 5.18-5.395zM751.093 530.737v-4.124h7.713v-2.414h-7.713V520.2h8.695v-2.409h-12.399l1.006 1.413v13.95h11.501v-2.417zM772.316 527.336c2.124-.616 3.644-2.129 3.644-4.646v-.058c0-1.342-.46-2.477-1.269-3.311-.997-.966-2.514-1.529-4.447-1.529h-7.794l.946 1.355v14.009h2.699v-5.353h3.39l3.773 5.353h3.202l-4.144-5.82zm-6.222-1.926v-5.16h3.939c1.991 0 3.177.895 3.177 2.545v.046c0 1.555-1.226 2.57-3.157 2.57l-3.959-.001zM824.968 517.791l-5.277 7.54-5.31-7.54h-3.206l1.004 1.419v13.944h2.65v-10.1l4.809 6.79h.101l4.841-6.951v10.261h2.704v-15.363zM711.273 517.67h6.929c1.766 0 3.16.479 4.035 1.368.69.685 1.045 1.519 1.045 2.561v.043c0 1.853-1.063 2.85-2.209 3.445 1.809.61 3.068 1.649 3.068 3.751v.043c0 2.756-2.271 4.235-5.715 4.235h-7.154l.001-15.446zm9.294 4.368c0-1.21-.977-1.962-2.716-1.962h-3.905v4.111h3.701c1.753 0 2.922-.693 2.922-2.101l-.002-.048zm-2.312 4.434h-4.312v4.237h4.505c1.848 0 2.973-.717 2.973-2.112v-.044c0-1.309-1.031-2.081-3.166-2.081zM731.099 527.034l-6.146-9.364h3.23l4.295 6.821 4.38-6.821h3.109l-6.14 9.29v6.158h-2.729v-6.084h.001z\\\"/></g><g><path fill=\\\"#F0F0F0\\\" d=\\\"M248.061 480.628l13.511-13.515h-13.511z\\\"/><path opacity=\\\".5\\\" fill=\\\"#474747\\\" d=\\\"M171.317 435.969l-13.51 13.51h13.51z\\\"/><path opacity=\\\".5\\\" fill=\\\"#1A1A1A\\\" d=\\\"M157.808 435.97l-13.512 13.507h13.512z\\\"/><path opacity=\\\".5\\\" d=\\\"M171.317 435.97l-13.509 13.507V435.97z\\\"/><path opacity=\\\".5\\\" fill=\\\"#1A1A1A\\\" d=\\\"M171.317 435.97l13.506 13.507h-13.506z\\\"/><path opacity=\\\".5\\\" fill=\\\"#848484\\\" d=\\\"M171.317 435.97l13.506 13.507V435.97z\\\"/><path opacity=\\\".5\\\" fill=\\\"#474747\\\" d=\\\"M157.808 449.477l13.506 13.508h-13.506z\\\"/><path opacity=\\\".5\\\" d=\\\"M184.823 449.477l-13.506 13.508h13.506z\\\"/><path opacity=\\\".5\\\" fill=\\\"#848484\\\" d=\\\"M184.823 449.477l-13.506 13.508v-13.508z\\\"/><path opacity=\\\".5\\\" fill=\\\"#474747\\\" d=\\\"M184.823 422.466l13.511 13.504h-13.511z\\\"/><path opacity=\\\".5\\\" fill=\\\"#474747\\\" d=\\\"M198.334 435.967l-13.511 13.51h13.511z\\\"/><path opacity=\\\".5\\\" d=\\\"M198.328 435.97l-13.505 13.507V435.97z\\\"/><path opacity=\\\".5\\\" fill=\\\"#1A1A1A\\\" d=\\\"M184.823 476.486l13.505-13.505h-13.505zM198.328 462.981l-13.505-13.504h13.505z\\\"/><path opacity=\\\".5\\\" fill=\\\"#848484\\\" d=\\\"M198.328 462.981l-13.505-13.504v13.504z\\\"/><path opacity=\\\".5\\\" fill=\\\"#474747\\\" d=\\\"M198.328 462.984l13.512-13.507h-13.512z\\\"/><path opacity=\\\".5\\\" d=\\\"M211.845 449.477l-13.511-13.507v13.507z\\\"/><path opacity=\\\".5\\\" fill=\\\"#1A1A1A\\\" d=\\\"M152.711 451.443l-13.507 13.507h13.507z\\\"/><path opacity=\\\".5\\\" fill=\\\"#474747\\\" d=\\\"M152.711 435.122l-13.507 13.511v-13.511zM142.834 456.242l-13.51-13.509v13.509z\\\"/><path opacity=\\\".5\\\" fill=\\\"#1A1A1A\\\" d=\\\"M157.813 449.477l13.504 13.508v-13.508z\\\"/><g><path fill=\\\"#9E9E9E\\\" d=\\\"M229.424 496.109l13.51-13.507h-13.51z\\\"/><path fill=\\\"#E0E0E0\\\" d=\\\"M242.934 496.107l13.508-13.505h-13.508z\\\"/><path fill=\\\"#E6E6E6\\\" d=\\\"M229.424 496.107l13.51-13.505v13.505z\\\"/><path fill=\\\"#C2C2C2\\\" d=\\\"M229.424 496.107l-13.507-13.505h13.507z\\\"/><path fill=\\\"#E0E0E0\\\" d=\\\"M229.424 496.107l-13.507-13.505v13.505zM242.934 482.604l-13.505-13.51h13.505z\\\"/><path fill=\\\"#C2C2C2\\\" d=\\\"M215.917 482.602l13.507-13.509h-13.507z\\\"/><path fill=\\\"#F0F0F0\\\" d=\\\"M215.917 482.602l13.507-13.509v13.509z\\\"/><path fill=\\\"#C2C2C2\\\" d=\\\"M215.917 509.61l-13.511-13.503h13.511z\\\"/><path fill=\\\"#9E9E9E\\\" d=\\\"M202.406 496.11l13.511-13.508h-13.511z\\\"/><path fill=\\\"#F0F0F0\\\" d=\\\"M202.41 496.107l13.507-13.505v13.505z\\\"/><path fill=\\\"#C2C2C2\\\" d=\\\"M215.917 455.592l-13.507 13.505h13.507zM202.41 469.097l13.507 13.505H202.41z\\\"/><path fill=\\\"#E0E0E0\\\" d=\\\"M202.41 469.097l13.507 13.505v-13.505z\\\"/><path fill=\\\"#E6E6E6\\\" d=\\\"M202.41 469.093l-13.51 13.509h13.51z\\\"/><path fill=\\\"#DADADA\\\" d=\\\"M188.897 482.602l13.509 13.505v-13.505z\\\"/><path fill=\\\"#F0F0F0\\\" d=\\\"M248.029 496.956l13.506-13.511v13.511z\\\"/><path fill=\\\"#F6F6F6\\\" d=\\\"M257.906 475.836l13.51 13.508v-13.508z\\\"/><path fill=\\\"#C2C2C2\\\" d=\\\"M242.927 482.602l-13.503-13.509v13.509z\\\"/></g></g></svg>\",\n    \"cryptobox-full-white\": \"<svg width=\\\"200\\\" height=\\\"32\\\" viewBox=\\\"0 0 200 32\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><g fill-rule=\\\"nonzero\\\" fill=\\\"#FFF\\\"><path opacity=\\\".55\\\" d=\\\"M11.999 3.844l-3.86 3.845h3.86z\\\"/><path opacity=\\\".35\\\" d=\\\"M8.139 3.844l-3.86 3.845h3.86z\\\"/><path opacity=\\\".25\\\" d=\\\"M11.999 3.844l-3.86 3.845V3.844z\\\"/><path opacity=\\\".45\\\" d=\\\"M11.999 3.844l3.859 3.845h-3.86z\\\"/><path opacity=\\\".3\\\" d=\\\"M11.999 3.844l3.859 3.845V3.844z\\\"/><path d=\\\"M8.139 7.689l3.859 3.845h-3.86z\\\" opacity=\\\".35\\\"/><path opacity=\\\".45\\\" d=\\\"M15.858 7.691l-3.86 3.846h3.86z\\\"/><path opacity=\\\".25\\\" d=\\\"M15.858 7.689l-3.86 3.845V7.69z\\\"/><path opacity=\\\".45\\\" d=\\\"M15.858 0l3.86 3.844h-3.86z\\\"/><path opacity=\\\".65\\\" d=\\\"M19.718 3.843l-3.86 3.846h3.86z\\\"/><path opacity=\\\".25\\\" d=\\\"M19.718 3.844l-3.86 3.845V3.844z\\\"/><path opacity=\\\".45\\\" d=\\\"M15.858 15.377l3.859-3.844h-3.86zM19.717 11.533l-3.86-3.844h3.86z\\\"/><path opacity=\\\".35\\\" d=\\\"M19.717 11.533l-3.86-3.844v3.844z\\\"/><path opacity=\\\".25\\\" d=\\\"M19.717 11.534l3.86-3.845h-3.86z\\\"/><path opacity=\\\".35\\\" d=\\\"M23.578 7.689l-3.86-3.845v3.845z\\\"/><path opacity=\\\".25\\\" d=\\\"M6.683 8.248l-3.86 3.845h3.86zM6.683 3.602l-3.86 3.846V3.602z\\\"/><path opacity=\\\".15\\\" d=\\\"M3.86 9.614L0 5.77v3.845z\\\"/><path opacity=\\\".45\\\" d=\\\"M8.14 7.689L12 11.534V7.69z\\\"/><path opacity=\\\".51\\\" d=\\\"M28.601 20.963l3.86-3.846h-3.86z\\\"/><path opacity=\\\".9\\\" d=\\\"M32.462 20.962l3.86-3.845h-3.86z\\\"/><path d=\\\"M28.601 20.962l3.86-3.845v3.845z\\\"/><path opacity=\\\".9\\\" d=\\\"M28.601 20.962l-3.858-3.845H28.6z\\\"/><path opacity=\\\".51\\\" d=\\\"M28.601 20.962l-3.858-3.845v3.845zM32.462 17.118l-3.86-3.845h3.86z\\\"/><path d=\\\"M24.743 17.117l3.858-3.845h-3.858z\\\"/><path opacity=\\\".51\\\" d=\\\"M24.743 17.117l3.858-3.845v3.845z\\\"/><path opacity=\\\".72\\\" d=\\\"M24.743 24.806l-3.861-3.844h3.86v3.844\\\"/><path opacity=\\\".72\\\" d=\\\"M20.882 20.963l3.86-3.846h-3.86z\\\"/><path opacity=\\\".95\\\" d=\\\"M20.883 20.962l3.86-3.845v3.845z\\\"/><path opacity=\\\".9\\\" d=\\\"M24.743 9.43l-3.86 3.843h3.86z\\\"/><g><path opacity=\\\".9\\\" d=\\\"M20.883 13.273l3.86 3.844h-3.86z\\\"/><path opacity=\\\".48\\\" d=\\\"M20.883 13.273l3.86 3.844v-3.844z\\\"/></g><path opacity=\\\".72\\\" d=\\\"M20.883 13.272l-3.86 3.845h3.86z\\\"/><path d=\\\"M17.022 17.117l3.86 3.845v-3.845z\\\"/><path opacity=\\\".9\\\" d=\\\"M34.106 16.558l3.859-3.845h-3.86z\\\"/><path opacity=\\\".72\\\" d=\\\"M33.918 21.203l3.859-3.845v3.845zM36.74 15.192l3.86 3.845v-3.845z\\\"/><path opacity=\\\".9\\\" d=\\\"M32.46 17.117L28.6 13.272v3.845z\\\"/><g><path d=\\\"M185.306 29.542v-.013c0-1.271.947-2.312 2.295-2.312.821 0 1.315.288 1.744.696l-.504.58c-.358-.332-.738-.553-1.247-.553-.846 0-1.469.7-1.469 1.576v.013c0 .874.616 1.581 1.469 1.581.547 0 .899-.217 1.28-.574l.502.512c-.467.484-.973.79-1.806.79-1.298 0-2.264-1.015-2.264-2.296zM189.841 29.542v-.013c0-1.259.967-2.312 2.336-2.312 1.368 0 2.322 1.04 2.322 2.298v.014c0 1.259-.968 2.308-2.335 2.308s-2.323-1.039-2.323-2.295zm3.838 0v-.013c0-.87-.63-1.59-1.515-1.59-.884 0-1.5.707-1.5 1.576v.014c0 .867.626 1.581 1.513 1.581.885 0 1.502-.702 1.502-1.568zM177.54 31.06v-1.2h2.234v-.702h-2.234v-1.163h2.52v-.7h-3.594l.292.411v4.055h3.332v-.701zM183.69 30.07c.616-.179 1.056-.62 1.056-1.352v-.016c0-.39-.134-.72-.368-.962-.29-.28-.728-.445-1.288-.445h-2.259l.274.393v4.073h.782v-1.556h.982l1.094 1.556h.928l-1.2-1.691zm-1.803-.56v-1.5h1.141c.577 0 .92.26.92.74v.013c0 .452-.354.747-.915.747h-1.146zM198.948 27.295l-1.53 2.192-1.538-2.192H194.952l.29.413v4.053h.768v-2.936l1.394 1.975h.028l1.404-2.022v2.983h.783v-4.466zM166 27.26h2.008c.512 0 .916.14 1.17.398.2.198.302.441.302.745v.011c0 .54-.307.828-.64 1.002.524.177.889.48.889 1.09v.014c0 .8-.658 1.231-1.656 1.231H166V27.26zm2.694 1.27c0-.352-.283-.57-.788-.57h-1.132v1.194h1.073c.507 0 .846-.201.846-.61v-.014zm-.67 1.289h-1.25v1.232h1.305c.536 0 .862-.209.862-.614v-.013c0-.38-.299-.605-.918-.605zM171.745 29.983l-1.78-2.723h.936l1.245 1.982 1.269-1.982h.9l-1.778 2.7v1.791h-.792v-1.768z\\\"/></g><g><path d=\\\"M159.483 12.265c1.25-.641 2.403-1.71 2.403-3.705v-.048c0-1.116-.384-2.018-1.129-2.755-.962-.95-2.475-1.472-4.397-1.472h-8.637l1.091 1.536v15.09h7.786c3.748 0 6.223-1.592 6.223-4.56v-.048c0-2.256-1.369-3.373-3.34-4.038zm-7.76-5.392h4.252c1.899 0 2.955.808 2.955 2.114v.048c0 1.52-1.273 2.257-3.172 2.257h-4.036V6.873zm8.145 9.169c0 1.496-1.227 2.28-3.244 2.28h-4.902v-4.56h4.685c2.33 0 3.461.83 3.461 2.232v.048zM165.42 12.645v-.047c0-4.68 3.652-8.598 8.818-8.598 5.166 0 8.77 3.871 8.77 8.55v.048c0 4.679-3.652 8.598-8.818 8.598-5.166 0-8.77-3.872-8.77-8.55zm14.49 0v-.047c0-3.23-2.38-5.915-5.72-5.915s-5.672 2.637-5.672 5.867v.048c0 3.23 2.38 5.89 5.72 5.89s5.672-2.612 5.672-5.843zM199.614 4.285l-5.863 8.123 6.104 8.503h-3.484l-4.446-6.342-4.422 6.342h-3.388l6.08-8.456-5.84-8.17h3.485l4.18 6.033 4.206-6.033z\\\"/><path d=\\\"M46 12.645v-.047C46 7.87 49.58 4 54.675 4c3.1 0 4.974 1.069 6.584 2.588L59.36 8.75c-1.345-1.235-2.787-2.066-4.71-2.066-3.196 0-5.55 2.612-5.55 5.866v.048c0 3.254 2.33 5.89 5.55 5.89 2.067 0 3.388-.808 4.83-2.137l1.899 1.9c-1.754 1.805-3.677 2.945-6.825 2.945-4.902 0-8.554-3.777-8.554-8.55zM85.422 14.356l-6.68-10.07h3.508l4.686 7.338 4.757-7.339h3.388l-6.68 9.999v6.627h-2.98zM128.034 12.645v-.047c0-4.68 3.653-8.598 8.82-8.598 5.165 0 8.77 3.871 8.77 8.55v.048c0 4.679-3.653 8.598-8.819 8.598s-8.77-3.872-8.77-8.55zm14.49 0v-.047c0-3.23-2.38-5.915-5.719-5.915-3.34 0-5.671 2.637-5.671 5.867v.048c0 3.23 2.379 5.89 5.719 5.89 3.34 0 5.671-2.612 5.671-5.843zM105.09 4.285H97.369l1.09 1.537V20.91h2.956v-5.344h3.34c3.7 0 6.728-1.948 6.728-5.677v-.047c0-3.35-2.45-5.558-6.391-5.558zm3.389 5.676c0 1.734-1.394 2.97-3.629 2.97h-3.436V6.944h3.436c2.211 0 3.629 1.021 3.629 2.969v.047zM74.235 14.617c2.331-.665 3.99-2.304 3.99-5.036v-.047c0-1.45-.505-2.684-1.395-3.587-1.08-1.045-2.739-1.662-4.854-1.662H63.39l1.09 1.536v15.09h2.956v-5.795h3.7l4.134 5.795h3.508l-4.542-6.294zm-6.8-2.09V6.945h4.302c2.186 0 3.484.973 3.484 2.755v.048c0 1.686-1.346 2.779-3.46 2.779h-4.326zM118.644 6.992h-5.334V4.285h13.648v2.707h-5.334v13.919h-2.98z\\\" opacity=\\\".6\\\"/></g></g></svg>\",\n    \"cryptobox-grey\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 565.464 63.941\\\"><path opacity=\\\".5\\\" d=\\\"M0 32.147v-.177C0 14.395 13.16 0 31.882 0c11.394 0 18.282 3.974 24.199 9.625l-6.977 8.037c-4.945-4.592-10.245-7.683-17.31-7.683-11.746 0-20.402 9.714-20.402 21.814v.177c0 12.1 8.567 21.902 20.402 21.902 7.595 0 12.452-3.004 17.752-7.947l6.977 7.063C50.076 59.7 43.011 63.94 31.441 63.94 13.424 63.941 0 49.898 0 32.147zM144.887 38.505L120.334 1.06h12.895l17.221 27.29 17.487-27.29h12.452l-24.552 37.181v24.64h-10.951V38.505zM301.501 32.147v-.177c0-17.399 13.426-31.97 32.414-31.97 18.986 0 32.234 14.395 32.234 31.793v.177c0 17.398-13.426 31.971-32.41 31.971-18.988 0-32.238-14.397-32.238-31.794zm53.258 0v-.177c0-12.012-8.746-21.991-21.02-21.991-12.279 0-20.844 9.803-20.844 21.814v.177c0 12.011 8.742 21.902 21.02 21.902 12.276.001 20.844-9.714 20.844-21.725zM217.178 1.06h-28.387l4.011 5.714V62.88h10.862V43.009h12.277c13.601 0 24.728-7.242 24.728-21.107v-.176c.001-12.454-9.007-20.666-23.491-20.666zm12.453 21.106c0 6.447-5.123 11.041-13.336 11.041h-12.63V10.951h12.63c8.125 0 13.336 3.797 13.336 11.039v.176zM103.774 39.477c8.567-2.473 14.661-8.567 14.661-18.723v-.176c0-5.388-1.854-9.98-5.122-13.337-3.974-3.885-10.068-6.181-17.84-6.181H63.908l4.01 5.714V62.88h10.863V41.332h13.602l15.19 21.549h12.895l-16.694-23.404zm-24.993-7.772V10.951h15.81c8.037 0 12.806 3.62 12.806 10.245v.176c0 6.271-4.946 10.333-12.718 10.333H78.781z\\\"/><path fill=\\\"#BABABA\\\" d=\\\"M417.089 30.733c4.59-2.384 8.83-6.357 8.83-13.777v-.177c0-4.151-1.412-7.506-4.15-10.244-3.533-3.532-9.098-5.475-16.16-5.475h-31.744l4.01 5.714V62.88h28.617c13.775 0 22.871-5.917 22.871-16.955v-.177c0-8.39-5.033-12.541-12.274-15.015zm-28.527-20.049h15.633c6.977 0 10.861 3.004 10.861 7.861v.176c0 5.654-4.682 8.391-11.658 8.391h-14.836V10.684zm29.939 34.091c0 5.563-4.506 8.479-11.924 8.479h-18.016V36.297h17.223c8.564 0 12.717 3.09 12.717 8.302v.176zM438.904 32.147v-.177C438.904 14.571 452.33 0 471.318 0c18.986 0 32.234 14.395 32.234 31.793v.177c0 17.398-13.426 31.971-32.41 31.971-18.99 0-32.238-14.397-32.238-31.794zm53.258 0v-.177c0-12.012-8.746-21.991-21.02-21.991-12.279 0-20.846 9.803-20.846 21.814v.177c0 12.011 8.744 21.902 21.021 21.902 12.276.001 20.845-9.714 20.845-21.725zM564.582 1.06l-21.549 30.204 22.432 31.617H552.66l-16.338-23.579L520.07 62.88h-12.451l22.342-31.44-21.46-30.38h12.805l15.369 22.433L552.13 1.06h12.452z\\\"/><path opacity=\\\".5\\\" d=\\\"M266.99 11.127h-19.605V1.06h50.164v10.067h-19.605V62.88H266.99V11.127z\\\"/></svg>\",\n    \"cryptobox-white\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 565.465 63.941\\\"><path fill=\\\"#FFF\\\" d=\\\"M417.088 30.732c4.592-2.383 8.832-6.357 8.832-13.777v-.177c0-4.151-1.414-7.506-4.15-10.244-3.535-3.532-9.098-5.475-16.162-5.475h-31.744l4.012 5.714V62.88h28.615c13.775 0 22.873-5.918 22.873-16.955v-.178c0-8.39-5.033-12.54-12.276-15.015zm-28.525-20.048h15.631c6.979 0 10.861 3.003 10.861 7.861v.177c0 5.653-4.68 8.392-11.658 8.392h-14.834v-16.43zm29.939 34.091c0 5.563-4.508 8.479-11.924 8.479h-18.016V36.297h17.221c8.564 0 12.719 3.09 12.719 8.303v.175zM438.905 32.146v-.176c0-17.4 13.424-31.97 32.412-31.97 18.986 0 32.234 14.395 32.234 31.793v.178c0 17.398-13.424 31.971-32.41 31.971-18.988-.001-32.236-14.397-32.236-31.796zm53.256 0v-.176c0-12.013-8.744-21.992-21.02-21.992-12.277 0-20.846 9.802-20.846 21.814v.178c0 12.01 8.744 21.902 21.021 21.902 12.276.001 20.845-9.714 20.845-21.726zM564.583 1.06l-21.551 30.204 22.434 31.617h-12.805l-16.34-23.58-16.252 23.58h-12.451l22.344-31.441-21.46-30.38h12.805l15.367 22.433L552.129 1.06h12.454z\\\"/><path opacity=\\\".6\\\" fill=\\\"#FFF\\\" d=\\\"M0 32.146v-.176C0 14.395 13.159 0 31.882 0c11.394 0 18.282 3.974 24.199 9.625l-6.978 8.037c-4.945-4.592-10.244-7.683-17.31-7.683-11.746 0-20.401 9.714-20.401 21.814v.178c0 12.1 8.566 21.902 20.401 21.902 7.595 0 12.452-3.004 17.752-7.947l6.977 7.063C50.075 59.701 43.01 63.941 31.44 63.941 13.424 63.941 0 49.898 0 32.146zM144.887 38.506L120.334 1.06h12.895l17.223 27.29 17.486-27.29h12.452l-24.552 37.18v24.641h-10.951V38.506zM301.502 32.146v-.176c0-17.4 13.424-31.97 32.413-31.97 18.986 0 32.234 14.395 32.234 31.793v.178c0 17.398-13.424 31.971-32.41 31.971-18.989-.001-32.237-14.397-32.237-31.796zm53.256 0v-.176c0-12.013-8.746-21.992-21.02-21.992-12.277 0-20.844 9.802-20.844 21.814v.178c0 12.01 8.744 21.902 21.02 21.902s20.844-9.714 20.844-21.726zM217.178 1.06h-28.387l4.011 5.714v56.107h10.862V43.01h12.277c13.601 0 24.728-7.242 24.728-21.107v-.177c0-12.454-9.008-20.666-23.491-20.666zm12.452 21.106c0 6.447-5.122 11.041-13.336 11.041h-12.63V10.951h12.63c8.126 0 13.336 3.797 13.336 11.038v.177zM103.773 39.477c8.567-2.473 14.661-8.566 14.661-18.723v-.176c0-5.389-1.854-9.98-5.122-13.338-3.974-3.885-10.068-6.181-17.84-6.181H63.907l4.011 5.714V62.88H78.78V41.332h13.602l15.19 21.549h12.895l-16.694-23.404zM78.78 31.705V10.951h15.81c8.037 0 12.806 3.619 12.806 10.244v.177c0 6.271-4.946 10.333-12.718 10.333H78.78zM266.99 11.127h-19.605V1.06h50.163v10.067h-19.605v51.754H266.99V11.127z\\\"/></svg>\",\n    \"ercom-colorful\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 157.008 21.505\\\"><path fill=\\\"#1A375D\\\" d=\\\"M90.162 10.822v-.062C90.162 4.844 94.583 0 100.88 0c3.835 0 6.144 1.338 8.143 3.238l-2.35 2.703c-1.673-1.549-3.449-2.58-5.828-2.58-3.947 0-6.856 3.258-6.856 7.336v.063c0 4.07 2.873 7.361 6.856 7.361 2.557 0 4.2-1.012 5.979-2.674l2.348 2.387c-2.183 2.25-4.546 3.672-8.432 3.672-6.068-.001-10.578-4.723-10.578-10.684zM111.342 10.822v-.062c0-5.857 4.517-10.76 10.909-10.76 6.391 0 10.847 4.844 10.847 10.697v.063c0 5.859-4.521 10.746-10.909 10.746-6.382-.001-10.847-4.839-10.847-10.684zm17.925 0v-.062c0-4.045-2.943-7.398-7.078-7.398-4.127 0-7.008 3.291-7.008 7.336v.063c0 4.035 2.928 7.361 7.07 7.361 4.135-.001 7.016-3.269 7.016-7.3zM53.894 17.884V12.3h10.435V9.033H53.894v-5.41h11.767V.361H48.879l1.363 1.914V21.15h15.563v-3.266zM82.616 13.277c2.877-.83 4.93-2.88 4.93-6.289v-.074c0-1.816-.623-3.352-1.719-4.482-1.348-1.305-3.396-2.07-6.015-2.07H69.263l1.278 1.832V21.15h3.652v-7.242h4.587l5.109 7.242h4.336l-5.609-7.873zm-8.423-2.603V3.688h5.332c2.696 0 4.299 1.215 4.299 3.445v.063c0 2.105-1.657 3.479-4.274 3.479h-5.357zM153.874.361l-7.145 10.205L139.545.361h-4.335l1.355 1.922V21.15h3.588V7.482l6.508 9.191h.133l6.555-9.407V21.15h3.659V.361z\\\"/><g fill=\\\"#1A375D\\\"><path d=\\\"M0 .197h9.377c2.392 0 4.278.648 5.462 1.854.933.922 1.411 2.055 1.411 3.467v.055c0 2.508-1.434 3.854-2.987 4.664 2.449.824 4.151 2.234 4.151 5.076v.061c0 3.727-3.071 5.73-7.734 5.73H0V.197zm12.579 5.912c0-1.637-1.322-2.654-3.677-2.654H3.613v5.561h5.011c2.369 0 3.955-.936 3.955-2.842v-.065zm-3.13 6H3.613v5.736h6.099c2.502 0 4.025-.973 4.025-2.859v-.059c0-1.771-1.398-2.818-4.288-2.818zM26.83 12.871L18.514.197h4.375l5.813 9.229L34.629.197h4.207l-8.307 12.572v8.334H26.83v-8.232z\\\"/></g></svg>\",\n    \"ercom-white\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 155.166 21.253\\\"><g opacity=\\\".6\\\"><path fill=\\\"#FFF\\\" d=\\\"M89.104 10.694v-.061C89.104 4.785 93.474 0 99.697 0c3.79 0 6.071 1.322 8.047 3.2l-2.322 2.671c-1.653-1.531-3.409-2.549-5.759-2.549-3.901 0-6.777 3.22-6.777 7.25v.062c0 4.022 2.841 7.274 6.777 7.274 2.525 0 4.15-1.001 5.908-2.644l2.318 2.359c-2.155 2.225-4.492 3.629-8.333 3.629-5.994.001-10.452-4.665-10.452-10.558zM110.036 10.694v-.061c0-5.789 4.462-10.634 10.78-10.634 6.316 0 10.72 4.785 10.72 10.572v.062c0 5.79-4.468 10.619-10.78 10.619-6.308.001-10.72-4.779-10.72-10.558zm17.715 0v-.061c0-3.998-2.91-7.312-6.995-7.312-4.08 0-6.926 3.252-6.926 7.25v.062c0 3.987 2.893 7.274 6.986 7.274 4.086.001 6.935-3.228 6.935-7.213zM53.262 17.674v-5.518h10.312V8.928H53.262V3.579h11.629V.356H48.306l1.347 1.892v18.653h15.379v-3.227zM81.647 13.121c2.843-.821 4.872-2.848 4.872-6.216v-.074c0-1.793-.616-3.311-1.698-4.428C83.487 1.112 81.463.356 78.876.356H68.451l1.263 1.811v18.734h3.609v-7.156h4.534l5.048 7.156h4.285l-5.543-7.78zm-8.324-2.573V3.644h5.27c2.663 0 4.248 1.201 4.248 3.404v.063c0 2.078-1.638 3.437-4.225 3.437h-5.293zM152.068.356l-7.06 10.085-7.1-10.085h-4.285l1.34 1.9v18.645h3.546V7.394l6.431 9.084h.131l6.478-9.298v13.721h3.617V.356z\\\"/><g fill=\\\"#FFF\\\"><path d=\\\"M0 .194h9.268c2.364 0 4.227.642 5.398 1.831.921.912 1.395 2.032 1.395 3.428v.053c0 2.479-1.418 3.809-2.953 4.608 2.42.815 4.103 2.209 4.103 5.017v.062c0 3.683-3.036 5.663-7.644 5.663H0V.194zm12.432 5.842c0-1.616-1.306-2.622-3.633-2.622H3.571V8.91h4.952c2.342 0 3.908-.926 3.908-2.81v-.064zm-3.093 5.931H3.571v5.669h6.026c2.474 0 3.978-.962 3.978-2.825v-.059c0-1.751-1.38-2.785-4.236-2.785zM26.516 12.72L18.297.194h4.324l5.744 9.12 5.858-9.12h4.157l-8.21 12.425v8.236h-3.654V12.72z\\\"/></g></g></svg>\",\n    \"group-3\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"80\\\" height=\\\"93\\\" viewBox=\\\"0 0 80 93\\\"><defs><path id=\\\"b\\\" d=\\\"M37.895 88.54l-.824-.363c-.391-.167-9.838-4.315-19.116-14.322-5.422-5.86-9.698-12.541-12.689-19.877A69.06 69.06 0 0 1 1.27 40.254C.306 35.034-.114 29.508.026 23.829l.028-1.14L37.895 0l1.076.64 36.78 22.048.028 1.141c.14 5.68-.28 11.205-1.244 16.439-.88 4.76-2.222 9.381-3.997 13.724A66.206 66.206 0 0 1 57.836 73.87c-9.279 10.02-18.71 14.154-19.102 14.32l-.839.348zM4.19 25.067c-.055 4.983.35 9.841 1.188 14.42.825 4.482 2.082 8.811 3.76 12.89a61.815 61.815 0 0 0 11.877 18.61 65.168 65.168 0 0 0 6.47 6.082 61.61 61.61 0 0 0 5.687 4.148 49.335 49.335 0 0 0 4.751 2.728 48.704 48.704 0 0 0 4.765-2.742 63.556 63.556 0 0 0 5.688-4.148 65.015 65.015 0 0 0 6.456-6.083 61.815 61.815 0 0 0 11.878-18.61 65.6 65.6 0 0 0 3.745-12.889c.838-4.593 1.243-9.437 1.187-14.42-5.1-3.062-28.409-17.037-33.719-20.21L4.19 25.068z\\\"/><filter id=\\\"a\\\" width=\\\"109.2%\\\" height=\\\"107.9%\\\" x=\\\"-4.6%\\\" y=\\\"-2.8%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"1\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"1\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.35 0\\\"/></filter></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><g fill-rule=\\\"nonzero\\\"><g fill=\\\"#FFF\\\" opacity=\\\".55\\\"><path fill-opacity=\\\".5\\\" d=\\\"M50.866 11.79L39.693 5.027l-1.862 1.13L33.426 21.1l22.022 10.828 6.59-13.361zm-28.904 4.017L5.51 25.764c.761 14.136 2.818 23.495 8.615 34.791.178.355.712 1.162.712 1.162l6.915-1.872 11.707-38.712-11.173-5.487-.324.161z\\\"/><path fill-opacity=\\\".3\\\" d=\\\"M33.443 21.116L22.27 15.614l3.384-2.05 12.177-7.39z\\\"/><path fill-opacity=\\\".5\\\" d=\\\"M55.465 31.944l-10.671 21.56-.049.08L71.35 45.58c.55-1.969.842-3.179 1.214-5.228L55.497 31.96l-.032-.016z\\\"/><path fill-opacity=\\\".3\\\" d=\\\"M73.892 25.764v.952c-.049 4.631-.47 9.069-1.247 13.33l-.048.29-17.116-8.408 6.59-13.361 11.821 7.197z\\\"/><path fill-opacity=\\\".5\\\" d=\\\"M44.745 53.584L21.72 59.83l-2.494 8.327s1.312 1.727 3.174 3.792c7.546 7.52 9.1 8.36 9.1 8.36l13.246-26.724\\\"/><path fill-opacity=\\\".3\\\" d=\\\"M21.735 59.83l-6.914 1.87a63.19 63.19 0 0 0 4.42 6.439l2.494-8.31M31.5 80.291c3.48 2.63 6.444 4.325 8.144 5.212 3.11-1.613 10.315-5.874 17.278-13.539l-12.193-18.38-13.23 26.707z\\\"/><path fill-opacity=\\\".7\\\" d=\\\"M71.35 45.58l-26.605 8.004 12.193 18.38c.049-.048.097-.096.13-.145.032-.032.065-.064.097-.113.016-.016.016-.032.032-.032.033-.049.081-.08.114-.13l.016-.015c.048-.049.08-.097.13-.146a65.387 65.387 0 0 0 4.42-5.567.223.223 0 0 0 .049-.064.336.336 0 0 1 .064-.081c.017-.032.049-.065.065-.097.016-.016.032-.048.049-.064.032-.033.048-.081.08-.113.017-.017.017-.033.033-.049 3.757-5.422 6.607-11.328 8.55-17.718l.291-.969.292-1.08z\\\"/><path fill-opacity=\\\".7\\\" d=\\\"M33.443 21.116L21.735 59.83l23.01-6.245 10.72-21.64-22.022-10.828\\\"/><path fill-opacity=\\\".4\\\" d=\\\"M5.51 25.764l27.933-4.648-6.494 21.447z\\\"/></g><g transform=\\\"translate(1.883 1)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#a)\\\" xlink:href=\\\"#b\\\"/><use fill=\\\"#FFF\\\" fill-rule=\\\"evenodd\\\" xlink:href=\\\"#b\\\"/></g></g><g fill=\\\"#FFF\\\"><path d=\\\"M34.538 26.424v4.55H16.17v9.099h18.368v4.547l9.153-9.098z\\\"/><path fill-opacity=\\\".7\\\" d=\\\"M63.439 42.13H45.07v-4.548l-9.152 9.098 9.152 9.098V51.23h18.368\\\"/></g></g></svg>\",\n    \"horizontal-colorful\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 204.2 35.3\\\"><path fill=\\\"#26AFE2\\\" d=\\\"M160.8 14.5c1.3-.7 2.6-1.8 2.6-4v-.1c0-1.2-.4-2.2-1.2-3-1-1-2.7-1.6-4.7-1.6H148.2l1.2 1.7v16.2h8.4c4 0 6.7-1.7 6.7-4.9v-.1c-.2-2.3-1.6-3.5-3.7-4.2zm-8.4-5.8h4.6c2 0 3.2.9 3.2 2.3v.1c0 1.6-1.4 2.4-3.4 2.4h-4.3V8.7h-.1zm8.8 9.9c0 1.6-1.3 2.5-3.5 2.5h-5.3v-4.9h5c2.5-.1 3.8.8 3.8 2.4zM167.1 14.9c0-5.1 3.9-9.3 9.5-9.3s9.4 4.2 9.4 9.2v.1c0 5-3.9 9.2-9.5 9.2-5.5 0-9.4-4.2-9.4-9.2zm15.6 0c0-3.5-2.6-6.4-6.2-6.4s-6.1 2.8-6.1 6.3v.1c0 3.5 2.6 6.3 6.2 6.3s6.1-2.8 6.1-6.3zM203.9 5.9l-6.3 8.7 6.6 9.2h-3.8l-4.7-6.8-4.8 6.8h-3.7l6.6-9.1-6.3-8.8h3.8l4.5 6.5 4.5-6.5z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M38.7 14.9c0-5.1 3.9-9.3 9.3-9.3 3.3 0 5.4 1.1 7.1 2.8l-2 2.3c-1.4-1.3-3-2.2-5.1-2.2-3.4 0-6 2.8-6 6.3v.1c0 3.5 2.5 6.3 6 6.3 2.2 0 3.6-.9 5.2-2.3l2 2c-1.9 1.9-4 3.2-7.3 3.2-5.3 0-9.2-4.1-9.2-9.2zM81.1 16.7L73.9 5.9h3.8l5 7.9 5.1-7.9h3.7l-7.2 10.8v7.1h-3.2zM126.9 14.9c0-5.1 3.9-9.3 9.5-9.3s9.4 4.2 9.4 9.2v.1c0 5-3.9 9.2-9.5 9.2-5.5 0-9.4-4.2-9.4-9.2zm15.6 0c0-3.5-2.6-6.4-6.2-6.4s-6.1 2.8-6.1 6.3v.1c0 3.5 2.6 6.3 6.2 6.3s6.1-2.8 6.1-6.3zM102.2 5.9H93.9l1.2 1.7v16.2h3.2V18h3.6c4 0 7.2-2.1 7.2-6.1v-.1c0-3.5-2.6-5.9-6.9-5.9zm3.7 6.1c0 1.9-1.5 3.2-3.9 3.2h-3.7V8.8h3.7c2.4 0 3.9 1.1 3.9 3.2zM69 17c2.5-.7 4.3-2.5 4.3-5.4v-.1c0-1.6-.5-2.9-1.5-3.9-1.2-1.1-2.9-1.8-5.2-1.8H57.3l1.2 1.7v16.2h3.2v-6.2h4l4.4 6.2h3.8L69 17zm-7.3-2.2v-6h4.6c2.4 0 3.7 1 3.7 3v.1c0 1.8-1.4 3-3.7 3l-4.6-.1zM116.8 8.8h-5.7V5.9h14.7v2.9H120v15h-3.2z\\\"/><g><path fill=\\\"#1A375D\\\" d=\\\"M188.9 32.7c0-1.4 1-2.5 2.4-2.5.9 0 1.4.3 1.8.7l-.5.6c-.4-.4-.8-.6-1.3-.6-.9 0-1.6.7-1.6 1.7 0 .9.6 1.7 1.6 1.7.6 0 .9-.2 1.4-.6l.5.5c-.5.5-1 .8-1.9.8-1.4.1-2.4-1-2.4-2.3zM193.7 32.7c0-1.3 1-2.5 2.5-2.5 1.4 0 2.5 1.1 2.5 2.4 0 1.3-1 2.4-2.5 2.4-1.5.1-2.5-1-2.5-2.3zm4 0c0-.9-.7-1.7-1.6-1.7s-1.6.7-1.6 1.7c0 .9.7 1.7 1.6 1.7 1-.1 1.6-.8 1.6-1.7zM180.743 34.232v-1.2h2.3v-.8h-2.3v-1.2h2.6v-.7h-3.8l.3.4v4.3h3.6v-.8zM187.244 33.232c.7-.2 1.1-.7 1.1-1.4 0-.4-.1-.8-.4-1-.3-.3-.8-.5-1.4-.5h-2.4l.3.4v4.3h.8v-1.6h1l1.2 1.6h1l-1.2-1.8zm-1.9-.6v-1.6h1.2c.6 0 1 .3 1 .8s-.4.8-1 .8h-1.2zM203.299 30.332l-1.6 2.3-1.6-2.3h-1l.3.4v4.3h.8v-3.1l1.5 2.1 1.5-2.2v3.2h.8v-4.7z\\\"/><g fill=\\\"#1A375D\\\"><path d=\\\"M168.5 30.232h2.1c.5 0 1 .1 1.2.4.2.2.3.5.3.8 0 .6-.3.9-.7 1.1.6.2.9.5.9 1.2 0 .8-.7 1.3-1.7 1.3h-2.2l.1-4.8zm2.9 1.4c0-.4-.3-.6-.8-.6h-1.2v1.3h1.1c.5-.1.9-.3.9-.7zm-.7 1.3h-1.3v1.3h1.4c.6 0 .9-.2.9-.6-.1-.4-.4-.7-1-.7zM174.6 33.132l-1.9-2.9h1l1.3 2.1 1.3-2.1h1l-1.9 2.9v1.9h-.8z\\\"/></g></g><g><g opacity=\\\".6\\\" fill=\\\"#26AFE2\\\"><path opacity=\\\".5\\\" d=\\\"M7.5 19.1l-.7 2.4s.4.5.9 1.1C9.1 24 10.3 25 10.3 25l3.8-7.7-6.6 1.8z\\\"/><path opacity=\\\".3\\\" d=\\\"M5.5 19.6s.5.9.6 1c.2.3.5.6.7.9l.7-2.4-2 .5M10.3 25c1 .8 1.9 1.3 2.4 1.6.9-.5 2.9-1.7 4.9-3.9l-3.5-5.4-3.8 7.7z\\\"/><path opacity=\\\".7\\\" d=\\\"M21.9 14.9l-7.8 2.4 3.5 5.4c.9-1 1.6-2 1.6-2 1.1-1.6 2.1-3.9 2.7-5.8\\\"/><path opacity=\\\".3\\\" d=\\\"M17.1 11L19 7l3.7 2.2s0 2.6-.5 4.4\\\"/><path opacity=\\\".5\\\" d=\\\"M14.1 17.3l7.8-2.4c.2-.5.2-.7.3-1.3L17.1 11l-3 6.3z\\\"/><path opacity=\\\".3\\\" d=\\\"M10.8 7.9L7.6 6.2l4.5-2.7z\\\"/><path opacity=\\\".5\\\" d=\\\"M12.7 3.2l-.6.3-1.3 4.4 6.3 3.1 2-4z\\\"/><path opacity=\\\".7\\\" d=\\\"M9 14.1L2.6 9.2l8.2-1.3 6.3 3.1-3 6.3-6.6 1.8z\\\"/><path opacity=\\\".5\\\" d=\\\"M2.6 9.2l8.2-1.3-3.2-1.7-5 3c.1 4.5.7 6.4 2.4 9.6.1.2.5.8.5.8l2-.5 1.5-5-6.4-4.9z\\\"/></g><path fill=\\\"#1A375D\\\" d=\\\"M1.4 8.5c0 1.7.1 3.3.4 4.8s.7 2.9 1.3 4.3c.9 2.3 2.3 4.4 4 6.2.7.7 1.4 1.4 2.2 2 .6.5 1.3 1 1.9 1.4.7.5 1.3.8 1.6.9.3-.2.9-.5 1.6-.9.7-.4 1.3-.9 1.9-1.4.8-.6 1.5-1.3 2.2-2 1.7-1.8 3-3.9 4-6.2.6-1.4 1-2.8 1.3-4.3s.4-3.1.4-4.8c-1.7-1-9.5-5.7-11.3-6.7L1.4 8.5zm11.3 21.1l-.3-.1c-.1-.1-3.3-1.5-6.4-4.8-1.8-2-3.2-4.2-4.3-6.6-.6-1.4-1-3-1.3-4.6C.1 11.8 0 9.9 0 8v-.4L12.7.1l.4.2 12.3 7.3V8c0 1.9-.1 3.7-.4 5.5-.3 1.6-.7 3.1-1.3 4.6-1 2.4-2.4 4.7-4.3 6.6-3.1 3.3-6.3 4.7-6.4 4.8l-.3.1z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M11.1 9v1.4H5.5v2.7h5.6v1.4l2.8-2.7z\\\"/><path opacity=\\\".8\\\" fill=\\\"#1A375D\\\" d=\\\"M20 13.8h-5.6v-1.4l-2.8 2.7 2.8 2.8v-1.4H20\\\"/></g></svg>\",\n    \"horizontal-grey\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 204.2 35.2\\\"><path fill=\\\"#CDCDCD\\\" d=\\\"M160.8 14.4c1.3-.7 2.6-1.8 2.6-4v-.1c0-1.2-.4-2.2-1.2-3-1-1-2.7-1.6-4.7-1.6H148.2l1.2 1.7v16.2h8.4c4 0 6.7-1.7 6.7-4.9v-.1c-.2-2.3-1.6-3.5-3.7-4.2zm-8.4-5.8h4.6c2 0 3.2.9 3.2 2.3v.1c0 1.6-1.4 2.4-3.4 2.4h-4.3V8.6h-.1zm8.8 9.8c0 1.6-1.3 2.5-3.5 2.5h-5.3V16h5c2.5 0 3.8.9 3.8 2.4zM167.1 14.8c0-5.1 3.9-9.3 9.5-9.3s9.4 4.2 9.4 9.2v.1c0 5-3.9 9.2-9.5 9.2-5.5 0-9.4-4.2-9.4-9.2zm15.6 0c0-3.5-2.6-6.4-6.2-6.4s-6.1 2.8-6.1 6.3v.1c0 3.5 2.6 6.3 6.2 6.3s6.1-2.8 6.1-6.3zM203.9 5.8l-6.3 8.7 6.6 9.2h-3.8l-4.7-6.9-4.8 6.9h-3.7l6.6-9.1-6.3-8.8h3.8l4.5 6.5 4.5-6.5z\\\"/><path fill=\\\"#9D9D9D\\\" d=\\\"M38.7 14.8c0-5.1 3.9-9.3 9.3-9.3 3.3 0 5.4 1.1 7.1 2.8l-2 2.3c-1.4-1.3-3-2.2-5.1-2.2-3.4 0-6 2.8-6 6.3v.1c0 3.5 2.5 6.3 6 6.3 2.2 0 3.6-.9 5.2-2.3l2 2c-1.9 1.9-4 3.2-7.3 3.2-5.3 0-9.2-4.1-9.2-9.2zM81.1 16.6L73.9 5.8h3.8l5 7.9 5.1-7.9h3.7l-7.2 10.7v7.2h-3.2zM126.9 14.8c0-5.1 3.9-9.3 9.5-9.3s9.4 4.2 9.4 9.2v.1c0 5-3.9 9.2-9.5 9.2-5.5 0-9.4-4.2-9.4-9.2zm15.6 0c0-3.5-2.6-6.4-6.2-6.4s-6.1 2.8-6.1 6.3v.1c0 3.5 2.6 6.3 6.2 6.3s6.1-2.8 6.1-6.3zM102.2 5.8H93.9l1.2 1.7v16.2h3.2V18h3.6c4 0 7.2-2.1 7.2-6.1v-.1c0-3.6-2.6-6-6.9-6zm3.7 6.1c0 1.9-1.5 3.2-3.9 3.2h-3.7V8.7h3.7c2.4-.1 3.9 1 3.9 3.2zM69 16.9c2.5-.7 4.3-2.5 4.3-5.4v-.1c0-1.6-.5-2.9-1.5-3.9-1.2-1.1-2.9-1.8-5.2-1.8H57.3l1.2 1.7v16.2h3.2v-6.2h4l4.4 6.2h3.8L69 16.9zm-7.3-2.3v-6h4.6c2.4 0 3.7 1 3.7 3v.1c0 1.8-1.4 3-3.7 3l-4.6-.1zM116.8 8.7h-5.7V5.8h14.7v2.9H120v15h-3.2z\\\"/><g><path fill=\\\"#9D9D9D\\\" d=\\\"M188.9 32.5c0-1.4 1-2.5 2.4-2.5.9 0 1.4.3 1.8.7l-.5.6c-.4-.4-.8-.6-1.3-.6-.9 0-1.6.7-1.6 1.7 0 .9.6 1.7 1.6 1.7.6 0 .9-.2 1.4-.6l.5.5c-.5.5-1 .8-1.9.8-1.4.2-2.4-.9-2.4-2.3zM193.7 32.5c0-1.3 1-2.5 2.5-2.5 1.4 0 2.5 1.1 2.5 2.4 0 1.3-1 2.4-2.5 2.4-1.5.2-2.5-.9-2.5-2.3zm4 0c0-.9-.7-1.7-1.6-1.7s-1.6.7-1.6 1.7c0 .9.7 1.7 1.6 1.7 1 0 1.6-.8 1.6-1.7zM180.743 34.132v-1.3h2.3v-.7h-2.3v-1.2h2.6v-.8h-3.8l.3.5v4.2h3.6v-.7zM187.244 33.132c.7-.2 1.1-.7 1.1-1.4 0-.4-.1-.8-.4-1-.3-.3-.8-.5-1.4-.5h-2.4l.3.4v4.3h.8v-1.6h1l1.2 1.6h1l-1.2-1.8zm-1.9-.6v-1.6h1.2c.6 0 1 .3 1 .8s-.4.8-1 .8h-1.2zM203.299 30.132l-1.6 2.3-1.6-2.3h-1l.3.5v4.2h.8v-3.1l1.5 2.1 1.5-2.1v3.1h.8v-4.7z\\\"/><g fill=\\\"#9D9D9D\\\"><path d=\\\"M168.5 30.132h2.1c.5 0 1 .1 1.2.4.2.2.3.5.3.8 0 .6-.3.9-.7 1.1.6.2.9.5.9 1.2 0 .8-.7 1.3-1.7 1.3h-2.2l.1-4.8zm2.9 1.3c0-.4-.3-.6-.8-.6h-1.2v1.3h1.1c.5 0 .9-.2.9-.7zm-.7 1.4h-1.3v1.3h1.4c.6 0 .9-.2.9-.6-.1-.5-.4-.7-1-.7zM174.6 33.032l-1.9-2.9h1l1.3 2.1 1.3-2.1h1l-1.9 2.8v1.9h-.8z\\\"/></g></g><g fill=\\\"#9D9D9D\\\"><g opacity=\\\".5\\\"><path opacity=\\\".5\\\" d=\\\"M7.5 18.9l-.7 2.4s.4.5.9 1.1c1.4 1.5 2.6 2.4 2.6 2.4l3.8-7.7-6.6 1.8z\\\"/><path opacity=\\\".3\\\" d=\\\"M5.5 19.4s.5.8 1.3 1.9l.7-2.4-2 .5M10.3 24.8c1 .8 1.9 1.3 2.4 1.6.9-.5 2.9-1.7 4.9-3.9l-3.5-5.4-3.8 7.7zM17.1 10.9l2-4L22.8 9s0 2.6-.5 4.4\\\"/><path opacity=\\\".5\\\" d=\\\"M14.1 17.1l7.8-2.4c.2-.6.2-.6.4-1.3l-5.2-2.5-3 6.2z\\\"/><path opacity=\\\".3\\\" d=\\\"M10.8 7.8L7.6 6.1l4.5-2.7z\\\"/><path opacity=\\\".5\\\" d=\\\"M12.7 3.1l-.6.3-1.3 4.4 6.3 3.1 2-4z\\\"/><path opacity=\\\".7\\\" d=\\\"M21.9 14.7c-.6 1.9-1.6 4.3-2.7 5.9 0 0-.6.9-1.6 1.9l-3.5-5.4 7.8-2.4M9 14L2.6 9l8.2-1.2 6.3 3.1-3 6.2-6.6 1.8z\\\"/><path opacity=\\\".5\\\" d=\\\"M2.6 9l8.2-1.2-3.2-1.7-5 2.9c.1 4.5.9 6.7 2.6 9.9.1.2.3.5.3.5l2-.5L9 14 2.6 9z\\\"/></g><path d=\\\"M1.4 8.3c0 1.7.1 3.3.4 4.8s.7 2.9 1.3 4.3c.9 2.3 2.3 4.4 4 6.2.7.7 1.4 1.4 2.2 2 .6.5 1.3 1 1.9 1.4.7.5 1.3.8 1.6.9.3-.2.9-.5 1.6-.9.7-.4 1.3-.9 1.9-1.4.8-.6 1.5-1.3 2.2-2 1.7-1.8 3-3.9 4-6.2.6-1.4 1-2.8 1.3-4.3.1-1.5.2-3.1.2-4.8-1.7-1-9.5-5.7-11.3-6.7L1.4 8.3zm11.3 21.1l-.3-.1c-.1-.1-3.3-1.4-6.4-4.8-1.8-2-3.2-4.2-4.3-6.6-.6-1.4-1-3-1.3-4.6C.1 11.6 0 9.8 0 7.9v-.4L12.7 0l.4.2 12.3 7.3v.4c0 1.9-.1 3.7-.4 5.5-.3 1.6-.7 3.1-1.3 4.6-1 2.4-2.4 4.7-4.3 6.6-3.1 3.3-6.3 4.7-6.4 4.8h-.3z\\\"/><path d=\\\"M11.1 8.9v1.3H5.5V13h5.6v1.4l2.8-2.8z\\\"/><path opacity=\\\".7\\\" d=\\\"M20 13.6h-5.6v-1.3L11.6 15l2.8 2.7v-1.3H20\\\"/></g></svg>\",\n    \"horizontal-white\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 204.2 35.1\\\"><g fill=\\\"#FFF\\\"><path d=\\\"M160.8 14.4c1.3-.7 2.6-1.8 2.6-4v-.1c0-1.2-.4-2.2-1.2-3-1-1-2.7-1.6-4.7-1.6H148.2l1.2 1.7v16.2h8.4c4 0 6.7-1.7 6.7-4.9v-.1c-.1-2.3-1.6-3.5-3.7-4.2zm-8.4-5.8h4.6c2 0 3.2.9 3.2 2.3v.1c0 1.6-1.4 2.4-3.4 2.4h-4.3V8.6h-.1zm8.8 9.8c0 1.6-1.3 2.5-3.5 2.5h-5.3V16h5c2.6 0 3.8.9 3.8 2.4zM167.2 14.8c0-5.1 3.9-9.3 9.5-9.3s9.4 4.2 9.4 9.2v.1c0 5-3.9 9.2-9.5 9.2s-9.4-4.2-9.4-9.2zm15.5 0c0-3.5-2.6-6.4-6.2-6.4s-6.1 2.8-6.1 6.3v.1c0 3.5 2.6 6.3 6.2 6.3s6.1-2.9 6.1-6.3zM203.9 5.8l-6.3 8.7 6.6 9.2h-3.7l-4.8-6.9-4.8 6.9h-3.6l6.5-9.1-6.3-8.8h3.8l4.5 6.5 4.5-6.5z\\\"/><path opacity=\\\".6\\\" d=\\\"M38.7 14.8c0-5.1 3.9-9.3 9.3-9.3 3.3 0 5.4 1.1 7.1 2.8l-2 2.3c-1.4-1.3-3-2.2-5.1-2.2-3.4 0-6 2.8-6 6.3v.1c0 3.5 2.5 6.3 6 6.3 2.2 0 3.6-.9 5.2-2.3l2 2c-1.9 1.9-4 3.2-7.3 3.2-5.3 0-9.2-4.1-9.2-9.2zM81.1 16.6L73.9 5.8h3.8l5 7.9 5.1-7.9h3.7l-7.2 10.7v7.2h-3.2zM126.9 14.8c0-5.1 3.9-9.3 9.5-9.3s9.4 4.2 9.4 9.2v.1c0 5-3.9 9.2-9.5 9.2-5.5 0-9.4-4.2-9.4-9.2zm15.6 0c0-3.5-2.6-6.4-6.2-6.4s-6.1 2.8-6.1 6.3v.1c0 3.5 2.6 6.3 6.2 6.3s6.1-2.9 6.1-6.3zM102.3 5.8H94l1.2 1.7v16.2h3.2V18h3.6c4 0 7.2-2.1 7.2-6.1v-.1c-.1-3.6-2.7-6-6.9-6zm3.6 6.1c0 1.9-1.5 3.2-3.9 3.2h-3.7V8.7h3.7c2.4-.1 3.9 1 3.9 3.2zM69.1 16.9c2.5-.7 4.3-2.5 4.3-5.4v-.1c0-1.6-.5-2.9-1.5-3.9-1.2-1.1-2.9-1.8-5.2-1.8H57.4l1.2 1.7v16.2h3.2v-6.2h4l4.4 6.2H74l-4.9-6.7zm-7.4-2.3v-6h4.6c2.4 0 3.7 1 3.7 3v.1c0 1.8-1.4 3-3.7 3l-4.6-.1zM116.8 8.7h-5.7V5.8h14.7v2.9H120v15h-3.2z\\\"/></g><path fill=\\\"#FFF\\\" d=\\\"M188.9 32.5c0-1.4 1-2.5 2.4-2.5.9 0 1.4.3 1.8.7l-.5.6c-.4-.4-.8-.6-1.3-.6-.9 0-1.6.7-1.6 1.7 0 .9.6 1.7 1.6 1.7.6 0 .9-.2 1.4-.6l.5.5c-.5.5-1 .8-1.9.8-1.4.1-2.4-.9-2.4-2.3zM193.7 32.5c0-1.3 1-2.5 2.5-2.5 1.4 0 2.5 1.1 2.5 2.4 0 1.3-1 2.4-2.5 2.4-1.5.1-2.5-1-2.5-2.3zm4.1 0c0-.9-.7-1.7-1.6-1.7s-1.6.7-1.6 1.7c0 .9.7 1.7 1.6 1.7.9 0 1.6-.8 1.6-1.7zM180.743 34.132v-1.3h2.3v-.7h-2.3v-1.2h2.6v-.8h-3.8l.4.5v4.2h3.5v-.7zM187.244 33.032c.7-.2 1.1-.7 1.1-1.4 0-.4-.1-.8-.4-1-.3-.3-.8-.5-1.4-.5h-2.3l.3.4v4.3h.8v-1.6h1l1.2 1.6h1l-1.3-1.8zm-1.9-.5v-1.6h1.2c.6 0 1 .3 1 .8s-.4.8-1 .8h-1.2zM203.299 30.132l-1.6 2.3-1.6-2.3h-1l.3.5v4.2h.8v-3.1l1.5 2.1 1.5-2.1v3.1h.8v-4.7z\\\"/><g fill=\\\"#FFF\\\"><path d=\\\"M168.5 30.132h2.1c.5 0 1 .1 1.2.4.2.2.3.5.3.8 0 .6-.3.9-.7 1.1.6.2.9.5.9 1.2 0 .8-.7 1.3-1.7 1.3h-2.2l.1-4.8zm2.9 1.3c0-.4-.3-.6-.8-.6h-1.2v1.3h1.1c.5 0 .9-.2.9-.7zm-.7 1.4h-1.3v1.3h1.4c.6 0 .9-.2.9-.6-.1-.5-.4-.7-1-.7zM174.6 33.032l-1.9-2.9h1l1.3 2.1 1.4-2.1h.9l-1.9 2.8v1.9h-.8z\\\"/></g><g fill=\\\"#FFF\\\"><g opacity=\\\".55\\\"><path opacity=\\\".6\\\" d=\\\"M7.5 19l-.7 2.4s.4.5.9 1.1c1.4 1.5 2.6 2.4 2.6 2.4l3.8-7.7L7.5 19z\\\"/><path opacity=\\\".3\\\" d=\\\"M5.5 19.5c.2.4.4.7.7 1.1.2.3.4.5.6.8l.7-2.4-2 .5zM10.3 24.9c1 .8 1.9 1.3 2.4 1.6.9-.5 2.9-1.7 4.9-3.9l-3.5-5.4-3.8 7.7z\\\"/><path opacity=\\\".7\\\" d=\\\"M21.9 14.8l-7.8 2.4 3.5 5.4c1.4-1.7 1.6-2 1.6-2 1.1-1.6 1.6-2.4 2.2-4.2l.5-1.6\\\"/><path opacity=\\\".3\\\" d=\\\"M17.2 10.9l1.9-4L22.8 9s0 2.6-.5 4.4\\\"/><path opacity=\\\".6\\\" d=\\\"M14.1 17.2l7.8-2.4c.2-.6.2-.7.4-1.4l-5.1-2.5-3.1 6.3z\\\"/><path opacity=\\\".3\\\" d=\\\"M10.9 7.8L7.6 6.1l4.5-2.7z\\\"/><path opacity=\\\".6\\\" d=\\\"M12.7 3.1l-.6.3-1.2 4.4 6.3 3.1 1.9-4z\\\"/><path opacity=\\\".7\\\" d=\\\"M9 14L2.6 9l8.3-1.2 6.3 3.1-3.1 6.3L7.5 19z\\\"/><path opacity=\\\".6\\\" d=\\\"M2.6 9l8.3-1.2-3.3-1.7-5 2.9c.1 4.5.9 6.8 2.6 10 .1.2.3.5.3.5l2-.5L9 14 2.6 9z\\\"/></g><path d=\\\"M1.4 8.3c0 1.7.1 3.3.4 4.8s.7 2.9 1.3 4.3c.9 2.3 2.3 4.4 4 6.2.7.7 1.4 1.4 2.2 2 .6.5 1.3 1 1.9 1.4.7.5 1.3.8 1.6.9.3-.2.9-.5 1.6-.9.7-.4 1.3-.9 1.9-1.4.8-.6 1.5-1.3 2.2-2 1.7-1.8 3-3.9 4-6.2.6-1.4 1-2.8 1.3-4.3.1-1.5.2-3.1.2-4.8-1.7-1-9.5-5.7-11.3-6.7L1.4 8.3zm11.3 21.2l-.3-.1c-.1-.1-3.3-1.4-6.4-4.8-1.8-2-3.3-4.2-4.3-6.6-.6-1.4-1-3-1.3-4.6C.1 11.7 0 9.8 0 7.9v-.4L12.7 0l.4.2 12.3 7.3v.4c0 1.9-.1 3.7-.4 5.5-.3 1.6-.7 3.1-1.3 4.6-1 2.4-2.4 4.7-4.3 6.6-3.1 3.4-6.3 4.7-6.4 4.8l-.3.1z\\\"/><path d=\\\"M11.1 8.9v1.4H5.5V13h5.6v1.4l2.8-2.8z\\\"/><path opacity=\\\".7\\\" d=\\\"M20 13.6h-5.6v-1.3L11.6 15l2.8 2.8v-1.4H20\\\"/></g></svg>\",\n    \"left-logo-crytpbox-colorful\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 735.908 91.66\\\"><path fill=\\\"#686D8A\\\" d=\\\"M44.171 14.203l-14.212 14.21h14.212z\\\"/><path fill=\\\"#425072\\\" d=\\\"M29.96 14.206L15.75 28.41h14.21z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M44.171 14.206L29.96 28.41V14.206z\\\"/><path fill=\\\"#425072\\\" d=\\\"M44.171 14.206L58.374 28.41H44.171z\\\"/><path fill=\\\"#8F91A8\\\" d=\\\"M44.171 14.206L58.374 28.41V14.206z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M29.96 28.41l14.206 14.21H29.96z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M58.374 28.41L44.171 42.62h14.203z\\\"/><path fill=\\\"#8F91A8\\\" d=\\\"M58.374 28.41L44.171 42.62V28.41z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M58.374 0l14.211 14.206H58.374z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M72.585 14.2L58.374 28.41h14.211z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M72.583 14.206L58.374 28.41V14.206z\\\"/><path fill=\\\"#425072\\\" d=\\\"M58.374 56.82l14.209-14.202H58.374zM72.583 42.618L58.374 28.41h14.209z\\\"/><path fill=\\\"#8F91A8\\\" d=\\\"M72.583 42.618L58.374 28.41v14.208z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M72.583 42.618L86.792 28.41H72.583z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M86.798 28.41L72.585 14.206V28.41z\\\"/><path fill=\\\"#425072\\\" d=\\\"M24.599 30.479L10.394 44.687h14.205z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M24.599 13.312L10.394 27.523V13.312zM14.21 35.527L0 21.318v14.209z\\\"/><path fill=\\\"#425072\\\" d=\\\"M29.966 28.41l14.205 14.21V28.41z\\\"/><g><path fill=\\\"#28B0E4\\\" d=\\\"M105.286 77.46l14.21-14.21h-14.21z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M119.496 77.458l14.21-14.207h-14.21z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M105.286 77.458l14.21-14.207v14.207z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M105.286 77.458L91.081 63.251h14.205z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M105.286 77.458L91.081 63.251v14.207zM119.496 63.254l-14.205-14.209h14.205z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M91.081 63.251l14.205-14.209H91.081z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M91.081 63.251l14.205-14.209v14.209z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M91.081 91.66L76.872 77.458h14.209z\\\"/><path fill=\\\"#28B0E4\\\" d=\\\"M76.872 77.46l14.209-14.209H76.872z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M76.875 77.458l14.206-14.207v14.207z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M91.081 34.842L76.875 49.047h14.206zM76.875 49.047l14.206 14.204H76.875z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M76.875 49.047l14.206 14.204V49.047zM76.875 49.042l-14.21 14.209h14.21z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M62.658 63.251l14.214 14.207V63.251z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M124.857 61.186l14.205-14.21h-14.205z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M124.857 78.351l14.205-14.21v14.21z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M135.246 56.136l14.212 14.208V56.136z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M119.49 63.251l-14.204-14.209v14.209z\\\"/></g><g><path fill=\\\"#1A375D\\\" d=\\\"M170.442 46.272v-.177c0-17.576 13.16-31.97 31.882-31.97 11.395 0 18.282 3.974 24.199 9.625l-6.978 8.037c-4.944-4.593-10.244-7.684-17.31-7.684-11.746 0-20.402 9.714-20.402 21.814v.177c0 12.1 8.567 21.902 20.402 21.902 7.595 0 12.452-3.004 17.752-7.947l6.977 7.063c-6.446 6.713-13.512 10.952-25.082 10.952-18.016.002-31.44-14.041-31.44-31.792zM315.33 52.63l-24.553-37.446h12.896l17.222 27.29 17.487-27.29h12.451l-24.552 37.182v24.64H315.33V52.63zM471.945 46.272v-.177c0-17.399 13.425-31.97 32.413-31.97 18.986 0 32.234 14.395 32.234 31.793v.177c0 17.398-13.426 31.971-32.41 31.971-18.988 0-32.237-14.397-32.237-31.794zm53.257 0v-.177c0-12.012-8.746-21.991-21.02-21.991-12.278 0-20.844 9.804-20.844 21.814v.177c0 12.011 8.742 21.902 21.02 21.902 12.276.001 20.844-9.714 20.844-21.725zM387.621 15.185h-28.387l4.011 5.714v56.106h10.862V57.134h12.277c13.601 0 24.728-7.242 24.728-21.107v-.176c0-12.454-9.008-20.666-23.491-20.666zm12.452 21.106c0 6.446-5.122 11.041-13.336 11.041h-12.63V25.076h12.63c8.126 0 13.336 3.797 13.336 11.039v.176zM274.217 53.602c8.567-2.473 14.661-8.566 14.661-18.723v-.176c0-5.389-1.854-9.98-5.122-13.337-3.974-3.886-10.067-6.182-17.84-6.182H234.35l4.01 5.714v56.106h10.863V55.457h13.602l15.19 21.549h12.895l-16.693-23.404zm-24.994-7.772V25.076h15.81c8.037 0 12.806 3.619 12.806 10.244v.177c0 6.271-4.945 10.333-12.718 10.333h-15.898z\\\"/><path fill=\\\"#29B0E3\\\" d=\\\"M587.532 44.858c4.591-2.384 8.831-6.356 8.831-13.776v-.178c0-4.15-1.413-7.506-4.149-10.243-3.534-3.532-9.099-5.476-16.161-5.476h-31.744l4.011 5.714v56.106h28.616c13.775 0 22.872-5.917 22.872-16.955v-.177c-.002-8.39-5.035-12.541-12.276-15.015zm-28.526-20.049h15.632c6.978 0 10.861 3.004 10.861 7.861v.176c0 5.654-4.682 8.391-11.658 8.391h-14.835V24.809zM588.945 58.9c0 5.563-4.507 8.479-11.924 8.479h-18.016V50.422h17.222c8.564 0 12.718 3.09 12.718 8.302v.176zM609.347 46.272v-.177c0-17.399 13.425-31.97 32.413-31.97 18.985 0 32.233 14.395 32.233 31.793v.177c0 17.398-13.425 31.971-32.409 31.971-18.989 0-32.237-14.397-32.237-31.794zm53.257 0v-.177c0-12.012-8.745-21.991-21.02-21.991-12.278 0-20.847 9.804-20.847 21.814v.177c0 12.011 8.744 21.902 21.021 21.902 12.278.001 20.846-9.714 20.846-21.725zM735.025 15.185l-21.55 30.204 22.433 31.617h-12.805l-16.339-23.579-16.252 23.579h-12.451l22.343-31.44-21.459-30.38h12.806l15.367 22.434 15.455-22.434 12.452-.001z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M437.433 25.252h-19.605V15.185h50.163v10.067h-19.604v51.753h-10.952l-.002-51.753z\\\"/></g></svg>\",\n    \"logo-ercom-white\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 305.409 117.497\\\"><path d=\\\"M174.694 90.631v11.383h-25.441c-11.113 0-16.668-5.545-16.668-16.637V63.483c0-11.092 5.555-16.639 16.668-16.639h25.441v11.385h-25.441c-3.51 0-5.264 1.75-5.264 5.254v21.895c0 3.502 1.754 5.254 5.264 5.254h25.441zM181.714 63.483c0-11.092 5.555-16.639 16.666-16.639h17.547c11.111 0 16.668 5.547 16.668 16.639v22.068c0 10.977-5.557 16.463-16.668 16.463H198.38c-11.111 0-16.666-5.545-16.666-16.637V63.483zm34.213 27.148c3.51 0 5.264-1.693 5.264-5.08V63.483c0-3.505-1.754-5.254-5.264-5.254H198.38c-3.508 0-5.264 1.75-5.264 5.254v21.895c0 3.502 1.756 5.254 5.264 5.254h17.547zM267.687 58.229h-14.914v43.786h-11.406v-55.17h47.373c11.113 0 16.67 5.547 16.67 16.639v38.531h-11.406V63.483c0-3.505-1.754-5.254-5.264-5.254h-9.648v43.786h-11.404V58.229z\\\"/><g><path d=\\\"M13.327 59.964v-6.657c0-14.022 6.973-21.05 20.956-21.05h22.061c13.968 0 20.975 7.028 20.975 21.05v.229c0 13.883-6.983 20.821-20.932 20.821L27.635 74.3v6.697c0 4.436 2.199 6.652 6.624 6.652h26.04v-.025h20.437s6.583.352 6.583-6.957v-8.385h-.066V59.06h-.019V37.557h.02v-2.57c0-1.523 1.252-2.76 2.797-2.76h8.842v.011c1.469.065 2.638 1.233 2.671 2.688.034-1.495 1.268-2.699 2.792-2.699h7.409l5.754-.049v-6.503C117.518 11.5 106.059 0 91.93 0H25.59C11.46 0 0 11.5 0 25.675v34.29h13.327z\\\"/><path d=\\\"M108.179 46.615c-4.396 0-6.619 2.232-6.619 6.671v14.357h-.021v11.24s.011.236.021.293v3.896c-.4 6.67-3.401 18.998-20.291 18.998h-8.35v.023H60.298v-.086h-26.04c-13.958 0-20.931-7.004-20.931-21.031v-6.693H0v17.529c0 14.174 11.46 25.684 25.589 25.684h66.34c14.129 0 25.588-11.51 25.588-25.684V46.604l-9.338.011z\\\"/><path d=\\\"M56.387 59.998c4.396 0 6.622-2.14 6.622-6.46v-.229c0-4.46-2.225-6.692-6.644-6.692H34.258c-4.424 0-6.624 2.232-6.624 6.671v6.688h7.207v.023h21.546z\\\"/></g></svg>\",\n    \"logo_colorful\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 186.196 114.19\\\"><path fill=\\\"#75879E\\\" d=\\\"M55.028 17.694L37.323 35.397h17.705z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M37.325 17.697L19.621 35.394h17.704z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M55.028 17.697L37.325 35.394V17.697z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M55.028 17.697l17.695 17.697H55.028z\\\"/><path fill=\\\"#A3AFBE\\\" d=\\\"M55.028 17.697l17.695 17.697V17.697z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M37.325 35.394l17.696 17.702H37.325z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M72.723 35.394L55.028 53.096h17.695z\\\"/><path fill=\\\"#A3AFBE\\\" d=\\\"M72.723 35.394L55.028 53.096V35.394z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M72.723 0l17.704 17.697H72.723z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M90.427 17.69L72.723 35.394h17.704z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M90.424 17.697L72.723 35.394V17.697z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M72.723 70.787l17.701-17.693H72.723zM90.424 53.094l-17.701-17.7h17.701z\\\"/><path fill=\\\"#A3AFBE\\\" d=\\\"M90.424 53.094l-17.701-17.7v17.7z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M90.424 53.094l17.701-17.7H90.424z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M108.133 35.394L90.427 17.697v17.697z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M30.646 37.971l-17.698 17.7h17.698z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M30.646 16.584L12.948 34.288V16.584zM17.703 44.26L0 26.559V44.26z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M37.333 35.394l17.695 17.702V35.394z\\\"/><g><path fill=\\\"#28B0E4\\\" d=\\\"M131.166 96.501l17.703-17.705h-17.703z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M148.869 96.498L166.572 78.8h-17.703z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M131.166 96.498L148.869 78.8v17.698z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M131.166 96.498L113.469 78.8h17.697z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M131.166 96.498L113.469 78.8v17.698zM148.869 78.802l-17.697-17.701h17.697z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M113.469 78.8l17.697-17.702h-17.697z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M113.469 78.8l17.697-17.702V78.8z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M113.469 114.19L95.767 96.498h17.702z\\\"/><path fill=\\\"#28B0E4\\\" d=\\\"M95.767 96.501L113.469 78.8H95.767z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M95.771 96.498L113.469 78.8v17.698z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M113.469 43.406L95.771 61.104h17.698zM95.771 61.104L113.469 78.8H95.771z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M95.771 61.104L113.469 78.8V61.104zM95.771 61.098L78.068 78.8h17.703z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M78.06 78.8l17.707 17.698V78.8z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M155.548 76.226l17.696-17.703h-17.696z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M155.548 97.61l17.696-17.703V97.61z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M168.491 69.935l17.705 17.701V69.935z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M148.861 78.8l-17.695-17.702V78.8z\\\"/></g></svg>\",\n    \"logo_grey\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 149.376 91.612\\\"><path fill=\\\"#F0F0F0\\\" d=\\\"M124.824 61.144l14.203-14.208h-14.203z\\\"/><path opacity=\\\".5\\\" fill=\\\"#474747\\\" d=\\\"M44.146 14.194L29.943 28.396h14.203z\\\"/><path opacity=\\\".5\\\" fill=\\\"#1A1A1A\\\" d=\\\"M29.944 14.196L15.741 28.395h14.203z\\\"/><path opacity=\\\".5\\\" d=\\\"M44.146 14.196L29.944 28.395V14.196z\\\"/><g opacity=\\\".5\\\"><path fill=\\\"#1A1A1A\\\" d=\\\"M44.146 14.196l14.198 14.199H44.146z\\\"/><path fill=\\\"#848484\\\" d=\\\"M44.146 14.196l14.198 14.199V14.196z\\\"/></g><path fill=\\\"#474747\\\" d=\\\"M29.944 28.395l14.199 14.202H29.944z\\\" opacity=\\\".5\\\"/><g opacity=\\\".5\\\"><path d=\\\"M58.344 28.395L44.146 42.597h14.198z\\\"/><path fill=\\\"#848484\\\" d=\\\"M58.344 28.395L44.146 42.597V28.395z\\\"/></g><path opacity=\\\".5\\\" fill=\\\"#474747\\\" d=\\\"M58.344 0l14.204 14.196H58.344z\\\"/><g opacity=\\\".5\\\"><path fill=\\\"#474747\\\" d=\\\"M72.548 14.193L58.344 28.395h14.204z\\\"/><path d=\\\"M72.542 14.196L58.344 28.395V14.196z\\\"/></g><path opacity=\\\".5\\\" fill=\\\"#1A1A1A\\\" d=\\\"M58.344 56.79l14.198-14.197H58.344z\\\"/><g opacity=\\\".5\\\"><path fill=\\\"#1A1A1A\\\" d=\\\"M72.542 42.593L58.344 28.395h14.198z\\\"/><path fill=\\\"#848484\\\" d=\\\"M72.542 42.593L58.344 28.395v14.198z\\\"/></g><path opacity=\\\".5\\\" fill=\\\"#474747\\\" d=\\\"M72.542 42.595l14.204-14.2H72.542z\\\"/><path opacity=\\\".5\\\" d=\\\"M86.751 28.395L72.548 14.196v14.199z\\\"/><path opacity=\\\".5\\\" fill=\\\"#1A1A1A\\\" d=\\\"M24.586 30.462l-14.198 14.2h14.198z\\\"/><path opacity=\\\".5\\\" fill=\\\"#474747\\\" d=\\\"M24.586 13.305L10.388 27.507V13.305zM14.203 35.507L0 21.307v14.2z\\\"/><path opacity=\\\".5\\\" fill=\\\"#1A1A1A\\\" d=\\\"M29.95 28.395l14.196 14.202V28.395z\\\"/><path fill=\\\"#9E9E9E\\\" d=\\\"M105.231 77.419l14.203-14.201h-14.203z\\\"/><path fill=\\\"#E0E0E0\\\" d=\\\"M119.434 77.417l14.2-14.198h-14.2z\\\"/><path fill=\\\"#E6E6E6\\\" d=\\\"M105.231 77.417l14.203-14.198v14.198z\\\"/><path fill=\\\"#C2C2C2\\\" d=\\\"M105.231 77.417L91.033 63.219h14.198z\\\"/><path fill=\\\"#E0E0E0\\\" d=\\\"M105.231 77.417L91.033 63.219v14.198zM119.434 63.221l-14.198-14.203h14.198z\\\"/><path fill=\\\"#C2C2C2\\\" d=\\\"M91.033 63.219l14.198-14.202H91.033z\\\"/><path fill=\\\"#F0F0F0\\\" d=\\\"M91.033 63.219l14.198-14.202v14.202z\\\"/><path fill=\\\"#C2C2C2\\\" d=\\\"M91.033 91.612L76.829 77.417h14.204z\\\"/><path fill=\\\"#9E9E9E\\\" d=\\\"M76.829 77.42l14.204-14.201H76.829z\\\"/><path fill=\\\"#F0F0F0\\\" d=\\\"M76.833 77.417l14.2-14.198v14.198z\\\"/><path fill=\\\"#C2C2C2\\\" d=\\\"M91.033 34.823l-14.2 14.198h14.2zM76.833 49.021l14.2 14.198h-14.2z\\\"/><path fill=\\\"#E0E0E0\\\" d=\\\"M76.833 49.021l14.2 14.198V49.021z\\\"/><path fill=\\\"#E6E6E6\\\" d=\\\"M76.833 49.017L62.63 63.219h14.203z\\\"/><path fill=\\\"#DADADA\\\" d=\\\"M62.627 63.219l14.202 14.198V63.219z\\\"/><path fill=\\\"#F0F0F0\\\" d=\\\"M124.791 78.309l14.198-14.204v14.204z\\\"/><path fill=\\\"#F6F6F6\\\" d=\\\"M135.173 56.105l14.203 14.201V56.105z\\\"/><path fill=\\\"#C2C2C2\\\" d=\\\"M119.426 63.219l-14.195-14.202v14.202z\\\"/></svg>\",\n    \"logo_white\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 231.432 141.937\\\"><path opacity=\\\".55\\\" fill=\\\"#FFF\\\" d=\\\"M68.396 21.992L46.393 43.995h22.003z\\\"/><path opacity=\\\".35\\\" fill=\\\"#FFF\\\" d=\\\"M46.394 21.994L24.389 43.993h22.005z\\\"/><path opacity=\\\".25\\\" fill=\\\"#FFF\\\" d=\\\"M68.396 21.994L46.394 43.993V21.994z\\\"/><g fill=\\\"#FFF\\\"><path opacity=\\\".45\\\" d=\\\"M68.396 21.994l21.997 21.999H68.396z\\\"/><path opacity=\\\".3\\\" d=\\\"M68.396 21.994l21.997 21.999V21.994z\\\"/></g><path fill=\\\"#FFF\\\" d=\\\"M46.394 43.993l21.997 22.004H46.394z\\\" opacity=\\\".35\\\"/><g fill=\\\"#FFF\\\"><path opacity=\\\".45\\\" d=\\\"M90.393 44.009L68.396 66.013h21.997z\\\"/><path opacity=\\\".25\\\" d=\\\"M90.393 43.993L68.396 65.997V43.993z\\\"/></g><path opacity=\\\".45\\\" fill=\\\"#FFF\\\" d=\\\"M90.392 0l22.005 21.994H90.392z\\\"/><g fill=\\\"#FFF\\\"><path opacity=\\\".65\\\" d=\\\"M112.398 21.989L90.393 43.993h22.005z\\\"/><path opacity=\\\".25\\\" d=\\\"M112.395 21.994L90.396 43.993V21.994z\\\"/></g><path opacity=\\\".45\\\" fill=\\\"#FFF\\\" d=\\\"M90.393 87.983l21.999-21.993H90.393z\\\"/><g fill=\\\"#FFF\\\"><path opacity=\\\".45\\\" d=\\\"M112.392 65.99L90.393 43.993h21.999z\\\"/><path opacity=\\\".35\\\" d=\\\"M112.392 65.99L90.393 43.993V65.99z\\\"/></g><path opacity=\\\".25\\\" fill=\\\"#FFF\\\" d=\\\"M112.392 65.994l22.005-22.001h-22.005z\\\"/><path opacity=\\\".35\\\" fill=\\\"#FFF\\\" d=\\\"M134.403 43.993l-22.005-21.999v21.999z\\\"/><path opacity=\\\".25\\\" fill=\\\"#FFF\\\" d=\\\"M38.092 47.195L16.095 69.197h21.997zM38.092 20.613L16.095 42.618V20.613z\\\"/><path opacity=\\\".15\\\" fill=\\\"#FFF\\\" d=\\\"M22.004 55.011L0 33.012v21.999z\\\"/><path opacity=\\\".45\\\" fill=\\\"#FFF\\\" d=\\\"M46.402 43.993l21.994 22.004V43.993z\\\"/><path opacity=\\\".51\\\" fill=\\\"#FFF\\\" d=\\\"M163.033 119.945l22.006-22.004h-22.006z\\\"/><path opacity=\\\".9\\\" fill=\\\"#FFF\\\" d=\\\"M185.039 119.942l22.004-21.998h-22.004z\\\"/><path fill=\\\"#FFF\\\" d=\\\"M163.033 119.942l22.006-21.998v21.998z\\\"/><g fill=\\\"#FFF\\\"><path opacity=\\\".9\\\" d=\\\"M163.033 119.942l-21.994-21.998h21.994z\\\"/><path opacity=\\\".51\\\" d=\\\"M163.033 119.942l-21.994-21.998v21.998z\\\"/></g><path fill=\\\"#FFF\\\" d=\\\"M185.039 97.947l-21.998-22.003h21.998z\\\" opacity=\\\".51\\\"/><g fill=\\\"#FFF\\\"><path d=\\\"M141.039 97.944l21.994-22.004h-21.994z\\\"/><path opacity=\\\".51\\\" d=\\\"M141.039 97.944l21.994-22.004v22.004z\\\"/></g><path opacity=\\\".72\\\" fill=\\\"#FFF\\\" d=\\\"M141.039 141.937l-22.007-21.995h22.007v21.995\\\"/><g fill=\\\"#FFF\\\"><path opacity=\\\".72\\\" d=\\\"M119.032 119.947l22.007-22.003h-22.007z\\\"/><path opacity=\\\".95\\\" d=\\\"M119.038 119.942l22.001-21.998v21.998z\\\"/></g><path opacity=\\\".9\\\" fill=\\\"#FFF\\\" d=\\\"M141.039 53.953l-22.001 21.994h22.001z\\\"/><g fill=\\\"#FFF\\\"><path opacity=\\\".9\\\" d=\\\"M119.038 75.947l22.001 21.997h-22.001z\\\"/><path opacity=\\\".48\\\" d=\\\"M119.038 75.947l22.001 21.997V75.947z\\\"/></g><path opacity=\\\".72\\\" fill=\\\"#FFF\\\" d=\\\"M119.038 75.942L97.034 97.944h22.004z\\\"/><path fill=\\\"#FFF\\\" d=\\\"M97.029 97.944l22.003 21.998V97.944z\\\"/><path opacity=\\\".9\\\" fill=\\\"#FFF\\\" d=\\\"M194.411 94.741l21.996-22h-21.996z\\\"/><path opacity=\\\".72\\\" fill=\\\"#FFF\\\" d=\\\"M193.34 121.323l21.996-22.004v22.004zM209.427 86.925l22.005 22v-22z\\\"/><path opacity=\\\".9\\\" fill=\\\"#FFF\\\" d=\\\"M185.029 97.944L163.033 75.94v22.004z\\\"/></svg>\",\n    \"vbox-new-logo-white\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"151\\\" height=\\\"26\\\" viewBox=\\\"0 0 151 26\\\"><g fill=\\\"#FFF\\\"><path fill-opacity=\\\".6\\\" d=\\\"M111.682 7.68c1.241-.617 2.387-1.645 2.387-3.566v-.046c0-1.074-.382-1.942-1.121-2.651C111.992.503 110.488 0 108.58 0H100l1.084 1.48V16h7.734c3.723 0 6.182-1.531 6.182-4.388v-.046c0-2.171-1.36-3.246-3.318-3.886zm-7.71-5.189h4.225c1.886 0 2.936.778 2.936 2.035v.045c0 1.464-1.265 2.172-3.151 2.172h-4.01V2.49zm8.092 8.823c0 1.44-1.218 2.195-3.222 2.195h-4.87V9.12h4.655c2.315 0 3.437.8 3.437 2.149v.045zM117 8.547V8.5c0-4.626 3.53-8.5 8.524-8.5C130.516 0 134 3.827 134 8.453V8.5c0 4.625-3.53 8.5-8.523 8.5S117 13.172 117 8.547zm14.005 0V8.5c0-3.194-2.3-5.847-5.528-5.847-3.228 0-5.482 2.607-5.482 5.8V8.5c0 3.193 2.3 5.823 5.528 5.823 3.228 0 5.482-2.583 5.482-5.776zM150.771 0l-5.588 7.817L151 16h-3.32l-4.237-6.102L139.229 16H136l5.794-8.137L136.229 0h3.32l3.986 5.806L147.542 0z\\\"/><path d=\\\"M0 8.547V8.5C0 3.827 3.492 0 8.46 0c3.025 0 4.852 1.057 6.423 2.56L13.03 4.695c-1.312-1.221-2.719-2.043-4.594-2.043-3.117 0-5.414 2.583-5.414 5.8V8.5c0 3.217 2.274 5.823 5.414 5.823 2.016 0 3.305-.799 4.711-2.113L15 14.088C13.29 15.873 11.414 17 8.344 17 3.562 17 0 13.267 0 8.547zm38.541 1.144L32 0h3.435l4.589 7.063L44.683 0H48l-6.541 9.623V16H38.54V9.691zM81 8.547V8.5C81 3.874 84.53 0 89.524 0 94.516 0 98 3.827 98 8.453V8.5c0 4.625-3.53 8.5-8.523 8.5S81 13.172 81 8.547zm14.005 0V8.5c0-3.194-2.3-5.847-5.528-5.847-3.228 0-5.481 2.607-5.481 5.8V8.5c0 3.193 2.3 5.823 5.528 5.823 3.228 0 5.48-2.583 5.48-5.776zM58.66 0H51l1.082 1.48V16h2.932v-5.143h3.313c3.67 0 6.673-1.874 6.673-5.463V5.35C65 2.126 62.57 0 58.66 0zm3.361 5.462c0 1.669-1.383 2.858-3.599 2.858h-3.408V2.56h3.408c2.193 0 3.599.983 3.599 2.857v.045zM27.573 9.943c2.272-.64 3.888-2.217 3.888-4.846v-.045c0-1.395-.492-2.583-1.359-3.452C29.05.594 27.432 0 25.372 0H17l1.063 1.48V16h2.881v-5.577h3.608L28.58 16H32l-4.427-6.057zm-6.629-2.012V2.56h4.193c2.132 0 3.397.937 3.397 2.652v.045c0 1.623-1.312 2.674-3.373 2.674h-4.217zM71.08 2.605H66V0h13v2.605h-5.08V16h-2.84V2.605zm66.815 20.579v-.013c0-1.185.87-2.159 2.107-2.159.756 0 1.206.266 1.6.647l-.463.545c-.33-.309-.681-.52-1.143-.52-.776 0-1.35.653-1.35 1.47v.011c0 .817.562 1.476 1.35 1.476.5 0 .825-.205 1.175-.538l.462.478c-.431.453-.894.738-1.656.738-1.194.006-2.082-.938-2.082-2.135zm4.032 0v-.013c0-1.173.887-2.159 2.144-2.159 1.256 0 2.131.974 2.131 2.147v.012c0 1.174-.887 2.154-2.144 2.154-1.256 0-2.131-.968-2.131-2.141zm3.525 0v-.013c0-.81-.581-1.481-1.394-1.481-.812 0-1.375.659-1.375 1.47v.011c0 .811.575 1.476 1.394 1.476.806 0 1.375-.653 1.375-1.463zm-14.689 1.463v-1.155h2.05v-.683h-2.05v-1.12h2.313v-.677h-3.3l.269.4v3.913h3.062v-.678zm5.651-.955c.569-.176.969-.6.969-1.307v-.018c0-.375-.125-.696-.338-.931-.262-.273-.669-.43-1.181-.43h-2.075l.25.381v3.932h.719v-1.506h.9l1.006 1.506h.85l-1.1-1.627zm-1.656-.539v-1.451h1.05c.53 0 .843.254.843.713v.012c0 .436-.325.72-.837.72h-1.056v.006zm15.395-2.141l-1.407 2.117-1.412-2.117h-.857l.27.4v3.913h.705v-2.837l1.282 1.911h.025l1.287-1.953v2.879h.72v-4.313zm-30.128 0h1.844c.469 0 .844.133 1.075.381a.994.994 0 0 1 .275.714v.012c0 .514-.281.792-.588.962.482.17.82.46.82 1.046v.012c0 .768-.607 1.186-1.52 1.186h-1.906v-4.313zm2.469 1.222c0-.339-.263-.55-.725-.55h-1.038v1.149h.988c.469 0 .775-.194.775-.587v-.012zm-.613 1.24h-1.15v1.185h1.2c.494 0 .794-.2.794-.586v-.012c0-.375-.275-.587-.844-.587zm3.282.151l-1.638-2.613h.863l1.144 1.905 1.169-1.905h.825l-1.632 2.595v1.718h-.725v-1.7z\\\"/></g></svg>\",\n    \"vertical-white\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 228.9 124.1\\\"><path fill=\\\"#FFF\\\" d=\\\"M119.6 118.5c0-2.5 1.8-4.5 4.5-4.5 1.6 0 2.6.6 3.4 1.4l-1 1.1c-.7-.6-1.4-1.1-2.4-1.1-1.6 0-2.9 1.4-2.9 3.1 0 1.7 1.2 3.1 2.9 3.1 1.1 0 1.8-.4 2.5-1.1l1 1c-.9.9-1.9 1.5-3.6 1.5-2.5 0-4.4-2-4.4-4.5zM128.5 118.5c0-2.5 1.9-4.5 4.6-4.5 2.7 0 4.5 2 4.5 4.5s-1.9 4.5-4.6 4.5c-2.7 0-4.5-2.1-4.5-4.5zm7.5 0c0-1.7-1.2-3.1-3-3.1-1.7 0-2.9 1.4-2.9 3.1 0 1.7 1.2 3.1 3 3.1 1.7-.1 2.9-1.4 2.9-3.1zM104.443 121.432v-2.3h4.4v-1.4h-4.4v-2.3h4.9v-1.3h-7l.6.8v7.9h6.5v-1.4zM116.444 119.532c1.2-.3 2.1-1.2 2.1-2.6 0-.9-.3-1.5-.7-2-.6-.5-1.5-.8-2.5-.8h-4.4l.5.8v8h1.5v-3h1.9l2.1 3h1.8l-2.3-3.4zm-3.5-1.1v-3h2.2c1.1 0 1.8.5 1.8 1.4 0 1-.7 1.6-1.8 1.6h-2.2zM146.299 114.132l-3 4.2-3-4.2h-1.8l.5.8v7.9h1.5v-5.8l2.7 3.9h.1l2.7-4v5.9h1.6v-8.7z\\\"/><g fill=\\\"#FFF\\\"><path d=\\\"M81.9 114.032h3.9c1 0 1.8.3 2.3.8.4.4.6.9.6 1.5 0 1.1-.6 1.6-1.2 2 1 .3 1.7.9 1.7 2.1 0 1.6-1.3 2.4-3.2 2.4h-4l-.1-8.8zm5.3 2.5c0-.7-.6-1.1-1.5-1.1h-2.3v2.3h2.1c1 0 1.7-.4 1.7-1.2zm-1.3 2.5h-2.5v2.4H86c1 0 1.7-.4 1.7-1.2 0-.8-.6-1.2-1.8-1.2zM93.2 119.332l-3.5-5.3h1.8l2.4 3.9 2.5-3.9h1.8l-3.5 5.3v3.5h-1.5z\\\"/></g><g><g fill=\\\"#FFF\\\"><path d=\\\"M168.9 80.5c1.9-1 3.6-2.5 3.6-5.5 0-1.7-.6-3-1.7-4.1-1.4-1.4-3.7-2.2-6.5-2.2h-12.9L153 71v22.5h11.6c5.6 0 9.3-2.4 9.3-6.8v-.1c-.1-3.4-2.1-5.1-5-6.1zm-11.6-8h6.3c2.8 0 4.4 1.2 4.4 3.1v.1c0 2.3-1.9 3.4-4.7 3.4h-6v-6.6zm12.1 13.7c0 2.2-1.8 3.4-4.8 3.4h-7.3v-6.8h7c3.4 0 5.1 1.2 5.1 3.4zM177.7 81.1c0-7 5.4-12.9 13.1-12.9 7.7 0 13 5.8 13 12.7v.1c0 7-5.4 12.8-13.1 12.8-7.7 0-13-5.7-13-12.7zm21.5 0c0-4.9-3.5-8.9-8.5-8.9s-8.4 3.9-8.4 8.7v.1c0 4.8 3.5 8.8 8.5 8.8s8.4-3.9 8.4-8.7zM228.6 68.7l-8.8 12.1 9.1 12.6h-5.2l-6.6-9.4-6.6 9.4h-5l9-12.6-8.6-12.1h5.1l6.3 8.9 6.2-8.9z\\\"/><path opacity=\\\".6\\\" d=\\\"M0 81.1C0 74 5.3 68.2 12.9 68.2c4.6 0 7.4 1.6 9.8 3.9l-2.8 3.2c-2-1.8-4.1-3.1-7-3.1-4.8 0-8.3 3.9-8.3 8.7v.1c0 4.8 3.5 8.8 8.3 8.8 3.1 0 5-1.2 7.2-3.2l2.8 2.8c-2.6 2.7-5.5 4.4-10.2 4.4C5.4 93.8 0 88.2 0 81.1zM58.7 83.7l-10-15h5.2l7 10.9L68 68.7h5l-9.9 14.8v9.9h-4.4zM122.1 81.1c0-7 5.4-12.9 13.1-12.9s13 5.8 13 12.7v.1c0 7-5.4 12.8-13.1 12.8-7.7 0-13-5.7-13-12.7zm21.5 0c0-4.9-3.5-8.9-8.5-8.9s-8.4 3.9-8.4 8.7v.1c0 4.8 3.5 8.8 8.5 8.8s8.4-3.9 8.4-8.7zM87.9 68.7H76.4L78 71v22.5h4.4v-8h5c5.5 0 10-2.9 10-8.4V77c0-5-3.6-8.3-9.5-8.3zm5.1 8.4c0 2.6-2.1 4.4-5.4 4.4h-5.1v-8.9h5.1c3.3 0 5.4 1.5 5.4 4.5zM42 84c3.5-1 5.9-3.4 5.9-7.5v-.1c0-2.2-.8-4-2.1-5.3-1.6-1.6-4.1-2.5-7.2-2.5H25.9l1.6 2.3v22.5h4.4v-8.6h5.5l6.1 8.6h5.2L42 84zm-10.1-3.1v-8.3h6.4c3.3 0 5.2 1.4 5.2 4.1v.1c0 2.5-2 4.1-5.1 4.1h-6.5zM108.1 72.7h-7.9v-4h20.3v4h-8v20.7h-4.4z\\\"/></g></g><g fill=\\\"#FFF\\\"><g opacity=\\\".55\\\"><path opacity=\\\".5\\\" d=\\\"M105.5 33.9l-1.3 4.3s.7.9 1.6 2c2.4 2.6 4.6 4.3 4.6 4.3l6.7-13.7-11.6 3.1z\\\"/><path opacity=\\\".3\\\" d=\\\"M102 34.9c.4.7.8 1.3 1.3 1.9.3.5.6.9 1 1.4l1.3-4.3-3.6 1zM110.5 44.4c1.8 1.4 3.3 2.3 4.2 2.8 1.6-.8 5.2-2.9 8.7-6.9l-6.2-9.6-6.7 13.7z\\\"/><path opacity=\\\".7\\\" d=\\\"M131.1 26.5l-13.9 4.2 6.2 9.6s1.9-2.2 2.6-3.2c0 0-1.8 2.5.2-.3s3.5-5.9 4.5-9.2l.1-.5.3-.6z\\\"/><path opacity=\\\".3\\\" d=\\\"M122.6 19.6l3.4-7.1 6.5 3.8s0 4.5-.9 7.8\\\"/><path opacity=\\\".5\\\" d=\\\"M117.2 30.7l13.9-4.2c.3-1 .4-1.3.6-2.4l-9.1-4.5-5.4 11.1z\\\"/><path opacity=\\\".3\\\" d=\\\"M111.4 14.1l-5.8-3 8-4.7z\\\"/><path opacity=\\\".5\\\" d=\\\"M114.7 5.8l-1.1.6-2.2 7.7 11.2 5.5 3.4-7.1z\\\"/><path opacity=\\\".7\\\" d=\\\"M108.1 25.2l-11.3-8.9 14.6-2.2 11.2 5.5-5.4 11.1-11.7 3.2z\\\"/><path opacity=\\\".5\\\" d=\\\"M96.8 16.3l14.6-2.2-5.8-3-8.8 5.2c.2 7.9 1.5 12.1 4.6 17.8.1.2.5.8.5.8l3.5-1 2.6-8.7-11.2-8.9z\\\"/></g><path d=\\\"M94.7 15.1c0 2.9.2 5.8.7 8.5.5 2.6 1.2 5.2 2.2 7.6 1.7 4.1 4 7.7 7 11 1.2 1.3 2.5 2.5 3.8 3.6 1.1.9 2.2 1.7 3.4 2.4 1.3.8 2.3 1.3 2.8 1.6.6-.3 1.6-.8 2.8-1.6 1.2-.7 2.3-1.6 3.4-2.4 1.4-1.1 2.6-2.3 3.8-3.6 3-3.2 5.4-6.9 7-11 1-2.4 1.7-5 2.2-7.6.5-2.7.7-5.6.7-8.5-3-1.8-16.9-10-20-11.9L94.7 15.1zm20 37.4l-.5-.2c-.2-.1-5.8-2.5-11.4-8.5-3.2-3.5-5.8-7.4-7.5-11.7-1-2.5-1.9-5.3-2.4-8.1-.6-3.1-.8-6.3-.7-9.7v-.7L114.7.2l.6.4 21.8 13v.7c.1 3.3-.2 6.6-.7 9.7-.5 2.8-1.3 5.5-2.4 8.1-1.8 4.3-4.3 8.3-7.5 11.7-5.5 5.9-11.1 8.4-11.4 8.5l-.4.2z\\\"/><path d=\\\"M111.9 16.1v2.4H102v4.9h9.9v2.4l5-4.9z\\\"/><path opacity=\\\".7\\\" d=\\\"M127.6 24.5h-10v-2.4l-4.9 4.8 4.9 4.9v-2.4h10\\\"/></g></svg>\",\n    \"white-shield\": \"<svg version=\\\"1.1\\\" id=\\\"Calque_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0\\\" y=\\\"0\\\" viewBox=\\\"0 0 182 211.2\\\" xml:space=\\\"preserve\\\"><style>.st0{opacity:.6}.st33{opacity:.55}.st38{clip-path:url(#SVGID_74_)}</style><g class=\\\"st0\\\"><defs><path id=\\\"SVGID_1_\\\" class=\\\"st0\\\" d=\\\"M1445.8 132c0 11.6-9.4 17.7-24.9 17.7h-37.6v-35.4h35.9c17.9 0 26.5 6.4 26.5 17.3v.4zm-62.5-71.1h32.6c14.6 0 22.7 6.3 22.7 16.4v.4c0 11.8-9.8 17.5-24.3 17.5h-30.9V60.9zm59.5 41.8c9.6-5 18.4-13.3 18.4-28.7v-.4c0-8.7-2.9-15.7-8.7-21.4-7.4-7.4-19-11.4-33.7-11.4h-66.2l8.4 11.9v117.1h59.7c28.7 0 47.7-12.3 47.7-35.4v-.4c0-17.4-10.5-26.1-25.6-31.3z\\\"/></defs><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_2_)\\\"><defs><path id=\\\"SVGID_3_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_4_\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_4_)\\\" fill=\\\"#fff\\\" d=\\\"M1347.6 35.8h125.8v139h-125.8z\\\"/></g></g><g class=\\\"st0\\\"><defs><path id=\\\"SVGID_5_\\\" class=\\\"st0\\\" d=\\\"M1599.5 105.7v-.4c0-25-18.2-45.7-43.8-45.7-25.6 0-43.4 20.4-43.4 45.4v.4c0 25 18.2 45.6 43.8 45.6 25.6-.1 43.4-20.3 43.4-45.3zm-110.9 0v-.4c0-36.2 28-66.5 67.5-66.5s67.1 29.9 67.1 66.1v.4c0 36.2-28 66.5-67.5 66.5s-67.1-29.9-67.1-66.1z\\\"/></defs><use xlink:href=\\\"#SVGID_5_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_6_\\\"><use xlink:href=\\\"#SVGID_5_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_6_)\\\"><defs><path id=\\\"SVGID_7_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><use xlink:href=\\\"#SVGID_7_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_8_\\\"><use xlink:href=\\\"#SVGID_7_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_8_)\\\" fill=\\\"#fff\\\" d=\\\"M1483.6 33.8h144.6v143h-144.6z\\\"/></g></g><g class=\\\"st0\\\"><defs><path id=\\\"SVGID_9_\\\" class=\\\"st0\\\" d=\\\"M1750.2 40.8l-44.8 63 46.7 66h-26.7l-34-49.2-33.8 49.2h-26l46.6-65.6-44.7-63.4h26.6l32 46.8 32.2-46.8z\\\"/></defs><use xlink:href=\\\"#SVGID_9_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_10_\\\"><use xlink:href=\\\"#SVGID_9_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_10_)\\\"><defs><path id=\\\"SVGID_11_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><use xlink:href=\\\"#SVGID_11_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_12_\\\"><use xlink:href=\\\"#SVGID_11_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_12_)\\\" fill=\\\"#fff\\\" d=\\\"M1626.6 35.8H1757v139h-130.4z\\\"/></g></g><defs><path id=\\\"SVGID_13_\\\" d=\\\"M1650.2 219.1c0-9.5 6.8-17.1 16.4-17.1 5.9 0 9.4 2.1 12.4 5.1l-3.6 4.3c-2.6-2.4-5.3-4.1-8.9-4.1-6 0-10.5 5.2-10.5 11.6v.1c0 6.4 4.4 11.7 10.5 11.7 3.9 0 6.4-1.6 9.1-4.2l3.6 3.8c-3.4 3.6-7 5.8-12.9 5.8-9.2-.1-16.1-7.6-16.1-17z\\\"/></defs><use xlink:href=\\\"#SVGID_13_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_14_\\\"><use xlink:href=\\\"#SVGID_13_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_14_)\\\"><defs><path id=\\\"SVGID_15_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><use xlink:href=\\\"#SVGID_15_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_16_\\\"><use xlink:href=\\\"#SVGID_15_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_16_)\\\" fill=\\\"#fff\\\" d=\\\"M1645.2 196.9h39.1v44h-39.1z\\\"/></g><defs><path id=\\\"SVGID_17_\\\" d=\\\"M1709 219c0-6.5-4.5-11.8-10.8-11.8-6.3 0-10.7 5.2-10.7 11.6v.1c0 6.4 4.5 11.6 10.8 11.6 6.3.1 10.7-5.1 10.7-11.5zm-27.4 0c0-9.3 6.9-17.1 16.7-17.1 9.8 0 16.6 7.7 16.6 16.9v.1c0 9.3-6.9 17-16.7 17-9.8 0-16.6-7.6-16.6-16.9z\\\"/></defs><use xlink:href=\\\"#SVGID_17_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_18_\\\"><use xlink:href=\\\"#SVGID_17_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_18_)\\\"><defs><path id=\\\"SVGID_19_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><use xlink:href=\\\"#SVGID_19_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_20_\\\"><use xlink:href=\\\"#SVGID_19_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_20_)\\\" fill=\\\"#fff\\\" d=\\\"M1676.6 196.9h43.3v44h-43.3z\\\"/></g><defs><path id=\\\"SVGID_21_\\\" d=\\\"M1594.7 230.6v-9.1h16v-5.4h-16v-8.8h18v-5.4h-25.6l2 3.2v30.8h23.9v-5.3z\\\"/></defs><use xlink:href=\\\"#SVGID_21_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_22_\\\"><use xlink:href=\\\"#SVGID_21_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_22_)\\\"><defs><path id=\\\"SVGID_23_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><use xlink:href=\\\"#SVGID_23_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_24_\\\"><use xlink:href=\\\"#SVGID_23_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_24_)\\\" fill=\\\"#fff\\\" d=\\\"M1582.1 196.9h35.9v44h-35.9z\\\"/></g><defs><path id=\\\"SVGID_25_\\\" d=\\\"M1625.8 218.8v-11.4h8.2c4.1 0 6.6 2 6.6 5.6v.1c0 3.4-2.5 5.7-6.5 5.7h-8.3zm12.9 4.2c4.4-1.4 7.5-4.7 7.5-10.3v-.1c0-3-1-5.5-2.6-7.3-2-2.1-5.2-3.4-9.2-3.4h-16.1l1.9 3v31h5.6V224h7l7.8 11.9h6.6l-8.5-12.9z\\\"/></defs><use xlink:href=\\\"#SVGID_25_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_26_\\\"><use xlink:href=\\\"#SVGID_25_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_26_)\\\"><defs><path id=\\\"SVGID_27_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><use xlink:href=\\\"#SVGID_27_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_28_\\\"><use xlink:href=\\\"#SVGID_27_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_28_)\\\" fill=\\\"#fff\\\" d=\\\"M1613.3 196.9h39v44h-39z\\\"/></g><defs><path id=\\\"SVGID_29_\\\" d=\\\"M1745.6 201.9l-11 16.7-11-16.7h-6.6l2.1 3.2v30.8h5.5v-22.3l9.9 15h.2l10-15.4v22.7h5.6v-34z\\\"/></defs><use xlink:href=\\\"#SVGID_29_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_30_\\\"><use xlink:href=\\\"#SVGID_29_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_30_)\\\"><defs><path id=\\\"SVGID_31_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><use xlink:href=\\\"#SVGID_31_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_32_\\\"><use xlink:href=\\\"#SVGID_31_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_32_)\\\" fill=\\\"#fff\\\" d=\\\"M1712 196.9h43.4v44H1712z\\\"/></g><g><defs><path id=\\\"SVGID_33_\\\" d=\\\"M1525.6 221.3h-8.9v9.3h9.3c3.8 0 6.2-1.6 6.2-4.6 0-3-2.2-4.7-6.6-4.7zm4.8-9.7c0-2.7-2-4.3-5.6-4.3h-8.1v9.1h7.7c3.6-.1 6-1.6 6-4.8zm-19.2-9.7h14.3c3.6 0 6.6 1 8.4 3 1.4 1.5 2.1 3.3 2.1 5.6v.1c0 4.1-2.2 6.2-4.6 7.6 3.7 1.3 6.4 3.6 6.4 8.2v.1c0 6.1-4.7 9.3-11.8 9.3h-14.8v-33.9z\\\"/></defs><use xlink:href=\\\"#SVGID_33_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_34_\\\"><use xlink:href=\\\"#SVGID_33_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_34_)\\\"><defs><path id=\\\"SVGID_35_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><use xlink:href=\\\"#SVGID_35_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_36_\\\"><use xlink:href=\\\"#SVGID_35_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_36_)\\\" fill=\\\"#fff\\\" d=\\\"M1506.2 196.9h36.6v44h-36.6z\\\"/></g></g><g><defs><path id=\\\"SVGID_37_\\\" d=\\\"M1551.2 222.5l-12.8-20.6h6.7l8.9 15 9.1-15h6.5l-12.7 20.5v13.5h-5.7v-13.4z\\\"/></defs><use xlink:href=\\\"#SVGID_37_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_38_\\\"><use xlink:href=\\\"#SVGID_37_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_38_)\\\"><defs><path id=\\\"SVGID_39_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><use xlink:href=\\\"#SVGID_39_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_40_\\\"><use xlink:href=\\\"#SVGID_39_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_40_)\\\" fill=\\\"#fff\\\" d=\\\"M1533.4 196.9h41.1v44h-41.1z\\\"/></g></g><g><defs><path id=\\\"SVGID_41_\\\" d=\\\"M574 105.8v-.4c0-36.6 27.4-66.5 66.3-66.5 23.7 0 38 8.3 50.3 20l-14.5 16.7c-10.3-9.6-21.3-16-36-16-24.4 0-42.4 20.2-42.4 45.4v.4c0 25.2 17.8 45.6 42.4 45.6 15.8 0 25.9-6.2 36.9-16.5l14.5 14.7c-13.4 14-28.1 22.8-52.2 22.8-37.4 0-65.3-29.2-65.3-66.2z\\\"/></defs><clipPath id=\\\"SVGID_42_\\\"><use xlink:href=\\\"#SVGID_41_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_42_)\\\"><defs><path id=\\\"SVGID_43_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><clipPath id=\\\"SVGID_44_\\\"><use xlink:href=\\\"#SVGID_43_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_44_)\\\" fill=\\\"#fff\\\" d=\\\"M569 34h127.5v143H569z\\\"/></g></g><g><defs><path id=\\\"SVGID_45_\\\" d=\\\"M876.1 119.1L825 41h26.9l35.8 56.9L924.1 41h26l-51.2 77.6V170h-22.8z\\\"/></defs><use xlink:href=\\\"#SVGID_45_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_46_\\\"><use xlink:href=\\\"#SVGID_45_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_46_)\\\"><defs><path id=\\\"SVGID_47_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><use xlink:href=\\\"#SVGID_47_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_48_\\\"><use xlink:href=\\\"#SVGID_47_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_48_)\\\" fill=\\\"#fff\\\" d=\\\"M820 36h135v139H820z\\\"/></g></g><g><defs><path id=\\\"SVGID_49_\\\" d=\\\"M1312.8 105.8v-.4c0-25-18.2-45.7-43.7-45.7-25.5 0-43.3 20.4-43.3 45.4v.4c0 25 18.2 45.6 43.7 45.6 25.4-.1 43.3-20.3 43.3-45.3zm-110.8 0v-.4c0-36.2 27.9-66.5 67.4-66.5 39.5 0 67 29.9 67 66.1v.4c0 36.2-27.9 66.5-67.4 66.5-39.4.1-67-29.9-67-66.1z\\\"/></defs><use xlink:href=\\\"#SVGID_49_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_50_\\\"><use xlink:href=\\\"#SVGID_49_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_50_)\\\"><defs><path id=\\\"SVGID_51_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><use xlink:href=\\\"#SVGID_51_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_52_\\\"><use xlink:href=\\\"#SVGID_51_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_52_)\\\" fill=\\\"#fff\\\" d=\\\"M1197 34h144.4v143H1197z\\\"/></g></g><g><defs><path id=\\\"SVGID_53_\\\" d=\\\"M1052 85c0 13.5-10.7 23-27.8 23H998V61.6h26.3c16.9 0 27.8 7.9 27.8 23v.4zm-25.9-44H967l8.4 11.9V170H998v-41.5h25.6c28.3 0 51.5-15.1 51.5-44v-.4c-.1-26-18.8-43.1-49-43.1z\\\"/></defs><use xlink:href=\\\"#SVGID_53_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_54_\\\"><use xlink:href=\\\"#SVGID_53_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_54_)\\\"><defs><path id=\\\"SVGID_55_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><use xlink:href=\\\"#SVGID_55_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_56_\\\"><use xlink:href=\\\"#SVGID_55_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_56_)\\\" fill=\\\"#fff\\\" d=\\\"M962 36h118v139H962z\\\"/></g></g><g><defs><path id=\\\"SVGID_57_\\\" d=\\\"M738 104.9V61.6h32.9c16.7 0 26.7 7.6 26.7 21.4v.4c0 13.1-10.3 21.6-26.5 21.6H738zm52 16.2c17.8-5.2 30.5-17.9 30.5-39.1v-.4c0-11.2-3.9-20.8-10.7-27.8-8.3-8.1-21-12.9-37.1-12.9H707l8.3 11.9V170H738v-45h28.3l31.6 45h26.8L790 121.1z\\\"/></defs><use xlink:href=\\\"#SVGID_57_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_58_\\\"><use xlink:href=\\\"#SVGID_57_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_58_)\\\"><defs><path id=\\\"SVGID_59_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><use xlink:href=\\\"#SVGID_59_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_60_\\\"><use xlink:href=\\\"#SVGID_59_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_60_)\\\" fill=\\\"#fff\\\" d=\\\"M702 36h127.8v139H702z\\\"/></g></g><g><defs><path id=\\\"SVGID_61_\\\" d=\\\"M1129.8 62H1089V41h104.5v21h-40.9v108h-22.8V62z\\\"/></defs><use xlink:href=\\\"#SVGID_61_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_62_\\\"><use xlink:href=\\\"#SVGID_61_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_62_)\\\"><defs><path id=\\\"SVGID_63_\\\" d=\\\"M302-.4h1450v241H302z\\\"/></defs><use xlink:href=\\\"#SVGID_63_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_64_\\\"><use xlink:href=\\\"#SVGID_63_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_64_)\\\" fill=\\\"#fff\\\" d=\\\"M1084 36h114.5v139H1084z\\\"/></g></g><g class=\\\"st33\\\"><defs><path id=\\\"SVGID_65_\\\" class=\\\"st33\\\" d=\\\"M91 189.1s-18.6-9.5-36.5-29.2c-10.4-11.4-20.1-28.2-25.9-42.3-9.6-23.4-9.6-53-9.6-53L91 22l72 42.6s-.1 15.7-2.7 27.8c-2.6 12.1-5.7 21.9-9.1 30.2-5.8 14-14.6 27-24.2 37.7-17.6 19.8-36 28.8-36 28.8z\\\"/></defs><clipPath id=\\\"SVGID_66_\\\"><use xlink:href=\\\"#SVGID_65_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_66_)\\\"><defs><path id=\\\"SVGID_67_\\\" d=\\\"M0-.4h1450v241H0z\\\"/></defs><clipPath id=\\\"SVGID_68_\\\"><use xlink:href=\\\"#SVGID_67_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_68_)\\\"><defs><path id=\\\"SVGID_69_\\\" d=\\\"M18 21.6h146v168H18z\\\"/></defs><clipPath id=\\\"SVGID_70_\\\"><use xlink:href=\\\"#SVGID_69_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_70_)\\\"><defs><path id=\\\"SVGID_71_\\\" d=\\\"M18 21.6h146v168H18z\\\"/></defs><clipPath id=\\\"SVGID_72_\\\"><use xlink:href=\\\"#SVGID_71_\\\" overflow=\\\"visible\\\"/></clipPath><g opacity=\\\".6\\\" clip-path=\\\"url(#SVGID_72_)\\\"><defs><path id=\\\"SVGID_73_\\\" d=\\\"M18 21.6h146v168H18z\\\"/></defs><clipPath id=\\\"SVGID_74_\\\"><use xlink:href=\\\"#SVGID_73_\\\" overflow=\\\"visible\\\"/></clipPath><g class=\\\"st38\\\"><defs><path id=\\\"SVGID_75_\\\" d=\\\"M91 22l-4.2 2.5-9 31.2L123 78l13.9-28.8z\\\"/></defs><clipPath id=\\\"SVGID_76_\\\"><use xlink:href=\\\"#SVGID_75_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_76_)\\\"><defs><path id=\\\"SVGID_77_\\\" d=\\\"M18 21.6h146v168H18z\\\"/></defs><clipPath id=\\\"SVGID_78_\\\"><use xlink:href=\\\"#SVGID_77_\\\" overflow=\\\"visible\\\"/></clipPath><path opacity=\\\".5\\\" clip-path=\\\"url(#SVGID_78_)\\\" fill=\\\"#fff\\\" d=\\\"M72.8 17h69.1v66H72.8z\\\"/></g></g><g class=\\\"st38\\\"><defs><path id=\\\"SVGID_79_\\\" d=\\\"M18.9 64.7c1 32.2 6.3 49.1 18.9 71.9.4.7 2 3.2 2 3.2l14.2-3.9 23.9-80.2-23.7-12-35.3 21z\\\"/></defs><clipPath id=\\\"SVGID_80_\\\"><use xlink:href=\\\"#SVGID_79_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_80_)\\\"><defs><path id=\\\"SVGID_81_\\\" d=\\\"M18 21.6h146v168H18z\\\"/></defs><clipPath id=\\\"SVGID_82_\\\"><use xlink:href=\\\"#SVGID_81_\\\" overflow=\\\"visible\\\"/></clipPath><path opacity=\\\".5\\\" clip-path=\\\"url(#SVGID_82_)\\\" fill=\\\"#fff\\\" d=\\\"M13.9 38.7h68.9v106H13.9z\\\"/></g></g><g class=\\\"st38\\\"><defs><path id=\\\"SVGID_83_\\\" d=\\\"M77.8 55.7l-23.6-12 32.6-19.2z\\\"/></defs><clipPath id=\\\"SVGID_84_\\\"><use xlink:href=\\\"#SVGID_83_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_84_)\\\"><defs><path id=\\\"SVGID_85_\\\" d=\\\"M18 21.6h146v168H18z\\\"/></defs><clipPath id=\\\"SVGID_86_\\\"><use xlink:href=\\\"#SVGID_85_\\\" overflow=\\\"visible\\\"/></clipPath><path opacity=\\\".3\\\" clip-path=\\\"url(#SVGID_86_)\\\" fill=\\\"#fff\\\" d=\\\"M49.2 19.5h42.7v41.2H49.2z\\\"/></g></g><g class=\\\"st38\\\"><defs><path id=\\\"SVGID_87_\\\" d=\\\"M101 122.9l56.2-17c1.1-4.1 1.7-5.5 2.4-9.8L123 78l-22 44.9z\\\"/></defs><clipPath id=\\\"SVGID_88_\\\"><use xlink:href=\\\"#SVGID_87_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_88_)\\\"><defs><path id=\\\"SVGID_89_\\\" d=\\\"M18 21.6h146v168H18z\\\"/></defs><clipPath id=\\\"SVGID_90_\\\"><use xlink:href=\\\"#SVGID_89_\\\" overflow=\\\"visible\\\"/></clipPath><path opacity=\\\".5\\\" clip-path=\\\"url(#SVGID_90_)\\\" fill=\\\"#fff\\\" d=\\\"M96 73h68.6v54.9H96z\\\"/></g></g><g class=\\\"st38\\\"><defs><path id=\\\"SVGID_91_\\\" d=\\\"M163.1 64.7c0 .2 0 17.7-3.4 30.9 0 .2-.1.4-.1.6L123 78l13.9-28.9 26.2 15.6z\\\"/></defs><clipPath id=\\\"SVGID_92_\\\"><use xlink:href=\\\"#SVGID_91_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_92_)\\\"><defs><path id=\\\"SVGID_93_\\\" d=\\\"M18 21.6h146v168H18z\\\"/></defs><clipPath id=\\\"SVGID_94_\\\"><use xlink:href=\\\"#SVGID_93_\\\" overflow=\\\"visible\\\"/></clipPath><path opacity=\\\".3\\\" clip-path=\\\"url(#SVGID_94_)\\\" fill=\\\"#fff\\\" d=\\\"M118 44.1h50.1v57H118z\\\"/></g></g><g class=\\\"st38\\\"><defs><path id=\\\"SVGID_95_\\\" d=\\\"M53.8 135.8L48.7 153s2.7 3.6 6.5 7.9c9.9 10.6 18.8 17.2 18.8 17.2l27-55.3-47.2 13z\\\"/></defs><clipPath id=\\\"SVGID_96_\\\"><use xlink:href=\\\"#SVGID_95_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_96_)\\\"><defs><path id=\\\"SVGID_97_\\\" d=\\\"M18 21.6h146v168H18z\\\"/></defs><clipPath id=\\\"SVGID_98_\\\"><use xlink:href=\\\"#SVGID_97_\\\" overflow=\\\"visible\\\"/></clipPath><path opacity=\\\".5\\\" clip-path=\\\"url(#SVGID_98_)\\\" fill=\\\"#fff\\\" d=\\\"M43.8 117.9H106v65.3H43.8z\\\"/></g></g><g opacity=\\\".3\\\" clip-path=\\\"url(#SVGID_74_)\\\"><defs><path id=\\\"SVGID_99_\\\" d=\\\"M39.7 139.8c1.6 2.7 3.2 5.3 5 7.8 1.3 1.9 2.6 3.7 4 5.5l5.1-17.2-14.1 3.9z\\\" opacity=\\\".3\\\"/></defs><use xlink:href=\\\"#SVGID_99_\\\" overflow=\\\"visible\\\" opacity=\\\".3\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_100_\\\"><use xlink:href=\\\"#SVGID_99_\\\" overflow=\\\"visible\\\" opacity=\\\".3\\\"/></clipPath><g clip-path=\\\"url(#SVGID_100_)\\\"><defs><path id=\\\"SVGID_101_\\\" d=\\\"M18 21.6h146v168H18z\\\"/></defs><use xlink:href=\\\"#SVGID_101_\\\" overflow=\\\"visible\\\" fill=\\\"#dedede\\\"/><clipPath id=\\\"SVGID_102_\\\"><use xlink:href=\\\"#SVGID_101_\\\" overflow=\\\"visible\\\"/></clipPath></g></g><g class=\\\"st38\\\"><defs><path id=\\\"SVGID_103_\\\" d=\\\"M73.9 178.2c7.1 5.5 13.6 9.2 17 11.1 6.4-3.3 21-11.9 35.2-27.8L101 122.9l-27.1 55.3z\\\"/></defs><clipPath id=\\\"SVGID_104_\\\"><use xlink:href=\\\"#SVGID_103_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_104_)\\\"><defs><path id=\\\"SVGID_105_\\\" d=\\\"M18 21.6h146v168H18z\\\"/></defs><clipPath id=\\\"SVGID_106_\\\"><use xlink:href=\\\"#SVGID_105_\\\" overflow=\\\"visible\\\"/></clipPath><path opacity=\\\".3\\\" clip-path=\\\"url(#SVGID_106_)\\\" fill=\\\"#fff\\\" d=\\\"M68.9 117.9h62.3v76.4H68.9z\\\"/></g></g><g class=\\\"st38\\\"><defs><path id=\\\"SVGID_107_\\\" d=\\\"M157.1 105.8L101 122.9l25.2 38.6c.1-.1 7.6-8.8 10.4-12.8 0 0-7.2 10 1-1.4s14.3-24 18.3-37.3l.6-2 .6-2.2z\\\"/></defs><clipPath id=\\\"SVGID_108_\\\"><use xlink:href=\\\"#SVGID_107_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_108_)\\\"><defs><path id=\\\"SVGID_109_\\\" d=\\\"M18 21.6h146v168H18z\\\"/></defs><clipPath id=\\\"SVGID_110_\\\"><use xlink:href=\\\"#SVGID_109_\\\" overflow=\\\"visible\\\"/></clipPath><path opacity=\\\".7\\\" clip-path=\\\"url(#SVGID_110_)\\\" fill=\\\"#fff\\\" d=\\\"M96 100.8h66.1v65.7H96z\\\"/></g></g><g opacity=\\\".7\\\" clip-path=\\\"url(#SVGID_74_)\\\"><defs><path id=\\\"SVGID_111_\\\" opacity=\\\".7\\\" d=\\\"M64.4 100.5L18.9 64.7l58.9-9L123 78l-22 44.9-47.1 12.9z\\\"/></defs><use xlink:href=\\\"#SVGID_111_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_112_\\\"><use xlink:href=\\\"#SVGID_111_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_112_)\\\"><defs><path id=\\\"SVGID_113_\\\" d=\\\"M18 21.6h146v168H18z\\\"/></defs><use xlink:href=\\\"#SVGID_113_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_114_\\\"><use xlink:href=\\\"#SVGID_113_\\\" overflow=\\\"visible\\\"/></clipPath></g></g></g></g></g></g></g><g><defs><path id=\\\"SVGID_115_\\\" d=\\\"M10.1 59.8c-.1 11.9.8 23.5 2.9 34.4 2 10.7 5 21 9 30.7 6.7 16.4 16.3 31.3 28.5 44.4 4.8 5.1 10 10 15.5 14.5 4.4 3.6 9 6.9 13.7 9.9 5.1 3.3 9.1 5.4 11.4 6.5 2.3-1.1 6.3-3.3 11.4-6.5 4.7-3 9.2-6.3 13.7-9.9 5.5-4.5 10.7-9.4 15.5-14.5 12.2-13.1 21.8-28 28.5-44.4 4-9.7 7-20.1 9-30.7 2-11 3-22.5 2.9-34.4-12.2-7.3-68.2-40.6-81-48.2l-81 48.2zM91 211.2l-2-.9c-.9-.4-23.6-10.3-45.9-34.2-13-14-23.3-29.9-30.5-47.4C8.4 118.4 5.1 107.4 3 96 .7 83.5-.3 70.4 0 56.8l.1-2.7L91 0l2.6 1.5 88.3 52.6.1 2.7c.3 13.5-.7 26.7-3 39.2-2.1 11.4-5.3 22.4-9.6 32.7-7.2 17.5-17.5 33.4-30.5 47.4-22.3 24-45 33.9-45.9 34.3l-2 .8z\\\"/></defs><clipPath id=\\\"SVGID_116_\\\"><use xlink:href=\\\"#SVGID_115_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_116_)\\\"><defs><path id=\\\"SVGID_117_\\\" d=\\\"M0-.4h1450v241H0z\\\"/></defs><clipPath id=\\\"SVGID_118_\\\"><use xlink:href=\\\"#SVGID_117_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_118_)\\\" fill=\\\"#fff\\\" d=\\\"M-5-5h192v221.2H-5z\\\"/></g></g><g><defs><path id=\\\"SVGID_119_\\\" d=\\\"M79.8 63.7v9.8H39.5v19.8h40.3v9.8l20-19.7z\\\"/></defs><clipPath id=\\\"SVGID_120_\\\"><use xlink:href=\\\"#SVGID_119_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_120_)\\\"><defs><path id=\\\"SVGID_121_\\\" d=\\\"M0-.4h1450v241H0z\\\"/></defs><clipPath id=\\\"SVGID_122_\\\"><use xlink:href=\\\"#SVGID_121_\\\" overflow=\\\"visible\\\"/></clipPath><path clip-path=\\\"url(#SVGID_122_)\\\" fill=\\\"#fff\\\" d=\\\"M34.5 58.7h70.4v49.5H34.5z\\\"/></g></g><g class=\\\"st0\\\"><defs><path id=\\\"SVGID_123_\\\" class=\\\"st0\\\" d=\\\"M143.1 97.7h-40.2v-9.8l-20.1 19.7 20.1 19.7v-9.8h40.2\\\"/></defs><use xlink:href=\\\"#SVGID_123_\\\" overflow=\\\"visible\\\" fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_124_\\\"><use xlink:href=\\\"#SVGID_123_\\\" overflow=\\\"visible\\\"/></clipPath><g clip-path=\\\"url(#SVGID_124_)\\\"><defs><path id=\\\"SVGID_125_\\\" d=\\\"M0-.4h1450v241H0z\\\"/></defs><use xlink:href=\\\"#SVGID_125_\\\" overflow=\\\"visible\\\" fill=\\\"#fff\\\"/><clipPath id=\\\"SVGID_126_\\\"><use xlink:href=\\\"#SVGID_125_\\\" overflow=\\\"visible\\\"/></clipPath><path opacity=\\\".7\\\" clip-path=\\\"url(#SVGID_126_)\\\" fill=\\\"#fff\\\" d=\\\"M77.8 82.9h70.4v49.5H77.8z\\\"/></g></g></svg>\"\n  },\n  \"browser-blocked-login\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"88\\\" height=\\\"88\\\" viewBox=\\\"0 0 88 88\\\"><g fill=\\\"none\\\"><circle cx=\\\"44\\\" cy=\\\"44\\\" r=\\\"44\\\"/><path fill=\\\"#FFF\\\" d=\\\"M61.809 22H26.965C23.118 22 20 24.967 20 28.628v30.183c0 3.66 3.118 6.628 6.965 6.628h34.844c3.846 0 6.964-2.968 6.964-6.628V28.628c0-1.758-.734-3.444-2.04-4.687C65.427 22.698 63.656 22 61.81 22zm0 3.06c2.07 0 3.75 1.597 3.75 3.568v6.441H23.214v-6.441c0-1.971 1.68-3.569 3.75-3.569H61.81zM26.965 62.38c-2.072 0-3.75-1.598-3.75-3.57V38.078h42.344v20.734c0 1.97-1.68 3.569-3.75 3.569H26.965z\\\"/><ellipse cx=\\\"27.777\\\" cy=\\\"29.98\\\" fill=\\\"#FFF\\\" rx=\\\"2.505\\\" ry=\\\"2.429\\\"/><ellipse cx=\\\"34.368\\\" cy=\\\"29.98\\\" fill=\\\"#FFF\\\" rx=\\\"2.505\\\" ry=\\\"2.429\\\"/><ellipse cx=\\\"40.959\\\" cy=\\\"29.98\\\" fill=\\\"#FFF\\\" rx=\\\"2.505\\\" ry=\\\"2.429\\\"/><path fill=\\\"#F08579\\\" d=\\\"M43.643 47.786l4.665-4.935a1.619 1.619 0 0 1 1.513-.467 1.571 1.571 0 0 1 1.174 1.037 1.506 1.506 0 0 1-.34 1.505l-4.8 5.06 4.8 5.061a1.49 1.49 0 0 1-.077 2.151 1.604 1.604 0 0 1-2.218-.076l-4.717-4.986-4.716 4.986a1.604 1.604 0 0 1-2.218.076 1.49 1.49 0 0 1-.078-2.15l4.8-5.061-4.8-5.061a1.506 1.506 0 0 1-.34-1.505c.173-.524.62-.92 1.175-1.037a1.619 1.619 0 0 1 1.513.467l4.664 4.935z\\\"/></g></svg>\",\n  \"camera\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"533.333\\\" height=\\\"533.333\\\" viewBox=\\\"0 0 533.333 533.333\\\"><path d=\\\"M158.333 300c0 59.831 48.502 108.333 108.333 108.333S375 359.831 375 300s-48.502-108.333-108.333-108.333S158.333 240.169 158.333 300zM500 116.667H383.333C375 83.333 366.667 50 333.333 50H200c-33.333 0-41.667 33.333-50 66.667H33.333C15 116.667 0 131.667 0 150v300c0 18.333 15 33.333 33.333 33.333H500c18.333 0 33.334-15 33.334-33.333V150c-.001-18.333-15.001-33.333-33.334-33.333zm-233.333 331.25c-81.692 0-147.917-66.224-147.917-147.917 0-81.692 66.224-147.917 147.917-147.917S414.584 218.307 414.584 300c-.001 81.693-66.223 147.917-147.917 147.917zM500 216.667h-66.666v-33.333H500v33.333z\\\"/></svg>\",\n  \"cancel\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 212.982 212.982\\\"><path d=\\\"M131.804 106.491l75.936-75.936c6.99-6.99 6.99-18.323 0-25.312-6.99-6.99-18.322-6.99-25.312 0L106.491 81.18 30.554 5.242c-6.99-6.99-18.322-6.99-25.312 0-6.989 6.99-6.989 18.323 0 25.312l75.937 75.936-75.937 75.937c-6.989 6.99-6.989 18.323 0 25.312 6.99 6.99 18.322 6.99 25.312 0l75.937-75.937 75.937 75.937c6.989 6.99 18.322 6.99 25.312 0 6.99-6.99 6.99-18.322 0-25.312l-75.936-75.936z\\\" fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\"/></svg>\",\n  \"change-member-right\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 457.508 457.508\\\"><path d=\\\"M199.671 242.677c66.984 0 121.318-54.353 121.318-121.271C320.99 54.363 266.666 0 199.671 0 132.638 0 78.38 54.373 78.38 121.406c0 66.918 54.248 121.271 121.291 121.271z\\\"/><path d=\\\"M353.006 275.975c-6.407-13.723-14.479-27.521-24.786-40.688-5.546-7.057-15.663-14.803-25.445-20.109-25.359 28.419-62.118 46.416-103.104 46.416-40.956 0-77.705-17.997-103.036-46.35-9.563 5.432-19.412 13.178-24.776 20.215-17.403 22.711-44.265 66.728-48.549 126.044-.898 12.518 5.06 31.633 15.521 38.93 19.852 13.895 62.672 31.67 151.833 31.67 30.867 0 56.878-1.902 78.861-4.866-8.874-14.966-14.065-32.369-14.065-50.997-.011-54.404 43.508-98.736 97.546-100.265z\\\"/><path d=\\\"M353.006 294.945c-44.888 0-81.281 36.396-81.281 81.281 0 44.887 36.395 81.28 81.281 81.28s81.28-36.395 81.28-81.28-36.385-81.281-81.28-81.281zm-52.426 35.27a6.13 6.13 0 0 1 3.779-5.678 6.154 6.154 0 0 1 6.703 1.335l8.405 8.404c10.685-6.9 23.115-10.638 36.134-10.638 17.843 0 34.619 6.946 47.234 19.564 3.458 3.458 3.458 9.063 0 12.518a8.823 8.823 0 0 1-6.258 2.593 8.822 8.822 0 0 1-6.259-2.593c-9.272-9.272-21.604-14.379-34.718-14.379-8.247 0-16.181 2.025-23.237 5.83l5.851 5.852a6.143 6.143 0 0 1 1.337 6.697 6.145 6.145 0 0 1-5.677 3.789l-27.149-.018c-3.393 0-6.146-2.754-6.146-6.137v-27.139zm104.851 95.31c0 2.5-1.492 4.73-3.779 5.678a6.152 6.152 0 0 1-6.703-1.334l-8.405-8.404c-10.685 6.9-23.115 10.637-36.134 10.637-17.843 0-34.619-6.945-47.234-19.564-3.458-3.457-3.458-9.063 0-12.518a8.822 8.822 0 0 1 6.258-2.592 8.82 8.82 0 0 1 6.259 2.592c9.272 9.273 21.604 14.379 34.718 14.379 8.247 0 16.181-2.025 23.237-5.83l-5.851-5.852a6.143 6.143 0 0 1-1.337-6.697 6.147 6.147 0 0 1 5.677-3.789l27.149.018c3.393 0 6.146 2.754 6.146 6.137v27.139z\\\"/></svg>\",\n  \"chat\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 26 20.862\\\"><path d=\\\"M0 2.938V14.539C0 15.979 1.556 17 3.239 17h14.002l6.568 3.862-1.025-3.891C24.359 16.825 26 15.866 26 14.538v-11.6C26 1.496 24.063 0 22.379 0H3.239C1.556 0 0 1.496 0 2.938zm17.73 5.125a1.729 1.729 0 1 1 3.458 0 1.729 1.729 0 0 1-3.458 0zm-6.458 0a1.729 1.729 0 1 1 3.458 0 1.729 1.729 0 0 1-3.458 0zm-6.459 0a1.73 1.73 0 1 1 3.459.001 1.73 1.73 0 0 1-3.459-.001z\\\"/></svg>\",\n  \"check\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\"><path d=\\\"M13.673 2.125a.7.7 0 0 0-.969.203L7.2 11.148l-3.044-2.96a.7.7 0 1 0-.95 1.027l3.662 3.562.026.017.053.054.096.037.115.047.117.018.168-.002.068-.016.196-.082.031-.022.12-.087.056-.092.003-.004 5.959-9.551a.7.7 0 0 0-.203-.969z\\\"/></svg>\",\n  \"checked\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"415.582\\\" height=\\\"415.582\\\" viewBox=\\\"0 0 415.582 415.582\\\"><path d=\\\"M411.47 96.426l-46.319-46.32c-5.482-5.482-14.371-5.482-19.853 0l-192.95 192.952-82.066-82.064c-5.48-5.482-14.37-5.482-19.851 0l-46.319 46.32c-5.482 5.481-5.482 14.37 0 19.852l138.311 138.31a13.99 13.99 0 0 0 9.926 4.112c3.593 0 7.186-1.37 9.926-4.112L411.47 116.277a14.034 14.034 0 0 0 0-19.851z\\\"/></svg>\",\n  \"chevron-left\": \"<svg width=\\\"6\\\" height=\\\"10\\\" viewBox=\\\"0 0 6 10\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M.5 5l5-5v10l-5-5z\\\" fill=\\\"#fff\\\"/></svg>\",\n  \"chevron-right\": \"<svg width=\\\"6\\\" height=\\\"10\\\" viewBox=\\\"0 0 6 10\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M5.5 5l-5 5V0l5 5z\\\" fill=\\\"#fff\\\"/></svg>\",\n  \"chevrons\": {\n    \"down\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 307.053 307.053\\\"><path d=\\\"M302.445 80.796l-11.101-11.104c-6.123-6.131-16.074-6.131-22.209 0L153.67 183.707 37.907 67.959c-6.135-6.13-16.08-6.13-22.209 0L4.597 79.06c-6.129 6.133-6.129 16.067 0 22.201l137.83 137.829c6.129 6.136 16.067 6.136 22.203 0l137.814-136.096c6.145-6.13 6.145-16.068.001-22.198z\\\"/></svg>\",\n    \"left\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 700 700\\\"><path d=\\\"M154.933 375.285l314.219 314.226c13.981 13.988 36.643 13.988 50.618 0l25.308-25.308c13.973-13.959 13.973-36.644 0-50.632L281.487 350.004l263.59-263.602c13.973-13.964 13.973-36.632 0-50.614L519.77 10.48c-13.976-13.973-36.637-13.973-50.618 0L154.933 324.704c-13.986 13.972-13.986 36.612 0 50.581z\\\"/></svg>\",\n    \"right\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 307.046 307.046\\\"><path d=\\\"M239.087 142.427L101.259 4.597c-6.133-6.129-16.073-6.129-22.203 0L67.955 15.698c-6.129 6.133-6.129 16.076 0 22.201l115.621 115.626-115.621 115.61c-6.129 6.136-6.129 16.086 0 22.209l11.101 11.101c6.13 6.136 16.07 6.136 22.203 0l137.828-137.831c6.135-6.127 6.135-16.058 0-22.187z\\\"/></svg>\",\n    \"up\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 700 700\\\"><path d=\\\"M10.505 515.809l25.307 25.314c13.959 13.977 36.645 13.977 50.631 0l263.23-259.925 263.908 263.875c13.986 13.975 36.658 13.975 50.631 0l25.308-25.308c13.973-13.981 13.973-36.628 0-50.612L375.304 154.939c-13.973-13.988-36.629-13.988-50.617 0L10.507 465.203c-14.009 13.975-14.009 36.631-.002 50.606z\\\"/></svg>\"\n  },\n  \"chevrons_right\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><g fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" fill=\\\"#6B6B71\\\"><path d=\\\"M10.539 18.723a1.141 1.141 0 0 1-1.614-1.614l5.654-5.654a1.141 1.141 0 0 1 1.614 1.614l-5.654 5.654z\\\"/><path d=\\\"M16.192 13.07a1.142 1.142 0 0 1-1.615 0L8.931 7.422a1.142 1.142 0 1 1 1.615-1.615l5.646 5.646c.446.446.446 1.17 0 1.615z\\\"/></g></svg>\",\n  \"circle-device-dissocier\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 112.1 112.1\\\"><path class=\\\"st0\\\" d=\\\"M56 112.1c-31 0-56-25.1-56-56S25.1 0 56 0s56 25.1 56 56-25 56.1-56 56.1zM34.1 40.4h48.1V35H34.1c-2.9 0-5.3 2.4-5.3 5.3v29.4h-5.3v8h37.4v-8H34.1V40.4zm50.8 5.3h-16c-1.5 0-2.7 1.2-2.7 2.7v26.7c0 1.5 1.2 2.7 2.7 2.7h16c1.5 0 2.7-1.2 2.7-2.7V48.4c-.1-1.5-1.3-2.7-2.7-2.7zm-13.4 5.4h10.7v18.7H71.5V51.1z\\\"/><path fill=\\\"#fff\\\" stroke=\\\"#38567b\\\" stroke-width=\\\"1.99998\\\" d=\\\"M24.653 81.861l57.275-57.275 5.657 5.657L30.31 87.518z\\\"/></svg>\",\n  \"circle-device\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 112.1 112.1\\\"><path class=\\\"st0\\\" d=\\\"M56 112.1c-31 0-56-25.1-56-56S25.1 0 56 0s56 25.1 56 56-25 56.1-56 56.1zM34.1 40.4h48.1V35H34.1c-2.9 0-5.3 2.4-5.3 5.3v29.4h-5.3v8h37.4v-8H34.1V40.4zm50.8 5.3h-16c-1.5 0-2.7 1.2-2.7 2.7v26.7c0 1.5 1.2 2.7 2.7 2.7h16c1.5 0 2.7-1.2 2.7-2.7V48.4c-.1-1.5-1.3-2.7-2.7-2.7zm-13.4 5.4h10.7v18.7H71.5V51.1z\\\"/></svg>\",\n  \"clock\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"13\\\" height=\\\"13\\\" viewBox=\\\"0 0 13 13\\\"><path d=\\\"M5.778 10.111c0 .397.325.722.722.722a.724.724 0 0 0 .722-.722.725.725 0 0 0-.722-.722.725.725 0 0 0-.722.722zM5.778 0v2.889h1.444V1.503A5.052 5.052 0 0 1 6.5 11.556 5.052 5.052 0 0 1 1.444 6.5c0-1.213.427-2.326 1.142-3.192L6.5 7.222l1.018-1.018-4.91-4.911v.014A6.466 6.466 0 0 0 0 6.5C0 10.09 2.903 13 6.5 13a6.5 6.5 0 0 0 0-13h-.722zm5.055 6.5a.724.724 0 0 0-.722-.722.724.724 0 0 0-.722.722c0 .398.325.722.722.722a.724.724 0 0 0 .722-.722zm-8.666 0c0 .398.325.722.722.722A.724.724 0 0 0 3.61 6.5a.724.724 0 0 0-.722-.722.724.724 0 0 0-.722.722z\\\"/></svg>\",\n  \"close\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 27.965 27.966\\\"><path d=\\\"M13.98 0C6.259 0 0 6.261 0 13.983c0 7.721 6.259 13.982 13.98 13.982 7.725 0 13.985-6.262 13.985-13.982C27.965 6.261 21.705 0 13.98 0zm6.012 17.769l-2.227 2.224s-3.523-3.78-3.786-3.78c-.259 0-3.783 3.78-3.783 3.78l-2.228-2.224s3.784-3.472 3.784-3.781c0-.314-3.784-3.787-3.784-3.787l2.228-2.229s3.553 3.782 3.783 3.782c.232 0 3.786-3.782 3.786-3.782l2.227 2.229s-3.785 3.523-3.785 3.787c0 .251 3.785 3.781 3.785 3.781z\\\"/></svg>\",\n  \"close_secondary\": \"<svg width=\\\"12\\\" height=\\\"12\\\" viewBox=\\\"0 0 12 12\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M10.791 0L6 4.791 1.209 0 0 1.209 4.791 6 0 10.791 1.209 12 6 7.209 10.791 12 12 10.791 7.209 6 12 1.209 10.791 0z\\\" fill=\\\"#fff\\\"/></svg>\",\n  \"cloud-pres\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 508.885 284.48\\\"><path fill=\\\"#2196F3\\\" d=\\\"M433.757 228.802h-1.801v-8.425c0-15.586-12.37-28.606-27.829-28.886a52.769 52.769 0 0 0-1.688 0c-15.461.279-27.827 13.3-27.827 28.886v8.425h-1.802c-2.774 0-5.038 2.865-5.038 6.401v42.265c0 3.535 2.264 6.426 5.038 6.426h60.947c2.774 0 5.038-2.891 5.038-6.426v-42.265c0-3.536-2.264-6.401-5.038-6.401zm-24.763 27.49v12.771c0 1.464-1.226 2.702-2.689 2.702h-6.043c-1.464 0-2.689-1.238-2.689-2.702v-12.771c-1.418-1.394-2.243-3.327-2.243-5.465 0-4.05 3.129-7.529 7.109-7.691a26.452 26.452 0 0 1 1.69 0c3.979.162 7.111 3.642 7.111 7.691 0 2.138-.827 4.071-2.246 5.465zm11.097-27.49h-33.612v-8.425c0-9.287 7.545-16.962 16.805-16.962s16.808 7.675 16.808 16.962v8.425h-.001z\\\"/><path fill=\\\"#2196F3\\\" d=\\\"M421.475 109.48h-.252C417.355 48.48 366.518 0 304.424 0c-57.318 0-104.992 41.209-115.089 95.564-1.307-.05-2.663-.092-3.969-.092-42.701 0-78.72 28.288-90.475 67.119a67.087 67.087 0 0 0-5.526-.248c-33.708 0-61.087 27.31-61.087 61.067s27.329 61.07 61.037 61.07h250.019c-8.024-11.906-12.71-26.25-12.71-41.688 0-41.25 33.438-74.688 74.688-74.688 41.248 0 74.688 33.438 74.688 74.688a74.515 74.515 0 0 1-4.692 26.086c22.713-15.811 37.577-42.108 37.577-71.855 0-48.277-39.084-87.543-87.41-87.543z\\\"/><path fill=\\\"#032F5F\\\" d=\\\"M278 171.492a1.989 1.989 0 0 1-1.989 1.988H118.989a1.99 1.99 0 0 1-1.989-1.988V63.469c0-1.098.891-1.988 1.989-1.988h157.022c1.098 0 1.989.89 1.989 1.988v108.023zM150 181.48h95v7h-95z\\\"/><path fill=\\\"#FFF\\\" d=\\\"M121 65.48h153v105H121z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M172.541 92.706l-10.046 10.045h10.046z\\\"/><path fill=\\\"#425072\\\" d=\\\"M162.495 92.708l-10.044 10.042h10.044z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M172.541 92.708l-10.046 10.042V92.708z\\\"/><path fill=\\\"#425072\\\" d=\\\"M172.541 92.708l10.039 10.042h-10.039z\\\"/><path fill=\\\"#8F91A8\\\" d=\\\"M172.541 92.708l10.039 10.042V92.708z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M162.495 102.75l10.042 10.041h-10.042z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M182.58 102.75l-10.039 10.041h10.039z\\\"/><path fill=\\\"#8F91A8\\\" d=\\\"M182.58 102.75l-10.039 10.041V102.75z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M182.58 82.667l10.046 10.041H182.58z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M192.626 92.706L182.58 102.75h10.046z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M192.625 92.708L182.58 102.75V92.708z\\\"/><path fill=\\\"#425072\\\" d=\\\"M182.58 122.83l10.045-10.039H182.58zM192.625 112.791L182.58 102.75h10.045z\\\"/><path fill=\\\"#8F91A8\\\" d=\\\"M192.625 112.791L182.58 102.75v10.041z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M192.625 112.791l10.042-10.041h-10.042z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M202.67 102.75l-10.044-10.042v10.042z\\\"/><path fill=\\\"#425072\\\" d=\\\"M158.707 104.21l-10.04 10.043h10.04z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M158.707 92.077l-10.04 10.044V92.077zM151.363 107.78L141.32 97.736v10.044z\\\"/><path fill=\\\"#425072\\\" d=\\\"M162.501 102.75l10.04 10.041V102.75z\\\"/><g><path fill=\\\"#28B0E4\\\" d=\\\"M215.746 137.423l10.041-10.047h-10.041z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M225.787 137.42l10.046-10.042h-10.046z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M215.746 137.42l10.041-10.042v10.042z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M215.746 137.42l-10.04-10.042h10.04z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M215.746 137.42l-10.04-10.042v10.042zM225.787 127.379l-10.039-10.044h10.039z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M205.706 127.378l10.04-10.044h-10.04z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M205.706 127.378l10.04-10.044v10.044z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M205.706 147.459L195.66 137.42h10.046z\\\"/><path fill=\\\"#28B0E4\\\" d=\\\"M195.66 137.423l10.046-10.045H195.66z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M195.662 137.42l10.044-10.042v10.042z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M205.706 107.296l-10.044 10.039h10.044z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M195.662 117.335l10.044 10.043h-10.044z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M195.662 117.335l10.044 10.043v-10.043zM195.662 117.334l-10.049 10.042 10.049.002z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M185.613 127.378l10.042 10.04.005-10.04z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M229.577 125.919l10.04-10.046h-10.04z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M229.577 138.05l10.04-10.044v10.044z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M236.921 122.349l10.045 10.043v-10.043z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M225.785 127.378l-10.039-10.044v10.044z\\\"/></g><g><path fill=\\\"#032F5F\\\" d=\\\"M166 222.704c0 .981-.795 1.776-1.776 1.776H54.776A1.776 1.776 0 0 1 53 222.704v-79.447c0-.981.795-1.776 1.776-1.776h109.447c.981 0 1.776.795 1.776 1.776v79.447zM181 226.703c0 .981-.795 1.777-1.776 1.777H38.776A1.777 1.777 0 0 1 37 226.703v-.445c0-.981.795-1.777 1.776-1.777h140.447c.981 0 1.776.796 1.776 1.777v.445z\\\"/><path fill=\\\"#FFF\\\" d=\\\"M57 144.48h105v78H57zM101 223.48h16v3h-16z\\\"/></g><g><path fill=\\\"#686D8A\\\" d=\\\"M90.641 161.303l-8.324 8.322h8.324z\\\"/><path fill=\\\"#425072\\\" d=\\\"M82.318 161.305l-8.322 8.319h8.322z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M90.641 161.305l-8.323 8.319v-8.319z\\\"/><path fill=\\\"#425072\\\" d=\\\"M90.641 161.305l8.317 8.319h-8.317z\\\"/><path fill=\\\"#8F91A8\\\" d=\\\"M90.641 161.305l8.317 8.319v-8.319z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M82.318 169.624l8.318 8.321h-8.318z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M98.958 169.624l-8.317 8.321h8.317z\\\"/><path fill=\\\"#8F91A8\\\" d=\\\"M98.958 169.624l-8.317 8.321v-8.321z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M98.958 152.985l8.323 8.32h-8.323z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M107.281 161.302l-8.323 8.322h8.323z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M107.279 161.305l-8.321 8.319v-8.319z\\\"/><path fill=\\\"#425072\\\" d=\\\"M98.958 186.262l8.321-8.318h-8.321zM107.279 177.944l-8.321-8.32h8.321z\\\"/><path fill=\\\"#8F91A8\\\" d=\\\"M107.279 177.944l-8.321-8.32v8.32z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M107.279 177.944l8.321-8.32h-8.321z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M115.604 169.624l-8.323-8.319v8.319z\\\"/><path fill=\\\"#425072\\\" d=\\\"M79.178 170.835l-8.319 8.32h8.319z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M79.178 160.781l-8.319 8.323v-8.323zM73.094 173.792l-8.322-8.321v8.321z\\\"/><path fill=\\\"#425072\\\" d=\\\"M82.322 169.624l8.319 8.321v-8.321z\\\"/><g><path fill=\\\"#28B0E4\\\" d=\\\"M126.436 198.35l8.321-8.323h-8.321z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M134.757 198.35l8.323-8.321h-8.323z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M126.436 198.35l8.321-8.321v8.321z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M126.436 198.35l-8.32-8.321h8.32z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M126.436 198.35l-8.32-8.321v8.321zM134.757 190.03l-8.32-8.321h8.32z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M118.116 190.029l8.32-8.321h-8.32z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M118.116 190.029l8.32-8.321v8.321z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M118.116 206.667l-8.322-8.317h8.322z\\\"/><path fill=\\\"#28B0E4\\\" d=\\\"M109.794 198.35l8.322-8.321h-8.322z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M109.796 198.35l8.32-8.321v8.321z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M118.116 173.391l-8.32 8.32h8.32zM109.796 181.711l8.32 8.318h-8.32z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M109.796 181.711l8.32 8.318v-8.318zM109.796 181.708l-8.325 8.319 8.325.002z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M101.471 190.029l8.32 8.319.003-8.319z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M137.897 188.819l8.317-8.32h-8.317z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M137.897 198.871l8.317-8.321v8.321z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M143.979 185.864l8.323 8.321v-8.321z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M134.753 190.029l-8.317-8.321v8.321z\\\"/></g></g><g><path fill=\\\"#032F5F\\\" d=\\\"M336 199.693c0 .926-1.146 1.787-2.029 1.787H233.6c-.883 0-1.6-.861-1.6-1.787v-68.536c0-.926.716-1.677 1.6-1.677h100.371c.883 0 2.029.751 2.029 1.677v68.536z\\\"/><path fill=\\\"#FFF\\\" d=\\\"M236 133.48h97v57h-97zM289 197.258c0 .926-.448 1.223-1.331 1.223h-6.549c-.884 0-1.12-.297-1.12-1.223l.022-3.213c0-.926.313-1.564 1.196-1.564h6.45c.883 0 1.331.639 1.331 1.564v3.213z\\\"/></g><g><path fill=\\\"#686D8A\\\" d=\\\"M271.711 146.79l-5.671 5.671h5.671z\\\"/><path fill=\\\"#425072\\\" d=\\\"M266.04 146.792l-5.671 5.667h5.671z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M271.711 146.792l-5.671 5.667v-5.667z\\\"/><path fill=\\\"#425072\\\" d=\\\"M271.711 146.792l5.668 5.667h-5.668z\\\"/><path fill=\\\"#8F91A8\\\" d=\\\"M271.711 146.792l5.668 5.667v-5.667z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M266.04 152.459l5.669 5.671h-5.669z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M277.379 152.459l-5.668 5.671h5.668z\\\"/><path fill=\\\"#8F91A8\\\" d=\\\"M277.379 152.459l-5.668 5.671v-5.671z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M277.379 141.122l5.671 5.67h-5.671z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M283.05 146.79l-5.671 5.669h5.671z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M283.05 146.792l-5.671 5.667v-5.667z\\\"/><path fill=\\\"#425072\\\" d=\\\"M277.379 163.795l5.671-5.665h-5.671zM283.05 158.13l-5.671-5.671h5.671z\\\"/><path fill=\\\"#8F91A8\\\" d=\\\"M283.05 158.13l-5.671-5.671v5.671z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M283.05 158.13l5.669-5.671h-5.669z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M288.721 152.459l-5.671-5.667v5.667z\\\"/><path fill=\\\"#425072\\\" d=\\\"M263.9 153.286l-5.669 5.666h5.669z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M263.9 146.434l-5.669 5.67v-5.67zM259.755 155.299l-5.67-5.671v5.671z\\\"/><path fill=\\\"#425072\\\" d=\\\"M266.044 152.459l5.667 5.671v-5.671z\\\"/><g><path fill=\\\"#28B0E4\\\" d=\\\"M296.101 172.034l5.671-5.671h-5.671z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M301.772 172.034l5.67-5.67h-5.67z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M296.101 172.034l5.671-5.67v5.67z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M296.101 172.034l-5.667-5.67h5.667z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M296.101 172.034l-5.667-5.67v5.67zM301.772 166.366l-5.669-5.67h5.669z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M290.434 166.364l5.667-5.67h-5.667z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M290.434 166.364l5.667-5.67v5.67z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M290.434 177.699l-5.672-5.665h5.672z\\\"/><path fill=\\\"#28B0E4\\\" d=\\\"M284.762 172.034l5.672-5.67h-5.672z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M284.765 172.034l5.669-5.67v5.67z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M290.434 155.026l-5.669 5.67h5.669zM284.765 160.696l5.669 5.668h-5.669z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M284.765 160.696l5.669 5.668v-5.668zM284.765 160.694l-5.674 5.668 5.674.002z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M279.091 166.364l5.669 5.666.002-5.666z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M303.911 165.54l5.668-5.672h-5.668z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M303.911 172.39l5.668-5.67v5.67z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M308.058 163.524l5.671 5.669v-5.669z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M301.771 166.364l-5.67-5.67v5.67z\\\"/></g></g><g><path fill=\\\"#032F5F\\\" d=\\\"M242 226.803c0 .823-1.147 1.678-1.933 1.678h-34.645c-.786 0-1.422-.854-1.422-1.678v-67.832c0-.823.637-1.49 1.422-1.49h34.645c.786 0 1.933.667 1.933 1.49v67.832z\\\"/><path fill=\\\"#FFF\\\" d=\\\"M217 159.48h11v2h-11zM206 164.48h34v53h-34zM226 224.343c0 .628-.509 1.138-1.138 1.138h-5.725c-.628 0-1.138-.51-1.138-1.138v-2.725c0-.628.509-1.138 1.138-1.138h5.725c.628 0 1.138.51 1.138 1.138v2.725z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M217.257 185.555l-2.752 2.748h2.752z\\\"/><path fill=\\\"#425072\\\" d=\\\"M214.505 185.555l-2.75 2.748h2.75z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M217.257 185.555l-2.752 2.748v-2.748z\\\"/><path fill=\\\"#425072\\\" d=\\\"M217.257 185.555l2.748 2.748h-2.748z\\\"/><path fill=\\\"#8F91A8\\\" d=\\\"M217.257 185.555l2.748 2.748v-2.748z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M214.505 188.303l2.75 2.75h-2.75z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M220.005 188.303l-2.748 2.75h2.748z\\\"/><path fill=\\\"#8F91A8\\\" d=\\\"M220.005 188.303l-2.748 2.75v-2.75z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M220.005 182.805l2.752 2.75h-2.752zM222.757 185.555l-2.752 2.748h2.752z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M222.755 185.555l-2.75 2.748v-2.748z\\\"/><path fill=\\\"#425072\\\" d=\\\"M220.005 193.803l2.75-2.75h-2.75zM222.755 191.053l-2.75-2.75h2.75z\\\"/><path fill=\\\"#8F91A8\\\" d=\\\"M222.755 191.053l-2.75-2.75v2.75z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M222.755 191.053l2.75-2.75h-2.75z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M225.506 188.303l-2.749-2.748v2.748z\\\"/><path fill=\\\"#425072\\\" d=\\\"M213.468 188.704l-2.75 2.751h2.75z\\\"/><path fill=\\\"#686D8A\\\" d=\\\"M213.468 185.381l-2.75 2.75v-2.75zM211.457 189.682l-2.749-2.75v2.75z\\\"/><path fill=\\\"#425072\\\" d=\\\"M214.507 188.303l2.75 2.75v-2.75z\\\"/><g><path fill=\\\"#28B0E4\\\" d=\\\"M229.086 197.799l2.75-2.753h-2.75z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M231.836 197.797l2.75-2.749h-2.75z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M229.086 197.797l2.75-2.749v2.749z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M229.086 197.797l-2.751-2.749h2.751z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M229.086 197.797l-2.751-2.749v2.749zM231.836 195.048l-2.75-2.749h2.75z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M226.335 195.048l2.751-2.75h-2.751z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M226.335 195.048l2.751-2.75v2.75z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M226.335 200.546l-2.748-2.749h2.748z\\\"/><path fill=\\\"#28B0E4\\\" d=\\\"M223.587 197.799l2.748-2.751h-2.748z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M223.587 197.797l2.748-2.749v2.749z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M226.335 189.551l-2.748 2.748h2.748zM223.587 192.299l2.748 2.749h-2.748z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M223.587 192.299l2.748 2.749v-2.749zM223.587 192.298l-2.752 2.748 2.752.002z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M220.835 195.048l2.75 2.749.002-2.749z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M232.874 194.647l2.749-2.75h-2.749z\\\"/><path fill=\\\"#A0D2EF\\\" d=\\\"M232.874 197.97l2.749-2.75v2.75z\\\"/><path fill=\\\"#C5E1F5\\\" d=\\\"M234.884 193.67l2.752 2.752v-2.752z\\\"/><path fill=\\\"#70C0E9\\\" d=\\\"M231.834 195.048l-2.748-2.75v2.75z\\\"/></g></g></svg>\",\n  \"cloud\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M512 328.771c0-41.045-28.339-75.451-66.498-84.74C443.881 179.681 391.273 128 326.571 128c-37.896 0-71.633 17.747-93.427 45.366-12.221-15.799-31.345-25.98-52.854-25.98-36.905 0-66.821 29.938-66.821 66.861 0 3.218.24 6.38.682 9.477a97.28 97.28 0 0 0-17.285-1.569C43.367 222.154 0 265.548 0 319.076 0 372.607 43.367 416 96.865 416h328.131v-.006c48.069-.092 87.004-39.105 87.004-87.223z\\\"/></svg>\",\n  \"contact_default\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"110\\\" height=\\\"110\\\"><path fill=\\\"#f4f4f9\\\" d=\\\"M-.26-.312h110.506v110.526H-.26z\\\"/><g fill=\\\"#a2a2a2\\\"><path d=\\\"M70 37.973a14.977 14.977 0 1 1-29.953 0 14.977 14.977 0 1 1 29.953 0zM55.063 57c-14.951 0-27.177 12.846-27.97 29h55.938c-.792-16.154-13.018-29-27.969-29z\\\"/></g></svg>\",\n  \"conversation-groupe\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"32\\\" height=\\\"32\\\" viewBox=\\\"0 0 32 32\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><circle cx=\\\"16\\\" cy=\\\"16\\\" r=\\\"16\\\" fill=\\\"#2196F3\\\"/><path fill=\\\"#FFF\\\" d=\\\"M17.8 16a2.8 2.8 0 1 0 0-5.6 2.8 2.8 0 1 0 0 5.6zm-6.3-1.4v-2.1h-1.4v2.1H8V16h2.1v2.1h1.4V16h2.1v-1.4h-2.1zm6.3 2.8c-1.869 0-5.6.938-5.6 2.8v1.4h11.2v-1.4c0-1.862-3.731-2.8-5.6-2.8z\\\"/></g></svg>\",\n  \"conversation-workspace\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"32\\\" height=\\\"32\\\" viewBox=\\\"0 0 32 32\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><circle cx=\\\"16\\\" cy=\\\"16\\\" r=\\\"16\\\" fill=\\\"#2196F3\\\"/><path fill=\\\"#FFF\\\" d=\\\"M18.4 13.2a2.8 2.8 0 1 0-5.6 0 2.8 2.8 0 1 0 5.6 0zm-8.4 7v1.4h7.24s3.115-2.963 2.028-3.429c-1.197-.513-2.688-.771-3.668-.771-1.869 0-5.6.938-5.6 2.8z\\\"/><path stroke=\\\"#2196F3\\\" stroke-width=\\\".8\\\" d=\\\"M18.198 21.946l-2.716.572.572-2.717 5.023-5.023 2.145 2.145-5.024 5.023zm5.962-7.12a.82.82 0 0 1 0 1.159l-1.054 1.053-2.144-2.145.283-.282.77-.771a.82.82 0 0 1 1.16 0l.985.986zm0 0z\\\"/></g></svg>\",\n  \"copy\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 748 748\\\"><path d=\\\"M68 109.14v631.72c0 3.943 3.128 7.14 7.004 7.14h495.958c3.91 0 7.038-3.162 7.038-7.14V109.14c0-3.944-3.128-7.14-7.004-7.14H75.004c-3.876 0-7.004 3.162-7.004 7.14z\\\"/><path d=\\\"M680 646V0H170v68h442v578z\\\"/></svg>\",\n  \"copy_2\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"17\\\" height=\\\"20\\\" viewBox=\\\"0 0 17 20\\\"><path fill=\\\"#FFF\\\" fill-rule=\\\"evenodd\\\" d=\\\"M1.79 0C.804 0 0 .805 0 1.79v12.526h1.79V1.789h10.736V0H1.79zm3.578 3.579c-.984 0-1.79.805-1.79 1.79v12.526c0 .984.806 1.79 1.79 1.79h9.843c.984 0 1.789-.806 1.789-1.79V5.368c0-.984-.805-1.79-1.79-1.79H5.369z\\\"/></svg>\",\n  \"copy_3\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"#FFF\\\" fill-rule=\\\"evenodd\\\" d=\\\"M16.526 2H5.79C4.805 2 4 2.805 4 3.79v12.526h1.79V3.789h10.736V2zm2.685 3.579H9.368c-.984 0-1.79.805-1.79 1.79v12.526c0 .984.806 1.79 1.79 1.79h9.843c.984 0 1.789-.806 1.789-1.79V7.368c0-.984-.805-1.79-1.79-1.79zm-9.843 1.79h9.843v12.526H9.368V7.368z\\\"/></svg>\",\n  \"copy_4\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M9 18c-.55 0-1.02-.196-1.412-.587A1.926 1.926 0 0 1 7 16V4c0-.55.196-1.02.588-1.413A1.926 1.926 0 0 1 9 2h9c.55 0 1.02.196 1.413.587C19.803 2.98 20 3.45 20 4v12c0 .55-.196 1.02-.587 1.413A1.926 1.926 0 0 1 18 18H9zm-4 4c-.55 0-1.02-.196-1.413-.587A1.926 1.926 0 0 1 3 20V6h2v14h11v2H5z\\\"/></svg>\",\n  \"cross\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 612.445 612.445\\\"><path d=\\\"M522.642 89.804C464.9 32.062 388.011 0 306.223 0S147.545 32.062 89.804 89.804c-119.416 119.416-119.416 313.422 0 432.838 57.741 57.741 134.631 89.804 216.419 89.804s158.678-32.062 216.419-89.804c119.416-119.417 119.416-313.422 0-432.838zm-20.855 411.983c-52.101 52.101-121.791 80.972-195.564 80.972s-143.463-28.871-195.564-80.972-80.972-121.792-80.972-195.564 28.871-143.463 80.972-195.564 121.866-80.972 195.564-80.972 143.463 28.871 195.564 80.972 80.972 121.866 80.972 195.564-28.872 143.463-80.972 195.564zM399.218 234.899l-74.515 74.515 74.515 74.515c5.641 5.641 5.641 15.215 0 20.855-3.191 3.191-6.383 4.008-10.391 4.008s-7.199-1.633-10.39-4.008l-74.589-74.515-74.589 74.515c-3.191 3.191-6.383 4.008-10.39 4.008s-7.199-1.633-10.39-4.008c-5.641-5.641-5.641-15.215 0-20.855l74.515-74.515-74.515-74.515c-5.641-5.641-5.641-15.215 0-20.855 5.641-5.641 15.215-5.641 20.855 0l74.515 74.515 74.515-74.515c5.641-5.641 15.215-5.641 20.855 0 5.639 5.641 5.639 14.398-.001 20.855z\\\"/></svg>\",\n  \"dark-eye\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 95 95\\\"><path d=\\\"M47.5 20.9C16.337 20.9 0 43.86 0 47.5c0 3.641 16.337 26.6 47.5 26.6C78.661 74.1 95 51.141 95 47.5c0-3.64-16.339-26.6-47.5-26.6zm0 47.062c-11.659 0-21.112-9.161-21.112-20.462S35.841 27.038 47.5 27.038 68.611 36.199 68.611 47.5 59.159 67.962 47.5 67.962zM58.055 47.5c0 5.65-4.727 10.232-10.555 10.232-5.83 0-10.555-4.582-10.555-10.232S41.67 37.269 47.5 37.269c3.15 0-1.933 8.108 0 10.231 1.643 1.803 10.555-2.595 10.555 0z\\\"/></svg>\",\n  \"dashboard\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 54.815 511.625 401.998\\\"><path d=\\\"M491.361 211.274c-13.511-31.599-31.688-58.813-54.529-81.658-22.839-22.841-50.059-41.017-81.658-54.53-31.602-13.513-64.713-20.271-99.359-20.271-34.644 0-67.762 6.759-99.356 20.271-31.596 13.518-58.813 31.689-81.653 54.53-22.845 22.845-41.018 50.059-54.534 81.658C6.757 242.873 0 275.987 0 310.631c0 49.865 13.418 95.838 40.256 137.903 3.614 5.52 8.754 8.278 15.417 8.278h400.28c6.66 0 11.801-2.76 15.414-8.278 26.84-42.254 40.258-88.225 40.258-137.903 0-34.644-6.754-67.758-20.264-99.357zM229.973 102.069c7.142-7.139 15.752-10.709 25.84-10.709 10.089 0 18.699 3.571 25.838 10.709 7.14 7.135 10.711 15.749 10.711 25.837s-3.571 18.699-10.711 25.837c-7.139 7.138-15.749 10.709-25.838 10.709-10.088 0-18.702-3.571-25.84-10.709-7.135-7.139-10.707-15.749-10.707-25.837s3.568-18.701 10.707-25.837zm-131.044 234.4c-7.138 7.136-15.752 10.716-25.84 10.716-10.085 0-18.699-3.58-25.837-10.716-7.14-7.132-10.705-15.749-10.705-25.838 0-10.088 3.565-18.698 10.705-25.837 7.139-7.139 15.752-10.708 25.837-10.708 10.088 0 18.706 3.569 25.84 10.708 7.135 7.139 10.707 15.749 10.707 25.837 0 10.089-3.572 18.699-10.707 25.838zm54.819-127.907c-7.143 7.137-15.752 10.709-25.841 10.709-10.09 0-18.702-3.576-25.842-10.709-7.135-7.135-10.706-15.749-10.706-25.837s3.567-18.699 10.706-25.837c7.143-7.139 15.752-10.709 25.842-10.709 10.088 0 18.701 3.571 25.841 10.709 7.135 7.139 10.706 15.749 10.706 25.837 0 10.085-3.572 18.698-10.706 25.837zm161.734 2.428l-28.839 109.062c9.524 6.469 16.376 15.127 20.563 25.98 4.183 10.849 4.758 21.984 1.712 33.404-3.807 14.656-12.278 25.793-25.413 33.402-13.135 7.614-27.026 9.521-41.687 5.712-14.652-3.806-25.791-12.274-33.401-25.409-7.611-13.139-9.515-27.027-5.708-41.688 3.044-11.416 9.04-20.79 17.986-28.113 8.944-7.333 19.126-11.468 30.547-12.422l28.837-109.064c1.331-4.948 4.186-8.711 8.562-11.281 4.381-2.565 8.945-3.184 13.706-1.854 4.764 1.334 8.425 4.139 10.991 8.42 2.575 4.288 3.287 8.903 2.144 13.851zm42.4-2.428c-7.14-7.135-10.711-15.749-10.711-25.837s3.571-18.699 10.711-25.837c7.139-7.138 15.749-10.709 25.838-10.709 10.088 0 18.698 3.571 25.837 10.709 7.139 7.138 10.712 15.749 10.712 25.837 0 10.085-3.573 18.699-10.712 25.837-7.139 7.137-15.749 10.709-25.837 10.709-10.089 0-18.699-3.572-25.838-10.709zm106.491 127.907c-7.139 7.136-15.748 10.716-25.837 10.716s-18.698-3.58-25.838-10.716c-7.139-7.132-10.708-15.749-10.708-25.838 0-10.088 3.569-18.698 10.708-25.837 7.14-7.139 15.749-10.708 25.838-10.708s18.698 3.569 25.837 10.708c7.14 7.139 10.704 15.749 10.704 25.837 0 10.089-3.565 18.699-10.704 25.838z\\\"/></svg>\",\n  \"default_preview\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"250\\\" height=\\\"250\\\" viewBox=\\\"0 0 250 250\\\"><defs><path id=\\\"a\\\" d=\\\"M0 0h250v250H0z\\\"/></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><mask id=\\\"b\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#a\\\"/></mask><use fill=\\\"#677D99\\\" xlink:href=\\\"#a\\\"/><path fill=\\\"#95A4B7\\\" d=\\\"M30 30h190v190H30V30zm83.103 149.778L89.25 147.8 54 195h141l-47-59-34.897 43.778z\\\" mask=\\\"url(#b)\\\"/></g></svg>\",\n  \"delete-file\": \"<svg viewBox=\\\"0 0 522 586\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M306.375 485.688c0-23.522 7.009-45.405 19.042-63.688H113.346c-8.953 0-16.219-7.58-16.219-16.5 0-8.921 7.266-16.5 16.219-16.5h227.063c4.369 0 8.341 1.825 11.265 4.728 19.573-15.071 44.089-24.04 70.702-24.04 10.964 0 21.571 1.522 31.625 4.365V31.938C454.001 14.023 439.561 0 421.748 0H32.252C14.439 0 0 14.023 0 31.938v454.125c0 17.915 14.439 32.938 32.252 32.938h278.986a116.023 116.023 0 0 1-4.863-33.313zM210.658 97h129.75c8.921 0 16.219 7.547 16.219 16.5s-7.298 16.5-16.219 16.5h-129.75c-8.953 0-16.219-7.547-16.219-16.5S201.706 97 210.658 97zm-97.312 98h227.063c8.921 0 16.219 7.047 16.219 16s-7.298 16-16.219 16H113.346c-8.953 0-16.219-7.047-16.219-16s7.266-16 16.219-16zm0 97h227.063c8.921 0 16.219 7.58 16.219 16.5S349.33 325 340.409 325H113.346c-8.953 0-16.219-7.58-16.219-16.5s7.266-16.5 16.219-16.5z\\\"/><path d=\\\"M422.001 386.68c54.858 0 99.319 44.473 99.319 99.321 0 54.846-44.471 99.319-99.319 99.319-54.848 0-99.321-44.47-99.321-99.319 0-54.847 44.47-99.321 99.321-99.321zM483.5 471h-121c-8.284 0-15 6.716-15 15 0 8.284 6.716 15 15 15h121c8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15z\\\"/></svg>\",\n  \"delete-folder\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 810 650.395\\\"><path d=\\\"M560 525.394c0-69.035 55.965-124.999 125-124.999 25.937 0 50.027 7.901 70 21.426V173.896c0-38.5-31.5-70.001-70-70.001H405l-70-70H125c-38.5 0-70 31.501-70 70.001v420c0 38.5 31.5 69.998 70 69.998h455.436C567.52 573.895 560 550.688 560 525.394z\\\"/><path class=\\\"action\\\" d=\\\"M685 424.895c-55.229 0-100 44.771-100 100s44.771 100 100 100 100-44.771 100-100-44.771-100-100-100zm60.75 116h-121c-8.284 0-15-6.716-15-15s6.716-15 15-15h121c8.284 0 15 6.716 15 15s-6.716 15-15 15z\\\"/></svg>\",\n  \"delete\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"121.874 0 656.752 900.5\\\"><path d=\\\"M176.415 880.5c0 11.046 8.954 20 20 20h507.67c11.046 0 20-8.954 20-20V232.487h-547.67V880.5zM562.75 342.766h75v436.029h-75V342.766zm-150 0h75v436.029h-75V342.766zm-150 0h75v436.029h-75V342.766zM618.825 91.911V20c0-11.046-8.954-20-20-20h-297.15c-11.046 0-20 8.954-20 20v96.911H141.874c-11.046 0-20 8.953-20 20v50.575c0 11.046 8.954 20 20 20h616.752c11.046 0 20-8.954 20-20v-50.575c0-11.046-8.954-20-20-20H618.825v-25zm-75 20.888h-187.15V75h187.15v37.799z\\\"/></svg>\",\n  \"delete_1\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M7 21c-.55 0-1.02-.196-1.412-.587A1.926 1.926 0 0 1 5 19V6H4V4h5V3h6v1h5v2h-1v13c0 .55-.196 1.02-.587 1.413A1.926 1.926 0 0 1 17 21H7zm2-4h2V8H9v9zm4 0h2V8h-2v9z\\\"/></svg>\",\n  \"deposit-box-form-acess-code-logo\": \"<svg width=\\\"50\\\" height=\\\"48\\\" viewBox=\\\"0 0 50 48\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M25.781.751a1 1 0 0 0-.809 0L8.966 7.83c-.924.252-1.707.543-2.233 1.056-.624.61-.73 1.359-.73 2.049v10.313c0 8.314 3.772 14.066 7.944 17.864 4.152 3.78 8.717 5.644 10.427 6.255l.336-.942-.336.942a2.956 2.956 0 0 0 2.006 0l-.337-.942.337.942c1.71-.611 6.274-2.475 10.426-6.255 4.173-3.798 7.944-9.55 7.944-17.864V10.934c0-.687-.103-1.438-.727-2.048-.525-.514-1.31-.805-2.235-1.057L25.78.75z\\\" fill=\\\"#C4CBD5\\\"/><mask id=\\\"a\\\" fill=\\\"#fff\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M5.045 26.12a1.747 1.747 0 1 1 3.494 0v2.632l2.676-.766a1.774 1.774 0 0 1 2.22 1.28 1.878 1.878 0 0 1-1.3 2.252l-2.596.743 1.65 2.514c.532.81.335 1.925-.44 2.504-.795.594-1.894.401-2.438-.429l-1.54-2.345-1.539 2.345a1.685 1.685 0 0 1-2.438.43 1.872 1.872 0 0 1-.44-2.505l1.68-2.562-2.43-.695a1.878 1.878 0 0 1-1.298-2.252 1.774 1.774 0 0 1 2.219-1.28l2.52.721V26.12zm-2.658 2.347l3.158.903-3.158-.903zm2.427 8.109l1.957-2.983-1.957 2.983zm5.635.303c.564-.422.709-1.24.322-1.83l-2.023-3.082 3.25-.93a1.378 1.378 0 0 1 0 0l-3.25.93 2.023 3.083a1.373 1.373 0 0 1-.322 1.829zm-2.41-10.76v3.296-3.295zm18.367 0a1.247 1.247 0 0 1 0 0v3.296-3.295zm4.91 3.269a1.378 1.378 0 0 0 0 0zm-4.2 2.579l2.024 3.084a1.373 1.373 0 0 0 0 0l-2.024-3.084zm-1.977 1.627l-1.958 2.983 1.958-2.983zm-4.384-5.127zm2.657-2.347a1.747 1.747 0 1 1 3.494 0v2.632l2.677-.766a1.774 1.774 0 0 1 2.219 1.28 1.878 1.878 0 0 1-1.3 2.252l-2.595.742 1.65 2.516c.532.81.336 1.925-.44 2.504-.795.594-1.894.401-2.438-.429l-1.54-2.346-1.54 2.346a1.684 1.684 0 0 1-2.438.43 1.872 1.872 0 0 1-.44-2.505l1.682-2.563-2.43-.695a1.878 1.878 0 0 1-1.3-2.252 1.774 1.774 0 0 1 2.22-1.28l2.519.72V26.12zM2.796 43.25a2.042 2.042 0 1 0 0 4.084h8.165a2.042 2.042 0 1 0 0-4.083H2.796zm16.333 2.042c0-1.127.914-2.041 2.042-2.041h8.165a2.042 2.042 0 1 1 0 4.083H21.17a2.042 2.042 0 0 1-2.042-2.042zm20.415-2.041a2.042 2.042 0 1 0 0 4.083h8.165a2.042 2.042 0 1 0 0-4.083h-8.165z\\\"/></mask><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M5.045 26.12a1.747 1.747 0 1 1 3.494 0v2.632l2.676-.766a1.774 1.774 0 0 1 2.22 1.28 1.878 1.878 0 0 1-1.3 2.252l-2.596.743 1.65 2.514c.532.81.335 1.925-.44 2.504-.795.594-1.894.401-2.438-.429l-1.54-2.345-1.539 2.345a1.685 1.685 0 0 1-2.438.43 1.872 1.872 0 0 1-.44-2.505l1.68-2.562-2.43-.695a1.878 1.878 0 0 1-1.298-2.252 1.774 1.774 0 0 1 2.219-1.28l2.52.721V26.12zm-2.658 2.347l3.158.903-3.158-.903zm2.427 8.109l1.957-2.983-1.957 2.983zm5.635.303c.564-.422.709-1.24.322-1.83l-2.023-3.082 3.25-.93a1.378 1.378 0 0 1 0 0l-3.25.93 2.023 3.083a1.373 1.373 0 0 1-.322 1.829zm-2.41-10.76v3.296-3.295zm18.367 0a1.247 1.247 0 0 1 0 0v3.296-3.295zm4.91 3.269a1.378 1.378 0 0 0 0 0zm-4.2 2.579l2.024 3.084a1.373 1.373 0 0 0 0 0l-2.024-3.084zm-1.977 1.627l-1.958 2.983 1.958-2.983zm-4.384-5.127zm2.657-2.347a1.747 1.747 0 1 1 3.494 0v2.632l2.677-.766a1.774 1.774 0 0 1 2.219 1.28 1.878 1.878 0 0 1-1.3 2.252l-2.595.742 1.65 2.516c.532.81.336 1.925-.44 2.504-.795.594-1.894.401-2.438-.429l-1.54-2.346-1.54 2.346a1.684 1.684 0 0 1-2.438.43 1.872 1.872 0 0 1-.44-2.505l1.682-2.563-2.43-.695a1.878 1.878 0 0 1-1.3-2.252 1.774 1.774 0 0 1 2.22-1.28l2.519.72V26.12zM2.796 43.25a2.042 2.042 0 1 0 0 4.084h8.165a2.042 2.042 0 1 0 0-4.083H2.796zm16.333 2.042c0-1.127.914-2.041 2.042-2.041h8.165a2.042 2.042 0 1 1 0 4.083H21.17a2.042 2.042 0 0 1-2.042-2.042zm20.415-2.041a2.042 2.042 0 1 0 0 4.083h8.165a2.042 2.042 0 1 0 0-4.083h-8.165z\\\" fill=\\\"#95A4B7\\\"/><path d=\\\"M8.539 28.752h-1v1.326l1.275-.365-.275-.961zm2.676-.766l-.274-.961.274.961zm2.22 1.28l-.97.244.97-.244zm-1.3 2.252l-.274-.961.275.961zm-2.596.743l-.275-.962-1.307.374.746 1.136.836-.548zm1.65 2.514l.836-.548-.836.548zm-.44 2.504l.598.801-.598-.8zM8.31 36.85l-.837.549.837-.549zm-1.54-2.345l.836-.549-.836-1.274-.836 1.274.836.549zM5.232 36.85l-.836-.549.836.55zm-2.438.43l.598-.802-.598.801zm-.44-2.505l-.837-.548.836.548zm1.68-2.562l.837.549.745-1.137-1.306-.373-.275.961zm-2.43-.695l-.274.962.274-.962zM.306 29.266l.97.244-.97-.244zm2.219-1.28l-.275.962.275-.962zm2.52.721l-.275.962 1.275.364v-1.326h-1zm.5.663h1v-.754l-.725-.207-.275.961zm-3.158-.903l-.275.962.275-.962zm3.158.903l-.275.961 1.275.365V29.37h-1zm-3.158-.903l-.275.962.275-.962zm-.182-.038l.137-.99-.275 1.98.138-.99zm1.947 8.646l-.286-.958.571 1.916-.285-.958zm.662-.5l.836.55-.836-.55zm0 0l.836.55-.836-.55zm1.957-2.982l.836-.549-.836-1.273-.836 1.274.836.548zm0 0l.836.549.36-.549-.36-.549-.836.55zm3.216 3.501l-.222-.974.445 1.95-.223-.976zm.462-.215l.599.801-.599-.801zm0 0l.599.801-.599-.801zm.322-1.83l.836-.548-.836.549zm-2.023-3.082l-.275-.962-1.307.374.746 1.136.836-.548zm3.25-.93l-.275-.961.275.961zm.951-1.649l-.97.244.97-.244zm-1.24-.972l-.002-1 .005 2-.002-1zm1.24.972l-.97.244.97-.244zm-.95 1.65l-.276-.962.275.961zm-3.25.929l-.276-.962-1.306.374.745 1.136.836-.548zm2.022 3.083l.836-.549-.836.549zM8.04 29.415l.276.96.724-.207v-.753h-1zm0 0h-1v1.328l1.276-.367-.276-.961zm-1.073-4.53l.14-.99-.278 1.98.138-.99zm19.44 4.53h-1v1h1v-1zm0 0v1h1v-1h-1zm4.166-.9l.386-.922-.773 1.844.387-.922zm.745.873l-.97.244.97-.244zm0 0l-.97.244.97-.244zm-.951 1.65v1h.14l.134-.04-.274-.96zm0 0l-.276-.962.275 1.961v-1zm-3.25.929l.836-.549-.296-.451h-.54v1zm0 0v-1h-1.853l1.017 1.548.836-.548zm2.024 3.084l.836-.549-.836.549zm-.322 1.829l.598.8-.598-.8zm-.245.143l-.404-.915.808 1.83-.404-.915zm.244-.143l.599.8-.599-.8zm.322-1.83l-.836.55.836-.55zm-4-1.456l.836.548.356-.543-.35-.546-.842.54zm0 0l.841-.541-.832-1.295-.845 1.287.836.549zm-1.958 2.983l.836.549-.836-.549zm-.564.465l-.37-.93.74 1.86-.37-.93zm.564-.465l.836.549-.836-.549zm-2.547-8.138l.184-.983-.368 1.966.184-.983zm.121.028l-.274.962.134.038h.14v-1zm0 0v1l.275-1.961-.274.961zm6.15.285h-1v1.326l1.276-.365-.275-.961zm2.678-.766l-.275-.961.275.961zm2.219 1.28l-.97.244.97-.244zm-1.3 2.252l-.274-.961.275.961zm-2.595.742l-.275-.961-1.307.374.746 1.136.836-.548zm1.65 2.516l.837-.548-.836.548zm-.44 2.504l.598.801-.598-.8zm-2.438-.429l-.836.549.836-.549zm-1.54-2.346l.836-.549-.836-1.274-.836 1.274.836.549zm-1.54 2.346l-.836-.548.836.548zm-2.438.43l-.598.8.598-.8zm-.44-2.505l-.837-.548.837.548zm1.682-2.563l.836.549.745-1.137-1.307-.373-.274.961zm-2.43-.695l.274-.961-.274.961zm-1.3-2.252l-.969-.243.97.243zm2.22-1.28l.275-.961-.275.962zm2.519.72l-.275.962 1.275.365v-1.326h-1zm-16.62-5.333a2.747 2.747 0 0 0-2.747 2.747h2c0-.413.334-.747.747-.747v-2zm2.747 2.747a2.747 2.747 0 0 0-2.747-2.747v2c.412 0 .747.334.747.747h2zm0 2.632V26.12h-2v2.632h2zm1.402-1.727l-2.677.765.55 1.923 2.676-.765-.55-1.923zm3.463 1.998a2.774 2.774 0 0 0-3.463-1.998l.55 1.923a.774.774 0 0 1 .974.562l1.94-.487zm-1.993 3.457a2.878 2.878 0 0 0 1.993-3.457l-1.94.487a.878.878 0 0 1-.603 1.047l.55 1.923zm-2.597.742l2.597-.742-.55-1.923-2.597.742.55 1.923zm2.211 1.005l-1.65-2.515-1.672 1.097 1.65 2.515 1.672-1.097zm-.678 3.854c1.2-.897 1.5-2.603.678-3.854l-1.672 1.097a.873.873 0 0 1-.203 1.154l1.197 1.602zm-3.873-.682a2.684 2.684 0 0 0 3.873.681l-1.197-1.602a.685.685 0 0 1-1.003-.176l-1.673 1.097zm-1.539-2.346l1.54 2.346 1.672-1.097-1.54-2.346-1.672 1.097zm.133 2.346l1.54-2.346-1.673-1.097-1.539 2.345L6.068 37.4zm-3.873.681a2.684 2.684 0 0 0 3.873-.681L4.396 36.3a.685.685 0 0 1-1.004.177L2.195 38.08zm-.678-3.853a2.872 2.872 0 0 0 .678 3.853l1.197-1.602a.873.873 0 0 1-.203-1.154l-1.672-1.097zM3.2 31.664l-1.682 2.563 1.672 1.097 1.682-2.562-1.672-1.098zm-1.87.816l2.43.695.55-1.923-2.43-.695-.55 1.923zm-1.993-3.457A2.878 2.878 0 0 0 1.33 32.48l.55-1.923a.878.878 0 0 1-.604-1.047l-1.94-.487zM2.8 27.025a2.774 2.774 0 0 0-3.464 1.998l1.94.487a.774.774 0 0 1 .974-.562l.55-1.923zm2.52.72l-2.52-.72-.55 1.923 2.52.72.55-1.922zM4.045 26.12v2.587h2V26.12h-2zm1.775 2.289l-3.158-.903-.55 1.923 3.158.902.55-1.922zm.725.961h-2 2zm-4.433.059l3.158.902.55-1.922-3.158-.903-.55 1.923zm-.045-.01c.014.002.03.005.045.01l.55-1.923a2.334 2.334 0 0 0-.32-.068l-.275 1.981zm.595-1.913a2.327 2.327 0 0 0-.32-.068l-.275 1.981c.015.002.03.005.045.01l.55-1.923zm1.775 10.527a2.202 2.202 0 0 0 1.213-.909l-1.672-1.097a.204.204 0 0 1-.112.09l.571 1.916zm-.46-2.006a.204.204 0 0 1-.111.09l.571 1.916a2.202 2.202 0 0 0 1.213-.909l-1.672-1.097zm1.958-2.982l-1.957 2.982 1.672 1.097 1.957-2.982-1.672-1.097zm1.672 0l-1.672 1.097 1.672-1.098zm-1.957 4.08l1.957-2.983-1.672-1.097-1.957 2.982 1.672 1.097zm4.56.944c.298-.068.583-.198.838-.389l-1.197-1.602a.228.228 0 0 1-.086.041l.445 1.95zm-.36-1.991a.229.229 0 0 1-.085.041l.445 1.95c.298-.068.583-.199.838-.389L9.85 36.078zm.085-.48a.373.373 0 0 1-.084.48l1.197 1.602a2.372 2.372 0 0 0 .56-3.179l-1.673 1.097zm-2.023-3.083l2.023 3.083 1.672-1.097-2.023-3.083-1.672 1.097zm3.811-2.439l-3.25.93.55 1.922 3.25-.93-.55-1.922zm.257-.444a.378.378 0 0 1-.257.444l.55 1.923a2.378 2.378 0 0 0 1.646-2.854l-1.94.487zm-.268-.216c.122 0 .233.078.268.216l1.94-.488a2.273 2.273 0 0 0-2.213-1.728l.005 2zm2.207-.271a2.273 2.273 0 0 0-2.212-1.729l.005 2c.122 0 .233.078.268.216l1.94-.488zm-1.646 2.854a2.378 2.378 0 0 0 1.646-2.854l-1.94.487a.378.378 0 0 1-.256.444l.55 1.923zm-3.25.93l3.25-.93-.55-1.923-3.25.93.55 1.922zm2.584 1.572l-2.023-3.083-1.672 1.097 2.023 3.083 1.672-1.097zm-.559 3.179a2.372 2.372 0 0 0 .56-3.179l-1.673 1.097a.373.373 0 0 1-.084.48l1.197 1.602zm-2.01-8.265V26.12h-2v3.295h2zm-.723.96l-.553-1.921.553 1.922zM7.039 26.12v3.295h2V26.12h-2zm-.211-.245c.119.017.21.121.21.245h2c0-1.135-.84-2.072-1.933-2.225l-.277 1.98zm2.21.245c0-1.135-.84-2.072-1.933-2.225l-.277 1.98c.119.017.21.121.21.245h2zm16.12-.247c.137 0 .248.11.248.247h2a2.247 2.247 0 0 0-2.247-2.247v2zm0 0v-2 2zm2.248.247a2.247 2.247 0 0 0-2.247-2.247v2c.136 0 .247.11.247.247h2zm0 3.295V26.12h-2v3.295h2zm-1-1v2-2zm-1-2.295v3.295h2V26.12h-2zm4.78 3.317a.276.276 0 0 1 .16.195l1.94-.488a2.276 2.276 0 0 0-1.328-1.551l-.773 1.844zm2.1-.293a2.276 2.276 0 0 0-1.328-1.551l-.773 1.844a.276.276 0 0 1 .162.195l1.94-.488zM30.64 32a2.378 2.378 0 0 0 1.647-2.854l-1.94.487a.378.378 0 0 1-.256.444l.55 1.923zm-.275.038v-2 2zm-.018-2.405a.378.378 0 0 1-.257.444l.55 1.923a2.378 2.378 0 0 0 1.646-2.854l-1.94.487zm-3.231 1.335v2-2zm2.86 3.535l-2.024-3.084-1.672 1.097 2.023 3.084 1.673-1.097zm-.56 3.179a2.372 2.372 0 0 0 .56-3.179L28.303 35.6a.373.373 0 0 1-.084.48l1.197 1.602zm-.439.257c.154-.068.301-.154.44-.257l-1.198-1.602a.25.25 0 0 1-.05.03l.808 1.829zm-.758-1.86a.258.258 0 0 1-.05.03l.809 1.83c.153-.068.3-.154.438-.257l-1.197-1.602zm.084-.479a.373.373 0 0 1-.084.48l1.197 1.602a2.372 2.372 0 0 0 .56-3.179L28.303 35.6zm-2.023-3.084l2.023 3.084 1.672-1.097-2.023-3.084-1.672 1.097zm-.3.538l-1.682 1.081 1.682-1.081zm-1.963 4.073l1.958-2.984-1.672-1.097-1.958 2.983 1.672 1.098zm-1.03.845a2.208 2.208 0 0 0 1.03-.845l-1.672-1.098a.21.21 0 0 1-.097.085l.739 1.858zm-.642-1.943a.21.21 0 0 1-.097.085l.739 1.858a2.21 2.21 0 0 0 1.03-.845l-1.672-1.098zm1.958-2.983l-1.958 2.983 1.672 1.098 1.958-2.984-1.672-1.097zm-3.853-3.623a.34.34 0 0 1 .03.007l.55-1.923c-.07-.02-.14-.037-.212-.05l-.368 1.966zm.58-1.916a2.333 2.333 0 0 0-.212-.05l-.368 1.966c.01.001.02.004.03.007l.55-1.923zm-.275 1.961v-2 2zm4.404-6.094a2.747 2.747 0 0 0-2.747 2.747h2c0-.413.334-.747.747-.747v-2zm2.747 2.747a2.747 2.747 0 0 0-2.747-2.747v2c.413 0 .747.334.747.747h2zm0 2.632V26.12h-2v2.632h2zm1.402-1.727l-2.677.765.55 1.923 2.677-.765-.55-1.923zm3.464 1.998a2.774 2.774 0 0 0-3.464-1.998l.55 1.923a.774.774 0 0 1 .974.562l1.94-.487zm-1.994 3.457a2.878 2.878 0 0 0 1.994-3.457l-1.94.487a.878.878 0 0 1-.604 1.047l.55 1.923zm-2.596.742l2.596-.742-.55-1.923-2.596.742.55 1.923zm2.212 1.006l-1.651-2.516-1.672 1.097 1.65 2.516 1.673-1.097zm-.679 3.853c1.2-.896 1.5-2.602.679-3.853l-1.673 1.097a.872.872 0 0 1-.203 1.154l1.197 1.602zm-3.872-.681a2.684 2.684 0 0 0 3.872.681l-1.197-1.602a.685.685 0 0 1-1.003-.176L25.843 37.4zm-1.54-2.346l1.54 2.346 1.672-1.097-1.54-2.347-1.672 1.098zm.133 2.346l1.54-2.346-1.673-1.098-1.54 2.347 1.672 1.097zm-3.873.681a2.684 2.684 0 0 0 3.873-.681l-1.673-1.097a.685.685 0 0 1-1.003.176l-1.197 1.602zm-.678-3.853a2.872 2.872 0 0 0 .678 3.853l1.197-1.602a.873.873 0 0 1-.203-1.154l-1.672-1.097zm1.681-2.564l-1.681 2.564 1.672 1.097 1.682-2.563-1.672-1.098zm-1.868.816l2.43.695.55-1.923-2.43-.695-.55 1.923zm-1.994-3.457a2.878 2.878 0 0 0 1.994 3.457l.55-1.923a.878.878 0 0 1-.604-1.047l-1.94-.487zm3.464-1.998a2.774 2.774 0 0 0-3.464 1.998l1.94.487a.774.774 0 0 1 .974-.562l.55-1.923zm2.519.72l-2.52-.72-.549 1.923 2.52.72.549-1.923zm-1.275-1.625v2.587h2V26.12h-2zM1.754 45.292c0-.575.466-1.041 1.042-1.041v-2a3.042 3.042 0 0 0-3.042 3.041h2zm1.042 1.042a1.042 1.042 0 0 1-1.042-1.042h-2a3.042 3.042 0 0 0 3.042 3.042v-2zm8.165 0H2.796v2h8.165v-2zm1.041-1.042c0 .576-.466 1.042-1.041 1.042v2a3.042 3.042 0 0 0 3.041-3.042h-2zm-1.041-1.041c.575 0 1.041.466 1.041 1.041h2a3.042 3.042 0 0 0-3.041-3.041v2zm-8.165 0h8.165v-2H2.796v2zm18.375-2a3.042 3.042 0 0 0-3.042 3.041h2c0-.575.466-1.041 1.042-1.041v-2zm8.165 0H21.17v2h8.165v-2zm3.041 3.041a3.042 3.042 0 0 0-3.041-3.041v2c.575 0 1.042.466 1.042 1.041h2zm-3.041 3.042a3.042 3.042 0 0 0 3.041-3.042h-2c0 .576-.466 1.042-1.041 1.042v2zm-8.165 0h8.165v-2H21.17v2zm-3.042-3.042a3.042 3.042 0 0 0 3.042 3.042v-2a1.042 1.042 0 0 1-1.042-1.042h-2zm20.373 0c0-.575.466-1.041 1.042-1.041v-2a3.042 3.042 0 0 0-3.042 3.041h2zm1.042 1.042a1.042 1.042 0 0 1-1.042-1.042h-2a3.042 3.042 0 0 0 3.042 3.042v-2zm8.165 0h-8.165v2h8.165v-2zm1.042-1.042c0 .576-.467 1.042-1.042 1.042v2a3.042 3.042 0 0 0 3.042-3.042h-2zm-1.042-1.041c.575 0 1.042.466 1.042 1.041h2a3.042 3.042 0 0 0-3.042-3.041v2zm-8.165 0h8.165v-2h-8.165v2z\\\" fill=\\\"#95A4B7\\\" mask=\\\"url(#a)\\\"/></svg>\",\n  \"deposit-box\": \"<svg width=\\\"22\\\" height=\\\"22\\\" viewBox=\\\"0 0 14 14\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M13.667 6.234V4.207c0-2.426-1.447-3.873-3.873-3.873H4.207C1.78.334.333 1.781.333 4.207v2.027c.147-.053.307-.08.467-.08h2.333c1.034 0 1.96.573 2.42 1.5l.5.98H7.96l.5-.987a2.69 2.69 0 0 1 2.42-1.493h2.32c.16 0 .32.027.467.08z\\\"/><path d=\\\"M10.88 7.152h2.32c.26 0 .467.214.467.467v2.567c-.174 2.226-1.58 3.48-3.867 3.48H4.213c-2.426 0-3.88-1.447-3.88-3.867V7.626c0-.26.207-.467.467-.467h2.333c.647 0 1.234.367 1.527.947l.56 1.1c.194.386.487.433.694.433H8.1c.293 0 .56-.167.694-.433l.56-1.107a1.692 1.692 0 0 1 1.526-.947z\\\"/></svg>\",\n  \"deposit-box_blocked\": \"<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><g fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\"><path d=\\\"M20.712 22.697A8.001 8.001 0 0 1 28 18c1.062 0 2.076.207 3.003.583v-3.191C31.003 11.387 28.615 9 24.61 9h-9.22C11.388 9 9 11.387 9 15.392v3.344c.242-.088.506-.132.77-.132h3.85a4.43 4.43 0 0 1 3.994 2.476l.825 1.617h2.273zm-.543 1.658h-1.96c-.342 0-.826-.077-1.145-.715l-.924-1.815a2.824 2.824 0 0 0-2.52-1.562H9.77c-.429 0-.77.34-.77.77v3.586C9 28.613 11.398 31 15.403 31h6.352A7.966 7.966 0 0 1 20 26c0-.564.058-1.114.17-1.645z\\\"/><path d=\\\"M28 32a5.86 5.86 0 0 1-2.344-.474 6.05 6.05 0 0 1-1.9-1.281 6.052 6.052 0 0 1-1.282-1.901A5.86 5.86 0 0 1 22 26c0-.825.157-1.608.474-2.344a6.05 6.05 0 0 1 1.281-1.9 6.05 6.05 0 0 1 1.901-1.282A5.86 5.86 0 0 1 28 20a5.86 5.86 0 0 1 2.344.474 6.052 6.052 0 0 1 1.9 1.281 6.05 6.05 0 0 1 1.282 1.901A5.86 5.86 0 0 1 34 26a5.86 5.86 0 0 1-.474 2.344 6.052 6.052 0 0 1-1.281 1.9 6.052 6.052 0 0 1-1.901 1.282A5.86 5.86 0 0 1 28 32zm0-2.357a3.543 3.543 0 0 0 1.606-.378l-4.87-4.87A3.543 3.543 0 0 0 24.357 26c0 1.028.35 1.877 1.056 2.585.708.707 1.556 1.057 2.586 1.057zm-3.74-5.724c.107-.189.228-.37.365-.544l6 6a4.311 4.311 0 0 1-1.232.676c-.447.157-.91.235-1.393.235-1.196 0-2.21-.416-3.04-1.246-.83-.83-1.246-1.844-1.246-3.04a4.185 4.185 0 0 1 .546-2.08zm7.005 3.687A3.543 3.543 0 0 0 31.643 26c0-1.03-.35-1.878-1.057-2.586-.708-.707-1.556-1.057-2.586-1.057a3.543 3.543 0 0 0-1.606.378l4.87 4.87zm.475.475a4.185 4.185 0 0 0 .546-2.08c0-1.197-.416-2.21-1.246-3.041-.83-.83-1.844-1.246-3.04-1.246a4.185 4.185 0 0 0-2.08.546c-.19.107-.371.228-.545.365l6 6c.137-.174.258-.355.365-.544zm-5.83 2.854a5.217 5.217 0 0 0 2.09.422c.741 0 1.438-.14 2.09-.422a5.412 5.412 0 0 0 1.7-1.145 5.412 5.412 0 0 0 1.145-1.7 5.217 5.217 0 0 0 .422-2.09c0-.741-.14-1.438-.422-2.09a5.412 5.412 0 0 0-1.145-1.7 5.412 5.412 0 0 0-1.7-1.145 5.217 5.217 0 0 0-2.09-.422c-.741 0-1.438.14-2.09.422a5.412 5.412 0 0 0-1.7 1.145 5.412 5.412 0 0 0-1.145 1.7 5.217 5.217 0 0 0-.422 2.09c0 .741.14 1.438.422 2.09a5.412 5.412 0 0 0 1.145 1.7c.482.482 1.049.864 1.7 1.145z\\\"/><path d=\\\"M28 31.357c-.741 0-1.438-.14-2.09-.422a5.412 5.412 0 0 1-1.7-1.145 5.412 5.412 0 0 1-1.145-1.7 5.217 5.217 0 0 1-.422-2.09c0-.741.14-1.438.422-2.09a5.412 5.412 0 0 1 1.145-1.7 5.412 5.412 0 0 1 1.7-1.145 5.217 5.217 0 0 1 2.09-.422c.741 0 1.438.14 2.09.422a5.412 5.412 0 0 1 1.7 1.145c.482.482.864 1.049 1.145 1.7.282.652.422 1.349.422 2.09 0 .741-.14 1.438-.422 2.09a5.412 5.412 0 0 1-1.145 1.7 5.412 5.412 0 0 1-1.7 1.145 5.217 5.217 0 0 1-2.09.422zm-3.74-7.438c.107-.189.228-.37.365-.544l6 6a4.311 4.311 0 0 1-1.232.676c-.447.157-.91.235-1.393.235-1.196 0-2.21-.416-3.04-1.246-.83-.83-1.246-1.844-1.246-3.04a4.185 4.185 0 0 1 .546-2.08zm7.791 3.474a4.246 4.246 0 0 1-.676 1.232l-6-6a4.311 4.311 0 0 1 1.232-.676c.447-.157.91-.235 1.393-.235 1.196 0 2.21.416 3.04 1.246.83.83 1.246 1.844 1.246 3.04 0 .482-.078.946-.235 1.393z\\\"/></g></svg>\",\n  \"depositary\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 166.964 166.964\\\"><path d=\\\"M75.1 159.95l.015-.012h-.027zM71.791 96.415h-.179l-6.848-7.849c3.31 1.188 6.759 1.906 10.336 1.906 3.581 0 7.024-.706 10.328-1.9l-6.848 7.843h-.167l16.779 40.578 15.332-20.361 17.001 12.787 10.669-16.027c-10.078-12.787-25.952-24.198-44.658-28.938 13.518-9.097 22.834-27.033 22.834-43.181C116.369 18.478 97.883 0 75.1 0S33.837 18.478 33.837 41.272c0 16.148 9.307 34.084 22.828 43.181C24.341 92.652.383 120.711.383 141.512c0 12.288 37.351 18.426 74.705 18.413l-20.919-20.91 17.622-42.6z\\\"/><path d=\\\"M75.115 159.938c10.924-.013 21.848-.523 31.828-1.583l-17.269-12.982-14.559 14.565zM152.605 108.63l-22.779 34.215-17.445-13.121-10.102 13.414 31.688 23.826 32.613-49.024z\\\"/></svg>\",\n  \"device\": \"<svg viewBox=\\\"0 0 23 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M3.975 1.99h17.018V.097H3.975c-1.04 0-1.89.85-1.89 1.89v10.4H.193v2.837H13.43V12.39H3.975V1.99zm17.963 1.89h-5.672a.95.95 0 0 0-.946.946v9.453c0 .52.426.944.946.944h5.672c.52 0 .945-.426.945-.946V4.825a.947.947 0 0 0-.945-.945zM17.21 5.77h3.783v6.62H17.21V5.77z\\\" fill-rule=\\\"evenodd\\\"/></svg>\",\n  \"diploma\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 297 297\\\"><path d=\\\"M188.501 217.342v55.609c0 1.158.635 2.219 1.657 2.766a3.184 3.184 0 0 0 3.219-.156l20.084-13.389a7.321 7.321 0 0 1 8.121 0l20.082 13.389a3.179 3.179 0 0 0 3.218.156 3.13 3.13 0 0 0 1.659-2.766v-55.609a55.52 55.52 0 0 1-29.02 8.148 55.523 55.523 0 0 1-29.02-8.148z\\\"/><path d=\\\"M270.855 20.92H26.144C11.728 20.92 0 32.646 0 47.064v175.688c0 14.416 11.728 26.145 26.144 26.145H173.86v-44.475c-7.68-9.6-12.288-21.77-12.288-35.002 0-30.918 25.099-56.07 55.949-56.07 30.85 0 55.948 25.152 55.948 56.07 0 13.232-4.608 25.402-12.287 35.002v44.475h9.673c14.416 0 26.145-11.729 26.145-26.145V47.064c0-14.418-11.729-26.144-26.145-26.144zM133.814 160.529H30.282a8.366 8.366 0 0 1 0-16.732h103.532a8.367 8.367 0 0 1 0 16.732zm0-34.51H30.282a8.366 8.366 0 0 1 0-16.732h103.532a8.367 8.367 0 0 1 0 16.732zm0-34.509H30.282a8.367 8.367 0 0 1 0-16.732h103.532a8.366 8.366 0 0 1 0 16.732z\\\"/><path d=\\\"M217.521 127.99c-22.777 0-41.309 18.586-41.309 41.43 0 22.846 18.531 41.43 41.309 41.43 22.776 0 41.308-18.584 41.308-41.43 0-22.844-18.531-41.43-41.308-41.43z\\\"/></svg>\",\n  \"direct-conversations\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 34 29\\\"><path fill=\\\"#C4CBD5\\\" d=\\\"M2.914.5h13.172C17.693.5 19 1.841 19 3.49v8.026c0 1.648-1.307 2.99-2.914 2.99H9.854l-2.309 2.37c-.06.061-.139.092-.217.092s-.157-.031-.217-.092l-2.309-2.37H2.914C1.307 14.505 0 13.164 0 11.516V3.49C0 1.841 1.307.5 2.914.5z\\\"/><path fill=\\\"#95A4B7\\\" stroke=\\\"#FFF\\\" d=\\\"M29.626 8.5H14.374C12.514 8.5 11 10.053 11 11.962v9.293c0 1.909 1.514 3.462 3.374 3.462h7.216l2.674 2.743a.35.35 0 0 0 .502 0l2.674-2.743h2.187c1.86 0 3.374-1.553 3.374-3.462v-9.293C33 10.053 31.486 8.5 29.626 8.5z\\\"/></svg>\",\n  \"disconnected\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 429.7 429.699\\\"><path d=\\\"M233.137 234.36l-30.939 30.94-37.799-37.8 30.939-30.938c6.856-6.854 6.856-18.012 0-24.867-6.855-6.855-18.011-6.855-24.867 0l-30.94 30.939-15.539-15.538c-4.12-4.122-10.801-4.121-14.921 0L86.625 209.54c-4.12 4.12-4.12 10.801 0 14.921l3.35 3.351-50.72 50.718a10.553 10.553 0 0 0-2.976 9.006l7.816 52.813L3.09 381.353c-4.12 4.119-4.12 10.8 0 14.92l30.337 30.336c4.12 4.121 10.8 4.121 14.92 0l41.006-41.006 52.813 7.817a10.547 10.547 0 0 0 9.004-2.978l50.719-50.719 3.35 3.35c4.12 4.119 10.8 4.119 14.921 0l22.444-22.446c4.121-4.117 4.121-10.802 0-14.921l-15.539-15.538 30.938-30.939c6.855-6.855 6.855-18.012 0-24.868-6.855-6.856-18.008-6.856-24.866-.001zM426.61 33.428L396.273 3.089c-4.119-4.118-10.801-4.118-14.92 0l-41.006 41.007-52.813-7.817a10.55 10.55 0 0 0-9.005 2.979L227.81 89.976l-3.351-3.351c-4.119-4.119-10.799-4.121-14.92 0l-22.446 22.445c-4.12 4.12-4.12 10.801 0 14.922l118.613 118.612c4.119 4.119 10.801 4.119 14.922 0l22.445-22.446c4.119-4.12 4.119-10.802 0-14.921l-3.35-3.35 50.719-50.72a10.55 10.55 0 0 0 2.977-9.004l-7.815-52.813 41.007-41.006c4.12-4.117 4.12-10.799-.001-14.916z\\\"/></svg>\",\n  \"document\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"12\\\" height=\\\"11\\\" viewBox=\\\"0 0 12 11\\\"><defs><path id=\\\"b\\\" d=\\\"M0 2.996A3.002 3.002 0 0 1 3.005 0h323.99A3.001 3.001 0 0 1 330 2.996v144.008a3.002 3.002 0 0 1-3.005 2.996H3.005A3.001 3.001 0 0 1 0 147.004V2.996z\\\"/><filter id=\\\"a\\\" width=\\\"103%\\\" height=\\\"106.7%\\\" x=\\\"-1.5%\\\" y=\\\"-2.7%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"1\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"1.5\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\\\"/></filter></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path fill=\\\"#F4F4F9\\\" d=\\\"M-77-383h360v640H-77z\\\"/><g transform=\\\"translate(-62 -128)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#a)\\\" xlink:href=\\\"#b\\\"/><use fill=\\\"#FFF\\\" xlink:href=\\\"#b\\\"/></g><path fill=\\\"#75879E\\\" d=\\\"M.987 2.12v7.746c0 .533.442.969.982.969h7.852v-.969H1.97V2.12H.987zM3.932.183a.978.978 0 0 0-.981.969v7.746h7.852c.54 0 .982-.436.982-.968V1.152a.978.978 0 0 0-.982-.969h-6.87z\\\"/></g></svg>\",\n  \"dot\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 29.107 29.107\\\"><path d=\\\"M14.554 0C6.561 0 0 6.562 0 14.552c0 7.996 6.561 14.555 14.554 14.555 7.996 0 14.553-6.559 14.553-14.555C29.106 6.562 22.55 0 14.554 0z\\\"/></svg>\",\n  \"down\": \"<svg width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M9 9.464V2.667H7v6.797H4l4 3.87 4-3.87H9z\\\" fill=\\\"#D1D1D1\\\"/></svg>\",\n  \"download\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"209.135 0 541.712 560\\\"><path d=\\\"M675.64 356.888v127.923H284.342V356.888h-75.207v165.526c0 20.754 16.813 37.586 37.66 37.586h466.392c20.829 0 37.66-16.813 37.66-37.586V356.888H675.64zM473.107 344.204L365.433 214.096s-16.382-15.468 1.382-15.468h60.674v-26.451V9.228S425.08 0 438.977 0h85.407c10.013 0 9.788 7.771 9.788 7.771v186.953h56.004c21.558 0 5.324 16.196 5.324 16.196s-91.608 121.608-104.386 134.367c-9.19 9.247-18.007-1.083-18.007-1.083z\\\"/></svg>\",\n  \"download_2\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M12 16l-5-5 1.4-1.45 2.6 2.6V4h2v8.15l2.6-2.6L17 11l-5 5zm-6 4c-.55 0-1.02-.196-1.412-.587A1.926 1.926 0 0 1 4 18v-3h2v3h12v-3h2v3c0 .55-.196 1.02-.587 1.413A1.926 1.926 0 0 1 18 20H6z\\\"/></svg>\",\n  \"download_preview\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 19 19\\\"><path d=\\\"M9.5 0C14.7 0 19 4.3 19 9.5S14.7 19 9.5 19 0 14.7 0 9.5 4.3 0 9.5 0zM5.3 10.9H3.5v3.7c0 .5.4.8.8.8h10.3c.5 0 .8-.4.8-.8v-3.7h-1.8v2.7H5.3v-2.7zM10.5 3H8.6c-.3 0-.3.2-.3.2v4.2H7c-.3 0-.1.2-.1.3l2.4 2.9s.2.2.4 0c.3-.3 2.3-3 2.3-3s.4-.4-.1-.4h-1.2V3.1s0-.1-.2-.1z\\\" fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\"/></svg>\",\n  \"downloaded_file\": \"<svg width=\\\"48\\\" height=\\\"48\\\" viewBox=\\\"0 0 48 48\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M27.889 31.46c0-3.015 2.487-5.46 5.555-5.46C36.513 26 39 28.445 39 31.46c0 3.017-2.487 5.462-5.556 5.462-3.068 0-5.555-2.445-5.555-5.461zm5.51-4.338a.8.8 0 0 0-.8.8v5.304l-1.033-1.034a.8.8 0 1 0-1.131 1.131l2.37 2.37c.163.164.38.242.593.235.214.007.43-.071.593-.234l2.37-2.371a.8.8 0 1 0-1.13-1.131l-1.031 1.03v-5.3a.8.8 0 0 0-.8-.8z\\\" fill=\\\"#2196F3\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M32.326 25.106l1.697-1.81c2.637-2.812 2.637-7.373 0-10.186-2.638-2.813-6.915-2.813-9.554 0l-3.619 3.859a7.984 7.984 0 0 1 4.31.5l1.697-1.813c1.318-1.404 3.46-1.404 4.777 0 1.318 1.404 1.318 3.689 0 5.094l-4.777 5.093c-1.316 1.404-3.459 1.405-4.775 0-.413-.44-.68-.969-.834-1.528l-.072.043c-.102.06-.203.12-.288.212l-2.22 2.367c.285.513.61 1.011 1.025 1.453 2.03 2.165 5.032 2.664 7.509 1.496a6.508 6.508 0 0 1 5.124-4.78zm-1.476 1.573a5.525 5.525 0 0 0-2.248 2.316 6.97 6.97 0 0 0 .643-.605l1.605-1.71zm-11.707 5.666l1.7-1.813a7.98 7.98 0 0 0 4.309.499l-3.62 3.86c-2.638 2.812-6.916 2.812-9.554 0-2.637-2.814-2.637-7.374 0-10.188l4.777-5.093c2.637-2.813 6.916-2.813 9.552 0 .416.442.743.938 1.026 1.454l-2.22 2.366c-.083.089-.181.147-.28.206-.027.015-.053.03-.079.047a3.625 3.625 0 0 0-.834-1.526c-1.317-1.406-3.459-1.406-4.777 0l-4.777 5.093c-1.316 1.404-1.316 3.69 0 5.095 1.318 1.403 3.46 1.403 4.777 0z\\\" fill=\\\"#2196F3\\\"/></svg>\",\n  \"drop-contact\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30.478 47.625\\\"><path d=\\\"M4.612 10.156c0 5.598 4.539 10.145 10.149 10.145 5.605 0 10.148-4.547 10.148-10.145C24.91 4.547 20.367 0 14.762 0 9.151 0 4.612 4.547 4.612 10.156z\\\"/><path d=\\\"M25.515 19.684c-.465-.59-1.309-1.239-2.129-1.684-2.121 2.379-5.195 3.887-8.625 3.887-3.426 0-6.5-1.508-8.621-3.879-.797.453-1.621 1.102-2.071 1.691C2.612 21.597.366 25.281.007 30.242c-.074 1.047.422 2.648 1.297 3.258 1.66 1.164 5.246 2.648 12.703 2.648 2.53 0 4.665-.151 6.481-.393V22.994h7.053a17.348 17.348 0 0 0-2.026-3.31z\\\"/><path d=\\\"M27.56 24.238h-5.837v15.589h-2.919l5.846 7.798 5.828-7.798H27.56z\\\"/></svg>\",\n  \"earth\": \"<svg width=\\\"14\\\" height=\\\"14\\\" viewBox=\\\"0 0 14 14\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M0 7c0 3.867 3.133 7 7 7s7-3.133 7-7-3.133-7-7-7-7 3.133-7 7zm2.354-4.069c-.604.324-.385-.227-.14-.464l-.035-.183c.735-.639 2.45-1.173 3.36-1.085C5.45.849 5.303.97 5.03.822c.394.01.805.027 1.199-.034.087 0 .472.647.84.568l.429-.289c.271 0 .534.08.805.132-.009.42-.464.455-.7.822v.105l.752.517c.42-.184.298.402.359.48.271.298.525-.49.586-.673l-.315-.508.586.132.394.429c.131.008.298 0 .412-.07.113.27.367.533.62.673.08.534.788.893-.052.735L10.93 3.5h-.683c.21.035.333.7.429.875h-.621c.061.376-.683.376-.735.7 0 .402-.228.157-.482.411l.123.639-1.19-.551c-.788.21-.717.682-.341 1.286l.254-.149c-.018-.026.174-.175.192-.035v.499l.875.166v.534l.464.158-.639-.105c-.306-.814-2.38-.692-2.24-1.41-.14-.148-.989-1.11-1.155-1.032-1.505-.831.219-2.205-1.522-2.861H2.485l-.035.105-.096.201zm8.006 9.048c0 .061 0 .289-.079.332-.131.061-.297-.043-.429.035-.078.053-.113.14-.174.21-.184.21-.385.394-.57.604a.215.215 0 0 0-.043.149s.026.043.009.043c-.14.036-.324-.183-.342-.314-.026-.167.123-.272.176-.42.148-.42.35-1.217.28-1.663-.106-.639-.622-.28-.718-1.05-.026-.149-.052-.333.017-.481.07-.149.237-.21.298-.359.14-.324-.184-.761.35-.814l.053-.009h.105l.07-.017a.417.417 0 0 1 .175-.035c.078 0 .157.026.236.035.183.026.367 0 .525.105.306.184.63.367.901.621l-.157.254c.017-.035.052-.044.096-.035.341.035.919.079 1.146.42.087.341-.578.718-.595 1.129 0 .052.061.131.009.175-.132.105-.324.105-.455.21-.333.271-.403.814-.884.875z\\\" fill=\\\"#2196F3\\\" fill-rule=\\\"evenodd\\\"/></svg>\",\n  \"edit\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M19.3 8.925l-4.25-4.2 1.4-1.4a1.92 1.92 0 0 1 1.413-.575c.558 0 1.029.192 1.412.575l1.4 1.4c.383.383.583.846.6 1.388a1.807 1.807 0 0 1-.55 1.387L19.3 8.925zM17.85 10.4L7.25 21H3v-4.25l10.6-10.6 4.25 4.25z\\\"/></svg>\",\n  \"empty-depositBox\": \"<svg width=\\\"200\\\" height=\\\"201\\\" viewBox=\\\"0 0 200 201\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect y=\\\".5\\\" width=\\\"200\\\" height=\\\"200\\\" rx=\\\"100\\\" fill=\\\"#E9EBF1\\\"/><g filter=\\\"url(#filter0_d_2589_9499)\\\"><g filter=\\\"url(#filter1_bii_2589_9499)\\\"><path d=\\\"M56.297 92.458a4 4 0 0 1 3.648-2.358h80.11a4 4 0 0 1 3.648 2.358l8.299 18.441H47.998l8.299-18.441z\\\" fill=\\\"#95A4B7\\\"/></g><path opacity=\\\".3\\\" d=\\\"M64.98 100.635a5.133 5.133 0 0 1 4.777-3.252h58.926a5.133 5.133 0 0 1 4.776 3.252c.664 1.684-.578 3.507-2.388 3.507H67.369a2.566 2.566 0 0 1-2.388-3.507z\\\" fill=\\\"#38567B\\\"/><g filter=\\\"url(#filter2_bii_2589_9499)\\\"><path d=\\\"M47.998 111.342a2 2 0 0 1 2-2h100.004a2 2 0 0 1 2 2V147.5a5 5 0 0 1-5 5H52.998a5 5 0 0 1-5-5v-36.158z\\\" fill=\\\"#38567B\\\"/></g></g><g opacity=\\\".6\\\" filter=\\\"url(#filter3_bii_2589_9499)\\\"><path d=\\\"M70.748 52.5a4 4 0 0 1 4-4h50.502a4 4 0 0 1 4 4v49.622H70.748V52.5z\\\" fill=\\\"#C4CBD5\\\"/></g><g opacity=\\\".3\\\" filter=\\\"url(#filter4_i_2589_9499)\\\"><rect x=\\\"73.32\\\" y=\\\"57.541\\\" width=\\\"51.55\\\" height=\\\"5.426\\\" rx=\\\"2.713\\\" fill=\\\"#95A4B7\\\"/></g><g opacity=\\\".3\\\" filter=\\\"url(#filter5_i_2589_9499)\\\"><rect x=\\\"73.32\\\" y=\\\"67.492\\\" width=\\\"47.932\\\" height=\\\"5.426\\\" rx=\\\"2.713\\\" fill=\\\"#95A4B7\\\"/></g><g opacity=\\\".3\\\" filter=\\\"url(#filter6_i_2589_9499)\\\"><rect x=\\\"73.32\\\" y=\\\"77.441\\\" width=\\\"47.932\\\" height=\\\"5.426\\\" rx=\\\"2.713\\\" fill=\\\"#95A4B7\\\"/></g><g opacity=\\\".3\\\" filter=\\\"url(#filter7_i_2589_9499)\\\"><rect x=\\\"73.32\\\" y=\\\"87.385\\\" width=\\\"28.036\\\" height=\\\"5.426\\\" rx=\\\"2.713\\\" fill=\\\"#95A4B7\\\"/></g><defs><filter id=\\\"filter0_d_2589_9499\\\" x=\\\"33.998\\\" y=\\\"90.1\\\" width=\\\"132.004\\\" height=\\\"92.4\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"16\\\"/><feGaussianBlur stdDeviation=\\\"7\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"out\\\"/><feColorMatrix values=\\\"0 0 0 0 0.0588889 0 0 0 0 0.0606 0 0 0 0 0.0666667 0 0 0 0.16 0\\\"/><feBlend in2=\\\"BackgroundImageFix\\\" result=\\\"effect1_dropShadow_2589_9499\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"effect1_dropShadow_2589_9499\\\" result=\\\"shape\\\"/></filter><filter id=\\\"filter1_bii_2589_9499\\\" x=\\\"-38.002\\\" y=\\\"4.1\\\" width=\\\"276.004\\\" height=\\\"192.799\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feGaussianBlur in=\\\"BackgroundImageFix\\\" stdDeviation=\\\"43\\\"/><feComposite in2=\\\"SourceAlpha\\\" operator=\\\"in\\\" result=\\\"effect1_backgroundBlur_2589_9499\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"effect1_backgroundBlur_2589_9499\\\" result=\\\"shape\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"4\\\"/><feGaussianBlur stdDeviation=\\\"2\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.15 0\\\"/><feBlend in2=\\\"shape\\\" result=\\\"effect2_innerShadow_2589_9499\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset/><feGaussianBlur stdDeviation=\\\"34\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0\\\"/><feBlend in2=\\\"effect2_innerShadow_2589_9499\\\" result=\\\"effect3_innerShadow_2589_9499\\\"/></filter><filter id=\\\"filter2_bii_2589_9499\\\" x=\\\"-38.002\\\" y=\\\"23.342\\\" width=\\\"276.004\\\" height=\\\"215.158\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feGaussianBlur in=\\\"BackgroundImageFix\\\" stdDeviation=\\\"43\\\"/><feComposite in2=\\\"SourceAlpha\\\" operator=\\\"in\\\" result=\\\"effect1_backgroundBlur_2589_9499\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"effect1_backgroundBlur_2589_9499\\\" result=\\\"shape\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"4\\\"/><feGaussianBlur stdDeviation=\\\"2\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.15 0\\\"/><feBlend in2=\\\"shape\\\" result=\\\"effect2_innerShadow_2589_9499\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset/><feGaussianBlur stdDeviation=\\\"34\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0\\\"/><feBlend in2=\\\"effect2_innerShadow_2589_9499\\\" result=\\\"effect3_innerShadow_2589_9499\\\"/></filter><filter id=\\\"filter3_bii_2589_9499\\\" x=\\\"-15.252\\\" y=\\\"-37.5\\\" width=\\\"230.502\\\" height=\\\"225.623\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feGaussianBlur in=\\\"BackgroundImageFix\\\" stdDeviation=\\\"43\\\"/><feComposite in2=\\\"SourceAlpha\\\" operator=\\\"in\\\" result=\\\"effect1_backgroundBlur_2589_9499\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"effect1_backgroundBlur_2589_9499\\\" result=\\\"shape\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"4\\\"/><feGaussianBlur stdDeviation=\\\"2\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.15 0\\\"/><feBlend in2=\\\"shape\\\" result=\\\"effect2_innerShadow_2589_9499\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset/><feGaussianBlur stdDeviation=\\\"34\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0\\\"/><feBlend in2=\\\"effect2_innerShadow_2589_9499\\\" result=\\\"effect3_innerShadow_2589_9499\\\"/></filter><filter id=\\\"filter4_i_2589_9499\\\" x=\\\"73.32\\\" y=\\\"57.541\\\" width=\\\"51.55\\\" height=\\\"9.426\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"BackgroundImageFix\\\" result=\\\"shape\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"4\\\"/><feGaussianBlur stdDeviation=\\\"2\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.15 0\\\"/><feBlend in2=\\\"shape\\\" result=\\\"effect1_innerShadow_2589_9499\\\"/></filter><filter id=\\\"filter5_i_2589_9499\\\" x=\\\"73.32\\\" y=\\\"67.492\\\" width=\\\"47.932\\\" height=\\\"9.426\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"BackgroundImageFix\\\" result=\\\"shape\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"4\\\"/><feGaussianBlur stdDeviation=\\\"2\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.15 0\\\"/><feBlend in2=\\\"shape\\\" result=\\\"effect1_innerShadow_2589_9499\\\"/></filter><filter id=\\\"filter6_i_2589_9499\\\" x=\\\"73.32\\\" y=\\\"77.441\\\" width=\\\"47.932\\\" height=\\\"9.426\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"BackgroundImageFix\\\" result=\\\"shape\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"4\\\"/><feGaussianBlur stdDeviation=\\\"2\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.15 0\\\"/><feBlend in2=\\\"shape\\\" result=\\\"effect1_innerShadow_2589_9499\\\"/></filter><filter id=\\\"filter7_i_2589_9499\\\" x=\\\"73.32\\\" y=\\\"87.385\\\" width=\\\"28.036\\\" height=\\\"9.426\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"BackgroundImageFix\\\" result=\\\"shape\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"4\\\"/><feGaussianBlur stdDeviation=\\\"2\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.15 0\\\"/><feBlend in2=\\\"shape\\\" result=\\\"effect1_innerShadow_2589_9499\\\"/></filter></defs></svg>\",\n  \"empty-fav\": \"<svg viewBox=\\\"0 0 228 229\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"><defs><circle id=\\\"a\\\" cx=\\\"110.5\\\" cy=\\\"110.5\\\" r=\\\"110.5\\\"/><path d=\\\"M160.318 0H0v148.212C18.83 163.108 42.627 172 68.5 172 129.527 172 179 122.527 179 61.5c0-22.764-6.883-43.92-18.682-61.5z\\\" id=\\\"b\\\"/><path d=\\\"M9.454.148a9.454 9.454 0 0 1 9.454 9.454v.028A9.454 9.454 0 1 1 0 9.63v-.028A9.454 9.454 0 0 1 9.454.148z\\\" id=\\\"c\\\"/><circle id=\\\"d\\\" cx=\\\"29.5\\\" cy=\\\"29.5\\\" r=\\\"29.5\\\"/></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><use fill=\\\"#8D8D8D\\\" xlink:href=\\\"#a\\\"/><g transform=\\\"translate(43 50)\\\"><use fill=\\\"#FFF\\\" xlink:href=\\\"#b\\\"/><path d=\\\"M0 135.785L125.354 135\\\" stroke=\\\"#E6E6E6\\\" stroke-width=\\\".52\\\"/><rect fill=\\\"#E7EEF6\\\" x=\\\"36.726\\\" y=\\\"17.936\\\" width=\\\"89\\\" height=\\\"12\\\" rx=\\\"6\\\"/><rect fill=\\\"#E7EEF6\\\" x=\\\"17.726\\\" y=\\\"146.487\\\" width=\\\"68.541\\\" height=\\\"11.835\\\" rx=\\\"5.917\\\"/><rect fill=\\\"#E7EEF6\\\" x=\\\"92.175\\\" y=\\\"146.487\\\" width=\\\"68.541\\\" height=\\\"11.835\\\" rx=\\\"5.917\\\"/><ellipse fill=\\\"#95A4B7\\\" cx=\\\"53.265\\\" cy=\\\"82.639\\\" rx=\\\"36.634\\\" ry=\\\"36.688\\\"/><path d=\\\"M39.085 85.387H51.69V69.621H39.085v15.766zm0 12.613H51.69v-9.46H39.085V98zm15.756 0h12.605V82.234H54.841V98zm0-18.92h12.605v-9.46H54.841v9.46z\\\" fill=\\\"#FFF\\\"/><g transform=\\\"translate(69.904 100.78)\\\"><use fill=\\\"#E7EEF6\\\" xlink:href=\\\"#c\\\"/><path stroke=\\\"#FFF\\\" stroke-width=\\\"3.118\\\" d=\\\"M9.454-1.411c6.082 0 11.013 4.93 11.013 11.013v.028c0 6.082-4.93 11.013-11.013 11.013-6.082 0-11.013-4.93-11.013-11.013v-.028c0-6.082 4.93-11.013 11.013-11.013z\\\"/></g><circle fill=\\\"#F0D079\\\" cx=\\\"19\\\" cy=\\\"24\\\" r=\\\"6\\\"/></g><g transform=\\\"translate(161 162)\\\"><use fill=\\\"#F0D079\\\" xlink:href=\\\"#d\\\"/><circle stroke=\\\"#F5F6F8\\\" stroke-width=\\\"7.2\\\" cx=\\\"29.5\\\" cy=\\\"29.5\\\" r=\\\"33.1\\\"/></g><path fill=\\\"#FFF\\\" d=\\\"M190.59 199.49l-8.574 4.5 1.638-9.532-6.936-7.48 9.585.067 4.286-9.401 4.287 9.4 9.585-.065-6.936 7.479 1.637 9.531z\\\"/></g></svg>\",\n  \"empty-message-bubble\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 17\\\"><path d=\\\"M10 0C4.477 0 0 3.452 0 7.708c0 2.016 1.004 3.853 2.648 5.227-.063 1.338-.346 3.138-1.346 4.065 1.91 0 3.866-1.233 5.026-2.122 1.137.348 2.375.538 3.671.538 5.523 0 10-3.451 10-7.708C20 3.452 15.523 0 10 0z\\\"/></svg>\",\n  \"empty-search-results\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 221 221\\\"><circle fill=\\\"#8D8D8D\\\" cx=\\\"109.5\\\" cy=\\\"110.5\\\" r=\\\"110.5\\\"/><path opacity=\\\".1\\\" d=\\\"M206.3 121.4L189.8 105h-63.5v103h35.2c18.9-10.1 34.5-25.5 44.8-44.2v-42.4z\\\"/><path fill=\\\"#FFF\\\" d=\\\"M201.3 111.4L184.8 95h-63.5v108h48.6c12.4-8.1 23.1-18.7 31.4-31v-60.6z\\\"/><path fill=\\\"#EAF0F5\\\" d=\\\"M201.3 111.5h-16.5V95z\\\"/><path fill=\\\"#C9E0F3\\\" d=\\\"M177.6 162.5c1.8 0 3.2-1.4 3.2-3.1v-16c0-2.7-2.2-4.8-4.8-4.8h-18.4l-3.1-3H145c-1.8 0-3.2 1.4-3.2 3.1v20.8c0 1.7 1.4 3.1 3.2 3.1h32.6z\\\"/><g><path opacity=\\\".1\\\" d=\\\"M154.8 81.4V168h-80V65h63.6z\\\"/><path fill=\\\"#FFF\\\" d=\\\"M149.8 71.4V163h-80V55h63.6z\\\"/><path fill=\\\"#EAF0F5\\\" d=\\\"M149.8 71.5h-16.5V55z\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" fill=\\\"#F0D079\\\" d=\\\"M122.2 82.2H97.4c-2.1 0-3.8 1.7-3.8 3.8v24.7c0 2.1 1.7 3.8 3.8 3.8h24.7c2.1 0 3.8-1.7 3.8-3.8V85.9c0-2-1.6-3.7-3.7-3.7zM97.8 109l6.2-8 4.4 5.4 6.2-8 8 10.7H97.8z\\\"/></g><g><path opacity=\\\".1\\\" d=\\\"M23.3 41.3V128h80V41.3L86.9 24.9H39.6c-6 4.9-11.4 10.4-16.3 16.4z\\\"/><path fill=\\\"#FFF\\\" d=\\\"M18.3 48.1V123h80V31.3L81.9 14.9H54.1c-14.3 8.3-26.5 19.6-35.8 33.2z\\\"/><path fill=\\\"#EAF0F5\\\" d=\\\"M98.3 31.4H81.8V14.9z\\\"/><path fill=\\\"#95A4B7\\\" d=\\\"M86.3 52h-56c-1.1 0-2-.9-2-2s.9-2 2-2h56c1.1 0 2 .9 2 2s-.9 2-2 2zM66.3 62h-36c-1.1 0-2-.9-2-2s.9-2 2-2h36c1.1 0 2 .9 2 2s-.9 2-2 2zM56.3 72h-26c-1.1 0-2-.9-2-2s.9-2 2-2h26c1.1 0 2 .9 2 2s-.9 2-2 2z\\\"/></g></svg>\",\n  \"empty-ws\": \"<svg viewBox=\\\"0 0 222 222\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"><defs><circle id=\\\"a\\\" cx=\\\"110.5\\\" cy=\\\"110.5\\\" r=\\\"110.5\\\"/><path d=\\\"M160.318 0H0v148.212C18.83 163.108 42.627 172 68.5 172 129.527 172 179 122.527 179 61.5c0-22.764-6.883-43.92-18.682-61.5z\\\" id=\\\"b\\\"/><path d=\\\"M9.454.148a9.454 9.454 0 0 1 9.454 9.454v.028A9.454 9.454 0 1 1 0 9.63v-.028A9.454 9.454 0 0 1 9.454.148z\\\" id=\\\"c\\\"/><path d=\\\"M139.127 146.487a110.731 110.731 0 0 1-17.332 11.835H98.093a5.917 5.917 0 1 1 0-11.835h41.034z\\\" id=\\\"d\\\"/></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><use fill=\\\"#8D8D8D\\\" xlink:href=\\\"#a\\\"/><g transform=\\\"translate(43 50)\\\"><use fill=\\\"#FFF\\\" xlink:href=\\\"#b\\\"/><path d=\\\"M0 135.785L151 135\\\" stroke=\\\"#E6E6E6\\\" stroke-width=\\\".52\\\"/><rect fill=\\\"#E7EEF6\\\" x=\\\"36.726\\\" y=\\\"17.936\\\" width=\\\"89\\\" height=\\\"12\\\" rx=\\\"6\\\"/><rect fill=\\\"#E7EEF6\\\" x=\\\"17.726\\\" y=\\\"146.487\\\" width=\\\"68.541\\\" height=\\\"11.835\\\" rx=\\\"5.917\\\"/><ellipse fill=\\\"#95A4B7\\\" cx=\\\"53.265\\\" cy=\\\"82.639\\\" rx=\\\"36.634\\\" ry=\\\"36.688\\\"/><path d=\\\"M39.085 85.387H51.69V69.621H39.085v15.766zm0 12.613H51.69v-9.46H39.085V98zm15.756 0h12.605V82.234H54.841V98zm0-18.92h12.605v-9.46H54.841v9.46z\\\" fill=\\\"#FFF\\\"/><g transform=\\\"translate(69.904 100.78)\\\"><use fill=\\\"#E7EEF6\\\" xlink:href=\\\"#c\\\"/><path stroke=\\\"#FFF\\\" stroke-width=\\\"3.118\\\" d=\\\"M9.454-1.411c6.082 0 11.013 4.93 11.013 11.013v.028c0 6.082-4.93 11.013-11.013 11.013-6.082 0-11.013-4.93-11.013-11.013v-.028c0-6.082 4.93-11.013 11.013-11.013z\\\"/></g><circle fill=\\\"#F0D079\\\" cx=\\\"19\\\" cy=\\\"24\\\" r=\\\"6\\\"/><use fill=\\\"#E2EBF6\\\" xlink:href=\\\"#d\\\"/></g></g></svg>\",\n  \"empty_folder\": \"<svg id=\\\"Calque_1\\\" data-name=\\\"Calque 1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 441.46 441.46\\\"><defs><style>.cls-299{fill:#95a4b7}.cls-399{fill:#fff}.cls-499{fill:#eaf0f5}</style></defs><circle cx=\\\"220.73\\\" cy=\\\"220.73\\\" r=\\\"220.73\\\" fill=\\\"#8d8d8d\\\"/><path class=\\\"cls-299\\\" d=\\\"M478.93 307.13H300l-25-24h-78.51a25 25 0 0 0-25 25l-23.28 89.52a220.7 220.7 0 0 0 322.09-13.41l18.35-67.36a9.74 9.74 0 0 0-9.72-9.75z\\\" transform=\\\"translate(-82.26 -19.54)\\\"/><path class=\\\"cls-399\\\" d=\\\"M404.68 123.47l-42.22 213.87-171.69-33.89 49.97-253.12 132.45 26.15\\\"/><path class=\\\"cls-499\\\" d=\\\"M373.19 76.48l-7.75 39.24 39.24 7.75\\\"/><path d=\\\"M428.19 158.52l-64.49-12.74a12.13 12.13 0 0 0-14.25 9.55l-12.73 64.49a12.13 12.13 0 0 0 9.55 14.25l64.49 12.73a12.13 12.13 0 0 0 14.24-9.54l12.73-64.49a12.13 12.13 0 0 0-9.54-14.25zm-80.49 59.14l20.72-17.59 9.9 17.23 21.16-19 16.2 32.76z\\\" transform=\\\"translate(-82.26 -19.54)\\\" fill=\\\"#f0d079\\\"/><path class=\\\"cls-399\\\" d=\\\"M218.85 119.23l34.54 215.25L80.6 362.2 39.72 107.46l133.29-21.39\\\"/><rect class=\\\"cls-299\\\" x=\\\"151.22\\\" y=\\\"178.03\\\" width=\\\"135\\\" height=\\\"9\\\" rx=\\\"3.72\\\" ry=\\\"3.72\\\" transform=\\\"rotate(-9.12 55.004 688.35)\\\"/><path class=\\\"cls-299\\\" d=\\\"M256.41 204.2l-96.33 15.46c-2 .33-4-1.4-4.39-3.85-.39-2.45.93-4.71 3-5L255 195.32c2-.33 4 1.4 4.39 3.85.37 2.45-.96 4.71-2.98 5.03zM230.41 231.53l-66.7 10.7c-2 .33-4-1.4-4.39-3.85-.39-2.45.93-4.71 3-5l66.7-10.7c2-.33 4 1.4 4.39 3.85.35 2.47-.97 4.68-3 5z\\\" transform=\\\"translate(-82.26 -19.54)\\\"/><path class=\\\"cls-499\\\" d=\\\"M173.02 86.07l6.33 39.5 39.5-6.34\\\"/><path opacity=\\\".15\\\" d=\\\"M265.73 332.5l-12.34 1.98-30.88-192.41 7.04-35.04 36.18 225.47z\\\"/><path d=\\\"M428.93 277.13H250l-25-24h-78.51a25 25 0 0 0-25 25v87.81a220.74 220.74 0 0 0 317.16 48.46V286.87a9.74 9.74 0 0 0-9.72-9.74z\\\" transform=\\\"translate(-82.26 -19.54)\\\" fill=\\\"#c9e0f3\\\"/></svg>\",\n  \"envelope\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 511.626 511.626\\\"><path d=\\\"M49.106 178.729c6.472 4.567 25.981 18.131 58.528 40.685 32.548 22.554 57.482 39.92 74.803 52.099 1.903 1.335 5.946 4.237 12.131 8.71 6.186 4.476 11.326 8.093 15.416 10.852 4.093 2.758 9.041 5.852 14.849 9.277 5.806 3.422 11.279 5.996 16.418 7.7 5.14 1.718 9.898 2.569 14.275 2.569h.575c4.377 0 9.137-.852 14.277-2.569 5.137-1.704 10.615-4.281 16.416-7.7 5.804-3.429 10.752-6.52 14.845-9.277 4.093-2.759 9.229-6.376 15.417-10.852 6.184-4.477 10.232-7.375 12.135-8.71 17.508-12.179 62.051-43.11 133.615-92.79 13.894-9.703 25.502-21.411 34.827-35.116 9.332-13.699 13.993-28.07 13.993-43.105 0-12.564-4.523-23.319-13.565-32.264-9.041-8.947-19.749-13.418-32.117-13.418H45.679c-14.655 0-25.933 4.948-33.832 14.844C3.949 79.562 0 91.934 0 106.779c0 11.991 5.236 24.985 15.703 38.974 10.466 13.99 21.604 24.983 33.403 32.976z\\\"/><path d=\\\"M483.072 209.275c-62.424 42.251-109.824 75.087-142.177 98.501-10.849 7.991-19.65 14.229-26.409 18.699-6.759 4.473-15.748 9.041-26.98 13.702-11.228 4.668-21.692 6.995-31.401 6.995h-.578c-9.707 0-20.177-2.327-31.405-6.995-11.228-4.661-20.223-9.229-26.98-13.702-6.755-4.47-15.559-10.708-26.407-18.699-25.697-18.842-72.995-51.68-141.896-98.501C17.987 202.047 8.375 193.762 0 184.437v226.685c0 12.57 4.471 23.319 13.418 32.265 8.945 8.949 19.701 13.422 32.264 13.422h420.266c12.56 0 23.315-4.473 32.261-13.422 8.949-8.949 13.418-19.694 13.418-32.265V184.437c-8.186 9.132-17.7 17.417-28.555 24.838z\\\"/></svg>\",\n  \"error-report\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\"><circle cx=\\\"13.193\\\" cy=\\\"6.727\\\" r=\\\".973\\\"/><path d=\\\"M10.27 5.755a.972.972 0 0 0 0 1.946.974.974 0 1 0 0-1.946zM16.178 5.755a.974.974 0 0 0-.977.973.976.976 0 0 0 1.95 0 .973.973 0 0 0-.973-.973zM18.549 6.258h13.639v.975H18.549z\\\"/><path d=\\\"M33.324 3.151H9.949A1.946 1.946 0 0 0 8 5.096v13.965h1.949V8.046h23.375v16.533H27.49c.371.801.605 1.482.605 1.482-.141.164-.289.311-.436.467h5.664a1.95 1.95 0 0 0 1.945-1.949V5.096a1.944 1.944 0 0 0-1.944-1.945zM11.408 6.559a.97.97 0 0 1-.969-.971c0-.543.436-.973.969-.973a.97.97 0 0 1 .975.973.97.97 0 0 1-.975.971zm2.924 0a.97.97 0 1 1 0-1.944.973.973 0 1 1 0 1.944zm2.982 0a.972.972 0 1 1 0-1.944.97.97 0 0 1 .973.973.97.97 0 0 1-.973.971z\\\"/><path d=\\\"M26.352 25.717c-.326-.701-.758-1.49-1.244-2.008 0 0-.5-.445-.752-.498-.25-.057-.25-.057-.379-.031-.66.119-1.508 1.502-2.908 2.537h-7.064a6.336 6.336 0 0 1-1.156-1.348h3.906s1.117.074 1.117-.818v-2.236s.07-1.117-1.117-1.117H5.508v9.535s7.598 2.381 10.277 2.381c0 0 6.277.266 10.734-4.447.146-.156.295-.299.438-.469 0 0-.232-.68-.605-1.481zM0 19.008h3.871v13.105H0z\\\"/></svg>\",\n  \"error\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 212.982 212.982\\\"><path d=\\\"M131.804 106.491l75.936-75.936c6.99-6.99 6.99-18.323 0-25.312-6.99-6.99-18.322-6.99-25.312 0L106.491 81.18 30.554 5.242c-6.99-6.99-18.322-6.99-25.312 0-6.989 6.99-6.989 18.323 0 25.312l75.937 75.936-75.937 75.937c-6.989 6.99-6.989 18.323 0 25.312 6.99 6.99 18.322 6.99 25.312 0l75.937-75.937 75.937 75.937c6.989 6.99 18.322 6.99 25.312 0 6.99-6.99 6.99-18.322 0-25.312l-75.936-75.936z\\\" fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\"/></svg>\",\n  \"exit\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"512\\\" height=\\\"512\\\" viewBox=\\\"0 0 520.349 520.349\\\"><path d=\\\"M445.223 0H142.589c-6.683 0-12.105 5.423-12.105 12.105v180.979h16.65c-5.006-6.392-7.725-14.224-7.725-22.467-.006-9.764 3.8-18.943 10.708-25.845 1.421-1.421 2.973-2.687 4.583-3.845V24.211h278.417v8.697l-127.104 92.285v395.155l127.796-92.787c1.626 4.77 6.095 8.228 11.414 8.228 6.685 0 12.105-5.426 12.105-12.105V12.105C457.328 5.417 451.907 0 445.223 0zm-91.192 331.973c-5.71 0-10.468-7.046-11.691-16.485h-13.63v-10.592h13.819c1.448-8.86 6.017-15.38 11.49-15.38 6.638 0 12.011 9.498 12.011 21.231.012 11.721-5.367 21.226-11.999 21.226zm-203.909-17.502a37.047 37.047 0 0 0 4.572 3.824v105.389c0 6.68-5.426 12.105-12.105 12.105-6.683 0-12.105-5.426-12.105-12.105V266.139h16.65c-11.186 14.327-10.199 35.132 2.988 48.332zm86.584-96.086a12.312 12.312 0 0 1 0 17.425l-58.995 59.001a12.348 12.348 0 0 1-8.709 3.611 12.304 12.304 0 0 1-8.71-3.611c-4.811-4.817-4.805-12.613 0-17.419l37.974-37.977H75.336c-6.803 0-12.315-5.512-12.315-12.315s5.506-12.318 12.321-12.318h122.917l-37.968-37.974c-4.805-4.805-4.811-12.608 0-17.413 4.812-4.812 12.614-4.812 17.425 0l58.99 58.99z\\\"/></svg>\",\n  \"favorite\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"14\\\" height=\\\"14\\\" viewBox=\\\"0 0 14 15\\\"><path d=\\\"M7 11.667L2.669 14.07l.827-5.09-3.504-3.995 4.842.035L7 0l2.166 5.02 4.842-.035-3.504 3.995.827 5.09z\\\" fill=\\\"#fec007\\\" fill-rule=\\\"evenodd\\\"/></svg>\",\n  \"file-action\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 700 700\\\"><path d=\\\"M435.997 592.587c0-25.266 7.529-48.771 20.454-68.41H228.658c-9.616 0-17.421-8.142-17.421-17.723 0-9.582 7.805-17.724 17.421-17.724h243.896c4.692 0 8.959 1.961 12.1 5.079 21.024-16.188 47.357-25.822 75.943-25.822a124.7 124.7 0 0 1 33.97 4.688V105.198c-.001-19.243-15.511-34.306-34.644-34.306h-418.37c-19.134 0-34.643 15.063-34.643 34.306v487.791c0 19.243 15.509 35.38 34.643 35.38h299.668a124.624 124.624 0 0 1-5.224-35.782zM333.185 175.084h139.369c9.582 0 17.421 8.106 17.421 17.723s-7.839 17.723-17.421 17.723H333.185c-9.617 0-17.422-8.106-17.422-17.723s7.806-17.723 17.422-17.723zM228.658 280.349h243.896c9.582 0 17.421 7.57 17.421 17.187s-7.839 17.186-17.421 17.186H228.658c-9.616 0-17.421-7.569-17.421-17.186s7.805-17.187 17.421-17.187zm0 104.191h243.896c9.582 0 17.421 8.142 17.421 17.724 0 9.58-7.839 17.723-17.421 17.723H228.658c-9.616 0-17.421-8.143-17.421-17.723.001-9.582 7.805-17.724 17.421-17.724z\\\"/></svg>\",\n  \"file-add\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 700 700\\\"><path d=\\\"M560.597 485.173c-59.323 0-107.413 48.091-107.413 107.414S501.274 700 560.597 700 668.01 651.91 668.01 592.587s-48.09-107.414-107.413-107.414zm64.394 123.861h-48.686v48.483c0 8.929-7.184 16.166-16.111 16.166-8.929 0-16.112-7.237-16.112-16.166v-48.483h-48.417c-8.928 0-16.165-7.185-16.165-16.112 0-8.929 7.237-16.112 16.165-16.112h48.417v-48.618c0-8.929 7.184-16.166 16.112-16.166 8.928 0 16.111 7.237 16.111 16.166v48.618h48.686c8.928 0 16.166 7.184 16.166 16.112 0 8.928-7.238 16.112-16.166 16.112z\\\"/></svg>\",\n  \"file-delete\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 700 700\\\"><path d=\\\"M560.195 485.509c-59.323 0-107.414 48.09-107.414 107.413s48.091 107.413 107.414 107.413 107.413-48.09 107.413-107.413-48.09-107.413-107.413-107.413zm65.253 123.525h-129.97c-8.898 0-16.112-7.214-16.112-16.112s7.214-16.112 16.112-16.112h129.97c8.898 0 16.112 7.214 16.112 16.112s-7.214 16.112-16.112 16.112z\\\"/></svg>\",\n  \"file-filled\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"278.75 0 612.5 700\\\"><path d=\\\"M847.5 0h-525c-24.15 0-43.75 19.6-43.75 43.75v612.5c0 24.148 19.6 43.75 43.75 43.75h525c24.149 0 43.75-19.602 43.75-43.75V43.75C891.25 19.6 871.65 0 847.5 0zm0 656.25h-525V43.75h525v612.5z\\\"/><path d=\\\"M315.5 33.5v632h548v-632h-548zm422.625 535.25h-306.25c-12.075 0-21.875-9.844-21.875-21.875S419.8 525 431.875 525h306.25c12.031 0 21.875 9.844 21.875 21.875s-9.844 21.875-21.875 21.875zm0-131.25h-306.25C419.8 437.5 410 427.656 410 415.625s9.8-21.875 21.875-21.875h306.25c12.031 0 21.875 9.844 21.875 21.875s-9.844 21.875-21.875 21.875zm0-131.25h-306.25c-12.075 0-21.875-9.8-21.875-21.875s9.8-21.875 21.875-21.875h306.25c12.031 0 21.875 9.8 21.875 21.875s-9.844 21.875-21.875 21.875zm0-131.25h-175c-12.075 0-21.875-9.8-21.875-21.875s9.8-21.875 21.875-21.875h175c12.031 0 21.875 9.8 21.875 21.875S750.156 175 738.125 175z\\\"/></svg>\",\n  \"file-update\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 700 700\\\"><path d=\\\"M560.196 486.239c-58.918 0-106.685 47.771-106.685 106.684 0 58.915 47.771 106.682 106.685 106.682s106.682-47.77 106.682-106.682c-.001-58.914-47.758-106.684-106.682-106.684zm-68.747 46.532h-.065c0-3.223 1.957-6.329 4.96-7.571 3.034-1.244 6.492-.617 8.797 1.69l11.032 11.001c14.024-9.056 30.339-13.979 47.427-13.979 23.42 0 45.439 9.108 61.997 25.671 4.538 4.539 4.538 11.892 0 16.427a11.576 11.576 0 0 1-8.214 3.401 11.578 11.578 0 0 1-8.214-3.404c-12.17-12.17-28.355-18.872-45.569-18.872-10.824 0-21.237 2.657-30.5 7.651l7.68 7.68a8.064 8.064 0 0 1 1.756 8.791 8.068 8.068 0 0 1-7.452 4.973l-35.604-.023c-4.452 0-8.032-3.614-8.032-8.054v-35.382h.001zm138.564 125.673h-.824c0 3.222-2.05 5.8-5.053 7.045-3.034 1.246-6.539.353-8.843-1.953l-11.055-11.132c-14.025 9.056-30.352 13.907-47.438 13.907-23.421 0-45.444-9.14-62.002-25.702-4.541-4.537-4.543-11.909-.003-16.444a11.576 11.576 0 0 1 8.212-3.407c2.976 0 5.945 1.129 8.214 3.397 12.17 12.171 28.356 18.872 45.568 18.872 10.824 0 21.238-2.661 30.5-7.654l-7.68-7.681a8.062 8.062 0 0 1-1.754-8.791 8.064 8.064 0 0 1 7.451-4.973l36.137.023c4.453 0 8.57 3.613 8.57 8.055v36.438z\\\"/></svg>\",\n  \"file-upload\": \"<svg width=\\\"16\\\" height=\\\"21\\\" viewBox=\\\"0 0 16 21\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M7 17.22h2v-4.174l1.6 1.6L12 13.22l-4-4-4 4 1.425 1.4L7 13.046v4.175zm-5 3c-.55 0-1.02-.195-1.413-.587A1.926 1.926 0 0 1 0 18.221v-16C0 1.67.196 1.2.588.808A1.926 1.926 0 0 1 2 .221h8l6 6v12c0 .55-.196 1.02-.588 1.412a1.926 1.926 0 0 1-1.412.588H2zm7-13h5l-5-5v5z\\\"/></svg>\",\n  \"file\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"235 0 490 560\\\"><path d=\\\"M690 0H270c-19.32 0-35 15.68-35 35v490c0 19.319 15.68 35 35 35h420c19.32 0 35-15.681 35-35V35c0-19.32-15.68-35-35-35zm0 525H270V35h420v490z\\\"/><path d=\\\"M462.5 140h140c9.625 0 17.5-7.84 17.5-17.5s-7.875-17.5-17.5-17.5h-140c-9.66 0-17.5 7.84-17.5 17.5s7.84 17.5 17.5 17.5zM357.5 245h245c9.625 0 17.5-7.84 17.5-17.5s-7.875-17.5-17.5-17.5h-245c-9.66 0-17.5 7.84-17.5 17.5s7.84 17.5 17.5 17.5zM357.5 350h245c9.625 0 17.5-7.875 17.5-17.5s-7.875-17.5-17.5-17.5h-245c-9.66 0-17.5 7.875-17.5 17.5s7.84 17.5 17.5 17.5zM357.5 455h245c9.625 0 17.5-7.875 17.5-17.5s-7.875-17.5-17.5-17.5h-245c-9.66 0-17.5 7.875-17.5 17.5s7.84 17.5 17.5 17.5z\\\"/></svg>\",\n  \"files-circle\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 44 44\\\"><path d=\\\"M22 0C9.8 0 0 9.8 0 22s9.8 22 22 22 22-9.8 22-22S34.2 0 22 0zm6 33c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1V17c0-.6.4-1 1-1h16c.6 0 1 .4 1 1v16zm6-6c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V14.5c0-.3-.2-.5-.5-.5H17c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h16c.6 0 1 .4 1 1v16z\\\"/><path d=\\\"M23.5 20h-9c-.3 0-.5.2-.5.5v9c0 .3.2.5.5.5h9c.3 0 .5-.2.5-.5v-9c0-.3-.2-.5-.5-.5z\\\"/></svg>\",\n  \"files\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"159.091 159.091 381.817 381.818\\\"><path d=\\\"M525 159.091H270.454c-9.545 0-15.909 6.364-15.909 15.909v31.818c0 9.545 6.364 15.909 15.909 15.909h198.863c4.773 0 7.955 3.182 7.955 7.954v198.864c0 9.545 6.363 15.908 15.909 15.908H525c9.545 0 15.908-6.363 15.908-15.908V175c0-9.545-6.363-15.909-15.908-15.909z\\\"/><path d=\\\"M429.545 254.545H175c-9.546 0-15.909 6.364-15.909 15.909V525c0 9.545 6.363 15.909 15.909 15.909h254.545c9.546 0 15.909-6.364 15.909-15.909V270.455c0-9.546-6.363-15.91-15.909-15.91zm-47.727 214.773c0 4.772-3.182 7.954-7.954 7.954H230.682c-4.772 0-7.955-3.182-7.955-7.954V326.136c0-4.772 3.183-7.955 7.955-7.955h143.182c4.772 0 7.954 3.182 7.954 7.955v143.182z\\\"/></svg>\",\n  \"filetype\": {\n    \"audio\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"24\\\" height=\\\"24\\\" rx=\\\"2\\\" fill=\\\"#F2F3F8\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M7.667 4.708a2.958 2.958 0 0 0-2.959 2.959v8.666a2.958 2.958 0 0 0 2.959 2.959h8.666a2.958 2.958 0 0 0 2.959-2.959V7.667a2.958 2.958 0 0 0-2.959-2.959H7.667zm8.161 5.536V9.79c0-.554-.425-1.146-.952-1.32l-1.711-.573c-.356-.116-.712-.074-.98.116-.267.193-.421.519-.421.894v4.084c-.33-.31-.77-.503-1.259-.503a1.84 1.84 0 0 0-1.838 1.839 1.84 1.84 0 0 0 1.838 1.839 1.84 1.84 0 0 0 1.84-1.84v-3.766l2.082.693c.136.046.267.066.399.066a.97.97 0 0 0 .584-.182c.267-.19.418-.515.418-.894z\\\" fill=\\\"#95A4B7\\\"/></svg>\",\n    \"cd_dvd\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"24\\\" height=\\\"24\\\" rx=\\\"2\\\" fill=\\\"#F2F3F8\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M12 19.292a7.292 7.292 0 1 0 0-14.584 7.292 7.292 0 0 0 0 14.584zM7.349 7.632A6.38 6.38 0 0 0 5.619 12h3.647a2.734 2.734 0 0 0 4.727 1.872l2.658 2.495A6.38 6.38 0 0 0 18.381 12h-3.647a2.734 2.734 0 0 0-4.727-1.872L7.349 7.633z\\\" fill=\\\"#95A4B7\\\"/><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"2.734\\\" stroke=\\\"#95A4B7\\\" stroke-width=\\\"1.5\\\"/><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\".911\\\" fill=\\\"#95A4B7\\\"/><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"6.542\\\" stroke=\\\"#95A4B7\\\" stroke-width=\\\"1.5\\\"/></svg>\",\n    \"compressed\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"24\\\" height=\\\"24\\\" rx=\\\"2\\\" fill=\\\"#F2F3F8\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M12 4.392a.1.1 0 0 0-.1-.1H7.667A2.958 2.958 0 0 0 4.708 7.25v9.617a2.958 2.958 0 0 0 2.959 2.958h8.666a2.958 2.958 0 0 0 2.959-2.958V10.01c0-.755-.29-1.48-.807-2.03L15.88 5.22a2.958 2.958 0 0 0-2.152-.928.061.061 0 0 0-.061.061v2.964a.1.1 0 0 1-.1.1H12V4.392zm0 3.025v2.4a.1.1 0 0 0 .1.1h1.467a.1.1 0 0 1 .1.1v2.3a.1.1 0 0 1-.1.1H12.1a.1.1 0 0 1-.1-.1v-2.3a.1.1 0 0 0-.1-.1h-1.467a.1.1 0 0 1-.1-.1v-2.3a.1.1 0 0 1 .1-.1H12zm-1.667 5.1a.1.1 0 0 1 .1-.1H11.9a.1.1 0 0 1 .1.1v2.3a.1.1 0 0 0 .1.1h1.467a.1.1 0 0 1 .1.1v.452a1.667 1.667 0 0 1-3.334 0v-2.952z\\\" fill=\\\"#95A4B7\\\"/></svg>\",\n    \"document\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"24\\\" height=\\\"24\\\" rx=\\\"2\\\" fill=\\\"#FFF2F2\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M14.583 4.418a2.958 2.958 0 0 0-.855-.126H7.667A2.958 2.958 0 0 0 4.708 7.25v9.617a2.958 2.958 0 0 0 2.959 2.958h8.666a2.958 2.958 0 0 0 2.959-2.958V10.01c0-.347-.062-.689-.178-1.01h-3.508a1.023 1.023 0 0 1-1.023-1.023v-3.56zm2.722 2.312l.727.77h-1.949V5.508l1.222 1.222z\\\" fill=\\\"#ED494F\\\"/></svg>\",\n    \"exe\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"26 12 140 192.973\\\"><path d=\\\"M165.963 58.243c-.011-.885-.292-1.759-.899-2.45l-37.208-42.499c-.008-.011-.019-.015-.029-.027a3.794 3.794 0 0 0-.998-.78 4.018 4.018 0 0 0-.746-.312c-.07-.021-.133-.05-.203-.068a3.795 3.795 0 0 0-.87-.107H33.567C29.396 12 26 15.396 26 19.567v177.838c0 4.174 3.396 7.567 7.567 7.567h124.865c4.175 0 7.567-3.394 7.567-7.567V58.667c.001-.142-.021-.281-.036-.424zm-45.202 35.585c.056-.028.111-.062.166-.089.377-.193.772-.352 1.161-.52.28-.12.556-.255.838-.36.117-.044.24-.075.355-.117 6.294-2.243 13.548-1.498 19.399 2.658 9.511 6.761 11.75 19.992 4.991 29.511-3.429 4.818-8.521 7.768-13.952 8.63a21.26 21.26 0 0 1-1.862.22h-.045c-10.677.684-20.38-6.815-22.203-17.592-1.574-9.291 3.197-18.22 11.152-22.341zM33.567 19.567h87.659v38.719a3.783 3.783 0 0 0 3.783 3.784h33.423v18.246l-7.753-5.505c-.487-.351-.775-.166-.992-.027l-.005.004c-.015.008-.033.004-.045.013a14.123 14.123 0 0 1-3.907 1.783c-.091.025-.183.04-.275.063-.351.094-.702.183-1.063.247a14.149 14.149 0 0 1-5.707-.132c-3.758-.849-7.056-3.251-9.045-6.565a.878.878 0 0 0-.895-.411l-10.73 1.815a.899.899 0 0 0-.719.682c-.783 3.783-3.104 7.137-6.372 9.178a14.28 14.28 0 0 1-11.054 1.752c-.233-.054-.569-.145-.923.351l-4.359 6.127c-.014-.006-.029-.009-.04-.017l-1.97 2.766a.92.92 0 0 0-.017.997 14.328 14.328 0 0 1 1.982 10.995c-.866 3.768-3.26 7.074-6.574 9.051a.893.893 0 0 0-.414.899l1.818 10.732c.1.592.433.665.685.719a14.268 14.268 0 0 1 9.178 6.38 14.27 14.27 0 0 1 2.157 8.278H33.567V19.567zm38.49 175.383H42.772v-45.898h28.331v8.51h-17.91v9.537h16.891v8.442H53.192v10.897h18.864v8.512zm31.263 0l-4.157-8.309c-1.7-3.2-2.791-5.583-4.082-8.24h-.137c-.953 2.657-2.113 5.04-3.544 8.24l-3.813 8.309H75.74l13.277-23.222-12.801-22.677h11.916l4.017 8.378a141.545 141.545 0 0 1 3.474 7.625h.137c1.09-2.927 1.974-4.97 3.134-7.625l3.88-8.378h11.85l-12.94 22.405 13.62 23.495H103.32v-.001zm46.858 0h-29.284v-45.898h28.327v8.51h-17.91v9.537h16.891v8.442h-16.891v10.897h18.867v8.512z\\\"/><path d=\\\"M85.241 99.98a6.481 6.481 0 0 1-2.221-4.535 6.463 6.463 0 0 1 1.742-4.744.395.395 0 0 0 .069-.438l-1.453-3.055c.008-.005.016-.013.022-.015l-.659-1.385c-.025-.054-.068-.085-.114-.119-.003-.007-.01-.012-.018-.018-.02-.017-.037-.032-.06-.043a.301.301 0 0 0-.151-.036c-.02-.002-.034-.01-.047-.012a6.46 6.46 0 0 1-4.773-1.641 6.458 6.458 0 0 1-2.125-4.583.4.4 0 0 0-.267-.361l-4.634-1.645c-.255-.091-.355.026-.434.111-.002.002-.002.002-.002.006a.047.047 0 0 0-.02.01 6.349 6.349 0 0 1-1.477 1.256c-.036.023-.073.042-.111.063-.14.085-.284.163-.433.237a6.417 6.417 0 0 1-2.498.646 6.456 6.456 0 0 1-4.741-1.739.403.403 0 0 0-.439-.068l-4.44 2.114a.406.406 0 0 0-.228.384 6.463 6.463 0 0 1-1.636 4.777 6.448 6.448 0 0 1-4.59 2.124c-.109.01-.266.01-.357.268l-1.139 3.201c-.003 0-.013 0-.019-.004l-.514 1.446a.42.42 0 0 0 .117.438 6.472 6.472 0 0 1 2.217 4.533 6.468 6.468 0 0 1-1.74 4.745.4.4 0 0 0-.068.438l2.117 4.444c.118.246.269.232.386.228a6.437 6.437 0 0 1 4.773 1.642 6.46 6.46 0 0 1 2.126 4.58c.003.158.11.305.26.361l4.634 1.641c.03.012.058.004.089.004.208.052.303-.046.369-.129.291-.337.613-.64.965-.905.018-.012.034-.022.047-.033.151-.118.311-.222.469-.322.121-.073.251-.14.377-.206a2.62 2.62 0 0 1 .182-.097 6.431 6.431 0 0 1 2.475-.639 6.464 6.464 0 0 1 4.747 1.74c.081.072.192.181.439.066l4.441-2.113.012-.006.011-.006a.4.4 0 0 0 .228-.386 6.464 6.464 0 0 1 1.64-4.777 6.5 6.5 0 0 1 2.468-1.684c.045-.017.096-.04.144-.057.08-.028.163-.049.244-.077.134-.042.271-.083.402-.119a6.456 6.456 0 0 1 1.299-.175.395.395 0 0 0 .361-.267l1.648-4.635a.394.394 0 0 0-.112-.429zm-9.809-.48a9.555 9.555 0 0 1-5.001 5.474 9.486 9.486 0 0 1-.781.325l-.022.007c-4.556 1.614-9.699-.448-11.824-4.907-1.827-3.843-.854-8.314 2.092-11.087.021-.017.04-.04.063-.06.138-.129.289-.248.439-.369.109-.088.208-.18.319-.261.043-.033.094-.061.14-.095 2.458-1.751 5.705-2.323 8.762-1.236 4.969 1.764 7.575 7.237 5.813 12.209zM79.013 58.872a6.484 6.484 0 0 1-1.74 4.746.406.406 0 0 0-.07.44l2.117 4.439c.117.247.271.236.388.229a6.434 6.434 0 0 1 4.773 1.641 6.462 6.462 0 0 1 2.125 4.582c.005.158.11.305.262.36l4.634 1.645c.03.008.059 0 .089.004.208.049.301-.049.368-.13a6.17 6.17 0 0 1 .966-.906c.015-.013.034-.021.047-.032a5.44 5.44 0 0 1 .47-.324c.121-.073.251-.142.377-.206.058-.033.117-.067.181-.097a6.44 6.44 0 0 1 7.22 1.103c.079.071.195.184.441.066l4.441-2.114c.004 0 .008-.005.009-.005l.016-.006a.4.4 0 0 0 .225-.384 6.475 6.475 0 0 1 1.641-4.777 6.502 6.502 0 0 1 2.469-1.686c.044-.019.096-.04.143-.055.079-.03.164-.051.245-.079.132-.04.267-.084.403-.118.019-.003.038-.005.061-.014a6.397 6.397 0 0 1 1.238-.16.397.397 0 0 0 .36-.268l1.647-4.634a.402.402 0 0 0-.116-.432 6.476 6.476 0 0 1-2.221-4.537 6.482 6.482 0 0 1 1.742-4.745.392.392 0 0 0 .066-.439l-1.448-3.051c.007-.005.011-.013.022-.015l-.662-1.386c-.023-.051-.07-.085-.11-.119l-.019-.017c-.022-.015-.039-.032-.062-.043a.327.327 0 0 0-.151-.038c-.021-.001-.035-.011-.046-.011a6.476 6.476 0 0 1-4.774-1.639 6.474 6.474 0 0 1-2.126-4.586.396.396 0 0 0-.265-.361l-4.634-1.644c-.259-.091-.358.026-.436.112v.002a.07.07 0 0 0-.021.011 6.418 6.418 0 0 1-1.477 1.256l-.11.062a6.407 6.407 0 0 1-2.93.885 6.463 6.463 0 0 1-4.742-1.74.396.396 0 0 0-.439-.068l-4.442 2.115a.398.398 0 0 0-.225.382 6.47 6.47 0 0 1-1.639 4.779 6.435 6.435 0 0 1-4.588 2.123c-.11.007-.267.007-.357.268L77.21 52.46c-.004-.002-.014 0-.019-.002l-.517 1.445a.413.413 0 0 0 .119.437 6.436 6.436 0 0 1 2.22 4.532zm10.088-7.846c.022-.017.039-.04.06-.058.141-.129.292-.249.441-.372.109-.085.21-.177.32-.26.045-.031.094-.061.14-.095 2.458-1.751 5.702-2.323 8.76-1.237 4.97 1.765 7.575 7.24 5.811 12.21a9.534 9.534 0 0 1-5 5.472c-.26.12-.517.232-.781.326-.007 0-.015.004-.022.006-4.556 1.615-9.699-.448-11.82-4.908-1.832-3.84-.858-8.308 2.091-11.084z\\\"/></svg>\",\n    \"folder\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M6.55 3A3.55 3.55 0 0 0 3 6.55v10.4a3.55 3.55 0 0 0 3.55 3.55h10.4a3.55 3.55 0 0 0 3.55-3.55v-7.2c0-.088-.011-.173-.032-.254A3.55 3.55 0 0 0 16.95 6.43h-3.9a2.05 2.05 0 0 1-1.566-.728l-.14-.167a2.052 2.052 0 0 1-.278-.427L11.014 5A3.55 3.55 0 0 0 7.82 3H6.55z\\\" fill=\\\"#677D99\\\"/></svg>\",\n    \"graphic\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"24\\\" height=\\\"24\\\" rx=\\\"2\\\" fill=\\\"#F2F3F8\\\"/><path d=\\\"M13.458 14.917c0 1.29-.561 2.457-1.458 3.252a4.324 4.324 0 0 1-2.917 1.123 4.378 4.378 0 0 1-4.375-4.375c0-1.421.685-2.686 1.738-3.484.242-.183.578-.063.72.206a5.464 5.464 0 0 0 3.39 2.716c.46.131.94.197 1.444.197.303 0 .596-.024.88-.07.29-.047.578.141.578.435z\\\" fill=\\\"#95A4B7\\\"/><path d=\\\"M16.375 9.083A4.371 4.371 0 0 1 12 13.458c-.401 0-.787-.05-1.152-.153a4.37 4.37 0 0 1-3.223-4.222A4.378 4.378 0 0 1 12 4.708a4.378 4.378 0 0 1 4.375 4.375zM19.292 14.917a4.378 4.378 0 0 1-5.744 4.156c-.323-.107-.383-.515-.17-.782a5.404 5.404 0 0 0 1.174-3.374c0-.248-.022-.496-.058-.73a.324.324 0 0 1 .166-.332 5.434 5.434 0 0 0 2.174-2.216c.142-.268.478-.388.72-.205a4.366 4.366 0 0 1 1.738 3.483z\\\" fill=\\\"#95A4B7\\\"/></svg>\",\n    \"photo\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"24\\\" height=\\\"24\\\" rx=\\\"2\\\" fill=\\\"#F2F3F8\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M4.708 8.048c0-1.844 1.325-3.34 2.959-3.34h8.666c1.634 0 2.959 1.496 2.959 3.34v7.904c0 1.844-1.325 3.34-2.959 3.34H7.667c-1.634 0-2.959-1.496-2.959-3.34V8.048zm3.812 3.52a1.418 1.418 0 0 1 2.444-.43l1.412 1.747c.077.096.22.101.305.012l.629-.667a1.418 1.418 0 0 1 2.189.154l1.441 2.038c.664.94-.007 2.237-1.157 2.237H8.76a1.418 1.418 0 0 1-1.341-1.878l1.1-3.212zm7.126-2.404a.81.81 0 1 0 0-1.62.81.81 0 0 0 0 1.62z\\\" fill=\\\"#95A4B7\\\"/></svg>\",\n    \"presentation\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"24\\\" height=\\\"24\\\" rx=\\\"2\\\" fill=\\\"#FEF3E2\\\"/><path d=\\\"M17.18 12.706c.387 0 .704.314.663.698a6.586 6.586 0 1 1-7.247-7.248c.384-.04.698.277.698.663v5.186a.7.7 0 0 0 .7.7h5.187z\\\" fill=\\\"#F09409\\\"/><path d=\\\"M18.592 11.295c.386 0 .703-.315.662-.7a6.587 6.587 0 0 0-5.85-5.85c-.384-.04-.699.277-.699.663v5.187a.7.7 0 0 0 .7.7h5.187z\\\" fill=\\\"#F09409\\\"/></svg>\",\n    \"program\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"24\\\" height=\\\"24\\\" rx=\\\"2\\\" fill=\\\"#FFF8E6\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M13.724 6.086c-.415-1.837-3.033-1.837-3.448 0l-.095.42a.517.517 0 0 1-.78.323l-.364-.23C7.445 5.594 5.594 7.445 6.6 9.037l.23.364a.517.517 0 0 1-.324.78l-.419.095c-1.837.415-1.837 3.033 0 3.448l.42.095a.517.517 0 0 1 .323.78l-.23.364c-1.005 1.592.846 3.443 2.438 2.438l.364-.23a.517.517 0 0 1 .78.323l.095.42c.415 1.837 3.033 1.837 3.448 0l.095-.42a.517.517 0 0 1 .78-.323l.364.23c1.592 1.005 3.443-.846 2.438-2.438l-.23-.364a.517.517 0 0 1 .323-.78l.42-.095c1.837-.415 1.837-3.033 0-3.448l-.42-.095a.517.517 0 0 1-.323-.78l.23-.364c1.005-1.592-.846-3.443-2.438-2.438l-.364.23a.517.517 0 0 1-.78-.323l-.095-.42zM11.322 12a.678.678 0 1 1 1.356 0 .678.678 0 0 1-1.356 0zM12 9.822a2.178 2.178 0 1 0 0 4.356 2.178 2.178 0 0 0 0-4.356z\\\" fill=\\\"#F0B609\\\"/></svg>\",\n    \"programmation\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"24\\\" height=\\\"24\\\" rx=\\\"2\\\" fill=\\\"#F2F3F8\\\"/><path d=\\\"M9.742 16.442a1.232 1.232 0 0 0 0-1.688l-2.258-2.34 2.258-2.34a1.232 1.232 0 0 0 0-1.686 1.13 1.13 0 0 0-1.628 0L5.042 11.57a1.232 1.232 0 0 0 0 1.687l3.072 3.184a1.12 1.12 0 0 0 1.628 0zM15.886 16.442l3.072-3.184a1.232 1.232 0 0 0 0-1.687l-3.072-3.183a1.13 1.13 0 0 0-1.628 0 1.232 1.232 0 0 0 0 1.687l2.258 2.34-2.258 2.34a1.232 1.232 0 0 0 0 1.687 1.12 1.12 0 0 0 1.628 0z\\\" fill=\\\"#95A4B7\\\"/></svg>\",\n    \"sheet\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"24\\\" height=\\\"24\\\" rx=\\\"2\\\" fill=\\\"#E5FBF0\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M14.583 4.492a.098.098 0 0 0-.071-.095 2.957 2.957 0 0 0-.784-.105H7.667A2.958 2.958 0 0 0 4.708 7.25v9.617a2.958 2.958 0 0 0 2.959 2.958h8.666a2.958 2.958 0 0 0 2.959-2.958V10.01c0-.323-.054-.642-.155-.944A.098.098 0 0 0 19.044 9h-3.438a1.023 1.023 0 0 1-1.023-1.023V4.492zm2.722 2.238l.567.601a.1.1 0 0 1-.072.169h-1.617a.1.1 0 0 1-.1-.1V5.75a.1.1 0 0 1 .171-.071l1.051 1.051zm-6.972 4.12a.1.1 0 0 0-.1-.1H7.1a.1.1 0 0 0-.1.1v1.467a.1.1 0 0 0 .1.1h3.133a.1.1 0 0 0 .1-.1V10.85zM7 13.35a.1.1 0 0 1 .1-.1h3.133a.1.1 0 0 1 .1.1v1.467a.1.1 0 0 1-.1.1H7.1a.1.1 0 0 1-.1-.1V13.35zm3.333 2.5a.1.1 0 0 0-.1-.1H7.1a.1.1 0 0 0-.1.1v1.467a.1.1 0 0 0 .1.1h3.133a.1.1 0 0 0 .1-.1V15.85zm1.25-5a.1.1 0 0 1 .1-.1h3.134a.1.1 0 0 1 .1.1v1.467a.1.1 0 0 1-.1.1h-3.134a.1.1 0 0 1-.1-.1V10.85zm3.334 2.5a.1.1 0 0 0-.1-.1h-3.134a.1.1 0 0 0-.1.1v1.467a.1.1 0 0 0 .1.1h3.134a.1.1 0 0 0 .1-.1V13.35zm-3.334 2.5a.1.1 0 0 1 .1-.1h3.134a.1.1 0 0 1 .1.1v1.467a.1.1 0 0 1-.1.1h-3.134a.1.1 0 0 1-.1-.1V15.85z\\\" fill=\\\"#1DAC67\\\"/></svg>\",\n    \"text\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"24\\\" height=\\\"24\\\" rx=\\\"2\\\" fill=\\\"#EAF3FF\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M14.583 4.492a.098.098 0 0 0-.071-.095 2.957 2.957 0 0 0-.784-.105H7.667A2.958 2.958 0 0 0 4.708 7.25v9.617a2.958 2.958 0 0 0 2.959 2.958h8.666a2.958 2.958 0 0 0 2.959-2.958V10.01c0-.323-.054-.642-.155-.944A.098.098 0 0 0 19.044 9h-3.438a1.023 1.023 0 0 1-1.023-1.023V4.492zm2.722 2.238l.567.601a.1.1 0 0 1-.072.169h-1.617a.1.1 0 0 1-.1-.1V5.75a.1.1 0 0 1 .171-.071l1.051 1.051zM6.833 15.333a1 1 0 0 1 1-1h3.75a1 1 0 0 1 0 2h-3.75a1 1 0 0 1-1-1zm1-3.916a1 1 0 1 0 0 2h5.417a1 1 0 1 0 0-2H7.833z\\\" fill=\\\"#2196F3\\\"/></svg>\",\n    \"unknown\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"24\\\" height=\\\"24\\\" rx=\\\"2\\\" fill=\\\"#F2F3F8\\\"/><path d=\\\"M5.954 12.947l2.365-1.42h7.362l2.365 1.42-3.986 1.139a7.501 7.501 0 0 1-4.12 0l-3.986-1.14z\\\" fill=\\\"#95A4B7\\\" stroke=\\\"#95A4B7\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M14.245 9.778a2.57 2.57 0 0 0-4.49 0h4.49zm1.364 0a3.818 3.818 0 0 0-7.429 1.25h7.64c0-.43-.073-.852-.211-1.25z\\\" fill=\\\"#95A4B7\\\"/><rect opacity=\\\".3\\\" x=\\\"8.354\\\" y=\\\"17.035\\\" width=\\\"7.292\\\" height=\\\".347\\\" rx=\\\".174\\\" fill=\\\"#95A4B7\\\" stroke=\\\"#95A4B7\\\" stroke-width=\\\".347\\\"/></svg>\",\n    \"video\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"24\\\" height=\\\"24\\\" rx=\\\"2\\\" fill=\\\"#F2F3F8\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M7.667 4.708a2.958 2.958 0 0 0-2.959 2.959v8.666a2.958 2.958 0 0 0 2.959 2.959h8.666a2.958 2.958 0 0 0 2.959-2.959V7.667a2.958 2.958 0 0 0-2.959-2.959H7.667zm7.269 8.01a.786.786 0 0 0 .013-1.36l-4.03-2.549c-.58-.366-1.364.016-1.37.668L9.5 14.508c-.006.652.771 1.048 1.358.69l4.078-2.48z\\\" fill=\\\"#95A4B7\\\"/></svg>\"\n  },\n  \"filter-sort\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 437.005 437.005\\\"><path d=\\\"M390.969 80.6V44.238c0-.332-.042-.654-.126-.969C387.674 15.157 300.91 0 220.071 0 139.266 0 52.536 15.146 49.311 43.242a3.388 3.388 0 0 0-.143.996V80.6c0 1.248.642 2.413 1.699 3.081l124.154 78.258V296.95c0 1.147.547 2.236 1.479 2.928.635.468 1.396.71 2.164.71.352 0 .716-.044 1.064-.159l82.825-25.45a3.647 3.647 0 0 0 2.569-3.48v-109.56l124.151-78.263a3.638 3.638 0 0 0 1.696-3.076zm-38.165-35.785c-14.492 4.731-27.749 8.197-40.533 10.613-6.149 1.149-12.466 2.128-18.648 3.053-22.584 2.589-48.482 3.934-74.901 3.934-91.316 0-139.087-14.596-139.087-22.423s47.771-22.419 139.087-22.419c91.313 0 139.076 14.591 139.076 22.419-.001.946-1.468 2.845-4.994 4.823zM163.858 341.737a3.636 3.636 0 0 1-.021 4.421l-68.742 89.418a3.645 3.645 0 0 1-5.79 0l-68.741-89.418a3.648 3.648 0 0 1-.028-4.421 3.67 3.67 0 0 1 4.26-1.204l45.516 17.993v-105.38a3.65 3.65 0 0 1 3.647-3.645h36.482a3.647 3.647 0 0 1 3.645 3.645v105.386l45.519-17.985a3.633 3.633 0 0 1 4.253 1.19zm253.343.831c0 .766-.239 1.537-.733 2.199a3.666 3.666 0 0 1-4.258 1.194l-45.516-17.981v105.379a3.653 3.653 0 0 1-3.65 3.646h-36.48a3.646 3.646 0 0 1-3.646-3.646V327.977l-45.516 17.981a3.667 3.667 0 0 1-4.258-1.195 3.643 3.643 0 0 1 .022-4.422l68.753-89.423a3.655 3.655 0 0 1 5.787 0l68.747 89.423c.496.653.748 1.447.748 2.227z\\\"/></svg>\",\n  \"filter\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 341.8 341.8\\\"><path d=\\\"M341.801 101.812V65.45c0-.332-.042-.654-.126-.969-3.169-28.112-89.933-43.269-170.772-43.269-80.805 0-167.535 15.146-170.76 43.242A3.388 3.388 0 0 0 0 65.45v36.362c0 1.248.642 2.413 1.699 3.081l124.154 78.258v135.011c0 1.147.547 2.236 1.479 2.928.635.468 1.396.71 2.164.71.352 0 .716-.044 1.064-.159l82.825-25.45a3.647 3.647 0 0 0 2.569-3.48v-109.56l124.151-78.263a3.638 3.638 0 0 0 1.696-3.076z\\\"/><path d=\\\"M303.636 86.027c-14.492 4.731-27.749 8.197-40.533 10.613-6.149 1.149-12.466 2.128-18.648 3.053-22.584 2.589-48.482 3.934-74.901 3.934-91.316 0-139.087-14.596-139.087-22.423 0-7.827 47.771-22.419 139.087-22.419 91.313 0 139.076 14.591 139.076 22.419-.001.946-1.468 2.845-4.994 4.823z\\\"/></svg>\",\n  \"fingerprint\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M190.313 494.345a8.816 8.816 0 0 1-5.935-2.293 8.83 8.83 0 0 1-.59-12.474l35.474-39.026c32.569-35.819 50.505-82.216 50.505-130.63v-36.267c0-4.871-3.961-8.828-8.828-8.828s-8.828 3.957-8.828 8.828v32.742c0 43.69-16.095 85.638-45.323 118.103l-36.392 40.439c-3.258 3.62-8.845 3.914-12.466.655-3.625-3.258-3.918-8.845-.655-12.466l36.392-40.439c26.302-29.224 40.789-66.966 40.789-106.293v-32.742c0-14.603 11.88-26.483 26.483-26.483s26.483 11.88 26.483 26.483v36.267c0 52.819-19.569 103.431-55.1 142.508l-35.474 39.026a8.808 8.808 0 0 1-6.535 2.89z\\\"/><path d=\\\"M221.986 512a8.816 8.816 0 0 1-5.935-2.293 8.83 8.83 0 0 1-.59-12.474l29.931-32.922c38.487-42.345 59.686-97.173 59.686-154.388v-36.267c0-24.337-19.801-44.138-44.138-44.138s-44.138 19.801-44.138 44.138v32.742c0 34.948-12.875 68.5-36.258 94.483l-25.87 28.75c-3.254 3.629-8.845 3.914-12.466.655-3.625-3.258-3.918-8.845-.655-12.466l25.87-28.75a123.405 123.405 0 0 0 31.724-82.673v-32.742c0-34.069 27.72-61.793 61.793-61.793s61.793 27.724 61.793 61.793v36.267c0 61.612-22.828 120.664-64.276 166.268l-29.935 32.922a8.815 8.815 0 0 1-6.536 2.888z\\\"/><path d=\\\"M269.762 511.939a8.8 8.8 0 0 1-5.931-2.293c-3.608-3.276-3.875-8.862-.599-12.474l8.28-9.112c44.414-48.853 68.875-112.12 68.875-178.138v-36.266c0-43.81-35.642-79.448-79.448-79.448s-79.448 35.638-79.448 79.448v32.742a105.77 105.77 0 0 1-27.194 70.862L131 403.148c-3.258 3.629-8.845 3.914-12.466.655-3.625-3.258-3.918-8.845-.655-12.466l23.297-25.888a88.147 88.147 0 0 0 22.659-59.052v-32.742c0-53.543 43.561-97.103 97.103-97.103s97.103 43.561 97.103 97.103v36.267c0 70.422-26.091 137.906-73.465 190.017l-8.276 9.112a8.814 8.814 0 0 1-6.538 2.888zM362.843 432.552a8.829 8.829 0 0 1-3.25-.621c-4.53-1.793-6.75-6.931-4.952-11.457a299.65 299.65 0 0 0 11.281-34.431c1.228-4.715 6.051-7.5 10.772-6.311 4.715 1.233 7.543 6.06 6.306 10.776a316.447 316.447 0 0 1-11.944 36.466 8.833 8.833 0 0 1-8.213 5.578z\\\"/><path d=\\\"M100.765 379.586a8.795 8.795 0 0 1-5.901-2.268c-3.625-3.258-3.918-8.845-.655-12.466l20.719-23.026a52.87 52.87 0 0 0 13.594-35.431 8.826 8.826 0 0 1 8.828-8.828 8.826 8.826 0 0 1 8.828 8.828 70.503 70.503 0 0 1-18.13 47.242l-20.719 23.026a8.785 8.785 0 0 1-6.564 2.923zM381.636 361.103c-.405 0-.81-.025-1.216-.086a8.824 8.824 0 0 1-7.543-9.949 302.654 302.654 0 0 0 2.819-41.146v-36.267c0-32.457-13.897-63.561-38.121-85.336-3.625-3.258-3.923-8.845-.664-12.474 3.258-3.604 8.841-3.905 12.466-.664 27.948 25.121 43.975 61.017 43.975 98.474v36.267c0 14.535-1.004 29.19-2.983 43.561-.607 4.423-4.392 7.62-8.733 7.62zM137.352 282.483a8.826 8.826 0 0 1-8.828-8.828c0-65.422 48.798-121.768 113.504-131.069 4.806-.672 9.298 2.664 9.992 7.482.694 4.828-2.655 9.302-7.482 10.001-56.073 8.052-98.358 56.888-98.358 113.587a8.825 8.825 0 0 1-8.828 8.827zM313.873 170.819a8.88 8.88 0 0 1-3.789-.853 113.464 113.464 0 0 0-32.746-9.897c-4.823-.698-8.177-5.164-7.482-9.992a8.789 8.789 0 0 1 9.992-7.491 131.217 131.217 0 0 1 37.823 11.431c4.405 2.103 6.272 7.371 4.177 11.767a8.82 8.82 0 0 1-7.975 5.035z\\\"/><path d=\\\"M85.037 344.276a8.795 8.795 0 0 1-5.901-2.268c-3.625-3.258-3.918-8.845-.655-12.466l10.202-11.336a17.628 17.628 0 0 0 4.53-11.81v-32.742c0-42.879 16.233-83.715 45.711-114.974a8.816 8.816 0 0 1 12.479-.371c3.548 3.345 3.711 8.931.366 12.474-26.375 27.982-40.9 64.518-40.9 102.871v32.742c0 8.742-3.22 17.129-9.065 23.62l-10.202 11.336a8.784 8.784 0 0 1-6.565 2.924zM419.835 318.75a8.826 8.826 0 0 1-8.828-8.828v-36.267c0-82.75-67.319-150.069-150.069-150.069-2.815 0-5.612.086-8.388.233-4.81.31-9.022-3.482-9.28-8.353a8.827 8.827 0 0 1 8.349-9.284c3.086-.163 6.194-.25 9.319-.25 92.483 0 167.724 75.242 167.724 167.724v36.267a8.824 8.824 0 0 1-8.827 8.827zM170.451 151.939a8.813 8.813 0 0 1-7.254-3.785c-2.784-4-1.798-9.508 2.202-12.294 15.328-10.655 32.177-18.621 50.073-23.672 4.703-1.311 9.578 1.422 10.892 6.103 1.323 4.69-1.409 9.569-6.099 10.897a148.832 148.832 0 0 0-44.78 21.173 8.785 8.785 0 0 1-5.034 1.578z\\\"/><path d=\\\"M66.938 273.655c-.138 0-.271 0-.405-.009-4.871-.215-8.642-4.345-8.423-9.216 4.884-108.681 93.978-193.81 202.828-193.81 9.737 0 19.543.698 29.142 2.078a8.835 8.835 0 0 1 7.478 10.001c-.698 4.828-5.194 8.163-9.996 7.482a186.655 186.655 0 0 0-26.624-1.906c-99.383 0-180.733 77.725-185.19 176.948-.211 4.733-4.12 8.432-8.81 8.432zM445.068 220.681a8.83 8.83 0 0 1-8.366-6.008c-8.306-24.69-21.517-47-39.258-66.311a8.834 8.834 0 0 1 .526-12.474c3.599-3.31 9.176-3.06 12.474.526 19.426 21.146 33.892 45.578 42.991 72.621 1.556 4.621-.931 9.63-5.551 11.19a8.958 8.958 0 0 1-2.816.456z\\\"/><g><path d=\\\"M376.848 126.759a8.734 8.734 0 0 1-5.271-1.759 184.886 184.886 0 0 0-50.772-26.81c-4.612-1.578-7.073-6.603-5.495-11.215 1.578-4.612 6.591-7.043 11.211-5.492a202.183 202.183 0 0 1 55.616 29.379 8.82 8.82 0 0 1 1.793 12.353 8.822 8.822 0 0 1-7.082 3.544zM80.141 141.241a8.786 8.786 0 0 1-5.44-1.879c-3.837-3-4.513-8.552-1.508-12.388 25.397-32.439 58.84-57.888 96.712-73.594 4.522-1.87 9.673.276 11.539 4.776s-.271 9.664-4.771 11.534c-35.073 14.543-66.047 38.121-89.574 68.163a8.819 8.819 0 0 1-6.958 3.388z\\\"/></g><path d=\\\"M426.408 123.586a8.78 8.78 0 0 1-6.367-2.716c-42.06-43.785-98.564-67.905-159.103-67.905a221.248 221.248 0 0 0-50.871 5.913c-4.755 1.121-9.504-1.802-10.625-6.552-1.126-4.742 1.811-9.5 6.556-10.621a238.666 238.666 0 0 1 54.941-6.396c65.388 0 126.418 26.044 171.837 73.336a8.823 8.823 0 1 1-6.368 14.941zM384.525 48.301a8.757 8.757 0 0 1-4.12-1.026 258.74 258.74 0 0 0-25.047-11.586 8.828 8.828 0 0 1-4.94-11.466c1.806-4.526 6.944-6.75 11.466-4.931a272.478 272.478 0 0 1 26.781 12.38 8.827 8.827 0 0 1-4.14 16.629zM146.184 43.828a8.821 8.821 0 0 1-7.953-4.991c-2.121-4.388-.28-9.664 4.113-11.785C179.528 9.103 219.429 0 260.939 0c21.63 0 43.172 2.543 64.03 7.561 4.742 1.146 7.659 5.913 6.517 10.655-1.142 4.742-5.906 7.638-10.646 6.517-19.509-4.698-39.66-7.078-59.901-7.078-38.828 0-76.151 8.509-110.922 25.293a8.827 8.827 0 0 1-3.833.88z\\\"/></svg>\",\n  \"folder-action\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 810 650.395\\\"><path d=\\\"M560 525.394c0-69.034 55.965-124.999 125-124.999 25.937 0 50.026 7.901 70 21.427V173.896c0-38.5-31.5-70.001-70-70.001H405l-70-70H125c-38.5 0-70 31.501-70 70.001v420c0 38.5 31.5 69.997 70 69.997h455.436C567.52 573.895 560 550.688 560 525.394z\\\"/></svg>\",\n  \"folder-add\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 810 650.395\\\"><path d=\\\"M685 424.895c-55.229 0-100 44.771-100 100s44.771 100 100 100 100-44.771 100-100-44.771-100-100-100zm59.949 116H700v44.45c0 8.313-6.688 15.05-15 15.05-8.313 0-15-6.737-15-15.05v-44.45h-45.45c-8.313 0-15.05-6.688-15.05-15 0-8.312 6.737-15 15.05-15H670v-45.949c0-8.313 6.688-15.051 15-15.051 8.312 0 15 6.738 15 15.051v45.949h44.949c8.313 0 15.051 6.688 15.051 15 0 8.312-6.738 15-15.051 15z\\\"/></svg>\",\n  \"folder-delete\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 810 650.395\\\"><path d=\\\"M685 424.895c-55.229 0-100 44.771-100 100s44.771 100 100 100 100-44.771 100-100-44.771-100-100-100zm60.75 116h-121c-8.284 0-15-6.716-15-15 0-8.283 6.716-15 15-15h121c8.283 0 15 6.717 15 15 0 8.284-6.717 15-15 15z\\\"/></svg>\",\n  \"folder-history\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"16\\\" height=\\\"13\\\" viewBox=\\\"0 0 16 13\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path fill=\\\"#676767\\\" d=\\\"M6.4 0H1.6C.72 0 .008.731.008 1.625L0 11.375C0 12.269.72 13 1.6 13h12.8c.88 0 1.6-.731 1.6-1.625V3.25c0-.894-.72-1.625-1.6-1.625H8L6.4 0z\\\"/><path fill=\\\"#FFF\\\" d=\\\"M9 8.8c0 1.546 1.252 2.8 2.797 2.8A2.802 2.802 0 0 0 14.6 8.8c0-1.546-1.254-2.8-2.803-2.8A2.799 2.799 0 0 0 9 8.8zm2.52-1.4v1.68l1.47.882.21-.344-1.26-.748V7.4h-.42z\\\"/></g></svg>\",\n  \"folder-open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" data-name=\\\"Layer 1\\\" viewBox=\\\"0 0 24 24\\\" width=\\\"512\\\" height=\\\"512\\\"><path d=\\\"M0 18V5c0-2.206 1.794-4 4-4h2c.464 0 .928.109 1.342.316l3.155 1.578c.138.069.293.105.447.105H16c2.757 0 5 2.243 5 5H10.024a6.035 6.035 0 0 0-5.754 4.303l-2.673 9.339A4.972 4.972 0 0 1 0 17.999zm23.493-6.983a2.53 2.53 0 0 0-2.008-1.025c-.015 0-.027.008-.042.008H10.024a4.022 4.022 0 0 0-3.834 2.862l-2.818 9.843A4.944 4.944 0 0 0 5 23h12.558c2.226 0 4.15-1.432 4.802-3.607l1.532-6.116a2.535 2.535 0 0 0-.398-2.26z\\\"/></svg>\",\n  \"folder-update\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 810 650.395\\\"><path d=\\\"M685 425.574c-54.851 0-99.32 44.474-99.32 99.32 0 54.85 44.473 99.319 99.32 99.319 54.849 0 99.319-44.473 99.319-99.319s-44.46-99.32-99.319-99.32zm-64 43.321h-.062c0-3 1.822-5.893 4.617-7.049 2.825-1.158 6.045-.574 8.189 1.574l10.271 10.242a81.084 81.084 0 0 1 44.154-13.013c21.803 0 42.303 8.479 57.718 23.896 4.225 4.227 4.225 11.072 0 15.294a10.78 10.78 0 0 1-7.647 3.167 10.773 10.773 0 0 1-7.646-3.169c-11.33-11.33-26.399-17.57-42.425-17.57-10.077 0-19.771 2.475-28.395 7.123l7.149 7.15a7.51 7.51 0 0 1 1.635 8.184 7.511 7.511 0 0 1-6.938 4.63l-33.146-.021c-4.145 0-7.479-3.365-7.479-7.498v-32.94H621zm129 117h-.768c0 3-1.909 5.4-4.704 6.56-2.825 1.16-6.088.328-8.232-1.818l-10.292-10.363c-13.058 8.431-28.256 12.948-44.164 12.948-21.805 0-42.309-8.511-57.724-23.931-4.227-4.224-4.229-11.086-.003-15.308a10.78 10.78 0 0 1 7.646-3.172 10.77 10.77 0 0 1 7.646 3.162c11.33 11.331 26.399 17.569 42.423 17.569 10.077 0 19.772-2.477 28.396-7.126l-7.15-7.15a7.508 7.508 0 0 1-1.633-8.184 7.51 7.51 0 0 1 6.938-4.63l33.644.021c4.146 0 7.979 3.364 7.979 7.499v33.922H750z\\\"/></svg>\",\n  \"folder\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 51 510 408\\\"><path d=\\\"M204 51H51C22.95 51 0 73.95 0 102v306c0 28.05 22.95 51 51 51h408c28.05 0 51-22.95 51-51V153c0-28.05-22.95-51-51-51H255l-51-51z\\\"/></svg>\",\n  \"graphic_splash\": \"<svg width=\\\"1024\\\" height=\\\"294\\\" viewBox=\\\"0 0 1024 294\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path fill=\\\"#75879E\\\" d=\\\"M252.43 294.532L0 165.627v128.905\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M759.45 294.532l106.236-47.87-10.184 47.87\\\"/><path fill=\\\"#75879E\\\" d=\\\"M865.422 246.538l158.43-24.703V0\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M865.422 246.443l158.43-24.66v72.75h-110.9\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M865.828 246.663l47.263 47.87h-57.616\\\"/></g></svg>\",\n  \"graphic_splash_small\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"360\\\" height=\\\"145\\\" viewBox=\\\"0 0 360 145\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path fill=\\\"#75879E\\\" d=\\\"M0 145.528h120.051l51.466-31.8L0 26.661z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M164.156 145.528l7.36-31.798-51.871 31.798z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M171.518 113.722l162.043-72.811-22.223 104.617h-99.993z\\\"/><path fill=\\\"#42A2D6\\\" d=\\\"M171.519 113.722l39.907 31.806h-47.603z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M333.549 40.928l26.331-4.105-.01-36.727z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M333.552 40.918l26.323-4.107v31.07z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M333.558 40.924l26.317 26.8v77.804h-48.822z\\\"/></g></svg>\",\n  \"grid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"200 0 560 560\\\"><path d=\\\"M200 315h245v245H200V315zM200 0h245v245H200V0zM515 315h245v245H515V315zM515 0h245v245H515V0z\\\"/></svg>\",\n  \"group-3\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"12\\\" height=\\\"12\\\" viewBox=\\\"0 0 12 12\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><circle cx=\\\"6\\\" cy=\\\"6\\\" r=\\\"6\\\" fill=\\\"#2196F3\\\"/><path fill=\\\"#FFF\\\" d=\\\"M3.692 5.66L3 6.38 4.846 8.3 9 4.22l-.692-.72-3.462 3.36z\\\"/></g></svg>\",\n  \"group-4\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"20\\\" height=\\\"24\\\" viewBox=\\\"0 0 20 24\\\"><defs><path id=\\\"a\\\" d=\\\"M7.91 18.451s-2.04-1.05-4.007-3.22c-1.14-1.259-2.211-3.116-2.846-4.671C0 7.97 0 4.71 0 4.71L7.915 0l7.911 4.71s-.015 1.737-.3 3.071c-.284 1.335-.624 2.419-1.002 3.339-.639 1.55-1.603 2.98-2.66 4.165-1.934 2.17-3.953 3.166-3.953 3.166z\\\"/></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><g transform=\\\"translate(2.087 2.48)\\\"><mask id=\\\"b\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#a\\\"/></mask><g fill-rule=\\\"nonzero\\\" mask=\\\"url(#b)\\\" opacity=\\\".6\\\"><path fill=\\\"#67C7EA\\\" d=\\\"M7.915-.01l-.459.274-.99 3.446 4.958 2.467 1.537-3.183zM-.01 4.708c.107 3.558.69 5.422 2.074 7.936.04.081.216.353.216.353l1.557-.429 2.629-8.857-2.6-1.319L-.01 4.708z\\\"/><path fill=\\\"#BDE7F6\\\" d=\\\"M6.466 3.71L3.865 2.393 7.457.263z\\\"/><path fill=\\\"#67C7EA\\\" d=\\\"M9.012 11.134l6.172-1.88c.124-.451.183-.612.267-1.082l-4.027-1.995-2.412 4.957z\\\"/><path fill=\\\"#BDE7F6\\\" d=\\\"M15.832 4.705c0 .019 0 1.955-.37 3.41l-.01.067-4.028-2.005 1.527-3.19 2.88 1.718z\\\"/><path fill=\\\"#67C7EA\\\" d=\\\"M3.83 12.565l-.558 1.903s.291.4.71.873a16.917 16.917 0 0 0 2.062 1.897l2.968-6.104-5.183 1.43z\\\"/><path fill=\\\"#BDE7F6\\\" d=\\\"M2.28 12.997a14.384 14.384 0 0 0 .992 1.472l.561-1.904-1.553.432zm3.758 4.243a13.99 13.99 0 0 0 1.872 1.222c.7-.37 2.304-1.316 3.871-3.072l-2.77-4.256-2.973 6.106z\\\"/><path fill=\\\"#26AFE2\\\" d=\\\"M15.175 9.244l-6.163 1.89 2.764 4.264c.011-.011.838-.974 1.144-1.414.004-.004-.796 1.102.11-.155a13.784 13.784 0 0 0 2.014-4.116l.065-.222.066-.247zM4.994 8.66l-5-3.952 6.472-.998 4.958 2.467-2.412 4.957-5.179 1.43L4.994 8.66z\\\"/></g></g><path fill=\\\"#1A375D\\\" fill-rule=\\\"nonzero\\\" d=\\\"M9.998 23.369l-.217-.095c-.104-.044-2.596-1.137-5.044-3.774a17.311 17.311 0 0 1-3.348-5.236 18.173 18.173 0 0 1-1.054-3.616 21.003 21.003 0 0 1-.328-4.327l.007-.3L9.998.044l.284.168 9.704 5.809.007.3a21.058 21.058 0 0 1-.328 4.331 18.422 18.422 0 0 1-1.054 3.616 17.438 17.438 0 0 1-3.352 5.236c-2.448 2.64-4.936 3.73-5.04 3.773l-.22.092zM1.106 6.648a19.898 19.898 0 0 0 .313 3.799c.217 1.18.55 2.32.992 3.395a16.282 16.282 0 0 0 3.133 4.903 17.183 17.183 0 0 0 1.707 1.602c.483.396.989.763 1.501 1.093.557.36 1.003.594 1.254.719.25-.125.696-.36 1.257-.723a16.767 16.767 0 0 0 3.204-2.695A16.282 16.282 0 0 0 17.6 13.84c.44-1.075.77-2.215.988-3.396.222-1.21.329-2.486.314-3.799-1.346-.807-7.495-4.488-8.896-5.324l-8.9 5.328z\\\"/><g fill=\\\"#1D2E4A\\\"><path d=\\\"M8.765 7.074v1.09H4.338v2.18h4.427v1.09l2.206-2.18z\\\"/><path fill-opacity=\\\".7\\\" d=\\\"M15.73 10.837h-4.427v-1.09l-2.205 2.18 2.205 2.18v-1.09h4.428\\\"/></g></g></svg>\",\n  \"group-5\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"88\\\" height=\\\"88\\\" viewBox=\\\"0 0 88 88\\\"><g fill=\\\"none\\\"><circle cx=\\\"44\\\" cy=\\\"44\\\" r=\\\"44\\\"/><path fill=\\\"#FFF\\\" d=\\\"M61.809 22H26.965C23.118 22 20 24.967 20 28.628v30.183c0 3.66 3.118 6.628 6.965 6.628h34.844c3.846 0 6.964-2.968 6.964-6.628V28.628c0-1.758-.734-3.444-2.04-4.687C65.427 22.698 63.656 22 61.81 22zm0 3.06c2.07 0 3.75 1.597 3.75 3.568v6.441H23.214v-6.441c0-1.971 1.68-3.569 3.75-3.569H61.81zM26.965 62.38c-2.072 0-3.75-1.598-3.75-3.57V38.078h42.344v20.734c0 1.97-1.68 3.569-3.75 3.569H26.965z\\\"/><ellipse cx=\\\"27.777\\\" cy=\\\"29.98\\\" fill=\\\"#FFF\\\" rx=\\\"2.505\\\" ry=\\\"2.429\\\"/><ellipse cx=\\\"34.368\\\" cy=\\\"29.98\\\" fill=\\\"#FFF\\\" rx=\\\"2.505\\\" ry=\\\"2.429\\\"/><ellipse cx=\\\"40.959\\\" cy=\\\"29.98\\\" fill=\\\"#FFF\\\" rx=\\\"2.505\\\" ry=\\\"2.429\\\"/><path fill=\\\"#F08579\\\" d=\\\"M43.643 47.786l4.665-4.935a1.619 1.619 0 0 1 1.513-.467 1.571 1.571 0 0 1 1.174 1.037 1.506 1.506 0 0 1-.34 1.505l-4.8 5.06 4.8 5.061a1.49 1.49 0 0 1-.077 2.151 1.604 1.604 0 0 1-2.218-.076l-4.717-4.986-4.716 4.986a1.604 1.604 0 0 1-2.218.076 1.49 1.49 0 0 1-.078-2.15l4.8-5.061-4.8-5.061a1.506 1.506 0 0 1-.34-1.505c.173-.524.62-.92 1.175-1.037a1.619 1.619 0 0 1 1.513.467l4.664 4.935z\\\"/></g></svg>\",\n  \"group\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 6.348 80.129 67.433\\\"><path d=\\\"M48.355 17.922c3.705 2.323 6.304 6.254 6.776 10.817a11.69 11.69 0 0 0 4.966 1.112c6.491 0 11.752-5.261 11.752-11.751 0-6.491-5.261-11.752-11.752-11.752-6.429.002-11.643 5.169-11.742 11.574zm-7.699 24.062c6.491 0 11.753-5.262 11.753-11.752 0-6.49-5.263-11.751-11.753-11.751s-11.754 5.262-11.754 11.752c0 6.49 5.264 11.751 11.754 11.751zm4.985.802h-9.972c-8.297 0-15.047 6.75-15.047 15.047v12.195l.031.191.84.263c7.918 2.474 14.797 3.299 20.458 3.299 11.06 0 17.469-3.153 17.864-3.354l.785-.397h.084V57.833c.004-8.297-6.746-15.047-15.043-15.047zm19.443-12.133h-9.896a14.479 14.479 0 0 1-4.47 10.088c7.375 2.193 12.771 9.032 12.771 17.11v3.758c9.77-.358 15.399-3.127 15.771-3.313l.784-.397h.084v-12.2c.001-8.296-6.749-15.046-15.044-15.046zm-45.049-.8c2.299 0 4.438-.671 6.25-1.814a14.544 14.544 0 0 1 5.467-9.276c.012-.22.033-.438.033-.66 0-6.491-5.262-11.752-11.75-11.752-6.492 0-11.752 5.261-11.752 11.752 0 6.488 5.26 11.75 11.752 11.75zm10.554 10.888a14.492 14.492 0 0 1-4.467-10.032c-.367-.027-.73-.056-1.104-.056h-9.971C6.75 30.653 0 37.403 0 45.699v12.197l.031.188.84.265c6.352 1.983 12.021 2.897 16.945 3.185v-3.683c.002-8.078 5.396-14.915 12.773-17.11z\\\"/></svg>\",\n  \"groups\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 484.16 484.16\\\"><path d=\\\"M31.586 170.18v-3.5c0-32.875 26.746-59.629 59.637-59.629h133.316c32.895 0 59.652 26.754 59.652 59.629v3.5H456.09a59.15 59.15 0 0 1 28.07 7.059V95.316c0-15.508-12.578-28.055-28.07-28.055H287.345c-19.184 0-34.736-15.552-34.736-34.735v-.346c0-15.508-12.579-28.082-28.07-28.082H91.223c-15.508 0-28.07 12.574-28.07 28.082v.347c0 19.184-15.552 34.735-34.736 34.735h-.347C12.578 67.262.004 79.809.004 95.317v81.922a59.157 59.157 0 0 1 28.066-7.059h3.516z\\\"/><path d=\\\"M31.586 307.012v-3.5c0-32.891 26.742-59.637 59.637-59.637h133.316c32.891 0 59.652 26.746 59.652 59.637v3.5H456.09a59.149 59.149 0 0 1 28.066 7.063v-84.242c0-15.492-12.574-28.066-28.066-28.066H287.341c-19.184 0-34.736-15.552-34.736-34.735v-.347c0-15.512-12.575-28.07-28.066-28.07H91.223c-15.508 0-28.07 12.559-28.07 28.07v.347c0 19.184-15.552 34.735-34.736 34.735h-.347C12.578 201.766 0 214.34 0 229.832v84.242a59.188 59.188 0 0 1 28.07-7.063h3.516z\\\"/><path d=\\\"M484.16 366.648c0-15.484-12.578-28.051-28.07-28.051H287.345c-19.184 0-34.736-15.552-34.736-34.735v-.351c0-15.508-12.579-28.066-28.07-28.066H91.223c-15.508 0-28.07 12.559-28.07 28.066v.351c0 19.184-15.552 34.735-34.736 34.735h-.347C12.578 338.598 0 351.164 0 366.648v113.414h484.16V366.648z\\\"/></svg>\",\n  \"ic-add\": \"<svg width=\\\"64\\\" height=\\\"64\\\" viewBox=\\\"0 0 64 64\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><g clip-path=\\\"url(#clip0_3352_7998)\\\"><path d=\\\"M32 64c17.673 0 32-14.327 32-32C64 14.327 49.673 0 32 0 14.327 0 0 14.327 0 32c0 17.673 14.327 32 32 32z\\\"/><path d=\\\"M44.19 34.285H19.809c-.833 0-1.524-1.036-1.524-2.285 0-1.25.69-2.286 1.524-2.286h24.38c.834 0 1.525 1.036 1.525 2.286s-.691 2.285-1.524 2.285z\\\" fill=\\\"#fff\\\"/><path d=\\\"M31.999 45.714c-1.25 0-2.286-.69-2.286-1.524V19.81c0-.834 1.036-1.525 2.286-1.525s2.285.691 2.285 1.524V44.19c0 .833-1.036 1.524-2.285 1.524z\\\" fill=\\\"#fff\\\"/></g><defs><clipPath id=\\\"clip0_3352_7998\\\"><path fill=\\\"#fff\\\" d=\\\"M0 0h64v64H0z\\\"/></clipPath></defs></svg>\",\n  \"ic-banner-alert\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\"><path d=\\\"M7.965 1.906a.793.793 0 0 0-.65.387L.995 12.945a.754.754 0 0 0 .002.77.794.794 0 0 0 .686.383H14.32a.795.795 0 0 0 .686-.383.751.751 0 0 0 .002-.77L8.685 2.293a.797.797 0 0 0-.72-.387zm.037 3.387c.374 0 .678.303.678.677l-.17 3.048a.508.508 0 0 1-1.016 0l-.17-3.048c0-.374.304-.677.678-.677zm0 5.08a.847.847 0 1 1 0 1.693.847.847 0 0 1 0-1.693z\\\" fill=\\\"#FFC107\\\" fill-rule=\\\"nonzero\\\"/></svg>\",\n  \"ic-calendar\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"17\\\" height=\\\"18\\\" viewBox=\\\"0 0 17 18\\\"><g fill-rule=\\\"evenodd\\\"><path fill-rule=\\\"nonzero\\\" d=\\\"M14.673 2.307h-2.267V.627a.587.587 0 0 0-1.174 0v1.68H5.768V.627a.587.587 0 0 0-1.174 0v1.68H2.327A2.211 2.211 0 0 0 .121 4.513v10.402a2.21 2.21 0 0 0 2.206 2.206h12.346a2.211 2.211 0 0 0 2.206-2.206V4.513a2.211 2.211 0 0 0-2.206-2.206zm1.032 12.608c0 .567-.466 1.033-1.032 1.033H2.327a1.036 1.036 0 0 1-1.032-1.033V4.513c0-.567.466-1.032 1.032-1.032h2.267v.81a.587.587 0 0 0 1.174 0v-.81h5.444v.81a.587.587 0 0 0 1.174 0v-.81h2.266c.567 0 1.033.465 1.033 1.032v10.402h.02z\\\"/><rect width=\\\"3.238\\\" height=\\\"1.214\\\" x=\\\"2.833\\\" y=\\\"10.321\\\" rx=\\\".607\\\"/><rect width=\\\"3.238\\\" height=\\\"1.214\\\" x=\\\"6.881\\\" y=\\\"10.321\\\" rx=\\\".607\\\"/><rect width=\\\"3.238\\\" height=\\\"1.214\\\" x=\\\"10.929\\\" y=\\\"10.321\\\" rx=\\\".607\\\"/><rect width=\\\"3.238\\\" height=\\\"1.214\\\" x=\\\"2.833\\\" y=\\\"12.952\\\" rx=\\\".607\\\"/><rect width=\\\"3.238\\\" height=\\\"1.214\\\" x=\\\"6.881\\\" y=\\\"12.952\\\" rx=\\\".607\\\"/><rect width=\\\"3.238\\\" height=\\\"1.214\\\" x=\\\"10.929\\\" y=\\\"12.952\\\" rx=\\\".607\\\"/><rect width=\\\"3.238\\\" height=\\\"1.214\\\" x=\\\"6.881\\\" y=\\\"7.69\\\" rx=\\\".607\\\"/><rect width=\\\"3.238\\\" height=\\\"1.214\\\" x=\\\"10.929\\\" y=\\\"7.69\\\" rx=\\\".607\\\"/></g></svg>\",\n  \"ic-copy\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"13\\\" height=\\\"16\\\" viewBox=\\\"0 0 13 16\\\"><path fill-rule=\\\"evenodd\\\" d=\\\"M1.368 0C.616 0 0 .616 0 1.368v9.58h1.368v-9.58H9.58V0H1.37zm2.737 2.737c-.752 0-1.368.616-1.368 1.368v9.58c0 .752.616 1.368 1.368 1.368h7.527c.752 0 1.368-.616 1.368-1.369V4.105c0-.752-.616-1.368-1.368-1.368H4.105z\\\"/></svg>\",\n  \"ic-delete\": \"<svg width=\\\"18\\\" height=\\\"18\\\" viewBox=\\\"0 0 18 18\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill=\\\"#1E1E1E\\\" d=\\\"M0 0h18v18H0z\\\"/><path d=\\\"M-5236-5230c0-1.1.9-2 2-2h30456c1.1 0 2 .9 2 2v9229c0 1.1-.9 2-2 2H-5234c-1.1 0-2-.9-2-2v-9229z\\\" fill-opacity=\\\".3\\\"/><path d=\\\"M-5234-5207h30456v-50H-5234v50zm30433-23v9229h50v-9229h-50zm23 9206H-5234v50h30456v-50zm-30433 23v-9229h-50v9229h50zm-23-23c12.69 0 23 10.29 23 23h-50c0 14.92 12.1 27 27 27v-50zm30433 23c0-12.7 10.3-23 23-23v50c14.9 0 27-12.09 27-27h-50zm23-9206c-12.7 0-23-10.29-23-23h50c0-14.92-12.1-27-27-27v50zm-30456-50c-14.91 0-27 12.09-27 27h50c0 12.7-10.3 23-23 23v-50z\\\"/><path transform=\\\"translate(-1044 -325)\\\" fill=\\\"url(#paint0_linear_0_1)\\\" d=\\\"M0 0h1440v900H0z\\\"/><g filter=\\\"url(#filter0_d_0_1)\\\"><rect x=\\\"-257\\\" y=\\\"-107\\\" width=\\\"302\\\" height=\\\"440\\\" rx=\\\"4\\\" fill=\\\"#fff\\\"/><mask id=\\\"a\\\" fill=\\\"#fff\\\"><path d=\\\"M-233-11H21v40h-254v-40z\\\"/></mask><path d=\\\"M21 28h-254v2H21v-2z\\\" fill=\\\"#E1E1E6\\\" mask=\\\"url(#a)\\\"/><g fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\"><path d=\\\"M7.6 1.75a.25.25 0 0 0-.25.25v1.595a.75.75 0 1 1-1.5 0V2c0-.966.783-1.75 1.75-1.75h2.8c.966 0 1.75.784 1.75 1.75v1.595a.75.75 0 0 1-1.5 0V2a.25.25 0 0 0-.25-.25H7.6z\\\"/><path d=\\\"M5.05 3.595a.75.75 0 0 1 .75-.75h1.6a.75.75 0 1 1 0 1.5H5.8a.75.75 0 0 1-.75-.75zM9.85 3.595a.75.75 0 0 1 .75-.75h1.6a.75.75 0 0 1 0 1.5h-1.6a.75.75 0 0 1-.75-.75z\\\"/><path d=\\\"M16.505 5.134l-.425-.032-.912 9.965c-.141 1.53-1.441 2.683-2.977 2.683H5.482c-1.57 0-2.886-1.205-2.982-2.773L1.9 5.164l-.003-.06a152.437 152.437 0 0 0-.725.055l-.112.009A.75.75 0 1 1 .94 3.672l.116-.009a116.186 116.186 0 0 1 1.493-.109C4.24 3.438 6.959 3.277 9 3.277c2.041 0 4.76.161 6.451.277a164.027 164.027 0 0 1 1.493.11l.117.008a.75.75 0 1 1-.122 1.495l-.112-.008-.323-.025zM9.75 7.919a.75.75 0 0 0-1.5 0v5.189a.75.75 0 0 0 1.5 0v-5.19zm-3.95.115a.75.75 0 0 1 .75.75v3.46a.75.75 0 0 1-1.5 0v-3.46a.75.75 0 0 1 .75-.75zm7.15.75a.75.75 0 0 0-1.5 0v3.46a.75.75 0 0 0 1.5 0v-3.46z\\\"/></g></g><defs><filter id=\\\"filter0_d_0_1\\\" x=\\\"-329\\\" y=\\\"-131\\\" width=\\\"446\\\" height=\\\"584\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"48\\\"/><feGaussianBlur stdDeviation=\\\"36\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"out\\\"/><feColorMatrix values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0\\\"/><feBlend in2=\\\"BackgroundImageFix\\\" result=\\\"effect1_dropShadow_0_1\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"effect1_dropShadow_0_1\\\" result=\\\"shape\\\"/></filter><linearGradient id=\\\"paint0_linear_0_1\\\" x1=\\\"720\\\" y1=\\\"0\\\" x2=\\\"720\\\" y2=\\\"900\\\" gradientUnits=\\\"userSpaceOnUse\\\"><stop stop-color=\\\"#2C496D\\\"/><stop offset=\\\".526\\\" stop-color=\\\"#38567B\\\"/><stop offset=\\\"1\\\" stop-color=\\\"#677D99\\\"/></linearGradient></defs></svg>\",\n  \"ic-deposit-box-delete-upload\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M15 15L5 5M15 5L5 15\\\" stroke=\\\"#38567B\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/></svg>\",\n  \"ic-deposit-box-link\": \"<svg width=\\\"112\\\" height=\\\"112\\\" viewBox=\\\"0 0 112 112\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"112\\\" height=\\\"112\\\" rx=\\\"56\\\" fill=\\\"#F2F3F8\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M27.033 43.512L22.43 46.16a4.207 4.207 0 0 0-2.087 3.215L18.279 69.48c-.098.95 1.023 1.518 1.736.881l8.161-7.29-1.143-19.56zM85.324 43.45l4.536 2.724a4.164 4.164 0 0 1 2.006 3.249l1.56 20.135c.075.95-1.06 1.5-1.758.852l-7.976-7.425 1.632-19.536z\\\" fill=\\\"#C4CBD5\\\"/><g filter=\\\"url(#filter0_d_2935_12245)\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M51.527 79.009c.317.743.77 1.402 1.345 1.956l.471.454c.07.065.18.036.21-.055l.208-.632c.13-.396.37-.8.71-1.198a.098.098 0 0 1 .066-.034.087.087 0 0 1 .07.026c.022.02.034.05.032.081-.057 1.02.237 2.172.877 3.426.53 1.043 1.263 1.856 2.18 2.425l.668.414c.087.054.199-.017.194-.123l-.038-.814c-.026-.556.034-1.047.179-1.455a4.862 4.862 0 0 1 1.521-2.159 5.878 5.878 0 0 0 1.616-2.054 6.11 6.11 0 0 0 .578-2.614 6.097 6.097 0 0 0-.453-2.306 5.985 5.985 0 0 0-1.225-1.883 5.71 5.71 0 0 0-1.812-1.271 5.477 5.477 0 0 0-2.213-.47 5.468 5.468 0 0 0-2.211.456 5.583 5.583 0 0 0-1.805 1.26 5.844 5.844 0 0 0-1.215 1.877 6.06 6.06 0 0 0-.442 2.303c.002.828.166 1.631.489 2.39z\\\" fill=\\\"#677D99\\\"/></g><g filter=\\\"url(#filter1_d_2935_12245)\\\"><g filter=\\\"url(#filter2_bii_2935_12245)\\\"><path d=\\\"M28.95 28.466a4 4 0 0 1 3.648-2.359h47.308a4 4 0 0 1 3.647 2.359l4.699 10.44h-64l4.699-10.44z\\\" fill=\\\"#95A4B7\\\"/></g><path opacity=\\\".3\\\" d=\\\"M34.702 32.589a3.159 3.159 0 0 1 2.94-2.001h36.26c1.298 0 2.463.793 2.94 2.001a1.58 1.58 0 0 1-1.47 2.159h-39.2a1.58 1.58 0 0 1-1.47-2.159z\\\" fill=\\\"#38567B\\\"/><g filter=\\\"url(#filter3_bii_2935_12245)\\\"><path d=\\\"M24.252 39.947a2 2 0 0 1 2-2h60a2 2 0 0 1 2 2v19.558a5 5 0 0 1-5 5h-54a5 5 0 0 1-5-5V39.947z\\\" fill=\\\"#38567B\\\"/></g></g><defs><filter id=\\\"filter0_d_2935_12245\\\" x=\\\"39.037\\\" y=\\\"69.723\\\" width=\\\"35.377\\\" height=\\\"39.168\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"11\\\"/><feGaussianBlur stdDeviation=\\\"6\\\"/><feColorMatrix values=\\\"0 0 0 0 0.0588889 0 0 0 0 0.0606 0 0 0 0 0.0666667 0 0 0 0.15 0\\\"/><feBlend in2=\\\"BackgroundImageFix\\\" result=\\\"effect1_dropShadow_2935_12245\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"effect1_dropShadow_2935_12245\\\" result=\\\"shape\\\"/></filter><filter id=\\\"filter1_d_2935_12245\\\" x=\\\"10.252\\\" y=\\\"26.107\\\" width=\\\"92\\\" height=\\\"68.398\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"16\\\"/><feGaussianBlur stdDeviation=\\\"7\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"out\\\"/><feColorMatrix values=\\\"0 0 0 0 0.0588889 0 0 0 0 0.0606 0 0 0 0 0.0666667 0 0 0 0.16 0\\\"/><feBlend in2=\\\"BackgroundImageFix\\\" result=\\\"effect1_dropShadow_2935_12245\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"effect1_dropShadow_2935_12245\\\" result=\\\"shape\\\"/></filter><filter id=\\\"filter2_bii_2935_12245\\\" x=\\\"-61.748\\\" y=\\\"-59.893\\\" width=\\\"236\\\" height=\\\"184.799\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feGaussianBlur in=\\\"BackgroundImageFix\\\" stdDeviation=\\\"43\\\"/><feComposite in2=\\\"SourceAlpha\\\" operator=\\\"in\\\" result=\\\"effect1_backgroundBlur_2935_12245\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"effect1_backgroundBlur_2935_12245\\\" result=\\\"shape\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"4\\\"/><feGaussianBlur stdDeviation=\\\"2\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.15 0\\\"/><feBlend in2=\\\"shape\\\" result=\\\"effect2_innerShadow_2935_12245\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset/><feGaussianBlur stdDeviation=\\\"34\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0\\\"/><feBlend in2=\\\"effect2_innerShadow_2935_12245\\\" result=\\\"effect3_innerShadow_2935_12245\\\"/></filter><filter id=\\\"filter3_bii_2935_12245\\\" x=\\\"-61.748\\\" y=\\\"-48.053\\\" width=\\\"236\\\" height=\\\"198.559\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feGaussianBlur in=\\\"BackgroundImageFix\\\" stdDeviation=\\\"43\\\"/><feComposite in2=\\\"SourceAlpha\\\" operator=\\\"in\\\" result=\\\"effect1_backgroundBlur_2935_12245\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"effect1_backgroundBlur_2935_12245\\\" result=\\\"shape\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"4\\\"/><feGaussianBlur stdDeviation=\\\"2\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.15 0\\\"/><feBlend in2=\\\"shape\\\" result=\\\"effect2_innerShadow_2935_12245\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset/><feGaussianBlur stdDeviation=\\\"34\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0\\\"/><feBlend in2=\\\"effect2_innerShadow_2935_12245\\\" result=\\\"effect3_innerShadow_2935_12245\\\"/></filter></defs></svg>\",\n  \"ic-deposit-box-loader\": \"<svg width=\\\"113\\\" height=\\\"112\\\" viewBox=\\\"0 0 113 112\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect x=\\\".5\\\" width=\\\"112\\\" height=\\\"112\\\" rx=\\\"56\\\" fill=\\\"#E9EBF1\\\"/><g filter=\\\"url(#filter0_d_2906_7972)\\\"><g filter=\\\"url(#filter1_bii_2906_7972)\\\"><path d=\\\"M29.199 39.16a4 4 0 0 1 3.647-2.36h47.308a4 4 0 0 1 3.647 2.36L88.5 49.6h-64l4.699-10.44z\\\" fill=\\\"#95A4B7\\\"/></g><path opacity=\\\".3\\\" d=\\\"M34.95 43.282a3.16 3.16 0 0 1 2.94-2h36.26a3.16 3.16 0 0 1 2.94 2 1.58 1.58 0 0 1-1.47 2.159h-39.2a1.58 1.58 0 0 1-1.47-2.159z\\\" fill=\\\"#38567B\\\"/><g filter=\\\"url(#filter2_bii_2906_7972)\\\"><path d=\\\"M24.5 50.64a2 2 0 0 1 2-2h60a2 2 0 0 1 2 2v19.558a5 5 0 0 1-5 5h-54a5 5 0 0 1-5-5V50.641z\\\" fill=\\\"#38567B\\\"/></g></g><defs><filter id=\\\"filter0_d_2906_7972\\\" x=\\\"10.5\\\" y=\\\"36.801\\\" width=\\\"92\\\" height=\\\"68.398\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"16\\\"/><feGaussianBlur stdDeviation=\\\"7\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"out\\\"/><feColorMatrix values=\\\"0 0 0 0 0.0588889 0 0 0 0 0.0606 0 0 0 0 0.0666667 0 0 0 0.16 0\\\"/><feBlend in2=\\\"BackgroundImageFix\\\" result=\\\"effect1_dropShadow_2906_7972\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"effect1_dropShadow_2906_7972\\\" result=\\\"shape\\\"/></filter><filter id=\\\"filter1_bii_2906_7972\\\" x=\\\"-61.5\\\" y=\\\"-49.199\\\" width=\\\"236\\\" height=\\\"184.799\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feGaussianBlur in=\\\"BackgroundImageFix\\\" stdDeviation=\\\"43\\\"/><feComposite in2=\\\"SourceAlpha\\\" operator=\\\"in\\\" result=\\\"effect1_backgroundBlur_2906_7972\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"effect1_backgroundBlur_2906_7972\\\" result=\\\"shape\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"4\\\"/><feGaussianBlur stdDeviation=\\\"2\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.15 0\\\"/><feBlend in2=\\\"shape\\\" result=\\\"effect2_innerShadow_2906_7972\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset/><feGaussianBlur stdDeviation=\\\"34\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0\\\"/><feBlend in2=\\\"effect2_innerShadow_2906_7972\\\" result=\\\"effect3_innerShadow_2906_7972\\\"/></filter><filter id=\\\"filter2_bii_2906_7972\\\" x=\\\"-61.5\\\" y=\\\"-37.359\\\" width=\\\"236\\\" height=\\\"198.559\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feGaussianBlur in=\\\"BackgroundImageFix\\\" stdDeviation=\\\"43\\\"/><feComposite in2=\\\"SourceAlpha\\\" operator=\\\"in\\\" result=\\\"effect1_backgroundBlur_2906_7972\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"effect1_backgroundBlur_2906_7972\\\" result=\\\"shape\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"4\\\"/><feGaussianBlur stdDeviation=\\\"2\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.15 0\\\"/><feBlend in2=\\\"shape\\\" result=\\\"effect2_innerShadow_2906_7972\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset/><feGaussianBlur stdDeviation=\\\"34\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0\\\"/><feBlend in2=\\\"effect2_innerShadow_2906_7972\\\" result=\\\"effect3_innerShadow_2906_7972\\\"/></filter></defs></svg>\",\n  \"ic-deposit-box-loading\": \"<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M36.882 20c1.722 0 3.143-1.404 2.875-3.106A19.997 19.997 0 0 0 23.106.243C21.404-.025 20 1.396 20 3.118s1.413 3.083 3.092 3.47a13.761 13.761 0 0 1 10.32 10.32C33.799 18.586 35.16 20 36.882 20z\\\" fill=\\\"#38567B\\\"><animateTransform attributeName=\\\"transform\\\" type=\\\"rotate\\\" from=\\\"0 20 20\\\" to=\\\"360 20 20\\\" dur=\\\"500ms\\\" repeatCount=\\\"indefinite\\\"/></path></svg>\",\n  \"ic-deposit-box-not-found\": \"<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect x=\\\"1\\\" y=\\\"1\\\" width=\\\"38\\\" height=\\\"38\\\" rx=\\\"19\\\" fill=\\\"#FFF2F2\\\"/><rect x=\\\"1\\\" y=\\\"1\\\" width=\\\"38\\\" height=\\\"38\\\" rx=\\\"19\\\" stroke=\\\"#ED494F\\\" stroke-width=\\\"2\\\"/><path d=\\\"M26.666 27.5L13.333 14.167M26.666 14.167L13.333 27.5\\\" stroke=\\\"#ED494F\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/></svg>\",\n  \"ic-deposit-box-validated\": \"<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect x=\\\"1\\\" y=\\\"1\\\" width=\\\"38\\\" height=\\\"38\\\" rx=\\\"19\\\" fill=\\\"#E5FBF0\\\"/><rect x=\\\"1\\\" y=\\\"1\\\" width=\\\"38\\\" height=\\\"38\\\" rx=\\\"19\\\" stroke=\\\"#1DAC67\\\" stroke-width=\\\"2\\\"/><path d=\\\"M28.145 14L17.002 26l-6-6.857\\\" stroke=\\\"#1DAC67\\\" stroke-width=\\\"3\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/></svg>\",\n  \"ic-export-file-activities\": \"<svg width=\\\"18\\\" height=\\\"19\\\" viewBox=\\\"0 0 18 19\\\" fill=\\\"#2196F3\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M17.55 3.008l-1.39-1.68A1.51 1.51 0 0 0 15 .788H3c-.47 0-.88.21-1.15.55L.46 3.008c-.29.35-.46.79-.46 1.28v12.5a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2v-12.5c0-.49-.17-.93-.45-1.28zM9 14.788l5.5-5.5H11v-2H7v2H3.5l5.5 5.5zm-6.88-12l.82-1h12l.93 1H2.12z\\\"/></svg>\",\n  \"ic-field-pass-hide\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M17.709 7.625C15.784 4.6 12.967 2.858 10 2.858c-1.483 0-2.925.434-4.241 1.242-1.317.817-2.5 2.008-3.467 3.525-.833 1.308-.833 3.433 0 4.742C4.217 15.4 7.034 17.133 10 17.133c1.484 0 2.925-.433 4.242-1.241 1.317-.817 2.5-2.009 3.467-3.525.833-1.3.833-3.434 0-4.742zM10 13.367A3.363 3.363 0 0 1 6.634 10c0-1.858 1.5-3.367 3.366-3.367A3.363 3.363 0 0 1 13.367 10c0 1.858-1.5 3.367-3.367 3.367z\\\" fill=\\\"#38567B\\\"/><path d=\\\"M10 7.617a2.38 2.38 0 0 0 0 4.758A2.386 2.386 0 0 0 12.383 10 2.394 2.394 0 0 0 10 7.617z\\\" fill=\\\"#38567B\\\"/></svg>\",\n  \"ic-field-pass-unhide\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M17.725 7.65c-.242-.383-.5-.742-.767-1.075a.834.834 0 0 0-1.242-.075l-2.5 2.5c.184.55.217 1.183.05 1.842a3.35 3.35 0 0 1-2.416 2.416 3.27 3.27 0 0 1-1.842-.05l-2.05 2.05c-.417.417-.283 1.15.275 1.367a7.683 7.683 0 0 0 2.767.517c1.483 0 2.925-.434 4.241-1.242 1.342-.833 2.55-2.058 3.525-3.617.792-1.258.75-3.375-.041-4.633zM11.683 8.317l-3.367 3.366a2.418 2.418 0 0 1-.7-1.683A2.388 2.388 0 0 1 10 7.617c.65 0 1.25.275 1.683.7z\\\" fill=\\\"#38567B\\\"/><path d=\\\"M15.209 4.792l-2.825 2.825A3.322 3.322 0 0 0 10 6.633 3.363 3.363 0 0 0 6.634 10c0 .933.375 1.775.983 2.383L4.8 15.208h-.008c-.925-.75-1.775-1.708-2.5-2.841-.833-1.309-.833-3.434 0-4.742.967-1.517 2.15-2.708 3.467-3.525C7.075 3.3 8.517 2.858 10 2.858c1.859 0 3.659.684 5.209 1.934zM12.383 10A2.388 2.388 0 0 1 10 12.383c-.05 0-.092 0-.142-.016l2.509-2.509c.016.05.016.092.016.142z\\\" fill=\\\"#38567B\\\"/><path d=\\\"M18.142 1.858a.644.644 0 0 0-.909 0L1.858 17.242a.644.644 0 0 0 0 .908.632.632 0 0 0 .9-.008L18.142 2.758a.62.62 0 0 0 0-.9z\\\" fill=\\\"#38567B\\\"/></svg>\",\n  \"ic-forbid\": \"<svg width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M8 14.667a6.492 6.492 0 0 1-2.6-.525 6.732 6.732 0 0 1-2.117-1.425A6.733 6.733 0 0 1 1.858 10.6 6.492 6.492 0 0 1 1.333 8c0-.922.175-1.789.525-2.6a6.732 6.732 0 0 1 1.425-2.117c.6-.6 1.306-1.075 2.117-1.425A6.492 6.492 0 0 1 8 1.333c.922 0 1.789.175 2.6.525.811.35 1.517.825 2.117 1.425.6.6 1.075 1.306 1.425 2.117.35.811.525 1.678.525 2.6 0 .922-.175 1.789-.525 2.6a6.733 6.733 0 0 1-1.425 2.117c-.6.6-1.306 1.075-2.117 1.425a6.491 6.491 0 0 1-2.6.525zm0-1.334c.6 0 1.178-.097 1.733-.291a5.301 5.301 0 0 0 1.534-.842L3.8 4.733a5.3 5.3 0 0 0-.842 1.534A5.21 5.21 0 0 0 2.667 8c0 1.489.516 2.75 1.55 3.783C5.25 12.817 6.51 13.333 8 13.333zm4.2-2.066c.367-.467.647-.978.842-1.534A5.208 5.208 0 0 0 13.333 8c0-1.489-.516-2.75-1.55-3.783C10.75 3.183 9.49 2.667 8 2.667c-.6 0-1.178.097-1.733.291a5.3 5.3 0 0 0-1.534.842l7.467 7.467z\\\" fill=\\\"#8D0707\\\"/></svg>\",\n  \"ic-history-azure\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"17\\\" height=\\\"17\\\" viewBox=\\\"0 0 17 17\\\"><path fill-rule=\\\"evenodd\\\" d=\\\"M8.492 0C3.8 0 0 3.808 0 8.5S3.8 17 8.492 17C13.192 17 17 13.192 17 8.5S13.192 0 8.492 0zm.433 4.25H7.65v5.1l4.462 2.678.638-1.046-3.825-2.27V4.25\\\"/></svg>\",\n  \"ic-history-focus\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"17\\\" height=\\\"17\\\" viewBox=\\\"0 0 17 17\\\"><path fill-rule=\\\"evenodd\\\" d=\\\"M8.492 0C3.8 0 0 3.808 0 8.5S3.8 17 8.492 17C13.192 17 17 13.192 17 8.5S13.192 0 8.492 0zm.433 4.25H7.65v5.1l4.462 2.678.638-1.046-3.825-2.27V4.25\\\"/></svg>\",\n  \"ic-membres\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"16\\\" height=\\\"13\\\" viewBox=\\\"0 0 16 13\\\"><path d=\\\"M9.656 2.231a2.798 2.798 0 0 1 1.353 2.086 2.4 2.4 0 0 0 .991.214c1.296 0 2.347-1.014 2.347-2.265C14.347 1.014 13.297 0 12 0c-1.284 0-2.325.997-2.344 2.231zM8.118 6.87c1.296 0 2.347-1.014 2.347-2.266 0-1.25-1.05-2.265-2.347-2.265-1.296 0-2.347 1.014-2.347 2.266 0 1.25 1.051 2.265 2.347 2.265zm.996.155H7.122c-1.656 0-3.004 1.301-3.004 2.9v2.351l.006.037.168.051c1.58.477 2.954.636 4.085.636 2.208 0 3.488-.608 3.567-.647l.157-.076h.016V9.925c.001-1.599-1.347-2.9-3.003-2.9zm3.882-2.34H11.02a2.749 2.749 0 0 1-.893 1.945c1.473.423 2.55 1.742 2.55 3.299v.724c1.951-.069 3.075-.602 3.15-.638l.156-.077H16V7.586c0-1.6-1.348-2.9-3.004-2.9zm-8.995-.154c.459 0 .886-.129 1.248-.35A2.787 2.787 0 0 1 6.34 2.394c.003-.042.007-.084.007-.127C6.347 1.015 5.297.001 4 .001 2.704 0 1.654 1.015 1.654 2.266c0 1.251 1.05 2.265 2.347 2.265zm2.107 2.1a2.751 2.751 0 0 1-.892-1.935c-.073-.005-.146-.01-.22-.01H3.005C1.348 4.686 0 5.986 0 7.586v2.352l.006.036.168.051c1.268.382 2.4.558 3.384.614v-.71c0-1.557 1.077-2.875 2.55-3.299z\\\"/></svg>\",\n  \"ic-pause\": \"<svg width=\\\"18\\\" height=\\\"18\\\" viewBox=\\\"0 0 18 18\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M9 0c4.95 0 9 4.05 9 9s-4.05 9-9 9-9-4.05-9-9 4.05-9 9-9zm.776 5.524v6.867h1.075V5.524H9.776zm-2.859 0v6.867h1.075V5.524H6.917z\\\" fill=\\\"#2196F3\\\" fill-rule=\\\"nonzero\\\"/></svg>\",\n  \"ic-play\": \"<svg width=\\\"18\\\" height=\\\"18\\\" viewBox=\\\"0 0 18 18\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M9 0C4.032 0 0 4.032 0 9s4.032 9 9 9 9-4.032 9-9-4.032-9-9-9zM7.2 13.05v-8.1L12.6 9l-5.4 4.05z\\\" fill=\\\"#2196F3\\\" fill-rule=\\\"evenodd\\\"/></svg>\",\n  \"ic-resend\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"15\\\" height=\\\"17\\\" viewBox=\\\"0 0 15 17\\\"><path fill=\\\"#0098F8\\\" d=\\\"M15 6L9 0 7.58 1.42 11.17 5H0v12h2V7h9.17l-3.59 3.58L9 12z\\\"/></svg>\",\n  \"ic-shape\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"13\\\" height=\\\"13\\\" viewBox=\\\"0 0 13 13\\\"><path fill=\\\"#FFF\\\" fill-rule=\\\"evenodd\\\" d=\\\"M13 5.688H3.088l4.55-4.55L6.5 0 0 6.5 6.5 13l1.138-1.137-4.55-4.55H13z\\\"/></svg>\",\n  \"ic-view-activity\": \"<svg width=\\\"24\\\" height=\\\"25\\\" viewBox=\\\"0 0 24 25\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M3.4 18.22L2 16.82l7.4-7.45 4 4 5.2-5.15H16v-2h6v6h-2v-2.6l-6.6 6.6-4-4-6 6z\\\"/></svg>\",\n  \"ic-warning\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"12\\\" fill=\\\"#D24348\\\"/><g fill=\\\"#FFF\\\" fill-rule=\\\"nonzero\\\"><path d=\\\"M17.901 15.787l-5.416-9.508a.53.53 0 0 0-.47-.275c-.197 0-.37.1-.47.275L6.08 15.837c-.247.425.124.826.47.826h10.93c.297 0 .52-.25.52-.55a.508.508 0 0 0-.099-.326zM7.49 15.562l4.525-7.932 4.526 7.932H7.49z\\\"/><path d=\\\"M11.471 10.082v2.428c0 .3.248.55.544.55.297 0 .545-.25.545-.55v-2.428c0-.3-.248-.55-.545-.55a.552.552 0 0 0-.544.55zm.544 3.453c-.37 0-.667.3-.667.676 0 .375.297.7.667.7.371 0 .668-.325.668-.7a.669.669 0 0 0-.668-.676z\\\"/></g></g></svg>\",\n  \"ic-workspace-transp\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"12\\\" height=\\\"12\\\" viewBox=\\\"0 0 12 12\\\"><path fill=\\\"#2196F3\\\" fill-rule=\\\"evenodd\\\" d=\\\"M0 6.667h5.333V0H0v6.667zM0 12h5.333V8H0v4zm6.667 0H12V5.333H6.667V12zm0-8H12V0H6.667v4z\\\"/></svg>\",\n  \"ic-workspace\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path fill-rule=\\\"evenodd\\\" d=\\\"M12 24C5.373 24 0 18.627 0 12S5.373 0 12 0s12 5.373 12 12-5.373 12-12 12zM7 12.556h4.444V7H7v5.556zM7 17h4.444v-3.333H7V17zm5.556 0H17v-5.556h-4.444V17zm0-6.667H17V7h-4.444v3.333z\\\"/></svg>\",\n  \"ic_check_validate_vect\": \"<svg width=\\\"18\\\" height=\\\"13\\\" viewBox=\\\"0 0 18 13\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M6.429 13L0 6.75 1.8 5l4.629 4.5L16.2 0 18 1.75z\\\" fill=\\\"#FFF\\\" fill-rule=\\\"evenodd\\\"/></svg>\",\n  \"ic_croix\": \"<svg width=\\\"8\\\" height=\\\"8\\\" viewBox=\\\"0 0 8 8\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M8 6.868L6.868 8 4 5.132 1.132 8 0 6.868 2.868 4 0 1.132 1.132 0 4 2.868 6.868 0 8 1.132 5.132 4z\\\" fill=\\\"#FFF\\\" fill-rule=\\\"evenodd\\\"/></svg>\",\n  \"ic_img\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 15 13\\\"><path class=\\\"st0\\\" d=\\\"M15 12.1V.9c0-.5-.4-.9-.9-.9H.9C.4 0 0 .4 0 .9V12c0 .6.4 1 .9 1H14c.6 0 1-.4 1-.9zm-14.1 0V.9H14V12H.9z\\\"/><circle class=\\\"st0\\\" cx=\\\"3.5\\\" cy=\\\"3.5\\\" r=\\\"1.5\\\"/><path class=\\\"st0\\\" d=\\\"M7.2 9.2L5.3 6.9l-3.3 4h11L9.5 6\\\"/></svg>\",\n  \"ic_import_conversation\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"34\\\" height=\\\"30\\\" viewBox=\\\"0 0 34 30\\\"><g fill=\\\"none\\\"><path fill=\\\"#FFF\\\" d=\\\"M28.786 0H5.214C2.34 0 0 2.412 0 5.376V19.81c0 2.965 2.34 5.377 5.214 5.377h11.153l4.132 4.26a.538.538 0 0 0 .775 0l4.132-4.26h3.38c2.875 0 5.214-2.412 5.214-5.377V5.376C34 2.412 31.661 0 28.786 0z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M11.974 8.198l-2.24 2.2h2.24z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M9.735 8.198l-2.238 2.199h2.238z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M11.974 8.198l-2.24 2.199V8.198z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M11.973 8.198l2.237 2.199h-2.237z\\\"/><path fill=\\\"#A3AFBE\\\" d=\\\"M11.973 8.198l2.237 2.199V8.198z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M9.734 10.397l2.238 2.199H9.734z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M14.21 10.397l-2.237 2.199h2.237z\\\"/><path fill=\\\"#A3AFBE\\\" d=\\\"M14.21 10.397l-2.237 2.199v-2.2z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M14.21 6l2.239 2.198H14.21zm2.239 2.198l-2.239 2.199h2.239z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M16.448 8.198l-2.238 2.199V8.198z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M14.21 14.793l2.238-2.197H14.21zm2.238-2.197l-2.238-2.2h2.238z\\\"/><path fill=\\\"#A3AFBE\\\" d=\\\"M16.448 12.596l-2.238-2.2v2.2z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M16.448 12.596l2.238-2.2h-2.238z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M18.687 10.397L16.45 8.198v2.199z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M8.89 10.717l-2.237 2.199h2.238z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M8.89 8.06l-2.237 2.2v-2.2zm-1.636 3.438L5.016 9.3v2.2z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M9.733 10.397l2.24 2.199v-2.2z\\\"/><path fill=\\\"#28B0E4\\\" d=\\\"M21.6 17.988l2.237-2.2H21.6z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M23.837 17.987l2.239-2.198h-2.239z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M21.6 17.987l2.237-2.198v2.198z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M21.6 17.987l-2.238-2.198h2.237z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M21.6 17.987l-2.238-2.198v2.198zm2.237-2.197l-2.237-2.2h2.237z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M19.362 15.789l2.237-2.2h-2.237z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M19.362 15.789l2.237-2.2v2.2z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M19.362 20.185l-2.238-2.198h2.238z\\\"/><path fill=\\\"#28B0E4\\\" d=\\\"M17.124 17.988l2.238-2.2h-2.238z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M17.124 17.987l2.238-2.198v2.198z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M19.362 11.392l-2.238 2.199h2.238z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M17.124 13.59l2.238 2.199h-2.238z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M17.124 13.59l2.238 2.199V13.59zm0 0l-2.238 2.199h2.238z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M14.885 15.789l2.239 2.198V15.79z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M24.682 15.469l2.237-2.199h-2.237z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M24.682 18.125l2.237-2.199v2.2z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M26.318 14.688l2.239 2.198v-2.198z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M23.837 15.789l-2.238-2.2v2.2z\\\"/></g></svg>\",\n  \"ic_import_workspace\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"34\\\" height=\\\"28\\\" viewBox=\\\"0 0 34 28\\\"><g fill=\\\"none\\\"><path fill=\\\"#FFF\\\" d=\\\"M13.6 0H3.4A3.41 3.41 0 0 0 0 3.4v20.4c0 1.87 1.53 3.4 3.4 3.4h27.2c1.87 0 3.4-1.53 3.4-3.4v-17c0-1.87-1.53-3.4-3.4-3.4H17L13.6 0z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M11.974 9.198l-2.24 2.2h2.24z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M9.735 9.198l-2.238 2.199h2.238z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M11.974 9.198l-2.24 2.199V9.198z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M11.973 9.198l2.237 2.199h-2.237z\\\"/><path fill=\\\"#A3AFBE\\\" d=\\\"M11.973 9.198l2.237 2.199V9.198z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M9.734 11.397l2.238 2.199H9.734z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M14.21 11.397l-2.237 2.199h2.237z\\\"/><path fill=\\\"#A3AFBE\\\" d=\\\"M14.21 11.397l-2.237 2.199v-2.2z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M14.21 7l2.239 2.198H14.21zm2.239 2.198l-2.239 2.199h2.239z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M16.448 9.198l-2.238 2.199V9.198z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M14.21 15.793l2.238-2.197H14.21zm2.238-2.197l-2.238-2.2h2.238z\\\"/><path fill=\\\"#A3AFBE\\\" d=\\\"M16.448 13.596l-2.238-2.2v2.2z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M16.448 13.596l2.238-2.2h-2.238z\\\"/><path fill=\\\"#1A375D\\\" d=\\\"M18.687 11.397L16.45 9.198v2.199z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M8.89 11.717l-2.237 2.199h2.238z\\\"/><path fill=\\\"#75879E\\\" d=\\\"M8.89 9.06l-2.237 2.2v-2.2zm-1.636 3.438L5.016 10.3v2.2z\\\"/><path fill=\\\"#475F7E\\\" d=\\\"M9.733 11.397l2.24 2.199v-2.2z\\\"/><path fill=\\\"#28B0E4\\\" d=\\\"M21.6 18.988l2.237-2.2H21.6z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M23.837 18.987l2.239-2.198h-2.239z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M21.6 18.987l2.237-2.198v2.198z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M21.6 18.987l-2.238-2.198h2.237z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M21.6 18.987l-2.238-2.198v2.198zm2.237-2.197l-2.237-2.2h2.237z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M19.362 16.789l2.237-2.2h-2.237z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M19.362 16.789l2.237-2.2v2.2z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M19.362 21.185l-2.238-2.198h2.238z\\\"/><path fill=\\\"#28B0E4\\\" d=\\\"M17.124 18.988l2.238-2.2h-2.238z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M17.124 18.987l2.238-2.198v2.198z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M19.362 12.392l-2.238 2.199h2.238z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M17.124 14.59l2.238 2.199h-2.238z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M17.124 14.59l2.238 2.199V14.59zm0 0l-2.238 2.199h2.238z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M14.885 16.789l2.239 2.198V16.79z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M24.682 16.469l2.237-2.199h-2.237z\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M24.682 19.125l2.237-2.199v2.2z\\\"/><path fill=\\\"#BEE7F7\\\" d=\\\"M26.318 15.688l2.239 2.198v-2.198z\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M23.837 16.789l-2.238-2.2v2.2z\\\"/></g></svg>\",\n  \"ic_question\": \"<svg width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm-.716-3.5a.875.875 0 1 1 1.75 0 .875.875 0 0 1-1.75 0zM5.375 6.136c0-1.487 1.366-2.511 2.81-2.511h.099c.307 0 .613.054.9.162.738.276 1.252.856 1.399 1.55.148.702-.098 1.438-.71 1.947l-.627.52c-.283.235-.414.53-.414.81v.5a.716.716 0 1 1-1.432 0v-.5c0-.746.354-1.432.93-1.91l.627-.522c.218-.18.26-.384.225-.549-.036-.172-.178-.385-.5-.505a1.144 1.144 0 0 0-.398-.071h-.098c-.87 0-1.38.583-1.38 1.079v.098a.716.716 0 1 1-1.431 0v-.098z\\\"/></svg>\",\n  \"ic_viewer_file_unknown\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"24\\\" height=\\\"24\\\" rx=\\\"2\\\" fill=\\\"#FFF8E6\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M13.724 6.085c-.415-1.837-3.033-1.837-3.448 0l-.095.42a.517.517 0 0 1-.78.323l-.364-.23C7.445 5.592 5.594 7.443 6.6 9.036l.23.363a.517.517 0 0 1-.324.781l-.419.095c-1.837.415-1.837 3.032 0 3.447l.42.095a.517.517 0 0 1 .323.781l-.23.363c-1.005 1.593.846 3.444 2.438 2.438l.364-.23a.517.517 0 0 1 .78.324l.095.42c.415 1.837 3.033 1.837 3.448 0l.095-.42a.517.517 0 0 1 .78-.323l.364.23c1.592 1.005 3.443-.846 2.438-2.438l-.23-.364a.517.517 0 0 1 .323-.78l.42-.095c1.837-.416 1.837-3.033 0-3.448l-.42-.095a.517.517 0 0 1-.323-.78l.23-.364c1.005-1.593-.846-3.444-2.438-2.438l-.364.23a.517.517 0 0 1-.78-.324l-.095-.42zm-2.402 5.914a.678.678 0 1 1 1.356 0 .678.678 0 0 1-1.356 0zM12 9.82a2.178 2.178 0 1 0 0 4.355 2.178 2.178 0 0 0 0-4.355z\\\" fill=\\\"#F0B609\\\"/></svg>\",\n  \"img\": {\n    \"trustees\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 170.19 123.18\\\"><defs><style>.cls-1{fill:#5f5c61}.cls-2{fill:#54bce8}.cls-4{fill:#e9c7a1}.cls-5{fill:#f9ddbd}.cls-6{fill:#6b6b6b}.cls-8{fill:#125a6d}.cls-9{fill:#1d1d1b;opacity:.3}.cls-16,.cls-19,.cls-20,.cls-21,.cls-27,.cls-28,.cls-30,.cls-9{isolation:isolate}.cls-17,.cls-47{fill:none;stroke-linecap:round}.cls-47{stroke-miterlimit:10}.cls-12{fill:#fbe158}.cls-13{fill:#facb1b}.cls-14{fill:#e2c139}.cls-16{fill:#252f84;opacity:.5}.cls-17{stroke:#5f5c61;stroke-width:1.5px;stroke-linejoin:round}.cls-19,.cls-20,.cls-21,.cls-24,.cls-27,.cls-28,.cls-30{fill:#fff}.cls-19{opacity:.35}.cls-20{opacity:.25}.cls-21{opacity:.45}.cls-27{opacity:.51}.cls-28{opacity:.9}.cls-30{opacity:.72}.cls-36{fill:#a0da6e}.cls-38{fill:#f9e2c8}.cls-44{fill:#f8e71c}.cls-45{fill:#d67046}.cls-46{fill:#4a4a4a}.cls-47{stroke:#d67046;stroke-width:.66px}</style></defs><g id=\\\"Calque_2\\\" data-name=\\\"Calque 2\\\"><g id=\\\"Calque_1-2\\\" data-name=\\\"Calque 1\\\"><g id=\\\"Calque_2-2\\\" data-name=\\\"Calque 2\\\"><g id=\\\"femme\\\"><path class=\\\"cls-1\\\" d=\\\"M47.73 23.6c0 12.86-9.69 23.29-21.65 23.29S4.42 36.46 4.42 23.6a24.55 24.55 0 0 1 2.8-11.46A21.45 21.45 0 0 1 26.08.31C40.7.31 47.73 10.74 47.73 23.6z\\\"/><path class=\\\"cls-2\\\" d=\\\"M17 59.22h22a17 17 0 0 1 17 17v17.62H0V76.23a17 17 0 0 1 17-17z\\\"/><path d=\\\"M22 52.82h10.58v6.82a5.31 5.31 0 0 1-5.31 5.31A5.31 5.31 0 0 1 22 59.64v-6.82z\\\" fill=\\\"#f7d4aa\\\"/><path class=\\\"cls-4\\\" d=\\\"M22 57.31a16.36 16.36 0 0 0 6.46 1.29 17.33 17.33 0 0 0 4.16-.53v-5.25H22z\\\"/><circle class=\\\"cls-5\\\" cx=\\\"44.98\\\" cy=\\\"30.6\\\" r=\\\"4.1\\\"/><circle class=\\\"cls-5\\\" cx=\\\"11.58\\\" cy=\\\"30.6\\\" r=\\\"5\\\"/><path class=\\\"cls-5\\\" d=\\\"M28.42 2.6a17.5 17.5 0 0 1 17.5 17.5v19a17.5 17.5 0 0 1-17.5 17.5 16.5 16.5 0 0 1-16.5-16.5v-21a16.5 16.5 0 0 1 16.5-16.5z\\\"/><path class=\\\"cls-4\\\" d=\\\"M27.71 27.18c0 1.26-1 3.27-2.27 3.27s-2.27-2-2.27-3.27a2.27 2.27 0 1 1 4.55 0zM41.71 27.18c0 1.26-1 3.27-2.27 3.27s-2.27-2-2.27-3.27a2.27 2.27 0 1 1 4.55 0z\\\"/><circle class=\\\"cls-6\\\" cx=\\\"25.43\\\" cy=\\\"27.18\\\" r=\\\"2.27\\\"/><circle class=\\\"cls-6\\\" cx=\\\"39.43\\\" cy=\\\"27.18\\\" r=\\\"2.27\\\"/><path d=\\\"M38.83 59.22H34a6.68 6.68 0 0 1 0 .67 6.61 6.61 0 0 1-13.22 0 6.68 6.68 0 0 1 0-.67h-3.55A17.23 17.23 0 0 0 0 76.44v12.92h11.86v4.48h32.33v-4.48h11.86V76.44a17.23 17.23 0 0 0-17.22-17.22z\\\" fill=\\\"#03698c\\\"/><path class=\\\"cls-8\\\" d=\\\"M0 87.1h11.86v2.26H0zM44.19 87.1h11.86v2.26H44.19z\\\"/><path class=\\\"cls-9\\\" d=\\\"M45.16 82.93a1 1 0 0 1 1 1v9.94h-2v-10a1 1 0 0 1 1-.94z\\\"/><path class=\\\"cls-1\\\" d=\\\"M10.58 24.59l4.3 4V10.24l-4.3 3.35v11z\\\"/><path class=\\\"cls-1\\\" d=\\\"M10.07 13.47a40.9 40.9 0 0 0 21.43 5.95c12.75 0 21-11.17 21-11.17s-6.33.41-10.79-2.88S28.67-1.89 21.27 1s-11.2 12.47-11.2 12.47z\\\"/><path d=\\\"M30.75 51.25a5.5 5.5 0 0 1 4.34 0\\\" stroke-miterlimit=\\\"10\\\" stroke=\\\"#e9c7a1\\\" fill=\\\"none\\\" stroke-linecap=\\\"round\\\"/><path class=\\\"cls-2\\\" d=\\\"M44.19 104.68H12.75C3.34 104.68 0 98.2 0 93.84v-4.48h11.86v3.27a1.09 1.09 0 0 0 .89 1h31.44z\\\"/><path class=\\\"cls-9\\\" d=\\\"M12.75 93.68a1.1 1.1 0 0 1-.89-1V83.9a1 1 0 0 0-1-1 1 1 0 0 0-1 1v11.46M12.75 104.68h31.44v-1.94H5.13a14.27 14.27 0 0 0 7.62 1.94z\\\"/><path class=\\\"cls-5\\\" d=\\\"M44.19 93.67l5.6-2.33v2.49\\\"/><path class=\\\"cls-4\\\" d=\\\"M48.6 92.14a7.24 7.24 0 0 0 .21 1.86l1-.18v-2.47l-1.18.49a1.32 1.32 0 0 0-.03.3z\\\"/><path d=\\\"M88.45 111.61L76 99.17l12.33-12.32-12.12-12.13 12.17-12.16-5.88-5.88a33.25 33.25 0 0 0-5.21 66.09z\\\" fill=\\\"#2196f3\\\"/><path class=\\\"cls-12\\\" d=\\\"M68.87 77.52a13.15 13.15 0 1 0 8.59 23.1L76 99.17l12.34-12.32L86.53 85h-5.79a13.14 13.14 0 0 0-11.87-7.48z\\\"/><path class=\\\"cls-13\\\" d=\\\"M70.33 103.73l.76-.11.37-.07.74-.17.31-.08c.34-.1.68-.21 1-.34l1-.42.28-.14.66-.36.3-.18.64-.42.24-.17c.28-.21.56-.43.83-.66L76 99.17l8.1-8.1H55.74a13.11 13.11 0 0 0 3.12 8.11v.05c.25.29.51.58.79.85l.11.1q.39.38.81.72l.19.14c.26.2.53.4.81.59l.29.18c.26.16.51.32.78.46l.39.19.74.35.51.19.68.25a5.83 5.83 0 0 0 .63.16c.21.05.4.11.61.15l.8.12.49.07a13.3 13.3 0 0 0 1.33.07 8.32 8.32 0 0 0 1.12-.05z\\\"/><path class=\\\"cls-14\\\" d=\\\"M83.76 87a.9.9 0 0 0 0 1.8h2.64l1.8-1.8z\\\"/><path d=\\\"M64.57 84.53a2 2 0 0 1 2 2v8.25a2 2 0 0 1-2 2S60.1 96 60.1 90.66s4.47-6.13 4.47-6.13z\\\" fill=\\\"#605434\\\"/><path class=\\\"cls-16\\\" d=\\\"M53.2 105.66a5.72 5.72 0 0 0 5.18-5.7V98a3.26 3.26 0 0 0-3.26-3.26h-5.53a33 33 0 0 0 3.61 10.92z\\\"/><path class=\\\"cls-5\\\" d=\\\"M44.19 93.68h9.92a3.26 3.26 0 0 1 3.26 3.26v2a5.72 5.72 0 0 1-5.72 5.72h-7.46v-11z\\\"/><path class=\\\"cls-17\\\" d=\\\"M42.86 23a5.5 5.5 0 0 0-4.07-1.48M21.71 23a5.5 5.5 0 0 1 4.07-1.48\\\"/><g id=\\\"logo\\\"><path id=\\\"Shape\\\" style=\\\"isolation:isolate\\\" opacity=\\\".55\\\" fill=\\\"#fff\\\" d=\\\"M22.57 75.13l-2.47 2.45h2.47v-2.45z\\\"/><path id=\\\"Shape-2\\\" class=\\\"cls-19\\\" d=\\\"M20.1 75.13l-2.47 2.45h2.47v-2.45z\\\"/><path id=\\\"Shape-3\\\" class=\\\"cls-20\\\" d=\\\"M22.57 75.13l-2.47 2.45v-2.45h2.47z\\\"/><g id=\\\"Shape-4\\\"><path class=\\\"cls-21\\\" d=\\\"M22.57 75.13l2.47 2.45h-2.47v-2.45z\\\"/><path style=\\\"isolation:isolate\\\" fill=\\\"#fff\\\" opacity=\\\".3\\\" d=\\\"M22.57 75.13l2.47 2.45v-2.45h-2.47z\\\"/></g><path class=\\\"cls-24\\\" d=\\\"M20.1 77.58l2.47 2.48H20.1v-2.48z\\\" id=\\\"Shape-5\\\" opacity=\\\".35\\\"/><g id=\\\"Shape-6\\\"><path class=\\\"cls-21\\\" d=\\\"M25.04 77.59l-2.47 2.47h2.47v-2.47z\\\"/><path class=\\\"cls-20\\\" d=\\\"M25.04 77.58l-2.47 2.48v-2.48h2.47z\\\"/></g><path id=\\\"Shape-7\\\" class=\\\"cls-21\\\" d=\\\"M25.04 72.67l2.47 2.46h-2.47v-2.46z\\\"/><g id=\\\"Shape-8\\\"><path style=\\\"isolation:isolate\\\" opacity=\\\".65\\\" fill=\\\"#fff\\\" d=\\\"M27.51 75.13l-2.47 2.45h2.47v-2.45z\\\"/><path class=\\\"cls-20\\\" d=\\\"M27.51 75.13l-2.47 2.45v-2.45h2.47z\\\"/></g><path id=\\\"Shape-9\\\" class=\\\"cls-21\\\" d=\\\"M25.04 82.5l2.47-2.44h-2.47v2.44z\\\"/><g id=\\\"Shape-10\\\"><path class=\\\"cls-21\\\" d=\\\"M27.51 80.06l-2.47-2.48h2.47v2.48z\\\"/><path class=\\\"cls-19\\\" d=\\\"M27.51 80.06l-2.47-2.48v2.48h2.47z\\\"/></g><path id=\\\"Shape-11\\\" class=\\\"cls-20\\\" d=\\\"M27.51 80.06l2.47-2.48h-2.47v2.48z\\\"/><path id=\\\"Shape-12\\\" class=\\\"cls-19\\\" d=\\\"M29.98 77.58l-2.47-2.45v2.45h2.47z\\\"/><path id=\\\"Shape-13\\\" class=\\\"cls-20\\\" d=\\\"M19.17 77.94l-2.47 2.47h2.47v-2.47z\\\"/><path id=\\\"Shape-14\\\" class=\\\"cls-20\\\" d=\\\"M19.17 74.97l-2.47 2.47v-2.47h2.47z\\\"/><path id=\\\"Shape-15\\\" style=\\\"isolation:isolate\\\" opacity=\\\".15\\\" fill=\\\"#fff\\\" d=\\\"M17.36 78.83l-2.47-2.47v2.47h2.47z\\\"/><path id=\\\"Shape-16\\\" class=\\\"cls-21\\\" d=\\\"M20.1 77.58l2.47 2.48v-2.48H20.1z\\\"/><path id=\\\"Shape-17\\\" class=\\\"cls-27\\\" d=\\\"M33.2 86.08l2.47-2.45H33.2v2.45z\\\"/><path id=\\\"Shape-18\\\" class=\\\"cls-28\\\" d=\\\"M35.67 86.08l2.47-2.45h-2.47v2.45z\\\"/><path id=\\\"Shape-19\\\" class=\\\"cls-24\\\" d=\\\"M33.2 86.08l2.47-2.45v2.45H33.2z\\\"/><g id=\\\"Shape-20\\\"><path class=\\\"cls-28\\\" d=\\\"M33.2 86.08l-2.47-2.45h2.47v2.45z\\\"/><path class=\\\"cls-27\\\" d=\\\"M33.2 86.08l-2.47-2.45v2.45h2.47z\\\"/></g><path class=\\\"cls-24\\\" d=\\\"M35.67 83.63l-2.47-2.46h2.47v2.46z\\\" id=\\\"Shape-21\\\" opacity=\\\".51\\\"/><g id=\\\"Shape-22\\\"><path class=\\\"cls-24\\\" d=\\\"M30.73 83.63l2.47-2.46h-2.47v2.46z\\\"/><path class=\\\"cls-27\\\" d=\\\"M30.73 83.63l2.47-2.46v2.46h-2.47z\\\"/></g><path id=\\\"Shape-23\\\" class=\\\"cls-30\\\" d=\\\"M30.73 88.55l-2.47-2.47h2.47v2.47\\\"/><g id=\\\"Shape-24\\\"><path class=\\\"cls-30\\\" d=\\\"M28.26 86.08l2.47-2.45h-2.47v2.45z\\\"/><path style=\\\"isolation:isolate\\\" opacity=\\\".95\\\" fill=\\\"#fff\\\" d=\\\"M28.26 86.08l2.47-2.45v2.45h-2.47z\\\"/></g><path id=\\\"Shape-25\\\" class=\\\"cls-28\\\" d=\\\"M30.73 78.7l-2.47 2.47h2.47V78.7z\\\"/><g id=\\\"Shape-26\\\"><path class=\\\"cls-28\\\" d=\\\"M28.26 81.17l2.47 2.46h-2.47v-2.46z\\\"/><path style=\\\"isolation:isolate\\\" opacity=\\\".48\\\" fill=\\\"#fff\\\" d=\\\"M28.26 81.17l2.47 2.46v-2.46h-2.47z\\\"/></g><path id=\\\"Shape-27\\\" class=\\\"cls-30\\\" d=\\\"M28.26 81.17l-2.47 2.46h2.47v-2.46z\\\"/><path id=\\\"Shape-28\\\" class=\\\"cls-24\\\" d=\\\"M25.79 83.63l2.47 2.45v-2.45h-2.47z\\\"/><path id=\\\"Shape-29\\\" class=\\\"cls-28\\\" d=\\\"M36.72 83.27l2.47-2.46h-2.47v2.46z\\\"/><path id=\\\"Shape-30\\\" class=\\\"cls-30\\\" d=\\\"M36.6 86.23l2.47-2.45v2.45H36.6z\\\"/><path id=\\\"Shape-31\\\" class=\\\"cls-30\\\" d=\\\"M38.41 82.39l2.47 2.47v-2.47h-2.47z\\\"/><path id=\\\"Shape-32\\\" class=\\\"cls-28\\\" d=\\\"M35.67 83.63l-2.47-2.46v2.46h2.47z\\\"/></g><path class=\\\"cls-4\\\" d=\\\"M35.42 35.85a2.19 2.19 0 0 1-2.16 2.22h-.16a2.31 2.31 0 0 1-2.46-2.15v-.07\\\"/><circle class=\\\"cls-28\\\" cx=\\\"24.67\\\" cy=\\\"26.42\\\" r=\\\".73\\\"/><circle class=\\\"cls-28\\\" cx=\\\"38.62\\\" cy=\\\"26.42\\\" r=\\\".73\\\"/><path class=\\\"cls-24\\\" d=\\\"M38.23 41.5a5.69 5.69 0 0 1-5.49 5.5 5.63 5.63 0 0 1-5.48-5.44\\\"/><path d=\\\"M27.51 43.1H38a5 5 0 0 0 .27-1.6l-11 .06a5 5 0 0 0 .24 1.54z\\\" fill=\\\"#f4f4f4\\\"/><path d=\\\"M148.18 2.78L140.82.31l-10.73 4.17c-5.26 4.21-7.46 15.4-7.57 18.93s.41 4.77.43 8-.89 13.22-.89 13.22c-.49 9.14 3.86 11.15 8 11.15h26.49c4.16 0 8.09-1.84 8-13.29l-.66-11.81a33.89 33.89 0 0 0 .44-6.32A25.51 25.51 0 0 0 160 11.12c-2-3.83-7.35-7.5-11.82-8.34z\\\" fill=\\\"#c9633f\\\"/><path d=\\\"M164.86 93.84h-45.45a5.3 5.3 0 0 1-5.3-5.3v-7a22.3 22.3 0 0 1 22.3-22.3h11.44a22.31 22.31 0 0 1 22.31 22.31v7a5.3 5.3 0 0 1-5.3 5.3z\\\" fill=\\\"#18a15f\\\"/><path class=\\\"cls-36\\\" d=\\\"M142.77 73.68c7.62 0 13.8-5.31 13.8-11a7.8 7.8 0 0 0-.22-1.78 22.24 22.24 0 0 0-8.51-1.68h-11.43a22.26 22.26 0 0 0-7.08 1.15 7.83 7.83 0 0 0-.36 2.32c.03 5.68 6.18 10.99 13.8 10.99z\\\"/><path fill=\\\"#eac9a9\\\" d=\\\"M114.12 89.36h11.85v5.32h-11.85z\\\"/><path class=\\\"cls-38\\\" d=\\\"M142.77 65.46a5.53 5.53 0 0 1-5.53-5.53v-6h11.06v6a5.53 5.53 0 0 1-5.53 5.53z\\\"/><path class=\\\"cls-4\\\" d=\\\"M137.24 57a17.32 17.32 0 0 0 4.5.61 18.42 18.42 0 0 0 6.56-1.22V53h-11.06z\\\"/><circle class=\\\"cls-5\\\" cx=\\\"156.58\\\" cy=\\\"34.6\\\" r=\\\"5\\\"/><path class=\\\"cls-38\\\" d=\\\"M138.38 56.6a14.14 14.14 0 0 1-14.13-14.14V17.78A15.18 15.18 0 0 1 139.43 2.6a18 18 0 0 1 18 18v17a19 19 0 0 1-19 19z\\\"/><path class=\\\"cls-5\\\" d=\\\"M126 104.68h31.44c9.41 0 12.75-6.48 12.75-10.84v-4.48H158.3v3.27a1.09 1.09 0 0 1-.89 1H126z\\\"/><path d=\\\"M157.41 104.68H126v-1.94h39a14.27 14.27 0 0 1-7.59 1.94z\\\" style=\\\"isolation:isolate\\\" opacity=\\\".1\\\" fill=\\\"#1d1d1b\\\"/><ellipse class=\\\"cls-4\\\" cx=\\\"130.63\\\" cy=\\\"31.42\\\" rx=\\\"1.38\\\" ry=\\\"1.84\\\"/><ellipse class=\\\"cls-4\\\" cx=\\\"143.24\\\" cy=\\\"31.42\\\" rx=\\\"1.38\\\" ry=\\\"1.84\\\"/><rect x=\\\"126\\\" y=\\\"92.28\\\" width=\\\"5.75\\\" height=\\\"13.38\\\" rx=\\\"1.53\\\" ry=\\\"1.53\\\" fill=\\\"#d07db2\\\"/><path class=\\\"cls-9\\\" d=\\\"M157.41 93.68a1.1 1.1 0 0 0 .89-1V83.9a1 1 0 0 1 1-1 1 1 0 0 1 1 1v11.46M126 93.84h-2V83.9a1 1 0 0 1 1-1 1 1 0 0 1 1 1v9.94z\\\"/><path class=\\\"cls-5\\\" d=\\\"M125.97 93.67l-5.6-2.33v2.49\\\"/><path d=\\\"M121.72 92.2a7.24 7.24 0 0 1-.21 1.88l-1-.18v-2.49l1.18.49a1.61 1.61 0 0 1 .03.3z\\\" style=\\\"isolation:isolate\\\" opacity=\\\".13\\\" fill=\\\"#1d1d1b\\\"/><path d=\\\"M81.21 74.72l12.12 12.13L81 99.17l12.45 12.44-11.16 11.16a33.25 33.25 0 1 0 5.21-66.09l5.88 5.88z\\\" fill=\\\"#75bbf3\\\"/><path class=\\\"cls-12\\\" d=\\\"M109.41 85H91.52l1.81 1.81L81 99.17l1.44 1.44a13.24 13.24 0 0 0 3.29-4.33H87l3.85-3.74 3.71 3.74 3.71-3.72 3.63 3.76 3.74-3.76 3.72 3.72 5.64-5.62z\\\"/><path class=\\\"cls-13\\\" d=\\\"M89.12 91.07L81 99.17l1.44 1.44c.31-.27.6-.55.88-.84l.2-.21a13.23 13.23 0 0 0 1.48-2l.16-.26a11.21 11.21 0 0 0 .58-1.08H87l3.85-3.74 3.71 3.74 3.71-3.72 3.63 3.76 3.74-3.76 3.72 3.72 5.21-5.21z\\\"/><path class=\\\"cls-14\\\" d=\\\"M111.1 88.78l-1.64-1.8H93.19l-1.8 1.8h19.71z\\\"/><path class=\\\"cls-16\\\" d=\\\"M116.77 105.66a5.72 5.72 0 0 1-5.18-5.7V98a3.26 3.26 0 0 1 3.26-3.26h5.52a33 33 0 0 1-3.6 10.92z\\\"/><path class=\\\"cls-5\\\" d=\\\"M126 104.69h-7.46a5.72 5.72 0 0 1-5.79-5.69v-2a3.26 3.26 0 0 1 3.25-3.3h9.92v11z\\\"/><path d=\\\"M130.22 92.28h-1.35v13.38h1.35a1.53 1.53 0 0 0 1.53-1.53V93.81a1.53 1.53 0 0 0-1.53-1.53z\\\" style=\\\"isolation:isolate\\\" opacity=\\\".5\\\" fill=\\\"#125a6d\\\"/><path class=\\\"cls-36\\\" d=\\\"M141.63 64.85h2.28v28.83h-2.28z\\\"/><path class=\\\"cls-38\\\" d=\\\"M142.77 71.81c6.75 0 12.23-4.09 12.23-9.12a7 7 0 0 0-.46-2.44 22.3 22.3 0 0 0-6.7-1h-11.43a22.34 22.34 0 0 0-5.25.63 7 7 0 0 0-.61 2.84c-.01 5 5.45 9.09 12.22 9.09z\\\"/><circle class=\\\"cls-44\\\" cx=\\\"138.34\\\" cy=\\\"80.21\\\" r=\\\"1.55\\\"/><circle class=\\\"cls-44\\\" cx=\\\"138.34\\\" cy=\\\"89.51\\\" r=\\\"1.55\\\"/><path class=\\\"cls-45\\\" d=\\\"M157 45.05l1.01-4.63V14.18H156l1 30.87z\\\"/><circle class=\\\"cls-46\\\" cx=\\\"143.24\\\" cy=\\\"30.96\\\" r=\\\"1.35\\\"/><circle class=\\\"cls-46\\\" cx=\\\"130.63\\\" cy=\\\"30.96\\\" r=\\\"1.35\\\"/><path class=\\\"cls-47\\\" d=\\\"M147.17 29a3.88 3.88 0 0 0-4.38-2.16M127.24 29a3.8 3.8 0 0 1 4.29-2.12\\\"/><path d=\\\"M138.59 37.93a4.58 4.58 0 0 1-3.51 0\\\" stroke-linejoin=\\\"round\\\" stroke=\\\"#e9c7a1\\\" fill=\\\"none\\\" stroke-linecap=\\\"round\\\"/><path d=\\\"M134.77 45.58a4.33 4.33 0 0 0 5.05 0\\\" stroke=\\\"#d24348\\\" stroke-width=\\\"1.31\\\" stroke-miterlimit=\\\"10\\\" fill=\\\"none\\\" stroke-linecap=\\\"round\\\"/><path d=\\\"M124.24 22.34c3.55 3.5 10.79 3.52 17.32-.25a22.63 22.63 0 0 0 2.84-2c.29.24.59.48.9.71 5.39 4 12 4.16 14.68.46s.54-9.91-4.85-13.86a16.29 16.29 0 0 0-5.95-2.77c-3.25-4.2-11-4.48-17.95-.47l-6.93 10.97\\\" style=\\\"isolation:isolate\\\" opacity=\\\".1\\\"/><path class=\\\"cls-45\\\" d=\\\"M155.13 6.44a16.29 16.29 0 0 0-5.95-2.77c-3.25-4.2-11-4.48-17.95-.47-7.36 4.25-11 11.7-8.16 16.64s11.13 5.5 18.49 1.25a22.63 22.63 0 0 0 2.84-2c.29.24.59.48.9.71 5.39 4 12 4.16 14.68.46s.54-9.86-4.85-13.82z\\\"/></g></g></g></g></svg>\"\n  },\n  \"img-direct-message\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"120\\\" height=\\\"120\\\" viewBox=\\\"0 0 120 120\\\"><defs><circle id=\\\"a\\\" cx=\\\"60\\\" cy=\\\"60\\\" r=\\\"60\\\"/></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><mask id=\\\"b\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#a\\\"/></mask><use fill=\\\"#677D99\\\" xlink:href=\\\"#a\\\"/><path fill=\\\"#FFF\\\" fill-rule=\\\"nonzero\\\" d=\\\"M60.654 53.77c5.735 0 10.384-4.65 10.384-10.386C71.038 37.65 66.388 33 60.654 33S50.27 37.65 50.27 43.385c0 5.735 4.651 10.384 10.385 10.384zm3.747 5.192h-8.53C48.774 58.962 43 65.068 43 72.573v11.032l.027.173.718.238C50.518 86.254 56.402 87 61.245 87c9.46 0 14.943-2.852 15.28-3.034l.672-.36.072-11.033c.004-7.505-5.77-13.611-12.868-13.611z\\\" mask=\\\"url(#b)\\\"/></g></svg>\",\n  \"img-empty-conversation\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"261\\\" height=\\\"264\\\" viewBox=\\\"0 0 261 264\\\"><defs><linearGradient id=\\\"c\\\" x1=\\\"50%\\\" x2=\\\"50%\\\" y1=\\\"1.757%\\\" y2=\\\"99.044%\\\"><stop offset=\\\"0%\\\" stop-color=\\\"#3292DF\\\"/><stop offset=\\\"100%\\\" stop-color=\\\"#0A6AB7\\\"/></linearGradient><path id=\\\"b\\\" d=\\\"M20.085 70.563l-6.756 5.177v-9.67C5.192 59.237 0 48.865 0 37.25 0 16.678 16.292 0 36.388 0c20.097 0 36.389 16.678 36.389 37.251 0 20.573-16.292 37.251-36.389 37.251a35.554 35.554 0 0 1-16.303-3.939z\\\"/><filter id=\\\"a\\\" width=\\\"149.5%\\\" height=\\\"147.5%\\\" x=\\\"-24.7%\\\" y=\\\"-19.8%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"3\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"5.5\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" values=\\\"0 0 0 0 0.396078431 0 0 0 0 0.474509804 0 0 0 0 0.576470588 0 0 0 0.2 0\\\"/></filter><filter id=\\\"d\\\" width=\\\"133%\\\" height=\\\"131.7%\\\" x=\\\"-16.5%\\\" y=\\\"-11.9%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"-2\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetInner1\\\"/><feComposite in=\\\"shadowOffsetInner1\\\" in2=\\\"SourceAlpha\\\" k2=\\\"-1\\\" k3=\\\"1\\\" operator=\\\"arithmetic\\\" result=\\\"shadowInnerInner1\\\"/><feColorMatrix in=\\\"shadowInnerInner1\\\" result=\\\"shadowMatrixInner1\\\" values=\\\"0 0 0 0 0.0352941176 0 0 0 0 0.352941176 0 0 0 0 0.607843137 0 0 0 0.7 0\\\"/><feOffset dy=\\\"2\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetInner2\\\"/><feComposite in=\\\"shadowOffsetInner2\\\" in2=\\\"SourceAlpha\\\" k2=\\\"-1\\\" k3=\\\"1\\\" operator=\\\"arithmetic\\\" result=\\\"shadowInnerInner2\\\"/><feColorMatrix in=\\\"shadowInnerInner2\\\" result=\\\"shadowMatrixInner2\\\" values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.08 0\\\"/><feMerge><feMergeNode in=\\\"shadowMatrixInner1\\\"/><feMergeNode in=\\\"shadowMatrixInner2\\\"/></feMerge></filter><path id=\\\"f\\\" d=\\\"M27.226 93.083l-9.158 6.83V87.154C7.038 78.143 0 64.46 0 49.14 0 22 22.084 0 49.326 0s49.327 22 49.327 49.14c0 27.139-22.085 49.14-49.327 49.14a49.27 49.27 0 0 1-22.1-5.197z\\\"/><filter id=\\\"e\\\" width=\\\"144.6%\\\" height=\\\"144%\\\" x=\\\"-22.3%\\\" y=\\\"-20%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"2\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"7\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" values=\\\"0 0 0 0 0.396078431 0 0 0 0 0.474509804 0 0 0 0 0.576470588 0 0 0 0.2 0\\\"/></filter><filter id=\\\"g\\\" width=\\\"131.4%\\\" height=\\\"131%\\\" x=\\\"-15.7%\\\" y=\\\"-13.5%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"-3\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetInner1\\\"/><feComposite in=\\\"shadowOffsetInner1\\\" in2=\\\"SourceAlpha\\\" k2=\\\"-1\\\" k3=\\\"1\\\" operator=\\\"arithmetic\\\" result=\\\"shadowInnerInner1\\\"/><feColorMatrix in=\\\"shadowInnerInner1\\\" values=\\\"0 0 0 0 0.607843137 0 0 0 0 0.607843137 0 0 0 0 0.607843137 0 0 0 0.07 0\\\"/></filter><linearGradient id=\\\"j\\\" x1=\\\"50%\\\" x2=\\\"50%\\\" y1=\\\"0%\\\" y2=\\\"100%\\\"><stop offset=\\\"0%\\\" stop-color=\\\"#FAE698\\\"/><stop offset=\\\"100%\\\" stop-color=\\\"#F4C95F\\\"/></linearGradient><ellipse id=\\\"i\\\" cx=\\\"87.2\\\" cy=\\\"223.819\\\" rx=\\\"23.2\\\" ry=\\\"23.181\\\"/><filter id=\\\"h\\\" width=\\\"186.2%\\\" height=\\\"186.3%\\\" x=\\\"-43.1%\\\" y=\\\"-34.5%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"4\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"6\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" values=\\\"0 0 0 0 0.956862745 0 0 0 0 0.792156863 0 0 0 0 0.380392157 0 0 0 0.3 0\\\"/></filter><filter id=\\\"k\\\" width=\\\"156%\\\" height=\\\"156.1%\\\" x=\\\"-28%\\\" y=\\\"-19.4%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"2\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetInner1\\\"/><feComposite in=\\\"shadowOffsetInner1\\\" in2=\\\"SourceAlpha\\\" k2=\\\"-1\\\" k3=\\\"1\\\" operator=\\\"arithmetic\\\" result=\\\"shadowInnerInner1\\\"/><feColorMatrix in=\\\"shadowInnerInner1\\\" result=\\\"shadowMatrixInner1\\\" values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.1 0\\\"/><feOffset dy=\\\"-2\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetInner2\\\"/><feComposite in=\\\"shadowOffsetInner2\\\" in2=\\\"SourceAlpha\\\" k2=\\\"-1\\\" k3=\\\"1\\\" operator=\\\"arithmetic\\\" result=\\\"shadowInnerInner2\\\"/><feColorMatrix in=\\\"shadowInnerInner2\\\" result=\\\"shadowMatrixInner2\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0\\\"/><feMerge><feMergeNode in=\\\"shadowMatrixInner1\\\"/><feMergeNode in=\\\"shadowMatrixInner2\\\"/></feMerge></filter><path id=\\\"m\\\" d=\\\"M91.272 222.791c1.69 0 3.045-1.377 3.045-3.083 0-1.706-1.354-3.083-3.045-3.083-1.69 0-3.054 1.377-3.054 3.083 0 1.706 1.365 3.083 3.054 3.083zm-8.145 0c1.69 0 3.045-1.377 3.045-3.083 0-1.706-1.355-3.083-3.045-3.083s-3.054 1.377-3.054 3.083c0 1.706 1.364 3.083 3.054 3.083zm0 2.056c-2.372 0-7.127 1.202-7.127 3.597v2.569h14.255v-2.569c0-2.395-4.755-3.597-7.128-3.597zm8.145 0c-.295 0-.631.02-.987.051 1.181.864 2.006 2.025 2.006 3.546v2.569H98.4v-2.569c0-2.395-4.755-3.597-7.128-3.597z\\\"/><filter id=\\\"l\\\" width=\\\"175.9%\\\" height=\\\"218.2%\\\" x=\\\"-37.9%\\\" y=\\\"-45.2%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"2\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"2.5\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0\\\"/></filter><ellipse id=\\\"o\\\" cx=\\\"209.6\\\" cy=\\\"34.372\\\" rx=\\\"23.2\\\" ry=\\\"23.181\\\"/><filter id=\\\"n\\\" width=\\\"186.2%\\\" height=\\\"186.3%\\\" x=\\\"-43.1%\\\" y=\\\"-34.5%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"4\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"6\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" values=\\\"0 0 0 0 0.458823529 0 0 0 0 0.529411765 0 0 0 0 0.619607843 0 0 0 0.4 0\\\"/></filter><filter id=\\\"p\\\" width=\\\"156%\\\" height=\\\"156.1%\\\" x=\\\"-28%\\\" y=\\\"-19.4%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"-2\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetInner1\\\"/><feComposite in=\\\"shadowOffsetInner1\\\" in2=\\\"SourceAlpha\\\" k2=\\\"-1\\\" k3=\\\"1\\\" operator=\\\"arithmetic\\\" result=\\\"shadowInnerInner1\\\"/><feColorMatrix in=\\\"shadowInnerInner1\\\" values=\\\"0 0 0 0 0.160784314 0 0 0 0 0.160784314 0 0 0 0 0.160784314 0 0 0 0.1 0\\\"/></filter><ellipse id=\\\"r\\\" cx=\\\"23.2\\\" cy=\\\"69.544\\\" rx=\\\"23.2\\\" ry=\\\"23.181\\\"/><filter id=\\\"q\\\" width=\\\"186.2%\\\" height=\\\"186.3%\\\" x=\\\"-43.1%\\\" y=\\\"-34.5%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"4\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"6\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" values=\\\"0 0 0 0 0.792156863 0 0 0 0 0.815686275 0 0 0 0 0.870588235 0 0 0 0.6 0\\\"/></filter><filter id=\\\"s\\\" width=\\\"156%\\\" height=\\\"156.1%\\\" x=\\\"-28%\\\" y=\\\"-19.4%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"-2\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetInner1\\\"/><feComposite in=\\\"shadowOffsetInner1\\\" in2=\\\"SourceAlpha\\\" k2=\\\"-1\\\" k3=\\\"1\\\" operator=\\\"arithmetic\\\" result=\\\"shadowInnerInner1\\\"/><feColorMatrix in=\\\"shadowInnerInner1\\\" values=\\\"0 0 0 0 0.607843137 0 0 0 0 0.607843137 0 0 0 0 0.607843137 0 0 0 0.07 0\\\"/></filter><path id=\\\"u\\\" d=\\\"M29.2 64.481h-1v-1.98c0-2.73-2.24-4.948-5-4.948s-5 2.217-5 4.949v1.98h-1c-1.1 0-2 .89-2 1.978v9.897c0 1.089.9 1.98 2 1.98h12c1.1 0 2-.891 2-1.98V66.46c0-1.088-.9-1.979-2-1.979zm-6 8.907c-1.1 0-2-.89-2-1.98 0-1.088.9-1.979 2-1.979s2 .891 2 1.98c0 1.088-.9 1.98-2 1.98zm3.1-8.907h-6.2v-1.98c0-1.692 1.39-3.067 3.1-3.067 1.71 0 3.1 1.375 3.1 3.068v1.98z\\\"/><filter id=\\\"t\\\" width=\\\"231.2%\\\" height=\\\"201%\\\" x=\\\"-65.6%\\\" y=\\\"-36.1%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"3\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"3\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0\\\"/></filter><path id=\\\"w\\\" d=\\\"M27.119 11.912c-4.766-1.934-9.272-2.9-13.519-2.9S4.844 9.98.071 11.916l27.048-.005z\\\"/><filter id=\\\"v\\\" width=\\\"162.9%\\\" height=\\\"685.1%\\\" x=\\\"-31.4%\\\" y=\\\"-223.7%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"2\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"2.5\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0\\\"/></filter><path id=\\\"y\\\" d=\\\"M12.117 15.878c.447-.091.92-.136 1.42-.136.48 0 .923.041 1.328.126a4.109 4.109 0 0 1 3.786-2.518 4.112 4.112 0 0 1 4.108 4.116 4.112 4.112 0 0 1-4.108 4.117 4.112 4.112 0 0 1-4.075-4.639 5.534 5.534 0 0 0-1.038-.09c-.403 0-.781.034-1.135.101a4.112 4.112 0 0 1-4.076 4.627 4.112 4.112 0 0 1-4.108-4.116 4.112 4.112 0 0 1 4.108-4.116 4.109 4.109 0 0 1 3.79 2.528zm-3.79 4.592a3 3 0 0 0 2.997-3.004 3 3 0 0 0-2.997-3.003 3 3 0 0 0-2.998 3.003 3 3 0 0 0 2.998 3.004zm10.324 0a3 3 0 0 0 2.998-3.004 3 3 0 0 0-2.998-3.003 3 3 0 0 0-2.997 3.003 3 3 0 0 0 2.997 3.004z\\\"/><filter id=\\\"x\\\" width=\\\"191.7%\\\" height=\\\"306.5%\\\" x=\\\"-45.8%\\\" y=\\\"-79%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"2\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"2.5\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0\\\"/></filter><path id=\\\"A\\\" d=\\\"M8.549.334l3.62.68L18.762 0l2.11 6.675H6.439z\\\"/><filter id=\\\"z\\\" width=\\\"217.8%\\\" height=\\\"354.7%\\\" x=\\\"-58.9%\\\" y=\\\"-97.4%\\\" filterUnits=\\\"objectBoundingBox\\\"><feOffset dy=\\\"2\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"2.5\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0\\\"/></filter></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path fill=\\\"#FFF\\\" fill-opacity=\\\".3\\\" stroke=\\\"#DADFE5\\\" stroke-dasharray=\\\"7.2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"1.44\\\" d=\\\"M143.2 234.411c64.507 0 116.8-52.25 116.8-116.705S207.707 1 143.2 1 26.4 53.25 26.4 117.706c0 64.454 52.293 116.705 116.8 116.705z\\\"/><g transform=\\\"matrix(-1 0 0 1 220.04 89.92)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#a)\\\" xlink:href=\\\"#b\\\"/><use fill=\\\"url(#c)\\\" xlink:href=\\\"#b\\\"/><use fill=\\\"#000\\\" filter=\\\"url(#d)\\\" xlink:href=\\\"#b\\\"/></g><g fill=\\\"#FFF\\\" fill-opacity=\\\".9\\\" transform=\\\"translate(163.435 122.38)\\\"><ellipse cx=\\\"4.717\\\" cy=\\\"4.734\\\" rx=\\\"4.717\\\" ry=\\\"4.734\\\" style=\\\"mix-blend-mode:screen\\\"/><ellipse cx=\\\"19.542\\\" cy=\\\"4.734\\\" rx=\\\"4.717\\\" ry=\\\"4.734\\\" style=\\\"mix-blend-mode:screen\\\"/><ellipse cx=\\\"34.367\\\" cy=\\\"4.734\\\" rx=\\\"4.717\\\" ry=\\\"4.734\\\" style=\\\"mix-blend-mode:screen\\\"/></g><g transform=\\\"translate(66.4 65.748)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#e)\\\" xlink:href=\\\"#f\\\"/><use fill=\\\"#FFF\\\" xlink:href=\\\"#f\\\"/><use fill=\\\"#000\\\" filter=\\\"url(#g)\\\" xlink:href=\\\"#f\\\"/></g><g fill=\\\"#657993\\\" transform=\\\"translate(91.063 109.3)\\\"><ellipse cx=\\\"5.192\\\" cy=\\\"5.124\\\" rx=\\\"5.192\\\" ry=\\\"5.124\\\"/><ellipse cx=\\\"24.663\\\" cy=\\\"5.124\\\" rx=\\\"5.192\\\" ry=\\\"5.124\\\"/><ellipse cx=\\\"44.134\\\" cy=\\\"5.124\\\" rx=\\\"5.192\\\" ry=\\\"5.124\\\"/></g><g transform=\\\"translate(12 1)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#h)\\\" xlink:href=\\\"#i\\\"/><use fill=\\\"url(#j)\\\" xlink:href=\\\"#i\\\"/><use fill=\\\"#000\\\" filter=\\\"url(#k)\\\" xlink:href=\\\"#i\\\"/></g><g transform=\\\"translate(12 1)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#l)\\\" xlink:href=\\\"#m\\\"/><use fill=\\\"#FFF\\\" xlink:href=\\\"#m\\\"/></g><g transform=\\\"translate(12 1)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#n)\\\" xlink:href=\\\"#o\\\"/><use fill=\\\"#75879E\\\" xlink:href=\\\"#o\\\"/><use fill=\\\"#000\\\" filter=\\\"url(#p)\\\" xlink:href=\\\"#o\\\"/></g><g transform=\\\"translate(12 1)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#q)\\\" xlink:href=\\\"#r\\\"/><use fill=\\\"#CAD0DE\\\" xlink:href=\\\"#r\\\"/><use fill=\\\"#000\\\" filter=\\\"url(#s)\\\" xlink:href=\\\"#r\\\"/></g><g transform=\\\"translate(12 1)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#t)\\\" xlink:href=\\\"#u\\\"/><use fill=\\\"#FFF\\\" xlink:href=\\\"#u\\\"/></g><g transform=\\\"translate(208 24.98)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#v)\\\" xlink:href=\\\"#w\\\"/><use fill=\\\"#FFF\\\" xlink:href=\\\"#w\\\"/></g><g transform=\\\"translate(208 24.98)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#x)\\\" xlink:href=\\\"#y\\\"/><use fill=\\\"#FFF\\\" xlink:href=\\\"#y\\\"/></g><g transform=\\\"translate(208 24.98)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#z)\\\" xlink:href=\\\"#A\\\"/><use fill=\\\"#FFF\\\" xlink:href=\\\"#A\\\"/></g></g></svg>\",\n  \"img-group-message\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"120\\\" height=\\\"120\\\" viewBox=\\\"0 0 120 120\\\"><defs><circle id=\\\"a\\\" cx=\\\"60\\\" cy=\\\"60\\\" r=\\\"60\\\"/></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><mask id=\\\"b\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#a\\\"/></mask><use fill=\\\"#95A4B7\\\" xlink:href=\\\"#a\\\"/><path fill=\\\"#FFF\\\" fill-rule=\\\"nonzero\\\" d=\\\"M64.553 47.608c2.034 1.326 3.461 3.57 3.72 6.176a6.22 6.22 0 0 0 2.728.635c3.564 0 6.453-3.004 6.453-6.71C77.454 44.005 74.564 41 71 41c-3.53.001-6.394 2.951-6.448 6.608zm-4.228 13.738c3.564 0 6.454-3.004 6.454-6.71 0-3.705-2.89-6.709-6.454-6.709-3.564 0-6.454 3.004-6.454 6.71 0 3.705 2.89 6.709 6.454 6.709zm2.737.458h-5.475c-4.556 0-8.263 3.854-8.263 8.59v6.963l.017.11.461.15c4.348 1.412 8.126 1.883 11.234 1.883 6.073 0 9.593-1.8 9.81-1.915l.43-.227h.047v-6.963c.002-4.737-3.704-8.591-8.26-8.591zm10.677-6.927h-5.434a8.419 8.419 0 0 1-2.455 5.76c4.05 1.251 7.013 5.156 7.013 9.768v2.146c5.365-.205 8.456-1.786 8.66-1.892l.43-.227H82v-6.965c0-4.737-3.706-8.59-8.261-8.59zm-24.737-.457a6.233 6.233 0 0 0 3.432-1.036 8.372 8.372 0 0 1 3.002-5.296c.006-.125.018-.25.018-.377 0-3.706-2.89-6.71-6.452-6.71-3.565 0-6.454 3.004-6.454 6.71 0 3.705 2.889 6.709 6.454 6.709zm5.795 6.216a8.425 8.425 0 0 1-2.453-5.727c-.201-.016-.4-.032-.606-.032h-5.475c-4.556 0-8.263 3.853-8.263 8.59v6.964l.017.107.461.151c3.488 1.132 6.601 1.654 9.305 1.819v-2.103c.001-4.612 2.963-8.516 7.014-9.769z\\\" mask=\\\"url(#b)\\\"/></g></svg>\",\n  \"img-workspace-message\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"120\\\" height=\\\"120\\\" viewBox=\\\"0 0 120 120\\\"><defs><circle id=\\\"a\\\" cx=\\\"60\\\" cy=\\\"60\\\" r=\\\"60\\\"/></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><use fill=\\\"#38567B\\\" xlink:href=\\\"#a\\\"/><path fill=\\\"#FFF\\\" d=\\\"M42 62h16V42H42v20zm0 16h16V66H42v12zm20 0h16V58H62v20zm0-24h16V42H62v12z\\\"/></g></svg>\",\n  \"img_android\": \"<svg width=\\\"18\\\" height=\\\"22\\\" viewBox=\\\"0 0 18 22\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M3.6 16.2c0 .495.405.9.9.9h.9v3.15c0 .747.603 1.35 1.35 1.35.747 0 1.35-.603 1.35-1.35V17.1h1.8v3.15c0 .747.603 1.35 1.35 1.35.747 0 1.35-.603 1.35-1.35V17.1h.9c.495 0 .9-.405.9-.9v-9H3.6v9zm-2.25-9C.603 7.2 0 7.803 0 8.55v6.3c0 .747.603 1.35 1.35 1.35.747 0 1.35-.603 1.35-1.35v-6.3c0-.747-.603-1.35-1.35-1.35zm15.3 0c-.747 0-1.35.603-1.35 1.35v6.3c0 .747.603 1.35 1.35 1.35.747 0 1.35-.603 1.35-1.35v-6.3c0-.747-.603-1.35-1.35-1.35zm-4.473-5.256l1.17-1.17c.18-.18.18-.46 0-.64s-.46-.18-.64 0l-1.33 1.333A5.27 5.27 0 0 0 9 .9c-.864 0-1.674.207-2.394.567L5.266.135c-.18-.18-.46-.18-.64 0s-.18.46 0 .64l1.18 1.178A5.38 5.38 0 0 0 3.6 6.3h10.8a5.37 5.37 0 0 0-2.223-4.356zM6.3 3.6h.9v.9h-.9v-.9zm4.5 0h.9v.9h-.9v-.9z\\\" fill=\\\"#AAA\\\" fill-rule=\\\"evenodd\\\"/></svg>\",\n  \"img_apple\": \"<svg width=\\\"18\\\" height=\\\"22\\\" viewBox=\\\"0 0 18 22\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M12.172 3.572c-1.17 1.897-3.53 1.838-3.53 1.838S8.248 3.463 9.75 1.73C11.25 0 13.07 0 13.07 0s.272 1.674-.898 3.572zm2.82 1.877c1.462.586 2.34 1.863 2.34 1.863s-2.438 1.222-2.34 4.256C15.092 14.605 18 15.9 18 15.9s-1.115 2.463-2.222 3.9c-.602.78-1.89 1.842-2.822 1.842-.605 0-1.17-.345-1.81-.594-.572-.222-.743-.37-1.553-.412-.65-.034-1.548.228-2.03.487-.518.28-1.55.76-2.57.356-1.163-.46-2.21-1.697-3.06-3.18-1.6-2.79-1.9-5.1-1.93-6.504-.01-.51-.05-2.264 1.053-4.08C2.16 5.896 3.724 5.45 3.724 5.45s1.45-.64 3.364 0c1.098.365 1.66.736 2.374.67.715-.066 1.065-.37 2.05-.67.96-.294 2.447-.418 3.48 0z\\\" fill=\\\"#AAA\\\" fill-rule=\\\"evenodd\\\"/></svg>\",\n  \"img_invite\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 33 33\\\"><path d=\\\"M31 20.5c.8 0 1.5.7 1.5 1.5v9c0 .8-.7 1.5-1.5 1.5H19c-.8 0-1.5-.7-1.5-1.5v-9c0-.8.7-1.5 1.5-1.5h12zm-10.7-4.9c.7.4 1.4.9 1.8 1.5.5.6.9 1.3 1.3 2H18c-1.1 0-1.9.8-2 1.9v10.2c-1.2.1-2.4.2-3.9.2-6.5 0-9.6-1.3-11-2.3-.8-.5-1.2-1.9-1.1-2.8.3-4.3 2.3-7.5 3.5-9.1.4-.5 1.1-1.1 1.8-1.5 1.8 2.1 4.5 3.4 7.5 3.4 3-.2 5.6-1.5 7.5-3.5zM31 22l-6 3.8-6-3.8v1.5l6 3.8 6-3.8V22zM12.8 0c4.9 0 8.8 3.9 8.8 8.8 0 4.8-3.9 8.8-8.8 8.8S4 13.7 4 8.8 7.9 0 12.8 0z\\\"/></svg>\",\n  \"img_windows\": \"<svg width=\\\"18\\\" height=\\\"19\\\" viewBox=\\\"0 0 18 19\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M0 2.575l7.36-1.01v7.113H0m8.247-7.253L18 0v8.62H8.247M0 9.43h7.36v7.135L0 15.535m8.247-6.01H18v8.537L8.247 16.68\\\" fill=\\\"#AAA\\\"/></svg>\",\n  \"info\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"200 0 560 560\\\"><path d=\\\"M479.988 0C325.369 0 200 125.368 200 279.989 200 434.608 325.369 560 479.988 560S760 434.607 760 279.989C760 125.369 634.607 0 479.988 0zm58.287 433.944c-14.412 5.688-25.885 10.003-34.488 12.989-8.581 2.987-18.561 4.48-29.914 4.48-17.446 0-31.028-4.267-40.699-12.776-9.672-8.51-14.483-19.295-14.483-32.403 0-5.096.355-10.311 1.066-15.62.735-5.311 1.896-11.283 3.484-17.991l18.039-63.716c1.588-6.115 2.963-11.923 4.053-17.327 1.091-5.452 1.612-10.453 1.612-15.005 0-8.106-1.684-13.795-5.025-16.995-3.39-3.2-9.766-4.765-19.271-4.765-4.646 0-9.434.688-14.34 2.134-4.859 1.493-9.079 2.844-12.539 4.172l4.764-19.627c11.805-4.812 23.111-8.937 33.896-12.35 10.785-3.461 20.978-5.168 30.578-5.168 17.327 0 30.696 4.22 40.106 12.563 9.362 8.367 14.08 19.247 14.08 32.616 0 2.773-.332 7.656-.972 14.625-.641 6.993-1.85 13.369-3.604 19.224l-17.943 63.526c-1.47 5.096-2.773 10.927-3.959 17.445-1.161 6.519-1.73 11.496-1.73 14.839 0 8.438 1.873 14.198 5.666 17.256 3.745 3.058 10.311 4.599 19.603 4.599 4.385 0 9.292-.782 14.839-2.299 5.499-1.518 9.481-2.868 11.994-4.03l-4.813 19.604zM535.1 176.095c-8.368 7.774-18.441 11.662-30.223 11.662-11.757 0-21.902-3.888-30.341-11.662-8.391-7.775-12.634-17.232-12.634-28.278 0-11.022 4.267-20.504 12.634-28.35 8.438-7.87 18.584-11.781 30.341-11.781 11.781 0 21.879 3.911 30.223 11.781 8.367 7.846 12.563 17.327 12.563 28.35-.001 11.069-4.196 20.503-12.563 28.278z\\\"/></svg>\",\n  \"info_2\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\"><path fill-rule=\\\"evenodd\\\" d=\\\"M10 0C4.48 0 0 4.48 0 10s4.48 10 10 10 10-4.48 10-10S15.52 0 10 0zM9 9h2v6H9V9zm0-4h2v2H9V5z\\\"/></svg>\",\n  \"key\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"300\\\" height=\\\"300\\\" viewBox=\\\"0 0 300 300\\\"><path d=\\\"M287.305 243.005a7.478 7.478 0 0 0-2.227-4.747L172.835 126.015c4.416-10.403 6.747-21.669 6.747-33.312 0-22.754-8.875-44.163-24.938-60.266C138.558 16.366 117.164 7.5 94.397 7.5c-22.778 0-44.135 8.869-60.247 24.95C.907 65.675.9 119.716 34.145 152.938c16.111 16.115 37.475 24.99 60.241 24.99a85.029 85.029 0 0 0 33.312-6.772l36.874 36.902a7.714 7.714 0 0 0 5.74 2.248l20.095-.705-.656 20.145c-.062 2.125.705 4.193 2.245 5.706a7.572 7.572 0 0 0 5.685 2.248l20.169-.689-.724 20.123a7.85 7.85 0 0 0 2.238 5.712c1.534 1.512 3.321 2.325 5.74 2.251l20.119-.684-.674 20.126c-.118 2.232.822 4.379 2.418 5.903 1.472 1.339 3.309 2.06 5.245 2.06.278 0 .563-.012.847-.037l30.851-3.426c4.169-.455 7.205-4.175 6.847-8.353l-3.452-37.681zM84.106 82.415c-9.476 9.466-24.796 9.466-34.252 0-9.47-9.469-9.47-24.786 0-34.246 9.456-9.46 24.771-9.469 34.252-.003 9.457 9.459 9.451 24.786 0 34.249zm176.864 163.16c-1.126 1.126-2.635 1.688-4.101 1.688s-2.976-.563-4.101-1.688l-95.501-95.529a81.5 81.5 0 0 0 7.273-9.058l96.429 96.41c2.252 2.252 2.252 5.926.001 8.177z\\\"/></svg>\",\n  \"license\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 220 220\\\"><path d=\\\"M110 97.5c-6.893 0-12.5 5.607-12.5 12.5s5.607 12.5 12.5 12.5 12.5-5.607 12.5-12.5-5.607-12.5-12.5-12.5zm0 21.59c-5.013 0-9.09-4.077-9.09-9.09s4.077-9.09 9.09-9.09 9.09 4.077 9.09 9.09-4.077 9.09-9.09 9.09zm3.377-7.015l1.843 1.712-.929.813a6.355 6.355 0 0 1-4.183 1.579c-3.449 0-6.254-2.748-6.254-6.125 0-3.37 2.805-6.11 6.254-6.11 1.536 0 3.016.555 4.17 1.564l.894.783-1.766 1.767-.785-.693c-.674-.596-1.567-.924-2.513-.924-2.072 0-3.757 1.62-3.757 3.613 0 2 1.685 3.627 3.757 3.627.936 0 1.828-.333 2.513-.938l.756-.668z\\\"/></svg>\",\n  \"list\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"200 35 560 490\\\"><circle cx=\\\"235\\\" cy=\\\"70\\\" r=\\\"35\\\"/><circle cx=\\\"235\\\" cy=\\\"210\\\" r=\\\"35\\\"/><circle cx=\\\"235\\\" cy=\\\"350\\\" r=\\\"35\\\"/><circle cx=\\\"235\\\" cy=\\\"490\\\" r=\\\"35\\\"/><path d=\\\"M340 35h420v70H340zM340 175h420v70H340zM340 315h420v70H340zM340 455h420v70H340z\\\"/></svg>\",\n  \"loader\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 100 100\\\" preserveAspectRatio=\\\"xMidYMid\\\"><path fill=\\\"none\\\" class=\\\"bk\\\" d=\\\"M0 0h100v100H0z\\\"/><rect x=\\\"46.5\\\" y=\\\"40\\\" width=\\\"7\\\" height=\\\"20\\\" rx=\\\"5\\\" ry=\\\"5\\\" transform=\\\"translate(0 -30)\\\"><animate attributeName=\\\"opacity\\\" from=\\\"1\\\" to=\\\"0\\\" dur=\\\"1s\\\" begin=\\\"0s\\\" repeatCount=\\\"indefinite\\\"/></rect><rect x=\\\"46.5\\\" y=\\\"40\\\" width=\\\"7\\\" height=\\\"20\\\" rx=\\\"5\\\" ry=\\\"5\\\" transform=\\\"rotate(30 105.98 65)\\\"><animate attributeName=\\\"opacity\\\" from=\\\"1\\\" to=\\\"0\\\" dur=\\\"1s\\\" begin=\\\"0.08333333333333333s\\\" repeatCount=\\\"indefinite\\\"/></rect><rect x=\\\"46.5\\\" y=\\\"40\\\" width=\\\"7\\\" height=\\\"20\\\" rx=\\\"5\\\" ry=\\\"5\\\" transform=\\\"rotate(60 75.98 65)\\\"><animate attributeName=\\\"opacity\\\" from=\\\"1\\\" to=\\\"0\\\" dur=\\\"1s\\\" begin=\\\"0.16666666666666666s\\\" repeatCount=\\\"indefinite\\\"/></rect><rect x=\\\"46.5\\\" y=\\\"40\\\" width=\\\"7\\\" height=\\\"20\\\" rx=\\\"5\\\" ry=\\\"5\\\" transform=\\\"rotate(90 65 65)\\\"><animate attributeName=\\\"opacity\\\" from=\\\"1\\\" to=\\\"0\\\" dur=\\\"1s\\\" begin=\\\"0.25s\\\" repeatCount=\\\"indefinite\\\"/></rect><rect x=\\\"46.5\\\" y=\\\"40\\\" width=\\\"7\\\" height=\\\"20\\\" rx=\\\"5\\\" ry=\\\"5\\\" transform=\\\"rotate(120 58.66 65)\\\"><animate attributeName=\\\"opacity\\\" from=\\\"1\\\" to=\\\"0\\\" dur=\\\"1s\\\" begin=\\\"0.3333333333333333s\\\" repeatCount=\\\"indefinite\\\"/></rect><rect x=\\\"46.5\\\" y=\\\"40\\\" width=\\\"7\\\" height=\\\"20\\\" rx=\\\"5\\\" ry=\\\"5\\\" transform=\\\"rotate(150 54.02 65)\\\"><animate attributeName=\\\"opacity\\\" from=\\\"1\\\" to=\\\"0\\\" dur=\\\"1s\\\" begin=\\\"0.4166666666666667s\\\" repeatCount=\\\"indefinite\\\"/></rect><rect x=\\\"46.5\\\" y=\\\"40\\\" width=\\\"7\\\" height=\\\"20\\\" rx=\\\"5\\\" ry=\\\"5\\\" transform=\\\"rotate(180 50 65)\\\"><animate attributeName=\\\"opacity\\\" from=\\\"1\\\" to=\\\"0\\\" dur=\\\"1s\\\" begin=\\\"0.5s\\\" repeatCount=\\\"indefinite\\\"/></rect><rect x=\\\"46.5\\\" y=\\\"40\\\" width=\\\"7\\\" height=\\\"20\\\" rx=\\\"5\\\" ry=\\\"5\\\" transform=\\\"rotate(-150 45.98 65)\\\"><animate attributeName=\\\"opacity\\\" from=\\\"1\\\" to=\\\"0\\\" dur=\\\"1s\\\" begin=\\\"0.5833333333333334s\\\" repeatCount=\\\"indefinite\\\"/></rect><rect x=\\\"46.5\\\" y=\\\"40\\\" width=\\\"7\\\" height=\\\"20\\\" rx=\\\"5\\\" ry=\\\"5\\\" transform=\\\"rotate(-120 41.34 65)\\\"><animate attributeName=\\\"opacity\\\" from=\\\"1\\\" to=\\\"0\\\" dur=\\\"1s\\\" begin=\\\"0.6666666666666666s\\\" repeatCount=\\\"indefinite\\\"/></rect><rect x=\\\"46.5\\\" y=\\\"40\\\" width=\\\"7\\\" height=\\\"20\\\" rx=\\\"5\\\" ry=\\\"5\\\" transform=\\\"rotate(-90 35 65)\\\"><animate attributeName=\\\"opacity\\\" from=\\\"1\\\" to=\\\"0\\\" dur=\\\"1s\\\" begin=\\\"0.75s\\\" repeatCount=\\\"indefinite\\\"/></rect><rect x=\\\"46.5\\\" y=\\\"40\\\" width=\\\"7\\\" height=\\\"20\\\" rx=\\\"5\\\" ry=\\\"5\\\" transform=\\\"rotate(-60 24.02 65)\\\"><animate attributeName=\\\"opacity\\\" from=\\\"1\\\" to=\\\"0\\\" dur=\\\"1s\\\" begin=\\\"0.8333333333333334s\\\" repeatCount=\\\"indefinite\\\"/></rect><rect x=\\\"46.5\\\" y=\\\"40\\\" width=\\\"7\\\" height=\\\"20\\\" rx=\\\"5\\\" ry=\\\"5\\\" transform=\\\"rotate(-30 -5.98 65)\\\"><animate attributeName=\\\"opacity\\\" from=\\\"1\\\" to=\\\"0\\\" dur=\\\"1s\\\" begin=\\\"0.9166666666666666s\\\" repeatCount=\\\"indefinite\\\"/></rect></svg>\",\n  \"loading-bars\": \"<svg viewBox=\\\"0 0 135 140\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect y=\\\"10\\\" width=\\\"15\\\" height=\\\"120\\\" rx=\\\"6\\\"><animate attributeName=\\\"height\\\" begin=\\\"0.5s\\\" dur=\\\"1s\\\" values=\\\"120;110;100;90;80;70;60;50;40;140;120\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"/><animate attributeName=\\\"y\\\" begin=\\\"0.5s\\\" dur=\\\"1s\\\" values=\\\"10;15;20;25;30;35;40;45;50;0;10\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"/></rect><rect x=\\\"30\\\" y=\\\"10\\\" width=\\\"15\\\" height=\\\"120\\\" rx=\\\"6\\\"><animate attributeName=\\\"height\\\" begin=\\\"0.25s\\\" dur=\\\"1s\\\" values=\\\"120;110;100;90;80;70;60;50;40;140;120\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"/><animate attributeName=\\\"y\\\" begin=\\\"0.25s\\\" dur=\\\"1s\\\" values=\\\"10;15;20;25;30;35;40;45;50;0;10\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"/></rect><rect x=\\\"60\\\" width=\\\"15\\\" height=\\\"140\\\" rx=\\\"6\\\"><animate attributeName=\\\"height\\\" begin=\\\"0s\\\" dur=\\\"1s\\\" values=\\\"120;110;100;90;80;70;60;50;40;140;120\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"/><animate attributeName=\\\"y\\\" begin=\\\"0s\\\" dur=\\\"1s\\\" values=\\\"10;15;20;25;30;35;40;45;50;0;10\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"/></rect><rect x=\\\"90\\\" y=\\\"10\\\" width=\\\"15\\\" height=\\\"120\\\" rx=\\\"6\\\"><animate attributeName=\\\"height\\\" begin=\\\"0.25s\\\" dur=\\\"1s\\\" values=\\\"120;110;100;90;80;70;60;50;40;140;120\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"/><animate attributeName=\\\"y\\\" begin=\\\"0.25s\\\" dur=\\\"1s\\\" values=\\\"10;15;20;25;30;35;40;45;50;0;10\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"/></rect><rect x=\\\"120\\\" y=\\\"10\\\" width=\\\"15\\\" height=\\\"120\\\" rx=\\\"6\\\"><animate attributeName=\\\"height\\\" begin=\\\"0.5s\\\" dur=\\\"1s\\\" values=\\\"120;110;100;90;80;70;60;50;40;140;120\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"/><animate attributeName=\\\"y\\\" begin=\\\"0.5s\\\" dur=\\\"1s\\\" values=\\\"10;15;20;25;30;35;40;45;50;0;10\\\" calcMode=\\\"linear\\\" repeatCount=\\\"indefinite\\\"/></rect></svg>\",\n  \"loading-ovale\": \"<svg viewBox=\\\"0 0 38 38\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" stroke=\\\"#fff\\\"><g transform=\\\"translate(1 1)\\\" stroke-width=\\\"2\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><circle stroke-opacity=\\\".5\\\" cx=\\\"18\\\" cy=\\\"18\\\" r=\\\"18\\\"/><path d=\\\"M36 18c0-9.94-8.06-18-18-18\\\"><animateTransform attributeName=\\\"transform\\\" type=\\\"rotate\\\" from=\\\"0 18 18\\\" to=\\\"360 18 18\\\" dur=\\\"1s\\\" repeatCount=\\\"indefinite\\\"/></path></g></svg>\",\n  \"loading-round\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M22.13 12c1.032 0 1.885-.843 1.724-1.863a12 12 0 0 0-9.99-9.991C12.842-.014 12 .838 12 1.87c0 1.033.848 1.85 1.855 2.082a8.259 8.259 0 0 1 6.192 6.192C20.28 11.152 21.096 12 22.13 12z\\\" fill=\\\"#fff\\\"/></svg>\",\n  \"lock-chat\": \"<svg version=\\\"1.1\\\" id=\\\"Calque_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0\\\" y=\\\"0\\\" viewBox=\\\"0 0 49.12 89.3\\\" xml:space=\\\"preserve\\\"><style>.st0{fill:#fff}</style><path class=\\\"st0\\\" d=\\\"M39.93 21.22h-2.52v-5.03c0-6.95-5.64-12.58-12.58-12.58-6.95 0-12.58 5.64-12.58 12.58v5.03H9.73a5.04 5.04 0 0 0-5.03 5.03v25.17a5.04 5.04 0 0 0 5.03 5.03h30.2a5.04 5.04 0 0 0 5.03-5.03V26.26c.01-2.77-2.26-5.04-5.03-5.04zm-15.1 22.65a5.04 5.04 0 0 1-5.03-5.03c0-2.77 2.26-5.03 5.03-5.03s5.03 2.27 5.03 5.03c.01 2.77-2.26 5.03-5.03 5.03zm7.8-22.65h-15.6v-5.03c0-4.3 3.5-7.8 7.8-7.8s7.8 3.5 7.8 7.8v5.03zM43.33 75.45c-.45 0-.83.16-1.14.49l-4.49 4.47V66.18c0-.45-.16-.83-.47-1.14-.33-.33-.71-.49-1.16-.49s-.83.16-1.14.49c-.33.31-.49.7-.49 1.14V80.4l-4.47-4.47c-.33-.33-.71-.49-1.16-.49s-.83.16-1.14.49c-.33.31-.49.7-.49 1.14s.16.84.49 1.16l7.27 7.27c.31.31.7.47 1.14.47s.84-.16 1.16-.47l7.27-7.27c.31-.33.47-.71.47-1.16s-.16-.83-.47-1.14c-.34-.32-.73-.48-1.18-.48zM14.75 65.02c-.31-.31-.7-.47-1.14-.47s-.84.16-1.16.47l-7.27 7.27c-.32.32-.48.71-.48 1.16s.16.83.47 1.14c.33.33.71.49 1.16.49s.83-.16 1.14-.49l4.49-4.47v14.22c0 .45.16.83.47 1.14.33.33.71.49 1.16.49s.83-.16 1.14-.49c.33-.31.49-.7.49-1.14V70.13l4.47 4.47c.33.33.71.49 1.16.49s.83-.16 1.14-.49c.33-.31.49-.7.49-1.14s-.16-.84-.49-1.16l-7.24-7.28z\\\"/></svg>\",\n  \"lock-closed\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0.8 0 6.755 8.727\\\"><path d=\\\"M6.71 2.909h-.423v-.831C6.287.931 5.342 0 4.177 0S2.066.931 2.066 2.078v.831h-.422A.84.84 0 0 0 .8 3.74v4.156c0 .457.38.831.844.831H6.71a.841.841 0 0 0 .845-.831V3.74a.841.841 0 0 0-.845-.831zM4.177 6.648a.84.84 0 0 1-.844-.831c0-.457.38-.831.844-.831s.844.374.844.831a.839.839 0 0 1-.844.831zm1.309-3.739H2.869v-.831A1.3 1.3 0 0 1 4.178.79a1.3 1.3 0 0 1 1.309 1.288v.831h-.001z\\\"/></svg>\",\n  \"lock-opened\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0.8 0 6.75 8.73\\\"><path d=\\\"M6.706 2.91h-.422v-.831C6.284.931 5.34 0 4.175 0 4.116 0 4.058.002 4 .007v.794a1.3 1.3 0 0 1 1.483 1.278v.831H1.644a.84.84 0 0 0-.844.831v4.157c0 .457.38.832.844.832h5.063a.841.841 0 0 0 .844-.832V3.741a.842.842 0 0 0-.845-.831zM4.171 6.656a.837.837 0 0 1-.84-.833c0-.461.376-.834.84-.834.465 0 .84.374.84.834 0 .46-.375.833-.84.833z\\\"/></svg>\",\n  \"lock\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"550.004\\\" height=\\\"550\\\" viewBox=\\\"75.004 74.5 550.004 550\\\"><g fill=\\\"#2196F3\\\"><path d=\\\"M361.666 222.237v57.756c0 6.44-5.227 11.667-11.667 11.667-6.452 0-11.667-5.227-11.667-11.667v-57.756c-65.316 5.927-116.679 60.93-116.679 127.763 0 70.767 57.57 128.347 128.347 128.347 70.765 0 128.346-57.58 128.345-128.347 0-66.834-51.374-121.835-116.679-127.763z\\\"/><path d=\\\"M350 104.976c-135.113 0-245.024 109.911-245.024 245.024 0 135.102 109.911 245.025 245.024 245.025 135.102 0 245.023-109.922 245.025-245.025.001-135.113-109.923-245.024-245.025-245.024zm218.318 206.509c1.12 6.347-3.116 12.403-9.464 13.522l-22.974 4.062c-.677.116-1.365.175-2.03.175-5.566 0-10.478-3.979-11.481-9.639-1.12-6.347 3.116-12.402 9.463-13.522l22.963-4.062c6.312-1.119 12.403 3.118 13.523 9.464zm-62.471-64.943l20.209-11.667c5.565-3.243 12.707-1.307 15.927 4.271 3.231 5.577 1.318 12.719-4.259 15.938l-20.209 11.667a11.585 11.585 0 0 1-5.822 1.563c-4.036 0-7.957-2.088-10.116-5.833-3.22-5.578-1.307-12.719 4.27-15.939zm-44.782-47.056l14.981-17.887c4.142-4.935 11.492-5.588 16.452-1.447 4.924 4.142 5.577 11.505 1.446 16.452l-14.993 17.875c-2.298 2.752-5.612 4.165-8.949 4.165-2.636 0-5.297-.886-7.49-2.718-4.935-4.143-5.575-11.505-1.447-16.44zm-58.173-28.913l7.969-21.923c2.205-6.055 8.913-9.194 14.946-6.989 6.055 2.206 9.182 8.891 6.988 14.946l-7.969 21.936c-1.715 4.736-6.195 7.688-10.968 7.688-1.317 0-2.661-.234-3.979-.712-6.055-2.194-9.182-8.892-6.987-14.946zm-52.903-42.274H350c6.44 0 11.655 5.216 11.668 11.656l.011 23.336c0 6.44-5.228 11.667-11.667 11.667-6.453 0-11.668-5.215-11.668-11.656l-.012-23.336c-.011-6.44 5.216-11.667 11.657-11.667zm-75.821 13.373c6.033-2.229 12.754.909 14.959 6.965l7.981 21.924c2.205 6.056-.909 12.741-6.966 14.946a11.315 11.315 0 0 1-3.989.712c-4.762 0-9.229-2.94-10.957-7.678l-7.993-21.923c-2.205-6.056.91-12.741 6.965-14.946zm-66.678 38.49c4.947-4.142 12.298-3.5 16.439 1.436l15.005 17.864c4.154 4.935 3.501 12.297-1.423 16.439a11.606 11.606 0 0 1-7.503 2.73 11.627 11.627 0 0 1-8.938-4.165l-15.003-17.865c-4.155-4.934-3.513-12.297 1.423-16.439zm-49.484 58.992c3.209-5.589 10.339-7.515 15.927-4.282l20.22 11.656c5.578 3.222 7.49 10.349 4.271 15.939-2.157 3.745-6.078 5.834-10.115 5.834-1.974 0-3.979-.5-5.812-1.563l-20.22-11.656c-5.578-3.22-7.492-10.35-4.271-15.928zm-26.334 72.342c1.121-6.359 7.175-10.605 13.512-9.475l22.974 4.049c6.347 1.121 10.583 7.166 9.475 13.512a11.689 11.689 0 0 1-11.482 9.65c-.677 0-1.354-.059-2.03-.176l-22.974-4.049c-6.348-1.12-10.584-7.163-9.475-13.511zm11.482 86.634c-5.555 0-10.479-3.979-11.481-9.649-1.108-6.348 3.115-12.392 9.463-13.512l22.974-4.061c6.335-1.084 12.403 3.116 13.523 9.463 1.107 6.348-3.116 12.403-9.464 13.523l-22.974 4.049c-.688.128-1.365.187-2.041.187zm50.987 55.308l-20.197 11.667a11.6 11.6 0 0 1-5.821 1.563c-4.037 0-7.957-2.089-10.116-5.834-3.22-5.577-1.317-12.719 4.271-15.938l20.196-11.668c5.565-3.243 12.718-1.306 15.938 4.271 3.219 5.576 1.317 12.718-4.271 15.939zm44.793 47.056l-14.992 17.887a11.654 11.654 0 0 1-8.949 4.165c-2.648 0-5.308-.898-7.49-2.73-4.947-4.142-5.588-11.505-1.446-16.429l14.992-17.887c4.142-4.949 11.503-5.578 16.439-1.437 4.934 4.142 5.587 11.505 1.446 16.431zm58.176 28.913l-7.981 21.936a11.68 11.68 0 0 1-10.967 7.688 11.59 11.59 0 0 1-3.979-.712c-6.056-2.205-9.183-8.902-6.977-14.959l7.969-21.936c2.218-6.056 8.938-9.147 14.958-6.978 6.055 2.206 9.17 8.904 6.977 14.961zm64.558 30.614c0 6.44-5.228 11.668-11.668 11.668-6.452 0-11.667-5.228-11.667-11.668v-23.336A11.657 11.657 0 0 1 350 525.017c6.44 0 11.668 5.216 11.668 11.668v23.336zm64.15-1.705c-1.318.479-2.659.7-3.99.7-4.771 0-9.24-2.939-10.967-7.688l-7.981-21.924c-2.194-6.056.933-12.74 6.988-14.946 6.033-2.205 12.741.911 14.946 6.978l7.981 21.923c2.194 6.055-.922 12.752-6.977 14.957zM350 501.682c-83.646 0-151.681-68.046-151.681-151.682 0-83.646 68.035-151.681 151.681-151.681 83.635 0 151.682 68.035 151.682 151.681 0 83.636-68.046 151.682-151.682 151.682zm142.498 18.131a11.613 11.613 0 0 1-7.49 2.73 11.63 11.63 0 0 1-8.949-4.165l-14.993-17.875c-4.142-4.935-3.5-12.298 1.436-16.439 4.935-4.13 12.298-3.5 16.439 1.447l14.993 17.873c4.141 4.924 3.5 12.287-1.436 16.429zm49.494-58.979a11.673 11.673 0 0 1-10.115 5.835 11.57 11.57 0 0 1-5.822-1.563l-20.209-11.656c-5.577-3.232-7.49-10.361-4.271-15.938 3.222-5.59 10.339-7.503 15.939-4.282l20.209 11.667c5.578 3.218 7.492 10.359 4.269 15.937zm26.326-72.352c-.993 5.659-5.917 9.649-11.481 9.649-.665 0-1.342-.06-2.041-.188l-22.963-4.049c-6.349-1.121-10.584-7.176-9.464-13.512 1.109-6.349 7.129-10.56 13.512-9.464l22.974 4.049c6.346 1.123 10.583 7.167 9.463 13.515z\\\"/><path d=\\\"M350.007 74.5c-151.879 0-275.003 123.122-275.003 275 0 151.879 123.125 275 275.003 275 151.873 0 275.001-123.121 275.001-275 0-151.878-123.128-275-275.001-275zM350 618.361C202.029 618.361 81.64 497.973 81.64 350 81.64 202.016 202.029 81.639 350 81.639S618.36 202.017 618.361 350C618.362 497.973 497.973 618.361 350 618.361z\\\"/></g></svg>\",\n  \"lock_icon\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"14\\\" height=\\\"18\\\" viewBox=\\\"0 0 14 18\\\"><path fill=\\\"#F08579\\\" fill-rule=\\\"evenodd\\\" d=\\\"M11.909 5.861h-.85V4.187C11.058 1.876 9.152 0 6.804 0S2.552 1.876 2.552 4.187V5.86h-.85C.765 5.861 0 6.615 0 7.536v8.373c0 .922.766 1.675 1.701 1.675H11.91c.935 0 1.701-.753 1.701-1.675V7.536c0-.921-.766-1.675-1.701-1.675zm-5.104 7.536c-.936 0-1.701-.753-1.701-1.674 0-.921.765-1.675 1.701-1.675s1.701.754 1.701 1.675c0 .92-.765 1.674-1.701 1.674zm2.637-7.536H4.168V4.187c0-1.432 1.182-2.596 2.637-2.596s2.637 1.164 2.637 2.596V5.86z\\\"/></svg>\",\n  \"locked_lock\": \"<svg viewBox=\\\"0 0 24 28\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"><defs><path d=\\\"M10.977.07L.004 6.908s-.532 13.29 10.973 18.938C23.29 20.42 21.899 6.907 21.899 6.907L10.977.07z\\\" id=\\\"a\\\"/><filter x=\\\"-9.1%\\\" y=\\\"-3.9%\\\" width=\\\"118.2%\\\" height=\\\"115.5%\\\" filterUnits=\\\"objectBoundingBox\\\" id=\\\"b\\\"><feOffset dy=\\\"1\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur stdDeviation=\\\".5\\\" in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\"/><feComposite in=\\\"shadowBlurOuter1\\\" in2=\\\"SourceAlpha\\\" operator=\\\"out\\\" result=\\\"shadowBlurOuter1\\\"/><feColorMatrix values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\\\" in=\\\"shadowBlurOuter1\\\"/></filter></defs><g transform=\\\"translate(1)\\\" fill-rule=\\\"evenodd\\\"><mask id=\\\"c\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#a\\\"/></mask><use filter=\\\"url(#b)\\\" xlink:href=\\\"#a\\\"/><use xlink:href=\\\"#a\\\"/><path stroke=\\\"#FFF\\\" stroke-width=\\\"1.53\\\" d=\\\"M10.976.973L.766 7.333c.003.234.012.512.03.83.044.736.13 1.535.268 2.379.378 2.308 1.083 4.595 2.192 6.726 1.71 3.285 4.24 5.932 7.739 7.73 3.833-1.77 6.487-4.466 8.156-7.854.954-1.935 1.542-4.008 1.83-6.119.194-1.416.232-2.674.182-3.677L10.976.973z\\\"/><g mask=\\\"url(#c)\\\" fill=\\\"#FFF\\\"><path d=\\\"M14.501 10.36h-.58V9.252c0-1.53-1.3-2.77-2.903-2.77-1.602 0-2.902 1.24-2.902 2.77v1.108h-.58c-.639 0-1.161.499-1.161 1.108v5.54c0 .61.522 1.109 1.16 1.109h6.966c.639 0 1.16-.499 1.16-1.108v-5.541c0-.61-.521-1.108-1.16-1.108zm-3.483 4.986c-.638 0-1.16-.498-1.16-1.108 0-.61.522-1.108 1.16-1.108.639 0 1.161.499 1.161 1.108 0 .61-.522 1.108-1.16 1.108zm1.8-4.986H9.219V9.252c0-.948.807-1.718 1.8-1.718.992 0 1.799.77 1.799 1.718v1.108z\\\"/></g></g></svg>\",\n  \"logo-android\": \"<svg viewBox=\\\"0 0 18 22\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M3.6 16.2c0 .495.405.9.9.9h.9v3.15c0 .747.603 1.35 1.35 1.35.747 0 1.35-.603 1.35-1.35V17.1h1.8v3.15c0 .747.603 1.35 1.35 1.35.747 0 1.35-.603 1.35-1.35V17.1h.9c.495 0 .9-.405.9-.9v-9H3.6v9zm-2.25-9C.603 7.2 0 7.803 0 8.55v6.3c0 .747.603 1.35 1.35 1.35.747 0 1.35-.603 1.35-1.35v-6.3c0-.747-.603-1.35-1.35-1.35zm15.3 0c-.747 0-1.35.603-1.35 1.35v6.3c0 .747.603 1.35 1.35 1.35.747 0 1.35-.603 1.35-1.35v-6.3c0-.747-.603-1.35-1.35-1.35zm-4.473-5.256l1.17-1.17c.18-.18.18-.46 0-.64s-.46-.18-.64 0l-1.33 1.333A5.27 5.27 0 0 0 9 .9c-.864 0-1.674.207-2.394.567L5.266.135c-.18-.18-.46-.18-.64 0s-.18.46 0 .64l1.18 1.178A5.38 5.38 0 0 0 3.6 6.3h10.8a5.37 5.37 0 0 0-2.223-4.356zM6.3 3.6h.9v.9h-.9v-.9zm4.5 0h.9v.9h-.9v-.9z\\\" fill-rule=\\\"evenodd\\\"/></svg>\",\n  \"logo-apple\": \"<svg viewBox=\\\"0 0 18 22\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M12.172 3.572c-1.17 1.897-3.53 1.838-3.53 1.838S8.248 3.463 9.75 1.73C11.25 0 13.07 0 13.07 0s.272 1.674-.898 3.572zm2.82 1.877c1.462.586 2.34 1.863 2.34 1.863s-2.438 1.222-2.34 4.256C15.092 14.605 18 15.9 18 15.9s-1.115 2.463-2.222 3.9c-.602.78-1.89 1.842-2.822 1.842-.605 0-1.17-.345-1.81-.594-.572-.222-.743-.37-1.553-.412-.65-.034-1.548.228-2.03.487-.518.28-1.55.76-2.57.356-1.163-.46-2.21-1.697-3.06-3.18-1.6-2.79-1.9-5.1-1.93-6.504-.01-.51-.05-2.264 1.053-4.08C2.16 5.896 3.724 5.45 3.724 5.45s1.45-.64 3.364 0c1.098.365 1.66.736 2.374.67.715-.066 1.065-.37 2.05-.67.96-.294 2.447-.418 3.48 0z\\\" fill-rule=\\\"evenodd\\\"/></svg>\",\n  \"logo-windows\": \"<svg viewBox=\\\"0 0 18 19\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M0 2.575l7.36-1.01v7.113H0m8.247-7.253L18 0v8.62H8.247M0 9.43h7.36v7.135L0 15.535m8.247-6.01H18v8.537L8.247 16.68\\\"/></svg>\",\n  \"logo\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 231.432 141.937\\\"><g class=\\\"first-arrow\\\"><path opacity=\\\".55\\\" d=\\\"M68.396 21.992L46.393 43.995h22.003z\\\"/><path opacity=\\\".35\\\" d=\\\"M46.394 21.994L24.389 43.993h22.005z\\\"/><path opacity=\\\".25\\\" d=\\\"M68.396 21.994L46.394 43.993V21.994z\\\"/><path opacity=\\\".45\\\" d=\\\"M68.396 21.994l21.997 21.999H68.396z\\\"/><path opacity=\\\".3\\\" d=\\\"M68.396 21.994l21.997 21.999V21.994z\\\"/><path d=\\\"M46.394 43.993l21.997 22.004H46.394z\\\" opacity=\\\".35\\\"/><path opacity=\\\".45\\\" d=\\\"M90.393 44.009L68.396 66.013h21.997z\\\"/><path opacity=\\\".25\\\" d=\\\"M90.393 43.993L68.396 65.997V43.993z\\\"/><path opacity=\\\".45\\\" d=\\\"M90.392 0l22.005 21.994H90.392z\\\"/><path opacity=\\\".65\\\" d=\\\"M112.398 21.989L90.393 43.993h22.005z\\\"/><path opacity=\\\".25\\\" d=\\\"M112.395 21.994L90.396 43.993V21.994z\\\"/><path opacity=\\\".45\\\" d=\\\"M90.393 87.983l21.999-21.993H90.393zM112.392 65.99L90.393 43.993h21.999z\\\"/><path opacity=\\\".35\\\" d=\\\"M112.392 65.99L90.393 43.993V65.99z\\\"/><path opacity=\\\".25\\\" d=\\\"M112.392 65.994l22.005-22.001h-22.005z\\\"/><path opacity=\\\".35\\\" d=\\\"M134.403 43.993l-22.005-21.999v21.999z\\\"/><path opacity=\\\".25\\\" d=\\\"M38.092 47.195L16.095 69.197h21.997zM38.092 20.613L16.095 42.618V20.613z\\\"/><path opacity=\\\".15\\\" d=\\\"M22.004 55.011L0 33.012v21.999z\\\"/><path opacity=\\\".45\\\" d=\\\"M46.402 43.993l21.994 22.004V43.993z\\\"/></g><g class=\\\"second-arrow\\\"><path opacity=\\\".51\\\" d=\\\"M163.033 119.945l22.006-22.004h-22.006z\\\"/><path opacity=\\\".9\\\" d=\\\"M185.039 119.942l22.004-21.998h-22.004z\\\"/><path d=\\\"M163.033 119.942l22.006-21.998v21.998z\\\"/><path opacity=\\\".9\\\" d=\\\"M163.033 119.942l-21.994-21.998h21.994z\\\"/><path opacity=\\\".51\\\" d=\\\"M163.033 119.942l-21.994-21.998v21.998zM185.039 97.947l-21.998-22.003h21.998z\\\"/><path d=\\\"M141.039 97.944l21.994-22.004h-21.994z\\\"/><path opacity=\\\".51\\\" d=\\\"M141.039 97.944l21.994-22.004v22.004z\\\"/><path opacity=\\\".72\\\" d=\\\"M141.039 141.937l-22.007-21.995h22.007v21.995\\\"/><path opacity=\\\".72\\\" d=\\\"M119.032 119.947l22.007-22.003h-22.007z\\\"/><path opacity=\\\".95\\\" d=\\\"M119.038 119.942l22.001-21.998v21.998z\\\"/><path opacity=\\\".9\\\" d=\\\"M141.039 53.953l-22.001 21.994h22.001zM119.038 75.947l22.001 21.997h-22.001z\\\"/><path opacity=\\\".48\\\" d=\\\"M119.038 75.947l22.001 21.997V75.947z\\\"/><path opacity=\\\".72\\\" d=\\\"M119.038 75.942L97.034 97.944h22.004z\\\"/><path d=\\\"M97.029 97.944l22.003 21.998V97.944z\\\"/><path opacity=\\\".9\\\" d=\\\"M194.411 94.741l21.996-22h-21.996z\\\"/><path opacity=\\\".72\\\" d=\\\"M193.34 121.323l21.996-22.004v22.004zM209.427 86.925l22.005 22v-22z\\\"/><path opacity=\\\".9\\\" d=\\\"M185.029 97.944L163.033 75.94v22.004z\\\"/></g></svg>\",\n  \"logout\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"316.667 93.333 303.333 340.036\\\"><path d=\\\"M468.333 433.369c-40.507 0-78.586-15.773-107.24-44.403-28.63-28.653-44.427-66.733-44.427-107.263s15.797-78.61 44.427-107.264c9.124-9.123 23.87-9.123 32.994 0 9.123 9.124 9.123 23.87 0 32.993-19.833 19.857-30.753 46.224-30.753 74.271s10.92 54.437 30.753 74.27c19.833 19.834 46.177 30.73 74.246 30.73 28.07 0 54.414-10.92 74.247-30.73 19.856-19.833 30.753-46.2 30.753-74.27 0-28.07-10.92-54.437-30.753-74.271-9.123-9.123-9.123-23.869 0-32.993 9.123-9.123 23.87-9.123 32.993 0C604.203 203.116 620 241.197 620 281.703s-15.797 78.609-44.427 107.263c-28.653 28.63-66.733 44.403-107.24 44.403z\\\"/><path d=\\\"M468.333 256.666c-12.903 0-23.333-10.453-23.333-23.333V116.666c0-12.88 10.43-23.333 23.333-23.333s23.334 10.453 23.334 23.333v116.667c0 12.88-10.431 23.333-23.334 23.333z\\\"/></svg>\",\n  \"mail\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M4 20c-.55 0-1.02-.196-1.413-.587A1.926 1.926 0 0 1 2 18V6c0-.55.196-1.02.587-1.412A1.926 1.926 0 0 1 4 4h16c.55 0 1.02.196 1.413.588.391.391.587.862.587 1.412v12c0 .55-.196 1.02-.587 1.413A1.926 1.926 0 0 1 20 20H4zm8-7l8-5V6l-8 5-8-5v2l8 5z\\\"/></svg>\",\n  \"member-action-add\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"315.716 88.506 376.14 418.635\\\"><path class=\\\"action\\\" d=\\\"M617.48 358.391c-41.073 0-74.375 33.303-74.375 74.375s33.302 74.375 74.375 74.375c41.072 0 74.375-33.303 74.375-74.375s-33.293-74.375-74.375-74.375zm36.715 88.06h-28.691v28.699c0 4.752-3.859 8.602-8.61 8.602s-8.609-3.85-8.609-8.602v-28.69l-28.691-.009a8.577 8.577 0 0 1-8.602-8.593c0-4.76 3.85-8.61 8.602-8.61h28.7v-28.691c0-4.751 3.85-8.601 8.601-8.592a8.612 8.612 0 0 1 8.61 8.601v28.683h28.683c4.751 0 8.601 3.851 8.609 8.61-.001 4.742-3.851 8.592-8.602 8.592z\\\"/></svg>\",\n  \"member-action-change\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 457.508 457.508\\\"><path class=\\\"action\\\" d=\\\"M353.006 294.945c-44.888 0-81.281 36.396-81.281 81.281 0 44.887 36.395 81.28 81.281 81.28s81.28-36.395 81.28-81.28-36.385-81.281-81.28-81.281zm-52.426 35.27a6.13 6.13 0 0 1 3.779-5.678 6.154 6.154 0 0 1 6.703 1.335l8.405 8.404c10.685-6.9 23.115-10.638 36.134-10.638 17.843 0 34.619 6.946 47.234 19.564 3.458 3.458 3.458 9.063 0 12.518a8.823 8.823 0 0 1-6.258 2.593 8.822 8.822 0 0 1-6.259-2.593c-9.272-9.272-21.604-14.379-34.718-14.379-8.247 0-16.181 2.025-23.237 5.83l5.851 5.852a6.143 6.143 0 0 1 1.337 6.697 6.145 6.145 0 0 1-5.677 3.789l-27.149-.018c-3.393 0-6.146-2.754-6.146-6.137v-27.139zm104.851 95.31c0 2.5-1.492 4.73-3.779 5.678a6.152 6.152 0 0 1-6.703-1.334l-8.405-8.404c-10.685 6.9-23.115 10.637-36.134 10.637-17.843 0-34.619-6.945-47.234-19.564-3.458-3.457-3.458-9.063 0-12.518a8.822 8.822 0 0 1 6.258-2.592 8.82 8.82 0 0 1 6.259 2.592c9.272 9.273 21.604 14.379 34.718 14.379 8.247 0 16.181-2.025 23.237-5.83l-5.851-5.852a6.143 6.143 0 0 1-1.337-6.697 6.147 6.147 0 0 1 5.677-3.789l27.149.018c3.393 0 6.146 2.754 6.146 6.137v27.139z\\\"/></svg>\",\n  \"member-action-remove\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 457.508 457.508\\\"><path class=\\\"action\\\" d=\\\"M353.002 294.945c-44.886 0-81.281 36.395-81.281 81.281s36.396 81.281 81.281 81.281c44.887 0 81.281-36.395 81.281-81.281s-36.384-81.281-81.281-81.281zm40.124 96.237h-31.355l-18.818.01-31.355-.01c-5.202.01-9.41-4.197-9.4-9.389 0-5.203 4.208-9.41 9.4-9.41h81.521c5.192 0 9.399 4.207 9.409 9.41-.001 5.182-4.209 9.389-9.402 9.389z\\\"/></svg>\",\n  \"member-action\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 457.508 457.508\\\"><path d=\\\"M199.671 242.677c66.984 0 121.318-54.353 121.318-121.271C320.99 54.363 266.666 0 199.671 0 132.638 0 78.38 54.373 78.38 121.406c0 66.918 54.248 121.271 121.291 121.271z\\\"/><path d=\\\"M353.006 275.975c-6.407-13.723-14.479-27.521-24.786-40.688-5.546-7.057-15.663-14.803-25.445-20.109-25.359 28.419-62.118 46.416-103.104 46.416-40.956 0-77.705-17.997-103.036-46.35-9.563 5.432-19.412 13.178-24.776 20.215-17.403 22.711-44.265 66.728-48.549 126.044-.898 12.518 5.06 31.633 15.521 38.93 19.852 13.895 62.672 31.67 151.833 31.67 30.867 0 56.878-1.902 78.861-4.866-8.874-14.966-14.065-32.369-14.065-50.997-.011-54.404 43.508-98.736 97.546-100.265z\\\"/></svg>\",\n  \"menu_entry\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"24\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"24\\\" fill=\\\"#1f1f1f\\\"><path d=\\\"M400-280h160v-80H400v80zm0-160h280v-80H400v80zM280-600h400v-80H280v80zm200 120zM265-80q-79 0-134.5-55.5T75-270q0-57 29.5-102t77.5-68H80v-80h240v240h-80v-97q-37 8-61 38t-24 69q0 46 32.5 78t77.5 32v80zm135-40v-80h360v-560H200v160h-80v-160q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H400z\\\"/></svg>\",\n  \"menu_my_messages\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"18\\\" viewBox=\\\"0 0 20 18\\\"><path fill=\\\"#667C96\\\" d=\\\"M16.933 0H3.067C1.376 0 0 1.412 0 3.147v8.448c0 1.736 1.376 3.147 3.067 3.147h6.56l2.431 2.494a.317.317 0 0 0 .456 0l2.43-2.494h1.989c1.691 0 3.067-1.411 3.067-3.147V3.147C20 1.412 18.624 0 16.933 0z\\\"/></svg>\",\n  \"message\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 27 24\\\"><path d=\\\"M13.737.446C6.412.446.474 5.113.474 10.867c0 2.724 1.332 5.208 3.513 7.066-.083 1.809-.458 4.242-1.785 5.496 2.533 0 5.127-1.668 6.666-2.869 1.508.471 3.151.729 4.87.729C21.063 21.289 27 16.622 27 10.868S21.063.446 13.737.446z\\\"/><path fill=\\\"#FFF\\\" d=\\\"M8.578 7.824h10.319a.734.734 0 1 1 0 1.47H8.578a.735.735 0 0 1-.735-.735.734.734 0 0 1 .735-.735zM8.578 12.235h10.319a.734.734 0 1 1 0 1.47H8.578a.735.735 0 0 1-.735-.735.734.734 0 0 1 .735-.735z\\\"/></svg>\",\n  \"message_attachment\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"38\\\" height=\\\"38\\\" viewBox=\\\"0 0 38 38\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><rect width=\\\"38\\\" height=\\\"38\\\" fill=\\\"#2A4C73\\\" rx=\\\"3.477\\\"/><path fill=\\\"#FFF\\\" d=\\\"M13.219 10.125c-1.083 0-1.969.868-1.969 1.929v14.014c0 1.061.886 2.057 1.969 2.057H25.03c1.083 0 1.969-.996 1.969-2.057V12.054c0-1.061-.886-1.929-1.969-1.929H13.22zm.984 6.75h9.844v1.929h-9.844v-1.929zm0 3.857h5.906v1.929h-5.906v-1.929zm0-7.714h9.844v1.928h-9.844v-1.928z\\\"/></g></svg>\",\n  \"message_status_error\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"9\\\" height=\\\"9\\\" viewBox=\\\"0 0 9 9\\\"><path fill=\\\"#F08579\\\" fill-rule=\\\"evenodd\\\" d=\\\"M8.094 0L4.5 3.594.906 0 0 .906 3.594 4.5 0 8.094.906 9 4.5 5.406 8.094 9 9 8.094 5.406 4.5 9 .906z\\\"/></svg>\",\n  \"message_status_read\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"15\\\" height=\\\"9\\\" viewBox=\\\"0 0 15 9\\\"><path fill=\\\"#A0A0A0\\\" fill-rule=\\\"evenodd\\\" d=\\\"M11.005.882L10.123 0 6.156 3.967l.883.882L11.005.882zM13.658 0l-6.62 6.62-2.615-2.61-.882.883L7.04 8.39 14.546.882 13.658 0zM0 4.893L3.497 8.39l.883-.882L.888 4.01 0 4.893z\\\"/></svg>\",\n  \"message_status_read_all\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"15\\\" height=\\\"9\\\" viewBox=\\\"0 0 15 9\\\"><path fill=\\\"#A0DA6E\\\" fill-rule=\\\"evenodd\\\" d=\\\"M11.005.882L10.123 0 6.156 3.967l.883.882L11.005.882zM13.658 0l-6.62 6.62-2.615-2.61-.882.883L7.04 8.39 14.546.882 13.658 0zM0 4.893L3.497 8.39l.883-.882L.888 4.01 0 4.893z\\\"/></svg>\",\n  \"message_status_sent\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"11\\\" height=\\\"8\\\" viewBox=\\\"0 0 11 8\\\"><path fill=\\\"#A0A0A0\\\" fill-rule=\\\"evenodd\\\" d=\\\"M10.112 0L3.496 6.312.882 3.824 0 4.665 3.496 8 11 .841z\\\"/></svg>\",\n  \"more\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 612 612\\\"><path d=\\\"M55.636 250.364C24.907 250.364 0 275.27 0 306c0 30.73 24.907 55.636 55.636 55.636S111.273 336.73 111.273 306c0-30.73-24.907-55.636-55.637-55.636zm259.637 0c-30.73 0-55.636 24.907-55.636 55.636 0 30.729 24.907 55.636 55.636 55.636 30.729 0 55.636-24.905 55.636-55.636 0-30.73-24.906-55.636-55.636-55.636zm241.091 0c-30.73 0-55.636 24.907-55.636 55.636 0 30.729 24.906 55.636 55.636 55.636C587.093 361.636 612 336.73 612 306c0-30.73-24.907-55.636-55.636-55.636z\\\"/></svg>\",\n  \"move\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"#FFF\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M12.356 8.229v2.891l-3.62-.013v1.786l3.62-.013v2.891L16.127 12z\\\"/><path fill-rule=\\\"nonzero\\\" d=\\\"M5.79 2h12.842c.984 0 1.79.805 1.79 1.79v16.526c0 .984-.806 1.79-1.79 1.79H5.789A1.796 1.796 0 0 1 4 20.315V3.789C4 2.805 4.805 2 5.79 2zm0 1.79v16.526h12.842V3.789H5.789z\\\"/></g></svg>\",\n  \"new-folder\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 30.326 485.211 424.56\\\"><path d=\\\"M225.135 394.236H0V30.326h181.955l60.651 60.651H485.21v152.579c-27.657-37.169-71.519-61.602-121.303-61.602-83.603 0-151.626 68.023-151.626 151.63.001 21.59 4.68 42.054 12.854 60.652zm260.076-60.653c0 66.964-54.283 121.303-121.303 121.303-66.986 0-121.302-54.339-121.302-121.303 0-66.959 54.315-121.303 121.302-121.303 67.02.001 121.303 54.345 121.303 121.303zm-30.322 30.322v-60.647h-60.652v-60.651h-60.649v60.651h-60.653v60.647h60.653v60.653h60.649v-60.653h60.652z\\\"/></svg>\",\n  \"no-chat-dm\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 32 30\\\"><path fill=\\\"#D5AC46\\\" d=\\\"M3.838.041C2.329.041 0 1.86 0 3.43v19.277c0 1.572 1.529 3.441 3.038 3.441h11.554l.762 2.457.794.82 3.193-3.277h8.931c2.097 0 3.536-1.869 3.536-3.441V3.43c0-1.57-1.228-3.39-2.736-3.39H3.838zm23.784 22.978h-8.847l-2.318 2.452-2.32-2.452H5.292c-.771 0-1.396-.661-1.396-1.474V4.689c0-.813.625-1.474 1.396-1.474h22.33c.768 0 1.394.661 1.394 1.474v16.856c0 .812-.626 1.474-1.394 1.474z\\\"/><path fill=\\\"#FFF\\\" d=\\\"M29.193 21.985c0 .899-.686 1.63-1.525 1.63h-9.689l-2.539 2.713-2.541-2.713H3.213c-.844 0-1.529-.73-1.529-1.63V3.347c0-.899.685-1.63 1.529-1.63h24.455c.84 0 1.525.731 1.525 1.63v18.638z\\\"/><path fill=\\\"#F4C95F\\\" d=\\\"M27.914 20.982c0 .813-.625 1.475-1.393 1.475h-8.848l-2.318 2.453-2.32-2.453H4.19c-.77 0-1.396-.661-1.396-1.475V4.128c0-.813.625-1.475 1.396-1.475h22.331c.768 0 1.393.662 1.393 1.475v16.854zM27.971.02H2.737C1.228.02 0 1.298 0 2.869v19.278c0 1.571 1.228 2.85 2.736 2.85h9.154l3.463 3.605 3.463-3.605h9.153c1.51 0 2.736-1.278 2.736-2.85V2.869C30.707 1.298 29.48.02 27.971.02z\\\"/><path fill=\\\"#677D99\\\" d=\\\"M19.322 13.008c0 1.045.816 1.897 1.818 1.897 1.004 0 1.82-.852 1.82-1.897s-.816-1.896-1.82-1.896c-1.001 0-1.818.851-1.818 1.896zM13.535 13.008c0 1.045.817 1.897 1.82 1.897s1.818-.852 1.818-1.897-.816-1.896-1.818-1.896-1.82.851-1.82 1.896zM7.748 13.008c0 1.045.816 1.897 1.818 1.897 1.003 0 1.818-.852 1.818-1.897s-.815-1.896-1.818-1.896c-1.002 0-1.818.851-1.818 1.896z\\\"/></svg>\",\n  \"no-chat-ws\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 32 32\\\"><path fill=\\\"#D5AC46\\\" d=\\\"M.42.4h29.152L31.6 2.6v29h-29L.42 29.561z\\\"/><path fill=\\\"#F4C95F\\\" d=\\\"M.42.39h29.15v29.18H.42z\\\"/><path fill=\\\"#FFF\\\" d=\\\"M3 16.333V3h10.667v13.333zM3 27v-8h10.667v8zM16.333 27V13.667H27V27zM16.333 11V3H27v8z\\\"/></svg>\",\n  \"no-file\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"65\\\" height=\\\"64\\\" viewBox=\\\"0 0 65 64\\\"><path d=\\\"M57.272 7.335c.462.457.513 1.167.154 1.681l-.154.182-47.84 47.435a1.336 1.336 0 0 1-1.878 0 1.309 1.309 0 0 1-.154-1.681l.154-.182 47.84-47.435a1.335 1.335 0 0 1 1.878 0zm-6.61 10.281l.001 32.815a2.635 2.635 0 0 1-2.466 2.63l-.166.005H16.44c-.442 0-.86-.11-1.225-.303l2.351-2.333H48.03V20.226l2.631-2.609zm-2.631-6.714c.534 0 1.032.16 1.448.435l-2.22 2.2H16.44v30.557l-2.633 2.61V13.536a2.636 2.636 0 0 1 2.467-2.63l.166-.005h31.59zm-6.582 31.623c.724 0 1.317.593 1.317 1.318a1.32 1.32 0 0 1-1.183 1.31l-.134.007H23.022l-.133-.007 2.652-2.629 15.908.001zm-15.453-7.906l-2.658 2.635h-.316a1.318 1.318 0 1 1-.134-2.627l.134-.008h2.974zm15.453 0c.724 0 1.317.593 1.317 1.318 0 .68-.52 1.243-1.183 1.31l-.134.007H30.856l2.657-2.635h7.936zm-7.48-7.906l-2.657 2.635h-8.29a1.317 1.317 0 0 1-.134-2.627l.134-.008H33.97zm7.516.002l-.036-.002a1.318 1.318 0 1 1 .134 2.628l-.134.008h-2.62l2.656-2.634zm-.036-7.907c.148 0 .29.024.423.07l-2.587 2.564-8.365.001a1.318 1.318 0 0 1-.135-2.628l.135-.007h10.53z\\\" fill=\\\"#38567B\\\" fill-rule=\\\"evenodd\\\"/></svg>\",\n  \"notif\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 700 700\\\"><path d=\\\"M577.5 490V297.5c0-108.5-73.5-196-175-220.5V52.5C402.5 24.5 378 0 350 0s-52.5 24.5-52.5 52.5V77c-101.5 24.5-175 112-175 220.5V490l-70 70v35h595v-35l-70-70zM350 700c38.5 0 70-31.5 70-70H280c0 38.5 31.5 70 70 70z\\\"/></svg>\",\n  \"notification-ic-file\": \"<svg viewBox=\\\"0 0 522 586\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M306.375 485.688c0-23.522 7.009-45.405 19.042-63.688H113.346c-8.953 0-16.219-7.58-16.219-16.5 0-8.921 7.266-16.5 16.219-16.5h227.063c4.369 0 8.341 1.825 11.265 4.728 19.573-15.071 44.089-24.04 70.702-24.04 10.964 0 21.571 1.522 31.625 4.365V31.938C454.001 14.023 439.561 0 421.748 0H32.252C14.439 0 0 14.023 0 31.938v454.125c0 17.915 14.439 32.938 32.252 32.938h278.986a116.023 116.023 0 0 1-4.863-33.313zM210.658 97h129.75c8.921 0 16.219 7.547 16.219 16.5s-7.298 16.5-16.219 16.5h-129.75c-8.953 0-16.219-7.547-16.219-16.5S201.706 97 210.658 97zm-97.312 98h227.063c8.921 0 16.219 7.047 16.219 16s-7.298 16-16.219 16H113.346c-8.953 0-16.219-7.047-16.219-16s7.266-16 16.219-16zm0 97h227.063c8.921 0 16.219 7.58 16.219 16.5S349.33 325 340.409 325H113.346c-8.953 0-16.219-7.58-16.219-16.5s7.266-16.5 16.219-16.5z\\\"/><path d=\\\"M422.001 386.68c54.858 0 99.319 44.473 99.319 99.321 0 54.846-44.471 99.319-99.319 99.319-54.848 0-99.321-44.47-99.321-99.319 0-54.847 44.47-99.321 99.321-99.321zm8.361 172.405l36.583-36.583.252-.258c5.461-5.732 5.377-14.807-.252-20.436-5.195-5.195-13.325-5.667-19.053-1.417l-1.641 1.417-11.603 11.602v-92.711l-.114-1.836c-.903-7.215-7.059-12.797-14.519-12.797-8.081 0-14.633 6.551-14.633 14.633v92.71l-11.602-11.601-1.641-1.417c-5.729-4.25-13.858-3.778-19.053 1.417-5.715 5.714-5.715 14.98 0 20.694l36.582 36.583.026.026a14.975 14.975 0 0 0 1.331 1.174l.284.216c.521.387 1.062.734 1.618 1.041l.032.018.136.075c.122.066.246.13.37.191l.116.058a8.822 8.822 0 0 0 .309.147l.141.064a14.523 14.523 0 0 0 2.577.877l.027.005.031.007.11.027c.705.16 1.43.268 2.17.321l.049.003.017.001.01.001.06.004.253.014.153.006a14.895 14.895 0 0 0 1.208-.006l.109-.006a9.301 9.301 0 0 0 .23-.014l.074-.005.153-.012a12.517 12.517 0 0 0 .452-.046l.05-.006.11-.012a4.241 4.241 0 0 0 .195-.027l.109-.015a14.352 14.352 0 0 0 1.899-.414l.164-.047c.261-.079.519-.164.774-.257l.037-.014a11.755 11.755 0 0 0 .376-.143 15 15 0 0 0 .681-.292l.133-.06.156-.076.105-.05c.494-.245.978-.52 1.447-.825l.087-.055a6.01 6.01 0 0 0 .162-.11l.06-.038c.156-.107.31-.217.462-.33l.285-.216.113-.09.08-.064a14.83 14.83 0 0 0 .876-.767l.093-.089.194-.19z\\\"/></svg>\",\n  \"notifications\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"510\\\" height=\\\"510\\\" viewBox=\\\"0 0 510 510\\\"><path d=\\\"M255 510c28.05 0 51-22.95 51-51H204c0 28.05 22.95 51 51 51zm165.75-153V216.75c0-79.05-53.55-142.8-127.5-160.65V38.25C293.25 17.85 275.4 0 255 0s-38.25 17.85-38.25 38.25V56.1c-73.95 17.85-127.5 81.6-127.5 160.65V357l-51 51v25.5h433.5V408l-51-51z\\\"/></svg>\",\n  \"off-switch\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"37\\\" height=\\\"28\\\" viewBox=\\\"0 0 37 28\\\"><defs><rect id=\\\"a\\\" width=\\\"32.13\\\" height=\\\"19.53\\\" rx=\\\"9.765\\\"/><circle id=\\\"c\\\" cx=\\\"9.786\\\" cy=\\\"9.765\\\" r=\\\"8.82\\\"/><filter id=\\\"b\\\" width=\\\"230.4%\\\" height=\\\"236.1%\\\" x=\\\"-65.2%\\\" y=\\\"-36.8%\\\" filterUnits=\\\"objectBoundingBox\\\"><feMorphology in=\\\"SourceAlpha\\\" operator=\\\"dilate\\\" radius=\\\".5\\\" result=\\\"shadowSpreadOuter1\\\"/><feOffset dy=\\\"3\\\" in=\\\"shadowSpreadOuter1\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"2.5\\\"/><feComposite in=\\\"shadowBlurOuter1\\\" in2=\\\"SourceAlpha\\\" operator=\\\"out\\\" result=\\\"shadowBlurOuter1\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" result=\\\"shadowMatrixOuter1\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.187754755 0\\\"/><feMorphology in=\\\"SourceAlpha\\\" operator=\\\"dilate\\\" radius=\\\".5\\\" result=\\\"shadowSpreadOuter2\\\"/><feOffset dy=\\\"1\\\" in=\\\"shadowSpreadOuter2\\\" result=\\\"shadowOffsetOuter2\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter2\\\" result=\\\"shadowBlurOuter2\\\" stdDeviation=\\\".5\\\"/><feComposite in=\\\"shadowBlurOuter2\\\" in2=\\\"SourceAlpha\\\" operator=\\\"out\\\" result=\\\"shadowBlurOuter2\\\"/><feColorMatrix in=\\\"shadowBlurOuter2\\\" result=\\\"shadowMatrixOuter2\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0201822917 0\\\"/><feMorphology in=\\\"SourceAlpha\\\" operator=\\\"dilate\\\" radius=\\\".5\\\" result=\\\"shadowSpreadOuter3\\\"/><feOffset dy=\\\"2\\\" in=\\\"shadowSpreadOuter3\\\" result=\\\"shadowOffsetOuter3\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter3\\\" result=\\\"shadowBlurOuter3\\\" stdDeviation=\\\".5\\\"/><feComposite in=\\\"shadowBlurOuter3\\\" in2=\\\"SourceAlpha\\\" operator=\\\"out\\\" result=\\\"shadowBlurOuter3\\\"/><feColorMatrix in=\\\"shadowBlurOuter3\\\" result=\\\"shadowMatrixOuter3\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0510643116 0\\\"/><feMerge><feMergeNode in=\\\"shadowMatrixOuter1\\\"/><feMergeNode in=\\\"shadowMatrixOuter2\\\"/><feMergeNode in=\\\"shadowMatrixOuter3\\\"/></feMerge></filter></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><g transform=\\\"translate(4.434 1.28)\\\"><use fill=\\\"#FFF\\\" xlink:href=\\\"#a\\\"/><rect width=\\\"31.13\\\" height=\\\"18.53\\\" x=\\\".5\\\" y=\\\".5\\\" stroke=\\\"#000\\\" stroke-opacity=\\\".1\\\" rx=\\\"9.265\\\"/></g><g transform=\\\"translate(4.434 1.28)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#b)\\\" xlink:href=\\\"#c\\\"/><use fill=\\\"#FFF\\\" xlink:href=\\\"#c\\\"/><circle cx=\\\"9.786\\\" cy=\\\"9.765\\\" r=\\\"9.07\\\" stroke=\\\"#000\\\" stroke-opacity=\\\".1\\\" stroke-width=\\\".5\\\"/></g></g></svg>\",\n  \"on-switch\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"37\\\" height=\\\"28\\\" viewBox=\\\"0 0 37 28\\\"><defs><circle id=\\\"b\\\" cx=\\\"22.365\\\" cy=\\\"9.765\\\" r=\\\"8.82\\\"/><filter id=\\\"a\\\" width=\\\"230.4%\\\" height=\\\"236.1%\\\" x=\\\"-65.2%\\\" y=\\\"-36.8%\\\" filterUnits=\\\"objectBoundingBox\\\"><feMorphology in=\\\"SourceAlpha\\\" operator=\\\"dilate\\\" radius=\\\".5\\\" result=\\\"shadowSpreadOuter1\\\"/><feOffset dy=\\\"3\\\" in=\\\"shadowSpreadOuter1\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\" stdDeviation=\\\"2.5\\\"/><feComposite in=\\\"shadowBlurOuter1\\\" in2=\\\"SourceAlpha\\\" operator=\\\"out\\\" result=\\\"shadowBlurOuter1\\\"/><feColorMatrix in=\\\"shadowBlurOuter1\\\" result=\\\"shadowMatrixOuter1\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.187754755 0\\\"/><feMorphology in=\\\"SourceAlpha\\\" operator=\\\"dilate\\\" radius=\\\".5\\\" result=\\\"shadowSpreadOuter2\\\"/><feOffset dy=\\\"1\\\" in=\\\"shadowSpreadOuter2\\\" result=\\\"shadowOffsetOuter2\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter2\\\" result=\\\"shadowBlurOuter2\\\" stdDeviation=\\\".5\\\"/><feComposite in=\\\"shadowBlurOuter2\\\" in2=\\\"SourceAlpha\\\" operator=\\\"out\\\" result=\\\"shadowBlurOuter2\\\"/><feColorMatrix in=\\\"shadowBlurOuter2\\\" result=\\\"shadowMatrixOuter2\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0201822917 0\\\"/><feMorphology in=\\\"SourceAlpha\\\" operator=\\\"dilate\\\" radius=\\\".5\\\" result=\\\"shadowSpreadOuter3\\\"/><feOffset dy=\\\"2\\\" in=\\\"shadowSpreadOuter3\\\" result=\\\"shadowOffsetOuter3\\\"/><feGaussianBlur in=\\\"shadowOffsetOuter3\\\" result=\\\"shadowBlurOuter3\\\" stdDeviation=\\\".5\\\"/><feComposite in=\\\"shadowBlurOuter3\\\" in2=\\\"SourceAlpha\\\" operator=\\\"out\\\" result=\\\"shadowBlurOuter3\\\"/><feColorMatrix in=\\\"shadowBlurOuter3\\\" result=\\\"shadowMatrixOuter3\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0510643116 0\\\"/><feMerge><feMergeNode in=\\\"shadowMatrixOuter1\\\"/><feMergeNode in=\\\"shadowMatrixOuter2\\\"/><feMergeNode in=\\\"shadowMatrixOuter3\\\"/></feMerge></filter></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\" transform=\\\"translate(.434 1.28)\\\"><rect width=\\\"32.13\\\" height=\\\"19.53\\\" fill=\\\"#2196F3\\\" rx=\\\"9.765\\\"/><use fill=\\\"#000\\\" filter=\\\"url(#a)\\\" xlink:href=\\\"#b\\\"/><use fill=\\\"#FFF\\\" xlink:href=\\\"#b\\\"/><circle cx=\\\"22.365\\\" cy=\\\"9.765\\\" r=\\\"9.07\\\" stroke=\\\"#000\\\" stroke-opacity=\\\".1\\\" stroke-width=\\\".5\\\"/></g></svg>\",\n  \"opened_circle\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"36.488\\\" height=\\\"36.518\\\" viewBox=\\\"0 0 36.488 36.518\\\"><path style=\\\"text-indent:0;text-align:start;line-height:normal;text-transform:none;block-progression:tb;marker:none;-inkscape-font-specification:Sans\\\" d=\\\"M19.558.045C12.464-.456 5.426 3.218 1.996 9.952-.007 13.868-.534 18.503.558 22.764c.4 1.563.989 3.064 1.782 4.469a.75.75 0 1 0 1.312-.719 16.988 16.988 0 0 1-1.656-4.125c-.999-3.896-.52-8.17 1.312-11.75C7.515 2.383 17.59-.877 25.84 3.327c8.25 4.203 11.518 14.275 7.312 22.53-4.08 8.007-13.683 11.326-21.781 7.688a.75.75 0 1 0-.594 1.375c8.816 3.96 19.283.331 23.719-8.375 4.574-8.978 1.004-19.99-7.969-24.562A18.105 18.105 0 0 0 19.558.045z\\\" font-weight=\\\"400\\\" color=\\\"#000\\\" fill=\\\"#8d8d8d\\\" stroke-width=\\\"1.5\\\" overflow=\\\"visible\\\" font-family=\\\"Sans\\\"/></svg>\",\n  \"opened_lock\": \"<svg viewBox=\\\"0 0 24 28\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"><defs><path d=\\\"M10.977.07L.004 6.908s-.532 13.29 10.973 18.938C23.29 20.42 21.899 6.907 21.899 6.907L10.977.07z\\\" id=\\\"a\\\"/><filter x=\\\"-9.1%\\\" y=\\\"-3.9%\\\" width=\\\"118.2%\\\" height=\\\"115.5%\\\" filterUnits=\\\"objectBoundingBox\\\" id=\\\"b\\\"><feOffset dy=\\\"1\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur stdDeviation=\\\".5\\\" in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\"/><feComposite in=\\\"shadowBlurOuter1\\\" in2=\\\"SourceAlpha\\\" operator=\\\"out\\\" result=\\\"shadowBlurOuter1\\\"/><feColorMatrix values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\\\" in=\\\"shadowBlurOuter1\\\"/></filter></defs><g transform=\\\"translate(1)\\\" fill-rule=\\\"evenodd\\\"><mask id=\\\"c\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#a\\\"/></mask><use filter=\\\"url(#b)\\\" xlink:href=\\\"#a\\\"/><use xlink:href=\\\"#a\\\"/><path stroke=\\\"#FFF\\\" stroke-width=\\\"1.53\\\" d=\\\"M10.976.973L.766 7.333c.003.234.012.512.03.83.044.736.13 1.535.268 2.379.378 2.308 1.083 4.595 2.192 6.726 1.71 3.285 4.24 5.932 7.739 7.73 3.833-1.77 6.487-4.466 8.156-7.854.954-1.935 1.542-4.008 1.83-6.119.194-1.416.232-2.674.182-3.677L10.976.973z\\\"/><g mask=\\\"url(#c)\\\" fill=\\\"#FFF\\\"><path d=\\\"M11.015 15.35c.639 0 1.16-.5 1.16-1.109 0-.61-.521-1.108-1.16-1.108-.638 0-1.16.499-1.16 1.108 0 .61.522 1.11 1.16 1.11zm-.24-7.8c.079-.01.159-.015.24-.015.992 0 1.799.77 1.799 1.718v1.108H7.535c-.638 0-1.16.5-1.16 1.11v5.542c0 .61.522 1.108 1.16 1.108h6.961c.638 0 1.16-.498 1.16-1.108V11.47c0-.61-.522-1.109-1.16-1.109h-.58V9.253c0-1.53-1.3-2.772-2.9-2.772a3.07 3.07 0 0 0-.241.01V7.55z\\\"/></g></g></svg>\",\n  \"owner\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16.377 16.377\\\"><path d=\\\"M4.331 5.043a.959.959 0 0 0 .238.52c.231 1.54 1.521 2.97 2.698 2.97 1.373 0 2.623-1.547 2.865-2.967a.952.952 0 0 0 .242-.522c.078-.289.18-.791.002-1.025l-.029-.034c.166-.606.377-1.858-.375-2.711-.066-.086-.486-.588-1.387-.854L8.158.271C7.45.052 7.004.004 6.986.001a.284.284 0 0 0-.096.008.507.507 0 0 1-.174.021c-.169-.024-.423.063-.468.08-.06.023-1.43.573-1.846 1.849-.039.104-.205.646.016 1.977a.346.346 0 0 0-.088.083c-.178.234-.078.735.001 1.024zm.538-2.902l.008-.021C5.216 1.068 6.418.582 6.426.578a.81.81 0 0 1 .219-.051c.118.016.254-.005.328-.022.121.017.497.078 1.028.242l.432.148c.801.237 1.141.681 1.143.684l.016.019c.695.783.338 2.079.211 2.457a.25.25 0 0 0 .172.322c.002.123-.033.348-.088.545l-.006.028c-.021.139-.068.24-.131.286a.26.26 0 0 0-.1.167c-.166 1.19-1.268 2.629-2.382 2.629-.938 0-2.055-1.325-2.213-2.624a.245.245 0 0 0-.099-.17c-.063-.048-.11-.15-.131-.287a2.414 2.414 0 0 1-.093-.547.25.25 0 0 0 .226-.298c-.275-1.444-.089-1.965-.089-1.965z\\\"/><path d=\\\"M12.224 9.363c-.738-.487-1.855-.84-1.855-.84-1.121-.396-1.129-.79-1.129-.79-2.203 4.344-3.876.014-3.876.014-.154.586-2.423 1.274-2.423 1.274-.663.254-.943.636-.943.636-.98 1.454-1.096 4.689-1.096 4.689.013.739.332.816.332.816 2.254 1.006 5.792 1.185 5.792 1.185.985.021 1.894-.047 2.701-.154a3.945 3.945 0 0 1-1.262-2.887 3.953 3.953 0 0 1 3.759-3.943z\\\"/><path d=\\\"M12.269 9.963a3.21 3.21 0 0 0-3.207 3.207 3.21 3.21 0 0 0 3.207 3.207 3.209 3.209 0 0 0 3.207-3.207 3.21 3.21 0 0 0-3.207-3.207zm-.211 4.784a.176.176 0 0 1-.246 0l-1.543-1.555a.173.173 0 0 1 0-.245l.369-.369a.176.176 0 0 1 .246 0l1.053 1.061 2.045-2.044a.174.174 0 0 1 .246 0l.367.367a.176.176 0 0 1 0 .248l-2.537 2.537z\\\"/></svg>\",\n  \"padlock\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"56.313 -0.001 374.106 486.733\\\"><path d=\\\"M403.88 196.563h-9.484v-44.388c0-82.099-65.15-150.681-146.582-152.146-2.225-.04-6.671-.04-8.895 0C157.486 1.494 92.336 70.076 92.336 152.175v44.388h-9.485c-14.616 0-26.538 15.082-26.538 33.709v222.632c0 18.606 11.922 33.829 26.539 33.829H403.88c14.615 0 26.539-15.223 26.539-33.829V230.272c0-18.626-11.921-33.709-26.539-33.709zM273.442 341.362v67.271c0 7.703-6.448 14.222-14.157 14.222H227.45c-7.71 0-14.159-6.519-14.159-14.222v-67.271c-7.477-7.359-11.83-17.537-11.83-28.795 0-21.334 16.491-39.666 37.459-40.513 2.222-.09 6.673-.09 8.895 0 20.968.847 37.459 19.179 37.459 40.513-.002 11.257-4.355 21.435-11.832 28.795zm58.444-144.799H154.847v-44.388c0-48.905 39.744-89.342 88.519-89.342 48.775 0 88.521 40.437 88.521 89.342l-.001 44.388z\\\"/></svg>\",\n  \"participant\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 17 14\\\"><path fill=\\\"#FFF\\\" d=\\\"M11 6.194c1.66 0 2.99-1.383 2.99-3.097S12.66 0 11 0c-.32 0-.63.052-.91.145.57.836.9 1.848.9 2.953s-.34 2.106-.9 2.953c.28.092.59.143.91.143zm-5 0c1.66 0 2.99-1.383 2.99-3.097S7.66 0 6 0 3 1.383 3 3.097s1.34 3.097 3 3.097zm6.62 2.23c.83.754 1.38 1.715 1.38 2.933v2.064h3v-2.064c0-1.59-2.37-2.572-4.38-2.933zM6 8.26c-2 0-6 1.031-6 3.097v2.064h12v-2.064C12 9.291 8 8.26 6 8.26z\\\"/></svg>\",\n  \"party\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 612.004 612.004\\\"><path d=\\\"M541.864 240.416H70.14c-14.03 0-25.398 11.368-25.398 25.398v320.792c0 14.03 11.368 25.398 25.398 25.398h471.724c14.03 0 25.398-11.368 25.398-25.398V265.813c0-14.029-11.378-25.397-25.398-25.397zm-44.151 50.795L306.012 428.378 114.301 291.211h383.412zM95.538 561.207V340.249L291.231 480.27c4.429 3.159 9.6 4.744 14.781 4.744s10.352-1.585 14.781-4.744l195.673-140.012v220.949H95.538zM468.587 131.064c20.206 0 40.423-7.69 55.793-23.081 3.972-3.972 3.972-10.393 0-14.365s-10.403-3.972-14.365 0c-22.838 22.837-60.02 22.837-82.857 0-8.473-8.462-13.136-19.729-13.136-31.706s4.663-23.234 13.136-31.706c13.197-13.197 34.663-13.197 47.859 0 9.753 9.763 9.753 25.652 0 35.414-6.807 6.796-18.652 6.807-25.459 0-4.826-4.826-4.826-12.668 0-17.494a7.864 7.864 0 0 1 11.124 0c3.972 3.972 10.393 3.972 14.365 0s3.972-10.403 0-14.365c-10.982-10.982-28.852-10.992-39.854 0-12.75 12.739-12.75 33.474 0 46.224 7.233 7.233 16.844 11.226 27.094 11.226 10.24 0 19.861-3.992 27.094-11.226 17.677-17.677 17.677-46.457 0-64.144-21.11-21.121-55.478-21.121-76.589 0-12.313 12.303-19.089 28.669-19.089 46.071s6.776 33.769 19.089 46.071c15.373 15.381 35.579 23.081 55.795 23.081zM305.992 234.158c11.216 0 20.318-9.102 20.318-20.318l.01-148.301c0-11.216-9.102-20.318-20.318-20.318-11.226 0-20.318 9.102-20.318 20.318l-.01 148.301c0 11.215 9.092 20.318 20.318 20.318z\\\"/><path d=\\\"M335.667 230.247a20.25 20.25 0 0 0 11.967 3.911c6.268 0 12.455-2.885 16.427-8.341l43.826-60.03c6.614-9.062 4.633-21.771-4.429-28.384-9.092-6.614-21.791-4.643-28.395 4.429l-43.826 60.03c-6.613 9.062-4.632 21.771 4.43 28.385zM247.964 225.817c3.982 5.445 10.159 8.33 16.427 8.33 4.155 0 8.351-1.27 11.967-3.911 9.062-6.614 11.043-19.333 4.429-28.394l-43.846-60.03c-6.614-9.062-19.333-11.043-28.394-4.429s-11.043 19.333-4.429 28.394l43.846 60.04zM122.54 190.413l-6.989 22.695a5.04 5.04 0 0 0 1.321 5.14c1.371 1.341 3.393 1.768 5.181 1.158l22.472-7.69 18.347 12.892c.863.61 4.175 1.707 4.226 1.707 2.804 0 4.663-.752 4.866-6.583l-.376-22.319 19.008-14.253a5.07 5.07 0 0 0 1.951-4.937 5.073 5.073 0 0 0-3.515-3.982l-22.705-6.979-7.701-22.472a5.08 5.08 0 0 0-4.084-3.383 5.084 5.084 0 0 0-4.866 2.103l-13.664 19.434-23.752.356a5.077 5.077 0 0 0-3.972 8.138l14.252 18.975z\\\"/></svg>\",\n  \"pause\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 66.135 66.135\\\"><path d=\\\"M33.066 66.135C14.833 66.135 0 51.301 0 33.068 0 14.834 14.833 0 33.066 0s33.068 14.834 33.068 33.068c.001 18.233-14.834 33.067-33.068 33.067zm0-62.135C17.04 4 4 17.04 4 33.068s13.04 29.067 29.066 29.067c16.028 0 29.068-13.04 29.068-29.067S49.096 4 33.066 4z\\\"/><path d=\\\"M36.389 20.562h4v25.559h-4zM25.748 20.562h4v25.56h-4z\\\"/></svg>\",\n  \"pencil\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\"><path d=\\\"M38 111.2l67.5-67.9-22.2-22.2L15.8 89zM113.9 34.8l9.8-9.9c2.7-2.7 2.7-7.1 0-9.8L111.4 2.7c-2.7-2.7-7.1-2.7-9.8 0l-9.8 9.9 22.1 22.2zM9.1 96.9l-6.7 25.6c-.6 2.3 1.6 4.4 3.9 3.6l24.1-8.1c.1 0 .1-.1.2-.1L9.2 96.6c-.1.1-.1.2-.1.3z\\\"/></svg>\",\n  \"play\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 700 700\\\"><path d=\\\"M504.746 334.741L324.8 192.173c-10.127-7.933-26.554-7.933-36.68 0l-.233.233c-4.854 3.687-7.887 8.82-7.887 14.56V492.1c0 5.834 3.22 11.014 8.214 14.654l-.094.094c10.126 7.98 26.553 7.98 36.68 0l180.927-142.894c10.174-7.933 10.174-20.86 0-28.793l-.981-.42z\\\"/><path d=\\\"M597.359 102.643C531.362 36.646 443.481 0 350 0S168.638 36.646 102.643 102.643c-136.488 136.487-136.488 358.229 0 494.716C168.638 663.354 256.52 700.001 350 700.001s181.362-36.646 247.358-102.643c136.488-136.488 136.488-358.228.001-494.715zm-23.837 470.879C513.973 633.071 434.32 666.07 350 666.07s-163.972-32.999-223.521-92.548C66.929 513.973 33.931 434.319 33.931 350c0-84.318 32.998-163.972 92.548-223.522C186.029 66.93 265.767 33.931 350 33.931c84.234 0 163.973 32.999 223.521 92.547 59.55 59.55 92.548 139.288 92.548 223.522s-32.998 163.973-92.547 223.522z\\\"/></svg>\",\n  \"playstore\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 135.716 40.019\\\"><defs><linearGradient x1=\\\"31.8\\\" y1=\\\"183.29\\\" x2=\\\"15.017\\\" y2=\\\"166.508\\\" gradientUnits=\\\"userSpaceOnUse\\\" gradientTransform=\\\"matrix(.8 0 0 -.8 0 161.6)\\\" spreadMethod=\\\"pad\\\" id=\\\"i\\\"><stop offset=\\\"0\\\" stop-color=\\\"#00a0ff\\\"/><stop offset=\\\".007\\\" stop-color=\\\"#00a1ff\\\"/><stop offset=\\\".26\\\" stop-color=\\\"#00beff\\\"/><stop offset=\\\".512\\\" stop-color=\\\"#00d2ff\\\"/><stop offset=\\\".76\\\" stop-color=\\\"#00dfff\\\"/><stop offset=\\\"1\\\" stop-color=\\\"#00e3ff\\\"/></linearGradient><linearGradient x1=\\\"43.834\\\" y1=\\\"171.999\\\" x2=\\\"19.638\\\" y2=\\\"171.999\\\" gradientUnits=\\\"userSpaceOnUse\\\" gradientTransform=\\\"matrix(.8 0 0 -.8 0 161.6)\\\" spreadMethod=\\\"pad\\\" id=\\\"j\\\"><stop offset=\\\"0\\\" stop-color=\\\"#ffe000\\\"/><stop offset=\\\".409\\\" stop-color=\\\"#ffbd00\\\"/><stop offset=\\\".775\\\" stop-color=\\\"orange\\\"/><stop offset=\\\"1\\\" stop-color=\\\"#ff9c00\\\"/></linearGradient><linearGradient x1=\\\"34.827\\\" y1=\\\"169.704\\\" x2=\\\"12.069\\\" y2=\\\"146.946\\\" gradientUnits=\\\"userSpaceOnUse\\\" gradientTransform=\\\"matrix(.8 0 0 -.8 0 161.6)\\\" spreadMethod=\\\"pad\\\" id=\\\"k\\\"><stop offset=\\\"0\\\" stop-color=\\\"#ff3a44\\\"/><stop offset=\\\"1\\\" stop-color=\\\"#c31162\\\"/></linearGradient><linearGradient x1=\\\"17.297\\\" y1=\\\"191.824\\\" x2=\\\"27.46\\\" y2=\\\"181.661\\\" gradientUnits=\\\"userSpaceOnUse\\\" gradientTransform=\\\"matrix(.8 0 0 -.8 0 161.6)\\\" spreadMethod=\\\"pad\\\" id=\\\"l\\\"><stop offset=\\\"0\\\" stop-color=\\\"#32a071\\\"/><stop offset=\\\".069\\\" stop-color=\\\"#2da771\\\"/><stop offset=\\\".476\\\" stop-color=\\\"#15cf74\\\"/><stop offset=\\\".801\\\" stop-color=\\\"#06e775\\\"/><stop offset=\\\"1\\\" stop-color=\\\"#00f076\\\"/></linearGradient><clipPath clipPathUnits=\\\"userSpaceOnUse\\\" id=\\\"a\\\"><path d=\\\"M0 0h124v48H0V0z\\\"/></clipPath><mask maskUnits=\\\"userSpaceOnUse\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"1\\\" height=\\\"1\\\" id=\\\"m\\\"><g clip-path=\\\"url(#a)\\\"><path d=\\\"M0 0h124v48H0V0z\\\" fill-opacity=\\\".2\\\"/></g></mask><clipPath clipPathUnits=\\\"userSpaceOnUse\\\" id=\\\"n\\\"><path d=\\\"M0 0h124v48H0V0z\\\"/></clipPath><clipPath clipPathUnits=\\\"userSpaceOnUse\\\" id=\\\"b\\\"><path d=\\\"M0 0h124v48H0V0z\\\"/></clipPath><pattern patternTransform=\\\"matrix(1 0 0 -1 0 48)\\\" patternUnits=\\\"userSpaceOnUse\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"124\\\" height=\\\"48\\\" id=\\\"o\\\"><g clip-path=\\\"url(#b)\\\"><path d=\\\"M29.625 20.695l-11.613-6.597c-.649-.371-1.231-.344-1.606-.008l-.058-.063.058-.058c.375-.336.957-.36 1.606.011l11.687 6.641-.074.074z\\\"/></g></pattern><clipPath clipPathUnits=\\\"userSpaceOnUse\\\" id=\\\"c\\\"><path d=\\\"M0 0h124v48H0V0z\\\"/></clipPath><mask maskUnits=\\\"userSpaceOnUse\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"1\\\" height=\\\"1\\\" id=\\\"p\\\"><g clip-path=\\\"url(#c)\\\"><path d=\\\"M0 0h124v48H0V0z\\\" fill-opacity=\\\".12\\\"/></g></mask><clipPath clipPathUnits=\\\"userSpaceOnUse\\\" id=\\\"q\\\"><path d=\\\"M0 0h124v48H0V0z\\\"/></clipPath><clipPath clipPathUnits=\\\"userSpaceOnUse\\\" id=\\\"d\\\"><path d=\\\"M0 0h124v48H0V0z\\\"/></clipPath><pattern patternTransform=\\\"matrix(1 0 0 -1 0 48)\\\" patternUnits=\\\"userSpaceOnUse\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"124\\\" height=\\\"48\\\" id=\\\"r\\\"><g clip-path=\\\"url(#d)\\\"><path d=\\\"M16.348 14.145c-.235.246-.371.628-.371 1.125v-.118c0-.496.136-.879.371-1.125l.058.063-.058.055z\\\"/></g></pattern><clipPath clipPathUnits=\\\"userSpaceOnUse\\\" id=\\\"e\\\"><path d=\\\"M0 0h124v48H0V0z\\\"/></clipPath><mask maskUnits=\\\"userSpaceOnUse\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"1\\\" height=\\\"1\\\" id=\\\"s\\\"><g clip-path=\\\"url(#e)\\\"><path d=\\\"M0 0h124v48H0V0z\\\" fill-opacity=\\\".12\\\"/></g></mask><clipPath clipPathUnits=\\\"userSpaceOnUse\\\" id=\\\"t\\\"><path d=\\\"M0 0h124v48H0V0z\\\"/></clipPath><clipPath clipPathUnits=\\\"userSpaceOnUse\\\" id=\\\"f\\\"><path d=\\\"M0 0h124v48H0V0z\\\"/></clipPath><pattern patternTransform=\\\"matrix(1 0 0 -1 0 48)\\\" patternUnits=\\\"userSpaceOnUse\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"124\\\" height=\\\"48\\\" id=\\\"u\\\"><g clip-path=\\\"url(#f)\\\"><path d=\\\"M33.613 22.961l-3.988-2.266.074-.074 3.914 2.223c.559.316.836.734.836 1.156-.047-.379-.332-.75-.836-1.039z\\\"/></g></pattern><clipPath clipPathUnits=\\\"userSpaceOnUse\\\" id=\\\"g\\\"><path d=\\\"M0 0h124v48H0V0z\\\"/></clipPath><mask maskUnits=\\\"userSpaceOnUse\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"1\\\" height=\\\"1\\\" id=\\\"v\\\"><g clip-path=\\\"url(#g)\\\"><path d=\\\"M0 0h124v48H0V0z\\\" fill-opacity=\\\".25\\\"/></g></mask><clipPath clipPathUnits=\\\"userSpaceOnUse\\\" id=\\\"w\\\"><path d=\\\"M0 0h124v48H0V0z\\\"/></clipPath><clipPath clipPathUnits=\\\"userSpaceOnUse\\\" id=\\\"h\\\"><path d=\\\"M0 0h124v48H0V0z\\\"/></clipPath><pattern patternTransform=\\\"matrix(1 0 0 -1 0 48)\\\" patternUnits=\\\"userSpaceOnUse\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"124\\\" height=\\\"48\\\" id=\\\"x\\\"><g clip-path=\\\"url(#h)\\\"><path d=\\\"M18.012 33.902l15.601-8.863c.508-.289.789-.66.836-1.039 0 .418-.277.836-.836 1.156L18.012 34.02c-1.117.632-2.035.105-2.035-1.176v-.114c0 1.278.918 1.805 2.035 1.172z\\\" fill=\\\"#fff\\\"/></g></pattern></defs><path d=\\\"M130.54 39.943H5.24c-2.755 0-5.012-2.23-5.012-4.954V5.267C.228 2.544 2.485.314 5.24.314h125.3c2.755 0 5.011 2.23 5.011 4.953V34.99c0 2.724-2.256 4.954-5.012 4.954z\\\"/><path d=\\\"M130.54 1.108c2.32 0 4.208 1.866 4.208 4.16v29.721c0 2.294-1.888 4.16-4.209 4.16H5.24c-2.32 0-4.208-1.866-4.208-4.16V5.267c0-2.293 1.888-4.16 4.208-4.16h125.3m0-.793H5.24C2.485.314.228 2.544.228 5.267V34.99c0 2.724 2.257 4.954 5.012 4.954h125.3c2.755 0 5.011-2.23 5.011-4.954V5.267c0-2.723-2.256-4.953-5.012-4.953z\\\" fill=\\\"#a6a6a6\\\"/><path d=\\\"M45.934 16.195c0 .668-.2 1.203-.594 1.602-.453.473-1.043.711-1.766.711a2.426 2.426 0 0 1-1.765-.719c-.485-.484-.727-1.078-.727-1.789 0-.711.242-1.305.727-1.785a2.414 2.414 0 0 1 1.765-.723c.344 0 .672.071.985.203.312.133.566.313.75.535l-.418.422c-.321-.379-.758-.566-1.317-.566-.504 0-.941.176-1.312.531-.367.356-.551.817-.551 1.383 0 .566.184 1.031.551 1.387a1.85 1.85 0 0 0 1.312.531c.535 0 .985-.18 1.34-.535.234-.235.367-.559.402-.973h-1.742v-.578h2.324c.028.125.036.246.036.363zM49.621 14.191h-2.183v1.52h1.968v.578h-1.968v1.52h2.183v.589H46.82v-4.796h2.801v.589zM52.223 18.398h-.618v-4.207h-1.339v-.589h3.297v.589h-1.34v4.207zM55.949 18.398v-4.796h.617v4.796h-.617zM59.301 18.398h-.613v-4.207h-1.344v-.589h3.301v.589h-1.344v4.207zM66.887 17.781c-.473.485-1.059.727-1.758.727-.703 0-1.289-.242-1.762-.727-.472-.484-.707-1.078-.707-1.781 0-.703.235-1.297.707-1.781.473-.485 1.059-.727 1.762-.727.695 0 1.281.242 1.754.731.476.488.711 1.078.711 1.777 0 .703-.235 1.297-.707 1.781zm-3.063-.402c.356.359.789.539 1.305.539.512 0 .949-.18 1.301-.539.355-.359.535-.82.535-1.379s-.18-1.02-.535-1.379a1.756 1.756 0 0 0-1.301-.539c-.516 0-.949.18-1.305.539-.355.359-.535.82-.535 1.379s.18 1.02.535 1.379zM68.461 18.398v-4.796h.75l2.332 3.73h.027l-.027-.922v-2.808h.617v4.796h-.644l-2.442-3.914h-.027l.027.926v2.988h-.613z\\\" fill=\\\"#fff\\\" stroke=\\\"#fff\\\" stroke-width=\\\".16\\\" stroke-miterlimit=\\\"10\\\" transform=\\\"matrix(1.25299 0 0 1.23841 -9.796 -9.594)\\\"/><path d=\\\"M68.526 21.865c-2.354 0-4.277 1.77-4.277 4.214 0 2.424 1.923 4.213 4.277 4.213 2.36 0 4.283-1.79 4.283-4.213 0-2.443-1.923-4.214-4.283-4.214zm0 6.768c-1.291 0-2.403-1.054-2.403-2.554 0-1.52 1.112-2.555 2.403-2.555 1.292 0 2.409 1.035 2.409 2.555 0 1.5-1.117 2.554-2.409 2.554zm-9.333-6.768c-2.36 0-4.278 1.77-4.278 4.214 0 2.424 1.918 4.213 4.278 4.213 2.358 0 4.278-1.79 4.278-4.213 0-2.443-1.92-4.214-4.278-4.214zm0 6.768c-1.293 0-2.408-1.054-2.408-2.554 0-1.52 1.115-2.555 2.408-2.555 1.292 0 2.403 1.035 2.403 2.555 0 1.5-1.111 2.554-2.403 2.554zm-11.107-5.477v1.791h4.327c-.127 1-.465 1.736-.984 2.249-.631.62-1.615 1.307-3.343 1.307a4.722 4.722 0 0 1-4.747-4.756 4.722 4.722 0 0 1 4.747-4.756c1.44 0 2.488.557 3.26 1.277l1.277-1.262c-1.08-1.02-2.52-1.804-4.537-1.804-3.65 0-6.72 2.936-6.72 6.545s3.07 6.545 6.72 6.545c1.974 0 3.456-.639 4.621-1.838 1.194-1.18 1.567-2.84 1.567-4.18 0-.416-.035-.798-.098-1.118h-6.09zm45.416 1.389c-.352-.943-1.438-2.68-3.651-2.68-2.193 0-4.018 1.707-4.018 4.214 0 2.36 1.806 4.213 4.228 4.213a4.238 4.238 0 0 0 3.554-1.868l-1.453-.957c-.485.701-1.146 1.166-2.1 1.166-.949 0-1.63-.43-2.065-1.277l5.702-2.332-.197-.48zm-5.814 1.403c-.049-1.625 1.277-2.457 2.227-2.457.744 0 1.376.367 1.586.894l-3.813 1.563zm-4.634 4.088h1.874V17.652h-1.874v12.384zm-3.07-7.233h-.063c-.421-.493-1.224-.938-2.242-.938-2.135 0-4.087 1.852-4.087 4.228 0 2.361 1.952 4.199 4.087 4.199 1.018 0 1.821-.45 2.242-.957h.063v.604c0 1.611-.871 2.477-2.276 2.477-1.145 0-1.855-.817-2.149-1.505l-1.63.673c.47 1.117 1.714 2.491 3.78 2.491 2.197 0 4.051-1.278 4.051-4.387V22.12h-1.776v.682zm-2.144 5.83c-1.292 0-2.373-1.07-2.373-2.54 0-1.485 1.081-2.569 2.373-2.569 1.273 0 2.277 1.084 2.277 2.569 0 1.47-1.004 2.54-2.277 2.54zm24.438-10.981h-4.483v12.384h1.87v-4.693h2.613c2.076 0 4.112-1.485 4.112-3.846 0-2.36-2.04-3.845-4.112-3.845zm.049 5.969h-2.663v-4.247h2.663a2.161 2.161 0 0 1 2.193 2.123c0 .958-.797 2.124-2.193 2.124zm11.556-1.78c-1.35 0-2.755.59-3.333 1.896l1.66.687c.356-.687 1.013-.91 1.707-.91.97 0 1.954.576 1.969 1.593v.13c-.339-.193-1.063-.48-1.954-.48-1.787 0-3.607.973-3.607 2.787 0 1.66 1.463 2.728 3.109 2.728 1.258 0 1.952-.56 2.388-1.213h.064v.957h1.805v-4.75c0-2.196-1.659-3.425-3.808-3.425zm-.225 6.787c-.612 0-1.464-.3-1.464-1.05 0-.958 1.063-1.326 1.983-1.326.823 0 1.209.18 1.709.416-.147 1.147-1.146 1.96-2.228 1.96zm10.611-6.516l-2.148 5.369h-.064l-2.222-5.369h-2.016l3.338 7.503-1.905 4.174h1.954l5.143-11.677h-2.08zm-16.851 7.924h1.874V17.652h-1.874v12.384z\\\" fill=\\\"#fff\\\"/><path d=\\\"M16.348 33.969c-.235-.246-.371-.629-.371-1.125V15.152c0-.496.136-.879.371-1.125l.058-.054 9.914 9.91v.234l-9.914 9.91-.058-.058z\\\" fill=\\\"url(#i)\\\" transform=\\\"matrix(1.25299 0 0 -1.23841 -9.796 49.85)\\\"/><path d=\\\"M29.621 20.578l-3.301 3.305v.234l3.305 3.305.074-.043 3.914-2.227c1.117-.632 1.117-1.672 0-2.308l-3.914-2.223-.078-.043z\\\" fill=\\\"url(#j)\\\" transform=\\\"matrix(1.25299 0 0 -1.23841 -9.796 49.85)\\\"/><path d=\\\"M29.699 20.621L26.32 24l-9.972-9.973c.371-.39.976-.437 1.664-.047l11.687 6.641\\\" fill=\\\"url(#k)\\\" transform=\\\"matrix(1.25299 0 0 -1.23841 -9.796 49.85)\\\"/><path d=\\\"M29.699 27.379L18.012 34.02c-.688.386-1.293.339-1.664-.051L26.32 24l3.379 3.379z\\\" fill=\\\"url(#l)\\\" transform=\\\"matrix(1.25299 0 0 -1.23841 -9.796 49.85)\\\"/><g mask=\\\"url(#m)\\\" transform=\\\"matrix(1.25299 0 0 -1.23841 -9.796 49.85)\\\"><g clip-path=\\\"url(#n)\\\"><path d=\\\"M0 0h124v48H0V0z\\\" fill=\\\"url(#o)\\\"/></g></g><g mask=\\\"url(#p)\\\" transform=\\\"matrix(1.25299 0 0 -1.23841 -9.796 49.85)\\\"><g clip-path=\\\"url(#q)\\\"><path d=\\\"M0 0h124v48H0V0z\\\" fill=\\\"url(#r)\\\"/></g></g><g><g mask=\\\"url(#s)\\\" transform=\\\"matrix(1.25299 0 0 -1.23841 -9.796 49.85)\\\"><g clip-path=\\\"url(#t)\\\"><path d=\\\"M0 0h124v48H0V0z\\\" fill=\\\"url(#u)\\\"/></g></g></g><g><g mask=\\\"url(#v)\\\" transform=\\\"matrix(1.25299 0 0 -1.23841 -9.796 49.85)\\\"><g clip-path=\\\"url(#w)\\\"><path d=\\\"M0 0h124v48H0V0z\\\" fill=\\\"url(#x)\\\"/></g></g></g></svg>\",\n  \"plus-circled\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 44 44\\\"><path d=\\\"M22 0C9.8 0 0 9.8 0 22s9.8 22 22 22 22-9.8 22-22S34.2 0 22 0zm12 23c0 .6-.4 1-1 1h-8.5c-.3 0-.5.2-.5.5V33c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1v-8.5c0-.3-.2-.5-.5-.5H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h8.5c.3 0 .5-.2.5-.5V11c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v8.5c0 .3.2.5.5.5H33c.6 0 1 .4 1 1v2z\\\"/></svg>\",\n  \"plus\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M23 10h-8.5c-.3 0-.5-.2-.5-.5V1c0-.6-.4-1-1-1h-2c-.6 0-1 .4-1 1v8.5c0 .3-.2.5-.5.5H1c-.6 0-1 .4-1 1v2c0 .6.4 1 1 1h8.5c.3 0 .5.2.5.5V23c0 .6.4 1 1 1h2c.6 0 1-.4 1-1v-8.5c0-.3.2-.5.5-.5H23c.6 0 1-.4 1-1v-2c0-.6-.4-1-1-1z\\\"/></svg>\",\n  \"profil\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path fill-rule=\\\"evenodd\\\" d=\\\"M12 0C5.376 0 0 5.377 0 12c0 6.625 5.376 12.002 12 12.002S24 18.625 24 12 18.624 0 12 0zm0 3.6c1.992 0 3.6 1.608 3.6 3.6s-1.608 3.6-3.6 3.6a3.595 3.595 0 0 1-3.6-3.6c0-1.992 1.608-3.6 3.6-3.6zm0 17.042c-3 0-5.652-1.537-7.2-3.865.036-2.388 4.8-3.696 7.2-3.696 2.388 0 7.164 1.308 7.2 3.696a8.641 8.641 0 0 1-7.2 3.865z\\\"/></svg>\",\n  \"refresh\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"200 0 560 560\\\"><path d=\\\"M272.905 315H200v175l51.835-47.636C302.62 513.555 385.885 560 480 560c142.8 0 260.61-106.891 277.83-245h-70.735C670.435 414.329 584.055 490 480 490c-73.71 0-138.6-38.011-176.05-95.516L390.435 315h-117.53zM480 0C337.2 0 219.39 106.89 202.17 245h70.735C289.565 145.67 375.945 70 480 70c75.915 0 142.45 40.285 179.34 100.66L585 245H760V70l-50.12 50.12C659.305 47.495 575.2 0 480 0z\\\"/></svg>\",\n  \"remove-member\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 457.508 457.508\\\"><path d=\\\"M78.377 121.405c0 66.918 54.258 121.271 121.291 121.271 66.984 0 121.319-54.353 121.319-121.271C320.988 54.363 266.663 0 199.668 0 132.625 0 78.377 54.363 78.377 121.405z\\\"/><path d=\\\"M38.817 400.439c19.852 13.895 62.673 31.67 151.833 31.67 30.868 0 56.877-1.902 78.861-4.867-8.874-14.965-14.066-32.369-14.066-50.996 0-54.4 43.52-98.732 97.566-100.264-6.407-13.721-14.478-27.52-24.786-40.688-5.546-7.057-15.663-14.803-25.445-20.101-25.36 28.42-62.118 46.407-103.103 46.407-40.957 0-77.705-17.997-103.036-46.35-9.562 5.432-19.412 13.177-24.776 20.215-17.404 22.711-44.265 66.727-48.549 126.043-.917 12.51 5.04 31.625 15.501 38.931z\\\"/><path class=\\\"action\\\" d=\\\"M353.002 294.945c-44.886 0-81.281 36.395-81.281 81.281s36.396 81.281 81.281 81.281c44.887 0 81.281-36.395 81.281-81.281s-36.384-81.281-81.281-81.281zm40.124 96.237h-31.355l-18.818.01-31.355-.01c-5.202.01-9.41-4.197-9.4-9.389 0-5.203 4.208-9.41 9.4-9.41h81.521c5.192 0 9.399 4.207 9.409 9.41-.001 5.182-4.209 9.389-9.402 9.389z\\\"/></svg>\",\n  \"rename-folder\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 810 650.395\\\"><path d=\\\"M560 525.394c0-69.035 55.965-124.999 125-124.999 25.937 0 50.027 7.901 70 21.426V173.896c0-38.5-31.5-70.001-70-70.001H405l-70-70H125c-38.5 0-70 31.501-70 70.001v420c0 38.5 31.5 69.998 70 69.998h455.436C567.52 573.895 560 550.688 560 525.394z\\\"/><path class=\\\"action\\\" d=\\\"M685.001 425.574c-54.851 0-99.321 44.474-99.321 99.321 0 54.849 44.473 99.319 99.321 99.319s99.319-44.473 99.319-99.319c0-54.847-44.461-99.321-99.319-99.321zM621 468.895h-.061c0-3 1.822-5.893 4.617-7.049 2.825-1.158 6.045-.574 8.19 1.574l10.271 10.242a81.084 81.084 0 0 1 44.154-13.013c21.803 0 42.303 8.479 57.718 23.897 4.225 4.226 4.225 11.072 0 15.294a10.78 10.78 0 0 1-7.647 3.167 10.775 10.775 0 0 1-7.647-3.169c-11.33-11.33-26.399-17.57-42.425-17.57-10.077 0-19.771 2.474-28.394 7.123l7.149 7.15a7.508 7.508 0 0 1 1.635 8.184 7.513 7.513 0 0 1-6.938 4.63l-33.145-.022c-4.145 0-7.479-3.365-7.479-7.498v-32.94zm129 117h-.767c0 3-1.909 5.4-4.704 6.559-2.825 1.16-6.088.328-8.233-1.818l-10.292-10.364c-13.057 8.431-28.256 12.949-44.164 12.949-21.804 0-42.308-8.511-57.723-23.931-4.227-4.224-4.229-11.086-.003-15.308a10.78 10.78 0 0 1 7.646-3.172c2.77 0 5.535 1.051 7.647 3.163 11.33 11.331 26.399 17.569 42.423 17.569 10.077 0 19.772-2.477 28.395-7.126l-7.15-7.15a7.507 7.507 0 0 1-1.633-8.184 7.509 7.509 0 0 1 6.937-4.63l33.644.022c4.146 0 7.979 3.364 7.979 7.499v33.922z\\\"/></svg>\",\n  \"rename\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"220 0 520 560\\\"><path d=\\\"M620 80H220v80h160v360h80V160h160zM740 40V0H620v40h40v480h-40v40h120v-40h-40V40z\\\"/></svg>\",\n  \"restart\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"14\\\" height=\\\"14\\\" viewBox=\\\"0 0 14 14\\\"><defs><path id=\\\"a\\\" d=\\\"M11.945 2.056A6.967 6.967 0 0 0 7.001 0 6.99 6.99 0 0 0 .01 7c0 3.867 3.124 7 6.991 7 3.264 0 5.985-2.231 6.764-5.25h-1.82a5.242 5.242 0 0 1-4.944 3.5c-2.896 0-5.25-2.354-5.25-5.25s2.354-5.25 5.25-5.25c1.453 0 2.748.604 3.693 1.558L7.876 6.125h6.125V0l-2.056 2.056z\\\"/></defs><use fill-rule=\\\"nonzero\\\" xlink:href=\\\"#a\\\"/></svg>\",\n  \"restore\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"18\\\" height=\\\"27\\\" viewBox=\\\"0 0 18 27\\\"><path d=\\\"M3.179 26.154c0 .24.19.435.426.435h10.801a.43.43 0 0 0 .426-.435V12.057H3.179v14.097zm8.22-11.698h1.596v9.486h-1.596v-9.486zm-3.192 0h1.596v9.486H8.207v-9.486zm-3.191 0h1.596v9.486H5.016v-9.486zM14.317 4.933V3L17.7 6.383l-3.383 3.384V7.785c-2.417 0-4.109.773-5.317 2.465.483-2.417 1.933-4.833 5.317-5.317M7.068 2.88l-1.18-1.027a.43.43 0 0 0-.608.036L1.132 6.661a.43.43 0 0 0 .05.606l1.18 1.026.205.179.205.178-1.951 2.245a.43.43 0 0 0 .05.607l.83.721a.43.43 0 0 0 .607-.035l.482-.555 7.645-8.794.482-.555a.43.43 0 0 0-.05-.606l-.83-.722a.43.43 0 0 0-.607.036L7.479 3.236l-.206-.178-.205-.178zm-.704 1.502L3.752 7.387l-.138-.12-.205-.178-.278-.241 2.613-3.005.277.24.205.18.138.119z\\\"/></svg>\",\n  \"retry\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 18 18\\\"><path d=\\\"M15.354 2.644A8.96 8.96 0 0 0 8.994 0C4.019 0 0 4.027 0 9s4.019 9 8.994 9c4.199 0 7.7-2.869 8.702-6.75h-2.342a6.743 6.743 0 0 1-6.36 4.5C5.268 15.75 2.24 12.724 2.24 9s3.028-6.75 6.754-6.75c1.869 0 3.535.776 4.75 2.002L10.12 7.875H18V0l-2.646 2.644\\\"/></svg>\",\n  \"round-success\": \"<svg width=\\\"32\\\" height=\\\"32\\\" viewBox=\\\"0 0 32 32\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><rect width=\\\"32\\\" height=\\\"32\\\" rx=\\\"16\\\" fill=\\\"#E5FBF0\\\"/><path d=\\\"M32 16c0 8.837-7.163 16-16 16S0 24.837 0 16 7.163 0 16 0s16 7.163 16 16zM.96 16c0 8.306 6.734 15.04 15.04 15.04S31.04 24.306 31.04 16 24.306.96 16 .96.96 7.694.96 16z\\\" fill=\\\"#1DAC67\\\"/><path d=\\\"M25.326 10.02L13.421 22.843l-6.41-7.327\\\" stroke=\\\"#1DAC67\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/></svg>\",\n  \"search\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 12 12\\\"><path d=\\\"M8.561 7.542H8.02l-.192-.185A4.454 4.454 0 0 0 4.452 0 4.454 4.454 0 0 0 0 4.456a4.453 4.453 0 0 0 4.451 4.456 4.423 4.423 0 0 0 2.896-1.076l.185.192v.541l3.425 3.421 1.021-1.021-3.417-3.427zm-4.11 0a3.08 3.08 0 0 1-3.082-3.086c0-1.707 1.376-3.085 3.082-3.085s3.081 1.378 3.081 3.085a3.079 3.079 0 0 1-3.081 3.086z\\\"/></svg>\",\n  \"security_level_shield\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"17\\\" height=\\\"21\\\" viewBox=\\\"0 0 17 21\\\"><path fill=\\\"#FFF\\\" d=\\\"M8.5.15l8.15 4.408a.686.686 0 0 1 .35.594c0 5.094-1.06 8.402-2.642 10.73-1.055 1.552-3.007 3.23-5.858 5.036-2.85-1.805-4.804-3.484-5.858-5.036C1.061 13.554 0 10.246 0 5.152a.686.686 0 0 1 .35-.594L8.5.15zm0 1.514v8.85H1.873c.424 1.954 1.084 3.44 1.88 4.613 1.316 1.936 3.02 3.097 4.747 4.208v-8.821h6.627c.303-1.398.487-3.034.51-4.977L8.5 1.664z\\\"/></svg>\",\n  \"send\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0.767 0.5 14.233 12.2\\\"><path d=\\\"M15 6.6L.773.5.767 5.245 10.934 6.6.767 7.955.773 12.7z\\\"/></svg>\",\n  \"sent-email\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"1.167 27.927 93.666 41.147\\\"><path d=\\\"M61.993 50.8l-.49-.18-28.07-10.523-.024.176-3.737 26.573c-.173 1.23.686 2.229 1.914 2.229h55.676c1.229 0 2.366-.997 2.539-2.229l3.737-26.573.024-.176L62.534 50.62l-.541.18z\\\"/><path d=\\\"M92.896 27.927H37.222c-1.229 0-2.367.997-2.54 2.228l-.594 4.224L62.65 45.086l31.541-10.522.619-4.408c.174-1.232-.682-2.229-1.914-2.229zM30.941 29.412H1.619l-.452 3.342h29.322zM5.629 40.92h22.642l.452-3.34H6.082zM8.36 49.54h18.187L27 46.2H8.812z\\\"/></svg>\",\n  \"settings\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 112.002 112.003\\\"><path d=\\\"M56 23.334c-18.041 0-32.666 14.625-32.666 32.667S37.959 88.668 56 88.668s32.666-14.625 32.666-32.667S74.042 23.334 56 23.334zm0 51.333c-10.309 0-18.666-8.356-18.666-18.667 0-10.309 8.357-18.667 18.666-18.667 10.312 0 18.666 8.358 18.666 18.667C74.667 66.311 66.31 74.667 56 74.667zm47.903-46.499c-5.301-9.394-6.094-8.801-6.094-8.801-5.834 1.927-10.039 2.847-12.641 3.299a44.234 44.234 0 0 0-14.752-8.559c-.896-2.459-2.271-6.744-3.588-13.118 0 0 .105-.989-10.552-.989-10.676 0-10.56.989-10.56.989-1.269 6.155-2.595 10.388-3.494 12.89a44.24 44.24 0 0 0-14.709 8.167c-2.585-.509-6.763-1.521-12.544-3.565 0 0-.784-.611-6.277 8.671-5.502 9.272-4.606 9.683-4.606 9.683 4.263 4.004 7.044 7.149 8.736 9.245-.731 3.192-1.158 6.505-1.158 9.921 0 3.095.322 6.108.925 9.024-1.74 2.061-4.578 5.135-8.89 9.018 0 0-.906.396 4.4 9.785 5.301 9.392 6.09 8.808 6.09 8.808 5.838-1.929 10.042-2.853 12.643-3.306a44.146 44.146 0 0 0 14.761 8.563c.905 2.463 2.272 6.736 3.584 13.115 0 0-.116.994 10.557.994 10.661 0 10.551-.994 10.551-.994 1.271-6.148 2.59-10.387 3.495-12.885a44.116 44.116 0 0 0 14.704-8.166c2.592.508 6.768 1.521 12.543 3.567 0 0 .779.604 6.291-8.67 5.492-9.28 4.598-9.688 4.598-9.688-4.266-4.006-7.041-7.153-8.732-9.246.729-3.2 1.15-6.51 1.15-9.925 0-3.094-.318-6.109-.924-9.025 1.74-2.052 4.572-5.127 8.893-9.015-.003.004.906-.392-4.4-9.787zM56 93.335c-20.616 0-37.332-16.717-37.332-37.334 0-20.617 16.716-37.333 37.332-37.333 20.617 0 37.334 16.716 37.334 37.333 0 20.62-16.716 37.334-37.334 37.334z\\\"/></svg>\",\n  \"shallow-invit\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"18\\\" height=\\\"18\\\" viewBox=\\\"0 0 18 18\\\"><g fill=\\\"#2196F3\\\"><path d=\\\"M13.95 3.938c.68 0 1.237.589 1.237 1.308v4.851L13.5 8.536l-6.34 5.873H4.05c-.638 0-1.167-.517-1.231-1.175l-.006-.133.006-7.854c0-.72.55-1.309 1.231-1.309zm0 1.308L9 8.52 4.05 5.246v1.31L9 9.827l4.95-3.273V5.246z\\\"/><path d=\\\"M12.6 18v-2.78h1.8V18h2.25v-3.706H18l-4.5-4.169-4.5 4.17h1.35V18z\\\"/></g></svg>\",\n  \"share 1\": \"<svg width=\\\"20\\\" height=\\\"21\\\" viewBox=\\\"0 0 20 21\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M10.585 5.327l-.373.028c-4.537.342-8.579 3.702-9.81 8.156-.351 1.269-.415 2.052-.4 4.889l.012 2.166.7-1.639c.772-1.808.986-2.243 1.422-2.902a10.84 10.84 0 0 1 8.302-4.825l.166-.011c0 .498-.013 4.712.023 4.712L20 8.239 10.673.626l-.068-.06-.02 4.761z\\\"/></svg>\",\n  \"share\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0.001 0 457.027 457.029\\\"><path d=\\\"M421.511 207.074l-85.795 85.767c-47.352 47.38-124.168 47.38-171.528 0-7.46-7.439-13.296-15.821-18.421-24.465l39.864-39.861c1.895-1.911 4.235-3.006 6.471-4.296 2.756 9.416 7.567 18.33 14.972 25.736 23.648 23.667 62.128 23.634 85.761 0l85.769-85.766c23.666-23.664 23.666-62.135 0-85.78-23.636-23.646-62.104-23.646-85.769 0l-30.498 30.531c-24.75-9.637-51.416-12.228-77.374-8.424l64.991-64.989c47.381-47.37 124.178-47.37 171.557 0 47.358 47.37 47.358 124.179 0 171.547zm-226.803 141.03l-30.521 30.532c-23.646 23.634-62.128 23.634-85.778 0-23.648-23.667-23.648-62.139 0-85.795l85.778-85.767c23.665-23.662 62.121-23.662 85.768 0 7.387 7.39 12.203 16.302 14.985 25.705 2.249-1.307 4.56-2.368 6.454-4.266l39.861-39.845c-5.092-8.678-10.959-17.03-18.422-24.478-47.348-47.371-124.171-47.371-171.542 0l-85.765 85.77c-47.366 47.385-47.366 124.172 0 171.553 47.371 47.355 124.177 47.355 171.547 0l65.008-65.003c-25.972 3.826-52.644 1.213-77.373-8.406z\\\"/></svg>\",\n  \"share_blocked\": \"<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><g fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\"><path d=\\\"M21.038 26.784l-2.28 2.431c-2.233 2.38-5.852 2.38-8.084 0-2.232-2.38-2.232-6.239 0-8.62l4.041-4.31c2.233-2.38 5.852-2.38 8.084 0 .351.375.628.794.868 1.23l-1.879 2.002c-.07.076-.153.125-.238.175a4.143 4.143 0 0 0-.066.04 3.068 3.068 0 0 0-.706-1.292 2.735 2.735 0 0 0-4.041 0l-4.042 4.31c-1.115 1.189-1.115 3.122 0 4.31a2.738 2.738 0 0 0 4.042 0l1.438-1.533a6.694 6.694 0 0 0 2.825.502c.001.255.014.506.038.755zm-.022-1.289c-1.386-.058-2.757-.652-3.815-1.78a6.074 6.074 0 0 1-.868-1.23l1.879-2.003c.072-.077.158-.128.244-.179l.06-.037c.13.474.357.921.706 1.294a2.74 2.74 0 0 0 2.643.818c-.481.946-.78 2-.85 3.117zM30.26 18.1a8.06 8.06 0 0 0-4.17.447l1.215-1.296c1.115-1.189 1.115-3.122 0-4.31a2.737 2.737 0 0 0-4.042 0l-1.437 1.534a6.754 6.754 0 0 0-3.646-.423l3.063-3.266c2.232-2.38 5.85-2.38 8.083 0 1.858 1.982 2.17 4.989.934 7.314zM29 32a5.86 5.86 0 0 1-2.344-.474 6.05 6.05 0 0 1-1.9-1.281 6.052 6.052 0 0 1-1.282-1.901A5.86 5.86 0 0 1 23 26c0-.825.157-1.608.474-2.344a6.05 6.05 0 0 1 1.281-1.9 6.05 6.05 0 0 1 1.901-1.282A5.86 5.86 0 0 1 29 20a5.86 5.86 0 0 1 2.344.474 6.052 6.052 0 0 1 1.9 1.281 6.05 6.05 0 0 1 1.282 1.901A5.86 5.86 0 0 1 35 26a5.86 5.86 0 0 1-.474 2.344 6.052 6.052 0 0 1-1.281 1.9 6.052 6.052 0 0 1-1.901 1.282A5.86 5.86 0 0 1 29 32zm0-2.357a3.543 3.543 0 0 0 1.606-.378l-4.87-4.87A3.543 3.543 0 0 0 25.357 26c0 1.028.35 1.877 1.056 2.585.708.707 1.556 1.057 2.586 1.057zm-3.74-5.724c.107-.189.228-.37.365-.544l6 6a4.311 4.311 0 0 1-1.232.676c-.447.157-.91.235-1.393.235-1.196 0-2.21-.416-3.04-1.246-.83-.83-1.246-1.844-1.246-3.04a4.185 4.185 0 0 1 .546-2.08zm7.005 3.687A3.543 3.543 0 0 0 32.643 26c0-1.03-.35-1.878-1.057-2.586-.708-.707-1.556-1.057-2.586-1.057a3.543 3.543 0 0 0-1.606.378l4.87 4.87zm.475.475a4.185 4.185 0 0 0 .546-2.08c0-1.197-.416-2.21-1.246-3.041-.83-.83-1.844-1.246-3.04-1.246a4.185 4.185 0 0 0-2.08.546c-.19.107-.371.228-.545.365l6 6c.136-.174.258-.355.365-.544zm-5.83 2.854a5.217 5.217 0 0 0 2.09.422c.741 0 1.438-.14 2.09-.422a5.412 5.412 0 0 0 1.7-1.145 5.412 5.412 0 0 0 1.145-1.7 5.217 5.217 0 0 0 .422-2.09c0-.741-.14-1.438-.422-2.09a5.412 5.412 0 0 0-1.145-1.7 5.412 5.412 0 0 0-1.7-1.145 5.217 5.217 0 0 0-2.09-.422c-.741 0-1.438.14-2.09.422a5.412 5.412 0 0 0-1.7 1.145 5.412 5.412 0 0 0-1.145 1.7 5.217 5.217 0 0 0-.422 2.09c0 .741.14 1.438.422 2.09a5.412 5.412 0 0 0 1.145 1.7c.482.482 1.049.864 1.7 1.145z\\\"/><path d=\\\"M29 31.357c-.741 0-1.438-.14-2.09-.422a5.412 5.412 0 0 1-1.7-1.145 5.412 5.412 0 0 1-1.145-1.7 5.217 5.217 0 0 1-.422-2.09c0-.741.14-1.438.422-2.09a5.412 5.412 0 0 1 1.145-1.7 5.412 5.412 0 0 1 1.7-1.145 5.217 5.217 0 0 1 2.09-.422c.741 0 1.438.14 2.09.422a5.412 5.412 0 0 1 1.7 1.145c.482.482.864 1.049 1.145 1.7.282.652.422 1.349.422 2.09 0 .741-.14 1.438-.422 2.09a5.412 5.412 0 0 1-1.145 1.7 5.412 5.412 0 0 1-1.7 1.145 5.217 5.217 0 0 1-2.09.422zm-3.74-7.438c.107-.189.228-.37.365-.544l6 6a4.311 4.311 0 0 1-1.232.676c-.447.157-.91.235-1.393.235-1.196 0-2.21-.416-3.04-1.246-.83-.83-1.246-1.844-1.246-3.04a4.185 4.185 0 0 1 .546-2.08zm7.791 3.474a4.246 4.246 0 0 1-.676 1.232l-6-6a4.311 4.311 0 0 1 1.232-.676c.447-.157.91-.235 1.393-.235 1.196 0 2.21.416 3.04 1.246.83.83 1.246 1.844 1.246 3.04 0 .482-.078.946-.235 1.393z\\\"/></g></svg>\",\n  \"shield-alert-outlined\": \"<svg viewBox=\\\"0 0 40 40\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M21.17 3.65l11.667 4.376A3.333 3.333 0 0 1 35 11.147v8.939a15 15 0 0 1-8.292 13.416l-5.59 2.795a2.5 2.5 0 0 1-2.236 0l-5.59-2.795A15 15 0 0 1 5 20.086v-8.939a3.333 3.333 0 0 1 2.163-3.121L18.83 3.65a3.333 3.333 0 0 1 2.34 0zM20 6.773L8.333 11.147v8.939a11.667 11.667 0 0 0 6.45 10.433L20 33.131l5.217-2.609a11.667 11.667 0 0 0 6.45-10.436v-8.939L20 6.772zm0 16.554a1.667 1.667 0 1 1 0 3.334 1.667 1.667 0 0 1 0-3.334zm0-11.667a1.667 1.667 0 0 1 1.667 1.667v6.666a1.666 1.666 0 1 1-3.334 0v-6.666A1.666 1.666 0 0 1 20 11.659z\\\"/></svg>\",\n  \"shield-alert\": \"<svg viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M12.702 2.19l7 2.626A2 2 0 0 1 21 6.689v5.363a9 9 0 0 1-4.975 8.05l-3.354 1.676a1.5 1.5 0 0 1-1.342 0L7.975 20.1A9 9 0 0 1 3 12.05V6.69a2 2 0 0 1 1.298-1.874l7-2.625a2 2 0 0 1 1.404 0zM12 13.997a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm0-7a1 1 0 0 0-.993.883L11 7.996v4a1 1 0 0 0 1.993.117l.007-.117v-4a1 1 0 0 0-1-1z\\\"/></svg>\",\n  \"shield-empty\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 700 700\\\"><path d=\\\"M638.319 109.368c-119.445 0-210.951-34.126-288.33-109.368-77.37 75.242-168.873 109.368-288.307 109.368 0 195.946-40.545 476.637 288.305 590.632 328.875-113.993 288.332-394.684 288.332-590.632z\\\"/></svg>\",\n  \"shield-warning\": \"<svg viewBox=\\\"0 0 700 700\\\"><path d=\\\"M638.319 109.368c-119.445 0-210.951-34.126-288.33-109.368-77.37 75.242-168.873 109.368-288.307 109.368 0 195.946-40.545 476.636 288.305 590.632 328.875-113.994 288.332-394.685 288.332-590.632zM384.736 489.994a6.049 6.049 0 0 1-6.043 6.047h-57.376a6.05 6.05 0 0 1-6.048-6.047v-53.051a6.05 6.05 0 0 1 6.048-6.047h57.367a6.053 6.053 0 0 1 6.052 6.047v53.051zm.116-95.947c-.08 3.279-2.772 5.883-6.044 5.883h-57.604a6.043 6.043 0 0 1-6.046-5.879l-5.081-183.878a6.02 6.02 0 0 1 1.709-4.386 6.063 6.063 0 0 1 4.336-1.829h67.753a6.051 6.051 0 0 1 6.049 6.215l-5.072 183.874z\\\"/></svg>\",\n  \"shield\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 347.971 347.971\\\"><path d=\\\"M317.309 54.367C257.933 54.367 212.445 37.403 173.98 0 135.519 37.403 90.033 54.367 30.662 54.367c0 97.405-20.155 236.937 143.317 293.604 163.484-56.666 143.33-196.198 143.33-293.604zM162.107 225.773l-47.749-47.756 21.379-21.378 26.37 26.376 50.121-50.122 21.378 21.378-71.499 71.502z\\\"/></svg>\",\n  \"shield_border\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"16.924\\\" height=\\\"19.875\\\" viewBox=\\\"0 0 16.924 19.875\\\"><path d=\\\"M8.469 0l-.313.187L.281 5.094 0 5.28v.313c.005.666.083 1.54.25 2.562.3 1.835.863 3.668 1.75 5.375 1.37 2.63 3.413 4.777 6.219 6.219l.25.125.25-.125c3.07-1.418 5.25-3.587 6.594-6.313.767-1.555 1.239-3.223 1.468-4.906a16.02 16.02 0 0 0 .125-2.937V5.28l-.281-.187L8.781.187 8.47 0zm0 1.375l7.25 4.562c.017.808-.012 1.638-.125 2.438-.215 1.573-.64 3.103-1.344 4.531-1.186 2.406-3.083 4.283-5.75 5.594-2.441-1.326-4.248-3.155-5.469-5.5-.822-1.583-1.342-3.306-1.625-5.031a15.035 15.035 0 0 1-.187-2.063l7.25-4.531z\\\" style=\\\"text-indent:0;text-align:start;line-height:normal;text-transform:none;block-progression:tb;marker:none;-inkscape-font-specification:Sans\\\" font-weight=\\\"400\\\" color=\\\"#000\\\" fill=\\\"#fff\\\" overflow=\\\"visible\\\" font-family=\\\"Sans\\\"/></svg>\",\n  \"shield_center\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"16.924\\\" height=\\\"19.875\\\" viewBox=\\\"0 0 16.924 19.875\\\"><path d=\\\"M8.468.496l7.963 5.04a16.05 16.05 0 0 1-.6 5.421c-.993 3.77-3.769 7.017-7.363 8.54a13.797 13.797 0 0 1-2.673-1.73C2.221 14.812.482 10.092.468 5.535l8-5.039z\\\"/></svg>\",\n  \"shield_tick\": \"<svg width=\\\"18\\\" height=\\\"22\\\" viewBox=\\\"0 0 18 22\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M11.377 1.749C10.4-.25 7.599-.25 6.623 1.749a1.145 1.145 0 0 1-1.135.652l-.916-.089C2.234 2.087.25 3.968.25 6.322v7.268c0 1.183.51 2.31 1.402 3.078l4.8 4.132a3.892 3.892 0 0 0 5.096 0l4.8-4.132a4.06 4.06 0 0 0 1.402-3.078V6.323c0-2.355-1.984-4.236-4.322-4.01l-.916.088a1.145 1.145 0 0 1-1.135-.652zm1.146 7.788a.75.75 0 0 0-1.046-1.074l-3.56 3.469-1.373-1.448a.75.75 0 0 0-1.088 1.032l1.894 2a.75.75 0 0 0 1.068.021l4.105-4z\\\" fill=\\\"#0F0F11\\\"/></svg>\",\n  \"show-more-button-with-three-dots\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"408\\\" height=\\\"408\\\" viewBox=\\\"0 0 408 408\\\"><path d=\\\"M204 102c28.05 0 51-22.95 51-51S232.05 0 204 0s-51 22.95-51 51 22.95 51 51 51zm0 51c-28.05 0-51 22.95-51 51s22.95 51 51 51 51-22.95 51-51-22.95-51-51-51zm0 153c-28.05 0-51 22.95-51 51s22.95 51 51 51 51-22.95 51-51-22.95-51-51-51z\\\"/></svg>\",\n  \"simple-cross\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 10 10\\\"><path d=\\\"M8.992 0L5 3.993 1.007 0 0 1.007 3.993 5 0 8.992 1.007 10 5 6.008 8.992 10 10 8.992 6.008 5 10 1.007z\\\"/></svg>\",\n  \"sort\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 305.4 305.4\\\"><path d=\\\"M144.055 160.132a3.636 3.636 0 0 1-.021 4.421l-68.742 89.418a3.645 3.645 0 0 1-5.79 0L.761 164.553a3.648 3.648 0 0 1-.028-4.421 3.67 3.67 0 0 1 4.26-1.204l45.516 17.993V71.541a3.65 3.65 0 0 1 3.647-3.645h36.482a3.647 3.647 0 0 1 3.645 3.645v105.386l45.519-17.985a3.633 3.633 0 0 1 4.253 1.19zM305.398 160.963c0 .766-.239 1.537-.733 2.199a3.666 3.666 0 0 1-4.258 1.194l-45.516-17.981v105.379a3.653 3.653 0 0 1-3.65 3.646h-36.48a3.646 3.646 0 0 1-3.646-3.646V146.372l-45.516 17.981a3.667 3.667 0 0 1-4.258-1.195 3.643 3.643 0 0 1 .022-4.422l68.753-89.423a3.655 3.655 0 0 1 5.787 0l68.747 89.423c.496.653.748 1.447.748 2.227z\\\"/></svg>\",\n  \"space_circle\": \"<svg width=\\\"63\\\" height=\\\"63\\\" viewBox=\\\"0 0 63 63\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><g style=\\\"mix-blend-mode:lighten\\\" fill-rule=\\\"nonzero\\\" fill=\\\"none\\\" opacity=\\\".8\\\"><circle fill=\\\"#4B6482\\\" cx=\\\"31.08\\\" cy=\\\"31.328\\\" r=\\\"31\\\"/><path d=\\\"M15.59 43.16l-9.294 6.793a31.183 31.183 0 0 0 4.693 4.984L15.59 43.16z\\\" fill=\\\"#153053\\\"/><path d=\\\"M20.51 2.177L2.609 30.027l22.41-3.503L28.429.44a30.837 30.837 0 0 0-7.92 1.737z\\\" fill=\\\"#75879E\\\"/><path fill=\\\"#5EC4EA\\\" d=\\\"M47.03 34.01l-31.44 9.15 9.318-16.827z\\\"/><path d=\\\"M62.028 29.52l-14.94 4.453L34.988.573C49.677 2.42 61.167 14.545 62.03 29.518z\\\" fill=\\\"#475F7E\\\"/><path d=\\\"M47.037 34.013L15.59 43.16l21.39 18.608c.518-.1 1.031-.213 1.54-.338l8.517-27.417z\\\" fill=\\\"#75879E\\\"/><path d=\\\"M15.59 43.16l-4.672 11.717a30.878 30.878 0 0 0 20.162 7.451c2.047 0 4.048-.198 5.985-.577L15.59 43.16z\\\" fill=\\\"#BEE7F7\\\"/><path d=\\\"M47.03 34.015l13.965 5.472a31.036 31.036 0 0 0 1.03-10.031L47.03 34.015z\\\" fill=\\\"#1A375D\\\"/><path d=\\\"M47.03 34.01l-8.512 27.42a30.997 30.997 0 0 0 16.108-9.937L47.03 34.01z\\\" fill=\\\"#475F7E\\\"/><path fill=\\\"#93D8F1\\\" d=\\\"M2.61 30.026l22.4-3.493-9.422 16.632z\\\"/><path d=\\\"M15.59 43.16L2.61 30.027.854 38.24A30.866 30.866 0 0 0 6.31 49.972l9.279-6.812z\\\" fill=\\\"#5EC4EA\\\"/><path d=\\\"M47.03 34.01l13.972 5.454a30.925 30.925 0 0 1-6.411 12.07L47.03 34.01z\\\" fill=\\\"#A3AFBE\\\"/><path d=\\\"M47.03 34.01l-22.116-7.56L28.406.442a31.407 31.407 0 0 1 6.616.135L47.03 34.01z\\\" fill=\\\"#26AFE2\\\"/></g></svg>\",\n  \"star\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 490.451 490.451\\\"><path d=\\\"M463.226 168.626l-138.2-10-52.7-128.2c-5-12.1-16.1-18.2-27.1-18.2s-22.1 6.1-27.1 18.2l-52.7 128.2-138.2 10c-25.6 1.4-37 34.2-17.1 51.3l106.9 88.3-32.8 133.9c-5.5 19.7 10.1 36.1 27.4 36.1 5.2 0 10.5-1.5 15.4-4.7l116.8-72.7 118.3 72.7c4.9 3.3 10.2 4.7 15.2 4.7 16.9 0 31.9-16.4 27.5-36.1l-32.8-133.9 108.3-88.3c19.9-17.1 8.5-49.9-17.1-51.3z\\\"/></svg>\",\n  \"star_empty\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 490.451 490.451\\\"><path d=\\\"M442.12 176.048l-124.817-9.032L269.706 51.23c-4.516-10.928-14.54-16.437-24.476-16.437-9.935 0-19.96 5.509-24.476 16.437l-47.596 115.786-124.818 9.032c-23.12 1.264-33.417 30.888-15.444 46.332l96.548 79.75-29.623 120.933c-4.968 17.793 9.122 32.605 24.746 32.605 4.697 0 9.484-1.355 13.91-4.245l105.489-65.66 106.844 65.66c4.426 2.98 9.213 4.245 13.728 4.245 15.264 0 28.811-14.812 24.837-32.605L359.752 302.13l97.812-79.749c17.973-15.444 7.677-45.068-15.444-46.332z\\\" fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"45.158\\\"/></svg>\",\n  \"success\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"130.428 87.962 481.653 478.601\\\"><path d=\\\"M598.194 92.969c-14.131-9.275-33.119-5.294-42.394 8.881L315 487.725l-133.175-129.5c-12.426-11.506-31.763-10.762-43.27 1.663-11.462 12.425-10.719 31.806 1.707 43.269l160.212 155.838 1.138.743 2.318 2.362 4.2 1.619 5.031 2.057 5.119.787 7.35-.088 2.975-.699 8.575-3.588 1.356-.963 5.25-3.806 2.45-4.025.131-.175 260.706-417.856c9.277-14.132 5.295-33.119-8.879-42.394z\\\"/></svg>\",\n  \"sync-alert-no-fill\": \"<svg viewBox=\\\"0 0 13 13\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"><defs><circle id=\\\"a\\\" cx=\\\"6.5\\\" cy=\\\"6.5\\\" r=\\\"6.5\\\"/><circle id=\\\"c\\\" cx=\\\"6.5\\\" cy=\\\"9.75\\\" r=\\\"1.083\\\"/><filter x=\\\"-69.2%\\\" y=\\\"-69.2%\\\" width=\\\"238.5%\\\" height=\\\"238.5%\\\" filterUnits=\\\"objectBoundingBox\\\" id=\\\"b\\\"><feOffset in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur stdDeviation=\\\".5\\\" in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\"/><feColorMatrix values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\\\" in=\\\"shadowBlurOuter1\\\"/></filter><rect id=\\\"e\\\" x=\\\"5.417\\\" y=\\\"2.167\\\" width=\\\"2.167\\\" height=\\\"5.417\\\" rx=\\\"1.083\\\"/><filter x=\\\"-69.2%\\\" y=\\\"-27.7%\\\" width=\\\"238.5%\\\" height=\\\"155.4%\\\" filterUnits=\\\"objectBoundingBox\\\" id=\\\"d\\\"><feOffset in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur stdDeviation=\\\".5\\\" in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\"/><feColorMatrix values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\\\" in=\\\"shadowBlurOuter1\\\"/></filter></defs><g fill-rule=\\\"evenodd\\\"><use xlink:href=\\\"#a\\\"/><g><use filter=\\\"url(#b)\\\" xlink:href=\\\"#c\\\"/><use fill=\\\"#FFF\\\" xlink:href=\\\"#c\\\"/></g><g><use filter=\\\"url(#d)\\\" xlink:href=\\\"#e\\\"/><use fill=\\\"#FFF\\\" xlink:href=\\\"#e\\\"/></g></g></svg>\",\n  \"sync-alert\": \"<svg viewBox=\\\"0 0 13 13\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"><defs><circle id=\\\"a\\\" cx=\\\"6.5\\\" cy=\\\"6.5\\\" r=\\\"6.5\\\"/><circle id=\\\"c\\\" cx=\\\"6.5\\\" cy=\\\"9.75\\\" r=\\\"1.083\\\"/><filter x=\\\"-69.2%\\\" y=\\\"-69.2%\\\" width=\\\"238.5%\\\" height=\\\"238.5%\\\" filterUnits=\\\"objectBoundingBox\\\" id=\\\"b\\\"><feOffset in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur stdDeviation=\\\".5\\\" in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\"/><feColorMatrix values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\\\" in=\\\"shadowBlurOuter1\\\"/></filter><rect id=\\\"e\\\" x=\\\"5.417\\\" y=\\\"2.167\\\" width=\\\"2.167\\\" height=\\\"5.417\\\" rx=\\\"1.083\\\"/><filter x=\\\"-69.2%\\\" y=\\\"-27.7%\\\" width=\\\"238.5%\\\" height=\\\"155.4%\\\" filterUnits=\\\"objectBoundingBox\\\" id=\\\"d\\\"><feOffset in=\\\"SourceAlpha\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur stdDeviation=\\\".5\\\" in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\"/><feColorMatrix values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\\\" in=\\\"shadowBlurOuter1\\\"/></filter></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><use fill=\\\"#FF9800\\\" xlink:href=\\\"#a\\\"/><g><use fill=\\\"#000\\\" filter=\\\"url(#b)\\\" xlink:href=\\\"#c\\\"/><use fill=\\\"#FFF\\\" xlink:href=\\\"#c\\\"/></g><g><use fill=\\\"#000\\\" filter=\\\"url(#d)\\\" xlink:href=\\\"#e\\\"/><use fill=\\\"#FFF\\\" xlink:href=\\\"#e\\\"/></g></g></svg>\",\n  \"sync-done\": \"<svg width=\\\"13\\\" height=\\\"13\\\" viewBox=\\\"0 0 13 13\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"><defs><circle id=\\\"a\\\" cx=\\\"6.5\\\" cy=\\\"6.5\\\" r=\\\"6.5\\\"/><path id=\\\"d\\\" d=\\\"M3.385 6.377l-.6.586 2.362 2.323L10.214 4.3l-.595-.586L5.147 8.11z\\\"/><filter x=\\\"-23.6%\\\" y=\\\"-31.4%\\\" width=\\\"147.1%\\\" height=\\\"162.8%\\\" filterUnits=\\\"objectBoundingBox\\\" id=\\\"c\\\"><feMorphology radius=\\\".25\\\" operator=\\\"dilate\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowSpreadOuter1\\\"/><feOffset in=\\\"shadowSpreadOuter1\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur stdDeviation=\\\".5\\\" in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\"/><feComposite in=\\\"shadowBlurOuter1\\\" in2=\\\"SourceAlpha\\\" operator=\\\"out\\\" result=\\\"shadowBlurOuter1\\\"/><feColorMatrix values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\\\" in=\\\"shadowBlurOuter1\\\"/></filter></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><mask id=\\\"b\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#a\\\"/></mask><use fill=\\\"#7ED321\\\" xlink:href=\\\"#a\\\"/><g mask=\\\"url(#b)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#c)\\\" xlink:href=\\\"#d\\\"/><use stroke=\\\"#FFF\\\" stroke-width=\\\".5\\\" fill=\\\"#FFF\\\" xlink:href=\\\"#d\\\"/></g></g></svg>\",\n  \"sync-error\": \"<svg width=\\\"13\\\" height=\\\"13\\\" viewBox=\\\"0 0 13 13\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"><defs><circle id=\\\"a\\\" cx=\\\"6.5\\\" cy=\\\"6.5\\\" r=\\\"6.5\\\"/><path id=\\\"d\\\" d=\\\"M8.836 3.575L6.5 5.911 4.164 3.575l-.589.59L5.911 6.5 3.575 8.836l.59.589L6.5 7.089l2.336 2.336.589-.59L7.089 6.5l2.336-2.336z\\\"/><filter x=\\\"-59.8%\\\" y=\\\"-59.8%\\\" width=\\\"219.7%\\\" height=\\\"219.7%\\\" filterUnits=\\\"objectBoundingBox\\\" id=\\\"c\\\"><feMorphology radius=\\\".5\\\" operator=\\\"dilate\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowSpreadOuter1\\\"/><feOffset in=\\\"shadowSpreadOuter1\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur stdDeviation=\\\"1\\\" in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\"/><feComposite in=\\\"shadowBlurOuter1\\\" in2=\\\"SourceAlpha\\\" operator=\\\"out\\\" result=\\\"shadowBlurOuter1\\\"/><feColorMatrix values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\\\" in=\\\"shadowBlurOuter1\\\"/></filter></defs><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><mask id=\\\"b\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#a\\\"/></mask><use fill=\\\"#FF3E5F\\\" xlink:href=\\\"#a\\\"/><g mask=\\\"url(#b)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#c)\\\" xlink:href=\\\"#d\\\"/><use fill=\\\"#FFF\\\" xlink:href=\\\"#d\\\"/><path stroke=\\\"#FFF\\\" stroke-width=\\\".5\\\" d=\\\"M7.443 6.5l2.336 2.336-.943.943L6.5 7.443 4.164 9.779l-.943-.943L5.557 6.5 3.221 4.164l.943-.943L6.5 5.557l2.336-2.336.943.943L7.443 6.5z\\\"/></g></g></svg>\",\n  \"sync-pause\": \"<svg id=\\\"sync-pause-6aR5u4\\\" data-name=\\\"Calque 1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 13 13\\\"><defs><style>.cls-2{fill:#fff}</style></defs><circle cx=\\\"6.5\\\" cy=\\\"6.5\\\" r=\\\"6.5\\\" fill=\\\"#f0d079\\\"/><rect class=\\\"cls-2\\\" x=\\\"7\\\" y=\\\"3.75\\\" width=\\\"2.2\\\" height=\\\"5.5\\\" rx=\\\"1.1\\\" ry=\\\"1.1\\\"/><rect class=\\\"cls-2\\\" x=\\\"3.8\\\" y=\\\"3.75\\\" width=\\\"2.2\\\" height=\\\"5.5\\\" rx=\\\"1.1\\\" ry=\\\"1.1\\\"/></svg>\",\n  \"sync-progress\": \"<svg width=\\\"13\\\" height=\\\"13\\\" viewBox=\\\"0 0 13 13\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"><defs><circle id=\\\"a\\\" cx=\\\"6.5\\\" cy=\\\"6.5\\\" r=\\\"6.5\\\"/><path d=\\\"M7.616 6.557h1.211c0 1.321-1.085 2.395-2.421 2.395-.408 0-.795-.1-1.13-.28l-.59.583a3.226 3.226 0 0 0 1.72.495c1.783 0 3.228-1.429 3.228-3.193h1.21L9.232 4.961 7.616 6.557zM6.39 4.048c.407 0 .795.1 1.13.28l.589-.583a3.226 3.226 0 0 0-1.72-.495c-1.783 0-3.227 1.429-3.227 3.193H1.95l1.614 1.596 1.614-1.596h-1.21c0-1.321 1.085-2.395 2.42-2.395z\\\" id=\\\"d\\\"/><filter x=\\\"-19.1%\\\" y=\\\"-26.2%\\\" width=\\\"138.2%\\\" height=\\\"152.3%\\\" filterUnits=\\\"objectBoundingBox\\\" id=\\\"c\\\"><feMorphology radius=\\\".2\\\" operator=\\\"dilate\\\" in=\\\"SourceAlpha\\\" result=\\\"shadowSpreadOuter1\\\"/><feOffset in=\\\"shadowSpreadOuter1\\\" result=\\\"shadowOffsetOuter1\\\"/><feGaussianBlur stdDeviation=\\\".5\\\" in=\\\"shadowOffsetOuter1\\\" result=\\\"shadowBlurOuter1\\\"/><feComposite in=\\\"shadowBlurOuter1\\\" in2=\\\"SourceAlpha\\\" operator=\\\"out\\\" result=\\\"shadowBlurOuter1\\\"/><feColorMatrix values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\\\" in=\\\"shadowBlurOuter1\\\"/></filter></defs><g fill=\\\"#FFF\\\" fill-rule=\\\"evenodd\\\"><mask id=\\\"b\\\" fill=\\\"#fff\\\"><use xlink:href=\\\"#a\\\"/></mask><use fill=\\\"#8D8D8D\\\" xlink:href=\\\"#a\\\"/><g mask=\\\"url(#b)\\\"><use fill=\\\"#000\\\" filter=\\\"url(#c)\\\" xlink:href=\\\"#d\\\"/><path stroke=\\\"#FFF\\\" stroke-width=\\\".2\\\" d=\\\"M9.733 6.657C9.679 8.43 8.21 9.85 6.406 9.85c-.635 0-1.245-.18-1.772-.51l-.017-.156.589-.583.117-.017a2.29 2.29 0 0 0 1.083.268c1.247 0 2.266-.976 2.319-2.195H7.616l-.07-.171L9.16 4.889h.14l1.615 1.597-.07.171H9.733zM4.07 6.343h1.108l.07.171-1.614 1.597h-.14L1.88 6.514l.07-.171h1.112C3.115 4.57 4.584 3.15 6.39 3.15c.635 0 1.244.18 1.772.51l.017.156-.589.583-.118.017a2.29 2.29 0 0 0-1.082-.268c-1.247 0-2.266.976-2.32 2.195z\\\"/></g></g></svg>\",\n  \"transfers\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"4 -4 64 64\\\"><path d=\\\"M57.333-4v48.016H68L52 60 36 44.016h10.667V-4zM25.333 60V12H36L20-4 4 12h10.667v48z\\\"/></svg>\",\n  \"tuto\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 31.219 31.218\\\"><path d=\\\"M29.2 15.224h-1.259v-3.77c0-.306-.137-.597-.377-.791-1.873-1.524-3.946-2.297-6.161-2.297a8.52 8.52 0 0 0-.229.004c.031-.249.051-.502.051-.759a6.109 6.109 0 0 0-6.11-6.11 6.11 6.11 0 0 0-6.11 6.11c0 .257.019.509.05.757-2.145.045-4.165.816-5.987 2.296a1.026 1.026 0 0 0-.387.791v3.77h-.637C.919 15.225 0 16.162 0 17.287v2.037c0 1.123.919 2.012 2.044 2.012h.638v7.365a1.024 1.024 0 0 0 1.035 1.016c.215 0 .432-.065.611-.201.02-.014 1.936-1.418 4.95-1.418 1.747 0 3.522.455 5.243 1.416.604.336 1.355.138 1.604 0 1.73-.938 3.496-1.416 5.242-1.416 2.965 0 4.916 1.394 4.953 1.421a1.01 1.01 0 0 0 1.056.092 1.01 1.01 0 0 0 .562-.91v-7.365h1.261a2.003 2.003 0 0 0 2.021-2.012v-2.037c-.001-1.125-.895-2.063-2.02-2.063zM9.302 26.062c-1.907 0-3.49.469-4.533.93v-5.658h1.349a1.987 1.987 0 0 0 2.003-2.01v-2.037c0-1.125-.878-2.062-2.003-2.062H4.769v-3.271c1.341-1.028 2.897-1.549 4.488-1.549 1.914 0 3.538.754 4.421 1.266.109.111.18.224.33.337v15.005c-1.565-.633-3.129-.951-4.706-.951zm16.628.93c-1.119-.461-2.629-.93-4.535-.93-1.578 0-3.215.317-4.706.948V11.869c.745-.486 2.562-1.465 4.741-1.465 1.59 0 3.082.521 4.498 1.549v3.271h-.803c-1.125 0-2.027.938-2.027 2.062v2.037c0 1.123.902 2.01 2.027 2.01h.803v5.658h.002z\\\"/></svg>\",\n  \"update-available\": \"<svg width=\\\"41\\\" height=\\\"40\\\" viewBox=\\\"0 0 41 40\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><g filter=\\\"url(#filter0_bii_1780_50626)\\\"><circle cx=\\\"20.5\\\" cy=\\\"12\\\" r=\\\"8\\\" fill=\\\"#6B6B6B\\\"/></g><g filter=\\\"url(#filter1_d_1780_50626)\\\"><path d=\\\"M22.965 5.438A7.017 7.017 0 0 0 20.517 5C16.642 5 13.5 8.134 13.5 12s3.142 7 7.017 7a7.011 7.011 0 0 0 6.983-6.308\\\" stroke=\\\"#F5F6F8\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M21.048 13.784a.85.85 0 0 1-1.006-.161l-2.45-2.53a.85.85 0 0 1 1.22-1.182l1.891 1.951 5.074-4.658a.85.85 0 0 1 1.15 1.253l-5.63 5.167a.85.85 0 0 1-.249.16z\\\" fill=\\\"#F5F6F8\\\"/></g><defs><filter id=\\\"filter0_bii_1780_50626\\\" x=\\\"-73.5\\\" y=\\\"-82\\\" width=\\\"188\\\" height=\\\"188\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feGaussianBlur in=\\\"BackgroundImageFix\\\" stdDeviation=\\\"43\\\"/><feComposite in2=\\\"SourceAlpha\\\" operator=\\\"in\\\" result=\\\"effect1_backgroundBlur_1780_50626\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"effect1_backgroundBlur_1780_50626\\\" result=\\\"shape\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"4\\\"/><feGaussianBlur stdDeviation=\\\"2\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.15 0\\\"/><feBlend in2=\\\"shape\\\" result=\\\"effect2_innerShadow_1780_50626\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset/><feGaussianBlur stdDeviation=\\\"34\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"arithmetic\\\" k2=\\\"-1\\\" k3=\\\"1\\\"/><feColorMatrix values=\\\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0\\\"/><feBlend in2=\\\"effect2_innerShadow_1780_50626\\\" result=\\\"effect3_innerShadow_1780_50626\\\"/></filter><filter id=\\\"filter1_d_1780_50626\\\" x=\\\".75\\\" y=\\\".25\\\" width=\\\"39.5\\\" height=\\\"39.5\\\" filterUnits=\\\"userSpaceOnUse\\\" color-interpolation-filters=\\\"sRGB\\\"><feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"/><feColorMatrix in=\\\"SourceAlpha\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\" result=\\\"hardAlpha\\\"/><feOffset dy=\\\"8\\\"/><feGaussianBlur stdDeviation=\\\"6\\\"/><feComposite in2=\\\"hardAlpha\\\" operator=\\\"out\\\"/><feColorMatrix values=\\\"0 0 0 0 0.172549 0 0 0 0 0.286275 0 0 0 0 0.427451 0 0 0 0.16 0\\\"/><feBlend in2=\\\"BackgroundImageFix\\\" result=\\\"effect1_dropShadow_1780_50626\\\"/><feBlend in=\\\"SourceGraphic\\\" in2=\\\"effect1_dropShadow_1780_50626\\\" result=\\\"shape\\\"/></filter></defs></svg>\",\n  \"update-file\": \"<svg viewBox=\\\"0 0 522 586\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M306.375 485.688c0-23.522 7.009-45.405 19.042-63.688H113.346c-8.953 0-16.219-7.58-16.219-16.5 0-8.921 7.266-16.5 16.219-16.5h227.063c4.369 0 8.341 1.825 11.265 4.728 19.573-15.071 44.089-24.04 70.702-24.04 10.964 0 21.571 1.522 31.625 4.365V31.938C454.001 14.023 439.561 0 421.748 0H32.252C14.439 0 0 14.023 0 31.938v454.125c0 17.915 14.439 32.938 32.252 32.938h278.986a116.023 116.023 0 0 1-4.863-33.313zM210.658 97h129.75c8.921 0 16.219 7.547 16.219 16.5s-7.298 16.5-16.219 16.5h-129.75c-8.953 0-16.219-7.547-16.219-16.5S201.706 97 210.658 97zm-97.312 98h227.063c8.921 0 16.219 7.047 16.219 16s-7.298 16-16.219 16H113.346c-8.953 0-16.219-7.047-16.219-16s7.266-16 16.219-16zm0 97h227.063c8.921 0 16.219 7.58 16.219 16.5S349.33 325 340.409 325H113.346c-8.953 0-16.219-7.58-16.219-16.5s7.266-16.5 16.219-16.5z\\\"/><path d=\\\"M422.001 386.68c54.858 0 99.319 44.473 99.319 99.321 0 54.846-44.471 99.319-99.319 99.319-54.848 0-99.321-44.47-99.321-99.319 0-54.847 44.47-99.321 99.321-99.321zm24.128 118.877a7.509 7.509 0 0 0-6.937 4.63 7.507 7.507 0 0 0 1.633 8.184l7.15 7.15c-8.623 4.649-18.318 7.126-28.395 7.126-16.024 0-31.093-6.238-42.423-17.569a10.771 10.771 0 0 0-7.647-3.163 10.78 10.78 0 0 0-7.646 3.172c-4.226 4.222-4.224 11.085.003 15.309 15.415 15.42 35.919 23.929 57.723 23.929 15.908 0 31.107-4.517 44.164-12.948l10.292 10.364c2.145 2.146 5.408 2.978 8.233 1.818 2.795-1.159 4.704-3.559 4.704-6.559h.768v-33.922c0-4.135-3.833-7.499-7.979-7.499zm-20.208-83.804c-15.909 0-31.097 4.583-44.154 13.014l-10.271-10.242c-2.145-2.148-5.365-2.732-8.19-1.574-2.795 1.157-4.617 4.049-4.617 7.049h.059v32.94c0 4.133 3.333 7.498 7.478 7.498l33.146.022a7.513 7.513 0 0 0 6.938-4.63 7.508 7.508 0 0 0-1.635-8.184l-7.149-7.15c8.623-4.649 18.317-7.123 28.394-7.123 16.026 0 31.095 6.24 42.425 17.57a10.775 10.775 0 0 0 7.647 3.169 10.78 10.78 0 0 0 7.647-3.167c4.225-4.222 4.225-11.067 0-15.293-15.415-15.419-35.915-23.899-57.718-23.899z\\\"/></svg>\",\n  \"upload-folder\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"200 52.5 560 455\\\"><path d=\\\"M200 87.499v385c0 19.319 15.68 35 34.999 35h209.896V332.5h-74.27l109.271-140 109.271 140h-74.271v175H725c19.319 0 35-15.68 35-35V156.94c0-19.32-15.681-34.44-35-34.441H479.999c-30.449-2.904-35-35-35-35C444.999 68.181 429.32 52.5 410 52.5H235c-19.319 0-35 15.68-35 34.999z\\\"/></svg>\",\n  \"upload\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"209.135 0 541.73 560\\\"><path d=\\\"M675.655 356.881v127.928H284.289V356.881h-75.154v165.532c0 20.755 16.813 37.587 37.586 37.587h466.483c20.829 0 37.661-16.813 37.661-37.587V356.881h-75.21zM473.079 4.988l-107.64 130.058s-16.346 15.431 1.382 15.431h60.639V339.957s-2.447 9.191 11.526 9.191h85.372c10.031 0 9.732-7.734 9.732-7.734V178.105v-23.781h56.08c21.596 0 5.324-16.084 5.324-16.084S503.884 16.663 491.105 3.829c-9.19-9.247-18.026 1.159-18.026 1.159z\\\"/></svg>\",\n  \"user-active\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 510 510\\\"><path d=\\\"M150.45 206.55l-35.7 35.7L229.5 357l255-255-35.7-35.7-219.3 219.3-79.05-79.05zM459 255c0 112.2-91.8 204-204 204S51 367.2 51 255 142.8 51 255 51c20.4 0 38.25 2.55 56.1 7.65l40.801-40.8C321.3 7.65 288.15 0 255 0 114.75 0 0 114.75 0 255s114.75 255 255 255 255-114.75 255-255h-51z\\\"/></svg>\",\n  \"user-blocked\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 110 110\\\"><g fill=\\\"none\\\" stroke-width=\\\"10\\\" stroke-miterlimit=\\\"10\\\"><circle cx=\\\"55\\\" cy=\\\"55\\\" r=\\\"50\\\"/><path d=\\\"M19.809 90.512L55 55l35.142-35.561\\\"/></g></svg>\",\n  \"user-circle\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 612 612\\\"><path d=\\\"M503.676 349.452c0-5.712-2.244-9.792-6.729-12.24l-66.708-31.824c7.752-4.896 13.974-11.832 18.666-20.808 4.689-8.976 7.038-19.176 7.038-30.6 0-15.912-4.794-29.58-14.385-41.004-9.588-11.424-21.315-17.136-35.188-17.136-4.896 0-9.486.816-13.771 2.448-4.281 1.632-8.262 3.672-11.934 6.12 4.488 12.24 6.732 24.684 6.732 37.332 0 19.992-5.307 38.148-15.912 54.468 2.04 2.04 3.978 3.876 5.812 5.508a38.76 38.76 0 0 0 5.814 4.284l43.452 20.196c6.117 3.264 11.016 7.854 14.688 13.77s5.508 12.546 5.508 19.893v56.303h45.9c3.264 0 5.916-1.326 7.956-3.979 2.04-2.649 3.06-5.812 3.06-9.483l.001-53.248zm-77.724 10.404c0-7.347-2.856-12.24-8.568-14.688l-58.14-28.152-24.48-11.625c5.307-3.264 10.101-7.446 14.385-12.546 4.281-5.1 7.854-10.914 10.71-17.442 2.039-4.896 3.771-10.2 5.199-15.912 1.431-5.712 2.145-11.628 2.145-17.748 0-3.264-.204-6.426-.612-9.486s-1.02-6.222-1.836-9.486c-3.672-15.504-10.914-28.152-21.726-37.944-10.813-9.792-23.358-14.688-37.638-14.688s-26.724 4.794-37.332 14.382-17.748 21.726-21.42 36.414c-2.04 7.344-3.06 14.28-3.06 20.808 0 12.24 2.652 24.072 7.956 35.496 6.12 12.24 14.484 21.828 25.092 28.764l-23.256 11.016-59.976 27.54c-6.12 2.856-9.18 7.956-9.18 15.302v66.095c0 4.488 1.326 8.262 3.978 11.322s6.018 4.59 10.098 4.59h214.2c3.672 0 6.834-1.53 9.483-4.59 2.652-3.063 3.979-6.834 3.979-11.322v-9.792l-.001-56.308zm-261.936 0c0-7.347 1.836-13.977 5.508-19.893s8.568-10.506 14.688-13.77l45.288-20.809c4.08-2.448 7.344-5.304 9.792-8.568-5.304-7.752-9.384-16.32-12.24-25.704s-4.284-19.176-4.284-29.376c0-6.936.714-13.566 2.142-19.89s3.162-12.342 5.202-18.054c-7.344-5.304-15.504-7.956-24.48-7.956-13.872 0-25.602 5.712-35.19 17.136-9.588 11.424-14.382 25.092-14.382 41.004 0 11.424 2.448 21.726 7.344 30.906s11.424 16.218 19.584 21.114l-67.932 31.212c-4.488 2.04-6.732 6.12-6.732 12.24v53.244c0 3.672 1.02 6.834 3.06 9.483 2.04 2.652 4.692 3.979 7.956 3.979h44.676v-56.298zM306 0c42.024 0 81.702 8.058 119.034 24.174s69.768 37.944 97.308 65.484 49.368 59.976 65.484 97.308S612 263.976 612 306c0 28.152-3.672 55.284-11.016 81.396-7.347 26.109-17.646 50.487-30.906 73.134a305.087 305.087 0 0 1-47.736 61.812 304.924 304.924 0 0 1-61.812 47.736c-22.646 13.26-47.022 23.562-73.136 30.906C361.284 608.328 334.152 612 306 612s-55.284-3.672-81.396-11.016c-26.112-7.347-50.49-17.646-73.134-30.906s-43.248-29.172-61.812-47.736a305.032 305.032 0 0 1-47.736-61.812c-13.26-22.646-23.562-47.022-30.906-73.135C3.672 361.284 0 334.152 0 306s3.672-55.284 11.016-81.396 17.646-50.49 30.906-73.134 29.172-43.248 47.736-61.812 39.168-34.476 61.812-47.736 47.022-23.562 73.134-30.906S277.848 0 306 0z\\\"/></svg>\",\n  \"user-edit-badge\": \"<svg width=\\\"28\\\" height=\\\"20\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M0 8a8 8 0 0 1 8-8h12a8 8 0 0 1 8 8v4a8 8 0 0 1-8 8H8a8 8 0 0 1-8-8V8z\\\" fill=\\\"#2196F3\\\"/><path d=\\\"M13.352 3.336a3.333 3.333 0 1 0 0 6.667 3.333 3.333 0 0 0 0-6.667zm0 7.334c.393 0 .778.028 1.15.08a.666.666 0 0 1 .359 1.15 4.652 4.652 0 0 0-1.474 4.015.666.666 0 0 1-.674.749c-1.34-.027-2.594-.144-3.53-.43-.468-.144-.909-.346-1.244-.642-.354-.314-.587-.736-.587-1.256 0-.524.239-1.015.563-1.426.329-.416.784-.8 1.318-1.126 1.07-.65 2.522-1.114 4.12-1.114zm6.808.69a1.667 1.667 0 0 1 0 2.356l-2.279 2.278a1 1 0 0 1-.565.283l-1.54.22a.668.668 0 0 1-.754-.755l.22-1.539a1 1 0 0 1 .283-.566l2.278-2.279a1.667 1.667 0 0 1 2.357 0v.001z\\\" fill=\\\"#FFF\\\"/></svg>\",\n  \"user-edit\": \"<svg width=\\\"28\\\" height=\\\"20\\\" viewBox=\\\"0 0 36 28\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><g><animate attributeName=\\\"opacity\\\" values=\\\"0;0;0.6;0;0\\\" dur=\\\"2.4s\\\" repeatCount=\\\"indefinite\\\"/><path d=\\\"M24 2c5.523 0 10 4.477 10 10v4c0 5.523-4.477 10-10 10H12C6.477 26 2 21.523 2 16v-4C2 6.477 6.477 2 12 2h12z\\\" stroke=\\\"#5FCBD8\\\" stroke-width=\\\"4\\\"/></g><g transform=\\\"translate(2 2)\\\"><animate attributeName=\\\"opacity\\\" values=\\\"0;0.6;0.6;0.6;0\\\" dur=\\\"2.4s\\\" repeatCount=\\\"indefinite\\\"/><path d=\\\"M22 1a9 9 0 0 1 9 9v4a9 9 0 0 1-9 9H10a9 9 0 0 1-9-9v-4a9 9 0 0 1 9-9h12z\\\" stroke=\\\"#5FCBD8\\\" stroke-width=\\\"2\\\"/></g><path d=\\\"M4 12a8 8 0 0 1 8-8h12a8 8 0 0 1 8 8v4a8 8 0 0 1-8 8H12a8 8 0 0 1-8-8v-4z\\\" fill=\\\"#C5EEF2\\\"/><path d=\\\"M17.352 7.336a3.333 3.333 0 1 0 0 6.667 3.333 3.333 0 0 0 0-6.667zm0 7.334c.393 0 .778.028 1.15.08a.666.666 0 0 1 .359 1.15 4.652 4.652 0 0 0-1.474 4.015.666.666 0 0 1-.674.749c-1.34-.027-2.594-.144-3.53-.43-.468-.144-.909-.346-1.244-.642-.354-.314-.587-.736-.587-1.256 0-.524.239-1.015.563-1.426.329-.416.784-.8 1.318-1.126 1.07-.65 2.522-1.114 4.12-1.114zm6.808.69a1.667 1.667 0 0 1 0 2.356l-2.279 2.278a1 1 0 0 1-.565.283l-1.54.22a.668.668 0 0 1-.754-.755l.22-1.539a1 1 0 0 1 .283-.566l2.278-2.279a1.667 1.667 0 0 1 2.357 0v.001z\\\" fill=\\\"#1E4752\\\"/></svg>\",\n  \"user-pending\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 110 110\\\"><circle stroke-width=\\\"10\\\" stroke-miterlimit=\\\"10\\\" cx=\\\"55.332\\\" cy=\\\"55.001\\\" r=\\\"50\\\"/><path d=\\\"M75.953 28.428h2.561v-6.176H32.151v6.176h2.561v1.603c0 10.061 3.443 19.288 9.114 24.763-5.67 5.475-9.114 14.702-9.114 24.763v2.02h-2.561v6.175h46.362v-6.175h-2.561v-2.02c0-10.062-3.444-19.288-9.114-24.763 5.67-5.475 9.114-14.7 9.114-24.763v-1.603zM62.52 53.182l-2.127 1.611 2.127 1.611c5.307 4.024 8.868 12.172 9.338 21.131h-33.05c.47-8.958 4.03-17.106 9.338-21.131l2.125-1.611-2.125-1.611c-5.307-4.025-8.868-12.171-9.338-21.13h33.048c-.468 8.959-4.03 17.105-9.336 21.13zM43.069 35.264h24.527c-.354 6.802-3.06 12.989-7.092 16.045 0 0-.69.298-1.612 1.222-1.907 2.724-2.009 12.682-2.013 13.12 1.369.146 2.85.725 4.316 2.064 5.173 4.727 6.674 5.284 6.854 8.716H43.792c.181-3.431 3.124-5.886 6.855-8.716 0 0 1.775-1.559 4.265-1.99-.045-.078-.072-.131-.072-.131 0-9.379-3.066-13.4-3.066-13.4l-2.18-1.223c-4.031-3.057-6.17-8.905-6.525-15.707z\\\"/></svg>\",\n  \"user-removed\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 110 110\\\"><g fill=\\\"none\\\" stroke-width=\\\"10\\\" stroke-miterlimit=\\\"10\\\"><circle cx=\\\"55\\\" cy=\\\"55\\\" r=\\\"50\\\"/><path d=\\\"M55 55l34.996-35.708M55 55L19.834 90.536M55 55l34.996 29.858M55 55L19.834 19.463\\\"/></g></svg>\",\n  \"user\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"318.539 58.107 332.696 459.241\\\"><path d=\\\"M484.912 253.288c53.904 0 97.604-43.698 97.604-97.595s-43.707-97.587-97.604-97.587-97.611 43.699-97.611 97.596 43.715 97.586 97.611 97.586zm41.399 6.66h-82.813c-68.902 0-124.958 56.056-124.958 124.959V486.18l.257 1.586 6.976 2.185c65.755 20.545 122.882 27.396 169.894 27.396 91.849 0 145.072-26.185 148.353-27.854l6.52-3.297h.697v-101.29c.032-68.902-56.024-124.958-124.926-124.958z\\\"/></svg>\",\n  \"users-circle\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 612 612\\\"><path d=\\\"M503.676 349.452c0-5.712-2.244-9.792-6.729-12.24l-66.708-31.824c7.752-4.896 13.974-11.832 18.666-20.808 4.689-8.976 7.038-19.176 7.038-30.6 0-15.912-4.794-29.58-14.385-41.004-9.588-11.424-21.315-17.136-35.188-17.136-4.896 0-9.486.816-13.771 2.448-4.281 1.632-8.262 3.672-11.934 6.12 4.488 12.24 6.732 24.684 6.732 37.332 0 19.992-5.307 38.148-15.912 54.468 2.04 2.04 3.978 3.876 5.812 5.508a38.76 38.76 0 0 0 5.814 4.284l43.452 20.196c6.117 3.264 11.016 7.854 14.688 13.77s5.508 12.546 5.508 19.893v56.303h45.9c3.264 0 5.916-1.326 7.956-3.979 2.04-2.649 3.06-5.812 3.06-9.483l.001-53.248zm-77.724 10.404c0-7.347-2.856-12.24-8.568-14.688l-58.14-28.152-24.48-11.625c5.307-3.264 10.101-7.446 14.385-12.546 4.281-5.1 7.854-10.914 10.71-17.442 2.039-4.896 3.771-10.2 5.199-15.912 1.431-5.712 2.145-11.628 2.145-17.748 0-3.264-.204-6.426-.612-9.486s-1.02-6.222-1.836-9.486c-3.672-15.504-10.914-28.152-21.726-37.944-10.813-9.792-23.358-14.688-37.638-14.688s-26.724 4.794-37.332 14.382-17.748 21.726-21.42 36.414c-2.04 7.344-3.06 14.28-3.06 20.808 0 12.24 2.652 24.072 7.956 35.496 6.12 12.24 14.484 21.828 25.092 28.764l-23.256 11.016-59.976 27.54c-6.12 2.856-9.18 7.956-9.18 15.302v66.095c0 4.488 1.326 8.262 3.978 11.322s6.018 4.59 10.098 4.59h214.2c3.672 0 6.834-1.53 9.483-4.59 2.652-3.063 3.979-6.834 3.979-11.322v-9.792l-.001-56.308zm-261.936 0c0-7.347 1.836-13.977 5.508-19.893s8.568-10.506 14.688-13.77l45.288-20.809c4.08-2.448 7.344-5.304 9.792-8.568-5.304-7.752-9.384-16.32-12.24-25.704s-4.284-19.176-4.284-29.376c0-6.936.714-13.566 2.142-19.89s3.162-12.342 5.202-18.054c-7.344-5.304-15.504-7.956-24.48-7.956-13.872 0-25.602 5.712-35.19 17.136-9.588 11.424-14.382 25.092-14.382 41.004 0 11.424 2.448 21.726 7.344 30.906s11.424 16.218 19.584 21.114l-67.932 31.212c-4.488 2.04-6.732 6.12-6.732 12.24v53.244c0 3.672 1.02 6.834 3.06 9.483 2.04 2.652 4.692 3.979 7.956 3.979h44.676v-56.298zM306 0c42.024 0 81.702 8.058 119.034 24.174s69.768 37.944 97.308 65.484 49.368 59.976 65.484 97.308S612 263.976 612 306c0 28.152-3.672 55.284-11.016 81.396-7.347 26.109-17.646 50.487-30.906 73.134a305.087 305.087 0 0 1-47.736 61.812 304.924 304.924 0 0 1-61.812 47.736c-22.646 13.26-47.022 23.562-73.136 30.906C361.284 608.328 334.152 612 306 612s-55.284-3.672-81.396-11.016c-26.112-7.347-50.49-17.646-73.134-30.906s-43.248-29.172-61.812-47.736a305.032 305.032 0 0 1-47.736-61.812c-13.26-22.646-23.562-47.022-30.906-73.135C3.672 361.284 0 334.152 0 306s3.672-55.284 11.016-81.396 17.646-50.49 30.906-73.134 29.172-43.248 47.736-61.812 39.168-34.476 61.812-47.736 47.022-23.562 73.134-30.906S277.848 0 306 0z\\\"/></svg>\",\n  \"v2\": {\n    \"status\": {\n      \"check\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm3.535 4.381a1 1 0 0 1 1.498 1.32l-.083.094-5.586 5.587a1.1 1.1 0 0 1-1.46.085l-.096-.085-2.758-2.758a1 1 0 0 1 1.32-1.498l.094.084 2.122 2.121 4.95-4.95h-.001z\\\"/></svg>\"\n    },\n    \"system\": {\n      \"close\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zM9.879 8.464L12 10.586l2.121-2.122a1 1 0 1 1 1.415 1.415l-2.122 2.12 2.122 2.122a1 1 0 1 1-1.415 1.415L12 13.414l-2.121 2.122a1 1 0 0 1-1.415-1.415L10.586 12 8.465 9.879a1 1 0 0 1 1.414-1.415z\\\"/></svg>\",\n      \"loader\": \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.952-8.952c-.55-.055-.998.398-.998.95 0 .552.45.994.997 1.062a8 8 0 0 1 6.94 6.94c.07.549.51.998 1.063.998z\\\"/></svg>\"\n    }\n  },\n  \"warning-filled\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 22 19\\\"><path d=\\\"M10.943.001c.457-.019.886.213 1.113.602l9.781 16.599c.218.372.217.829-.003 1.2a1.228 1.228 0 0 1-1.061.598H1.227a1.228 1.228 0 0 1-1.061-.598 1.178 1.178 0 0 1-.003-1.2L9.936.603a1.23 1.23 0 0 1 1.007-.602zm-.942 7.189v4.882c0 .604.455 1.107 1 1.107.545 0 1-.503 1-1.107V7.19c0-.604-.455-1.107-1-1.107-.545 0-1 .503-1 1.107zm1 7.003c-.556 0-1 .443-1 .996s.445 1.031 1 1.031 1-.479 1-1.031-.444-.996-1-.996z\\\"/></svg>\",\n  \"warning\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"200 34.189 560 491.624\\\"><path d=\\\"M755.384 485.42L502.647 46.883c-4.616-8.078-12.694-12.694-21.927-12.694s-17.311 4.616-21.927 12.694L203.75 487.729c-11.541 19.619 5.77 38.084 21.927 38.084h510.088c13.849 0 24.235-11.541 24.235-25.39 0-5.77-1.154-10.387-4.616-15.003zM269.53 475.034l211.19-365.833 211.19 365.833H269.53z\\\"/><path d=\\\"M455.332 222.298V334.24c0 13.849 11.54 25.389 25.389 25.389s25.389-11.54 25.389-25.389V222.298c0-13.849-11.54-25.389-25.389-25.389s-25.389 11.54-25.389 25.389zM480.721 381.557c-17.311 0-31.159 13.848-31.159 31.159s13.849 32.313 31.159 32.313 31.159-15.002 31.159-32.313-13.849-31.159-31.159-31.159z\\\"/></svg>\",\n  \"warning_round\": \"<svg width=\\\"32\\\" height=\\\"32\\\" viewBox=\\\"0 0 32 32\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M32 16c0 8.838-7.164 16-16 16S0 24.838 0 16C0 7.167 7.164 0 16 0s16 7.167 16 16zm-16 3.226a2.968 2.968 0 1 0 0 5.935 2.968 2.968 0 0 0 0-5.935zM13.182 8.558l.479 8.774c.022.411.362.732.773.732h3.132c.411 0 .75-.32.773-.732l.479-8.774a.774.774 0 0 0-.773-.816h-4.09a.774.774 0 0 0-.773.816z\\\" fill=\\\"#FFC107\\\"/></svg>\",\n  \"white_shield\": \"<svg version=\\\"1.1\\\" id=\\\"Calque_2\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0\\\" y=\\\"0\\\" viewBox=\\\"0 0 45.2 52.7\\\" xml:space=\\\"preserve\\\"><style>.st1{opacity:.5;fill:#fff}.st1,.st2,.st3{enable-background:new}.st2{fill:#fff;opacity:.3}.st3{opacity:.7}.st3,.st4{fill:#fff}</style><g opacity=\\\".55\\\"><path class=\\\"st1\\\" d=\\\"M13.5 33.7L12.2 38s.8.9 1.7 1.9c2.4 2.6 4.6 4.3 4.6 4.3l6.7-13.7-11.7 3.2z\\\"/><path class=\\\"st2\\\" d=\\\"M12.2 38l1.3-4.3-3.5 1M18.5 44.2c1.8 1.4 3.3 2.3 4.2 2.8 1.6-.8 5.2-2.9 8.7-6.9l-6.2-9.6-6.7 13.7z\\\"/><path class=\\\"st3\\\" d=\\\"M39.1 26.3l-13.9 4.2 6.2 9.6s1.9-2.2 2.6-3.2c0 0-1.8 2.5.2-.3s3.5-5.9 4.5-9.2\\\"/><path class=\\\"st2\\\" d=\\\"M30.6 19.4l3.4-7.1 6.5 3.8s0 4.5-.9 7.8\\\"/><path class=\\\"st1\\\" d=\\\"M25.2 30.5l13.9-4.2c.3-1 .3-1.3.5-2.4l-9-4.5-5.4 11.1z\\\"/><path class=\\\"st2\\\" d=\\\"M19.4 13.9l-5.8-3 8-4.7z\\\"/><path class=\\\"st1\\\" d=\\\"M22.7 5.6l-1.1.6-2.2 7.7 11.2 5.5 3.4-7.1z\\\"/><path class=\\\"st3\\\" d=\\\"M16.1 25L4.8 16.1l14.6-2.2 11.2 5.5-5.4 11.1-11.7 3.2z\\\"/><path class=\\\"st1\\\" d=\\\"M4.8 16.1l14.6-2.2-5.8-3-8.8 5.2C5 24 6.2 28 9.3 33.7c.1.2.7 1 .7 1l3.5-1 2.6-8.7-11.3-8.9z\\\"/></g><path id=\\\"_x3C_Tracé_x3E_\\\" class=\\\"st4\\\" d=\\\"M2.7 14.9c0 2.9.2 5.8.7 8.5.5 2.6 1.2 5.2 2.2 7.6 1.7 4.1 4 7.7 7 11 1.2 1.3 2.5 2.5 3.8 3.6 1.1.9 2.2 1.7 3.4 2.4 1.3.8 2.3 1.3 2.8 1.6.6-.3 1.6-.8 2.8-1.6 1.2-.7 2.3-1.6 3.4-2.4 1.4-1.1 2.6-2.3 3.8-3.6 3-3.2 5.4-6.9 7-11 1-2.4 1.7-5 2.2-7.6.5-2.7.7-5.6.7-8.5-3-1.8-16.9-10-20-11.9L2.7 14.9zm20 37.4l-.5-.2c-.2-.1-5.8-2.5-11.4-8.5-3.2-3.5-5.8-7.4-7.5-11.7-1-2.5-1.9-5.3-2.4-8.1-.6-3.1-.8-6.3-.7-9.7v-.7L22.7 0l.6.4 21.8 13v.7c.1 3.3-.2 6.6-.7 9.7-.5 2.8-1.3 5.5-2.4 8.1-1.8 4.3-4.3 8.3-7.5 11.7-5.5 5.9-11.1 8.4-11.4 8.5l-.4.2z\\\"/><path class=\\\"st4\\\" d=\\\"M19.9 15.9v2.4H10v4.9h9.9v2.4l5-4.9z\\\"/><path class=\\\"st3\\\" d=\\\"M35.6 24.3h-10v-2.4l-4.9 4.8 4.9 4.9v-2.4h10\\\"/></svg>\",\n  \"window\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"512\\\" height=\\\"512\\\" viewBox=\\\"0 0 592.018 592.018\\\"><circle cx=\\\"503.441\\\" cy=\\\"93.853\\\" r=\\\"21.216\\\"/><path d=\\\"M503.441 115.569c-11.975 0-21.717-9.742-21.717-21.716 0-11.975 9.742-21.716 21.717-21.716 11.974 0 21.715 9.742 21.715 21.716s-9.741 21.716-21.715 21.716zm0-42.432c-11.423 0-20.717 9.293-20.717 20.716s9.294 20.716 20.717 20.716c11.422 0 20.715-9.293 20.715-20.716s-9.293-20.716-20.715-20.716z\\\"/><circle cx=\\\"440.201\\\" cy=\\\"93.853\\\" r=\\\"21.216\\\"/><path d=\\\"M440.201 115.569c-11.975 0-21.717-9.742-21.717-21.716 0-11.975 9.742-21.716 21.717-21.716 11.974 0 21.715 9.742 21.715 21.716s-9.741 21.716-21.715 21.716zm0-42.432c-11.423 0-20.717 9.293-20.717 20.716s9.294 20.716 20.717 20.716c11.422 0 20.715-9.293 20.715-20.716s-9.293-20.716-20.715-20.716z\\\"/><circle cx=\\\"376.961\\\" cy=\\\"93.853\\\" r=\\\"21.216\\\"/><path d=\\\"M376.961 115.569c-11.975 0-21.717-9.742-21.717-21.716 0-11.975 9.742-21.716 21.717-21.716s21.717 9.742 21.717 21.716-9.742 21.716-21.717 21.716zm0-42.432c-11.423 0-20.717 9.293-20.717 20.716s9.294 20.716 20.717 20.716 20.717-9.293 20.717-20.716-9.294-20.716-20.717-20.716z\\\"/><path d=\\\"M591.518 524.858V67.16c0-32.058-26.082-58.14-58.141-58.14H58.64C26.582 9.02.5 35.102.5 67.16v457.698c0 32.058 26.082 58.14 58.14 58.14h474.737c32.059 0 58.141-26.082 58.141-58.14zM43.34 67.16c0-8.45 6.85-15.3 15.3-15.3h474.737c8.449 0 15.301 6.85 15.301 15.3v65.484H43.34V67.16zm0 457.698V175.484h505.338v349.374c0 8.449-6.852 15.3-15.301 15.3H58.64c-8.45 0-15.3-6.851-15.3-15.3z\\\"/><path d=\\\"M533.377 583.498H58.64c-32.334 0-58.64-26.306-58.64-58.64V67.16C0 34.826 26.306 8.52 58.64 8.52h474.737c32.335 0 58.641 26.306 58.641 58.64v457.698c0 32.334-26.306 58.64-58.641 58.64zM58.64 9.52C26.857 9.52 1 35.377 1 67.16v457.698c0 31.782 25.857 57.64 57.64 57.64h474.737c31.783 0 57.641-25.857 57.641-57.64V67.16c0-31.783-25.857-57.64-57.641-57.64H58.64zm474.737 531.138H58.64c-8.712 0-15.8-7.088-15.8-15.8V174.984h506.338v349.874c0 8.712-7.088 15.8-15.801 15.8zM43.84 175.984v348.874c0 8.161 6.64 14.8 14.8 14.8h474.737c8.161 0 14.801-6.639 14.801-14.8V175.984H43.84zm505.338-42.84H42.84V67.16c0-8.712 7.088-15.8 15.8-15.8h474.737c8.713 0 15.801 7.088 15.801 15.8v65.984zm-505.338-1h504.338V67.16c0-8.161-6.64-14.8-14.801-14.8H58.64c-8.161 0-14.8 6.639-14.8 14.8v64.984z\\\"/></svg>\",\n  \"wrenches\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"200 18.508 560 522.983\\\"><path d=\\\"M732.143 100.795c-59.211 59.139-46.861 57.992-94.187 10.647-7.063-7.062-7.008-18.301-.019-25.308l39.781-39.774c13.901-13.901-28.062-41.992-60.154-19.3-56.144 39.635-54.443 43.711-58.823 125.818l-23.33 23.339c3.124 5.814 5.879 11.887 7.82 18.449 7.099 24.09 14.9 40.781 2.217 62.338 5.472 3.678 16.951 15.75 22.073 20.87l58.121-58.111c82.448-4.419 86.296-2.967 125.801-58.806 22.72-32.175-5.453-74.037-19.3-60.162zM400.848 361.805c3.143-19.196 18.228-34.199 37.268-37.305 3.162-19.088 18.209-34.174 37.324-37.315.722-4.399 2.181-8.596 4.141-12.56-9.52-5.437-16.415-13.172-20.704-23.118l-121.511 121.51.609.609-87.109 87.108c-18.484 18.478-18.484 48.406.02 66.893 18.468 18.487 48.396 18.478 66.884.01l73.724-73.725-15.324-15.334c-26.197-26.213-11.316-70.922 24.678-76.773zM287.95 515.16c-33.609 0-33.664-50.875 0-50.875 14.051 0 25.438 11.389 25.438 25.438S302 515.16 287.95 515.16z\\\"/><path d=\\\"M532.045 271.434c-10.26 7.458-20.188 10.703-33.683 9.234-6.506 10.195-5.768 23.662 3.144 32.582-24.607-24.615-61.987 12.701-37.324 37.306-24.717-24.67-61.949 12.652-37.324 37.324-24.365-24.458-62.318 12.274-37.305 37.314l62.816 62.817c24.607 24.561 61.968-12.663 37.308-37.324 24.549 24.541 62.261-12.394 37.323-37.315 5.158 5.158 11.924 7.729 18.673 7.729 23.291 0 35.309-28.35 18.651-45.042 24.365 24.449 62.318-12.257 37.305-37.314-6.009-6.009-62.06-63.466-69.584-67.311zM260.683 266.231c-8.301 8.301-8.301 21.796 0 30.095l59.323 59.313c151.885-151.874 127.981-127.99 144.657-144.647 1.386 1.712 2.568 3.605 3.235 5.842 6.192 21.011 9.427 45.329 35.604 45.329a29.762 29.762 0 0 0 21.075-8.717c15.382-15.353 6.692-32.397.5-53.435-10.224-34.719-42.593-57.031-78.253-54.702l-69.712 4.503a608516.843 608516.843 0 0 0-116.429 116.419zM328.029 162.871c18.061-18.061-3.864-33.969-21.704-51.808-8.301-8.301-21.797-8.301-30.095 0l-69.99 70c-8.32 8.308-8.32 21.786 0 30.095 44.516 44.543 30.723 42.779 121.789-48.287z\\\"/></svg>\",\n  \"ws-add\": \"<svg width=\\\"56\\\" height=\\\"56\\\" viewBox=\\\"0 0 56 56\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M26.222 29.778H12V12h14.222v17.778zm0 14.222H12V33.333h14.222V44zm10.486 0h-6.93V26.222H44v4.03A8 8 0 0 0 36.708 44zM44 22.667H29.778V12H44v10.667z\\\" fill=\\\"#2196F3\\\"/><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M48.125 38a6.125 6.125 0 1 1-12.25 0 6.125 6.125 0 0 1 12.25 0zm-5.25-.875h1.75v1.75h-1.75v1.75h-1.75v-1.75h-1.75v-1.75h1.75v-1.75h1.75v1.75z\\\" fill=\\\"#2196F3\\\"/></svg>\",\n  \"ws-conversations\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 25 25\\\"><path fill=\\\"#C4CBD5\\\" d=\\\"M0 13.889h11.111V0H0zM13.889 25H25V11.111H13.889z\\\"/><path fill=\\\"#95A4B7\\\" d=\\\"M0 25h11.111v-8.334H0V25zM13.889 8.333H25V0H13.889v8.333z\\\"/></svg>\",\n  \"ws-deleted\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 36 32\\\"><path fill=\\\"#2196F3\\\" d=\\\"M14.222 17.778H0V0h14.222v17.778zm0 14.222H0V21.333h14.222V32zm10.486 0h-6.93V14.222H32v4.03A8 8 0 0 0 24.708 32zM32 10.667H17.778V0H32v10.667z\\\" clip-rule=\\\"evenodd\\\" fill-rule=\\\"evenodd\\\"/><path fill=\\\"#2196F3\\\" d=\\\"M30 32.125a6.125 6.125 0 1 0 0-12.25 6.125 6.125 0 0 0 0 12.25zm2.625-7h-5.25v1.75h5.25v-1.75z\\\" clip-rule=\\\"evenodd\\\" fill-rule=\\\"evenodd\\\"/></svg>\"\n};","import { tBoxClient } from 'client/initializers/init-toolbox';\nimport { saveAs } from 'file-saver';\n\nclass BlobFileWriter {\n  constructor(filename, blobOptions) {\n    this.filename = filename;\n    this.blobOptions = blobOptions;\n    this.chunkBlobs = [];\n  }\n\n  async write(chunk) {\n    let blob = new Blob([tBoxClient.decodeUint8Array(chunk)], { type: 'application/octet-stream' });\n    // CNUAGE-12274 Read back the first byte of the blob to assert that it was properly written.\n    // This should fail on Chrome in private mode after 2Go worth of blobs have been created.\n    await blob.slice(1).arrayBuffer();\n    this.chunkBlobs.push(blob);\n  }\n\n  close(error) {\n    if (error) {\n      return;\n    }\n    saveAs(new Blob(this.chunkBlobs, this.blobOptions), this.filename);\n  }\n}\n\nexport default BlobFileWriter;\n","function snakeToCamel(s) {\n  return s.replace(/(_\\w)/g, function(m) {\n    return m[1].toUpperCase();\n  });\n}\n\nfunction normalize(val) {\n\tif (val !== null && typeof val === \"object\") {\n\t\tfor (let key in val) {\n\t\t\tif (val.hasOwnProperty(key)) {\n\t\t\t\tval[snakeToCamel(key)] = normalize(val[key]);\n\t\t\t\tif (key !== snakeToCamel(key)) {\n\t\t\t\t\tdelete val[key];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n  return val;\n}\n\nexport {snakeToCamel, normalize};\n","/* global ipc */\nimport ENV from '../config/environment';\n\nexport async function getPipeName() {\n  let pipeName = '/tmp/cryptobox-rpc-webapp';\n  if ((await ipc.os.platform()) === 'win32') {\n    pipeName = '\\\\\\\\.\\\\pipe\\\\cryptobox-rpc-webapp';\n  }\n  return pipeName;\n}\n\nexport async function getSettings(application) {\n  return async (ua) => {\n    const name = await ipc.username.sync();\n    let cacheKey = await ua.keytar.getPassword('CryptoboxDesktopKey', name);\n\n    if (!cacheKey) {\n      cacheKey = await ipc.newCacheKey();\n      await ua.keytar.setPassword('CryptoboxDesktopKey', name, cacheKey);\n    }\n\n    const cacheDir = await ipc.getToolboxCacheDir();\n\n    return {\n      cacheDir: cacheDir,\n      cacheKey: cacheKey.substring(0, cacheKey.length - 1),\n      deviceInfo: { appVersion: ENV.APP.version, appName: 'Desktop' },\n    };\n  };\n}\n","import { tBoxClient } from 'client/initializers/init-toolbox';\nimport ENV from 'client/config/environment';\nimport FileWriter from './file-writer';\nimport { showSaveDialog } from 'client/ipc';\n/* global libcryptobox */\n\n// On the desktop, the method returns null if the user cancels the save dialog.\nexport async function getFileDownloadTarget(name, size) {\n  if (ENV.APP.isDesktopApp) {\n    const path = await showSaveDialog(name);\n    return path ? new FileDownloadTarget(name, size, path) : null;\n  }\n  return new FileDownloadTarget(name, size);\n}\n\n// FileDownloadTarget provides the target to download a file with the toolbox.\n// - The target depends on the platform and its capabilities.\n//   See the constructor() below.\n// - The class may prompt the end-user for a save location.\n//   If you need to download the file to memory without notifying\n//   the user, call the toolbox API directly with a BlobFileWriter.\nexport class FileDownloadTarget {\n  constructor(name, size, path = undefined) {\n    this.name = name;\n    this.size = size;\n    this.path = path;\n  }\n\n  download(spaceId, path, revision) {\n    return this.call(\n      (target) => tBoxClient.file.download(spaceId, path, revision, target),\n      (target) =>\n        tBoxClient.file.downloadToDisk(spaceId, path, revision, target),\n    );\n  }\n\n  downloadZip(spaceId, sources, revision) {\n    return this.call(\n      (target) =>\n        tBoxClient.file.downloadZip(spaceId, sources, revision, target),\n      (target) =>\n        tBoxClient.file.downloadZipToDisk(spaceId, sources, revision, target),\n    );\n  }\n\n  downloadSharing(sharingUrl, sharingKey) {\n    return this.call(\n      (target) =>\n        tBoxClient.fileSharing.download(sharingUrl, sharingKey, target),\n      (target) =>\n        tBoxClient.fileSharing.downloadToDisk(sharingUrl, sharingKey, target),\n    );\n  }\n\n  downloadAttachment(id) {\n    return this.call(\n      (target) => tBoxClient.attachment.download(id, target),\n      (target) => tBoxClient.attachment.downloadToDisk(id, target),\n    );\n  }\n\n  downloadFileHistory(spaceId, trackingId) {\n    return this.call(\n      (target) => tBoxClient.file.downloadHistory(spaceId, trackingId, target),\n      (target) => tBoxClient.file.downloadHistoryToDisk(spaceId, trackingId, target),\n    );\n  }\n\n  downloadDepositBox(boxId, fileNames, isZip) {\n    return this.call(\n      (target) =>\n        tBoxClient.depositBox.download(boxId, fileNames, target, {\n          zip: isZip,\n        }),\n      (target) =>\n        tBoxClient.depositBox.downloadToDisk(boxId, fileNames, target, {\n          zip: isZip,\n        }),\n    );\n  }\n\n  // Do not \"async\" this method or the toolbox promise will be wrapped and the caller won't be able to access the fields \"cancel\" and \"onprogress\".\n  call(download, downloadToDisk) {\n    if (ENV.APP.isDesktopApp) {\n      // First call should use the path retrieved in the constructor.\n      // Next calls will ask the path again.\n      if (this.path) {\n        const path = this.path;\n        this.path = null;\n        return downloadToDisk(path);\n      } else {\n        return showSaveDialog(this.name).then((path) => {\n          if (!path) {\n            throw libcryptobox.ErrorCode.Canceled;\n          }\n          return downloadToDisk(path);    \n        })\n      }\n    } else {\n      let writer = new FileWriter(this.name, this.size);\n      let promise = download(writer);\n      promise\n        .then(() => {\n          writer.close();\n        })\n        .catch((error) => {\n          writer.close(error);\n        });\n      // NB. Return the toolbox promise, it has the cancel and progress methods.\n      return promise;\n    }\n  }\n}\n","class FileReader {\n  constructor(ua, file, fileName) {\n    this.length = file.size;\n    this.file = file;\n    this.fileName = fileName || file.name;\n    this.ua = ua;\n    this.chunk = null;\n  }\n\n  name() {\n    return this.fileName;\n  }\n\n  size() {\n    return this.length;\n  }\n\n  read(offset, count) {\n    return new Promise((resolve, reject) => {\n      const reader = new window.FileReader();\n      reader.onload = () => {\n        resolve(this.ua.encodeUint8Array(new Uint8Array(reader.result)));\n      };\n      reader.onerror = (e) => {\n        reject(e.target.error);\n      };\n      reader.readAsArrayBuffer(this.file.slice(offset, offset + count));\n    });\n  }\n}\n\nexport default FileReader;\n","import BlobFileWriter from 'client/toolbox/blob-file-writer';\nimport mime from 'mime';\nimport PrivateFileWriter from 'client/toolbox/private-file-writer';\n\n// FileWriter selects a writing strategy on the first chunk received:\n// - PrivateFileWriter if the API is available and the whole file can be allocated.\n// - BlobFileWriter otherwise.\nclass FileWriter {\n    constructor(name, size) {\n        this.name = name;\n        this.size = size;\n    }\n\n    async write(chunk) {\n        if (!this.writer) {\n            try {\n                let writer = new PrivateFileWriter(this.name);\n                await writer.truncate(this.size);\n                this.writer = writer;\n            } catch (_) {\n                this.writer = new BlobFileWriter(this.name, { type: mime.getType(this.name) || 'application/octet-stream' });\n            }\n        }\n        await this.writer.write(chunk);\n    }\n\n    close(error) {\n        // CNUAGE-12016 If the file is empty, write() was never called and this.writer never created.\n        if (!this.writer) {\n            this.writer = new BlobFileWriter(this.name, { type: mime.getType(this.name) || 'application/octet-stream' });\n        }\n        return this.writer.close(error);\n    }\n}\n\nexport default FileWriter;\n","export class BlobWriter {\n    #codec;\n    #parts;\n\n    constructor(codec) {\n        this.#codec = codec;\n        this.#parts = [];\n    }\n\n    async write(chunk) {\n        const part = new Blob([this.#codec.decodeUint8Array(chunk)]);\n        // CNUAGE-12274 Read back the first byte of the blob to assert that it was properly written.\n        // This should fail on Chrome in private mode after 2Go worth of blobs have been created.\n        await part.slice(1).arrayBuffer();\n        this.#parts.push(part);\n    }\n\n    blob() {\n        return new Blob(this.#parts, { type: 'application/octet-stream' })\n    }\n}\n","// Utility function to call event handler methods.\nexport default function dispatchEvent(target, name, event) {\n    if (!name.startsWith('on')) {\n        name = 'on' + name;\n    }\n    if (target && typeof target[name] === 'function') {\n        return target[name].call(target, event);\n    }\n}\n","const supportedLanguages = ['en', 'fr'];\n\nconst translations = {\n    'en': {\n        'onlineEditor.errors.tracking': 'We are currently unable to edit this file due to a missing tracking ID. Try downloading and re-uploading the file before opening the editor.',\n        'onlineEditor.errors.connection': 'We’re having trouble connecting to the server. Please try again later.',\n        'onlineEditor.errors.forbidden.title': 'Access Denied',\n        'onlineEditor.errors.forbidden.message': 'Double-check your access rights and try again.',\n        'onlineEditor.errors.other.title': 'Something went wrong',\n        'onlineEditor.errors.other.message': 'If this keeps happening, contact support for assistance, as it might be a technical issue that needs to be resolved.',\n        \n        'errors.canceled.title': 'Canceled',\n        'errors.canceled.message': \"The operation has been canceled.\",\n    },\n    'fr': {\n        'onlineEditor.errors.tracking': \"Nous sommes actuellement dans l'impossibilité d'éditer ce fichier en raison d'un tracking ID manquant. Essayez de télécharger et de ré-uploader le fichier avant d'ouvrir l'éditeur.\",\n        'onlineEditor.errors.connection': \"Nous avons des difficultés à nous connecter au serveur. Veuillez réessayer plus tard.\",\n        'onlineEditor.errors.forbidden.title': \"Accès refusé\",\n        'onlineEditor.errors.forbidden.message': \"Vérifiez à nouveau vos droits d'accès et réessayez.\",\n        'onlineEditor.errors.other.title': \"Quelque chose n'a pas fonctionné\",\n        'onlineEditor.trackingErrorerrors.other.message': \"Si cela continue à se produire, contactez le service d'assistance pour obtenir de l'aide, car il peut s'agir d'un problème technique qui doit être résolu.\",\n\n        'errors.canceled.title': 'Annulé',\n        'errors.canceled.message': \"L'opération a été annulée.\",\n    },\n};\n\nfunction lang() {\n    const locale = navigator.language || navigator.userLanguage || 'en-US';\n    const lang = locale.split('-')[0];\n    return supportedLanguages.includes(lang) ? lang : supportedLanguages[0];\n}\n\nexport function t(key) {\n    return translations[lang()]?.[key] || key;\n}\n","export class InputFile {\n  #file;\n  #codec;\n  #name;\n\n  constructor(file, codec, options = { name: \"\" }) {\n    this.#file = file;\n    this.#codec = codec;\n    this.#name = options.name;\n  }\n\n  name() {\n    return this.#name || this.#file.webkitRelativePath || this.#file.name;\n  }\n\n  size() {\n    return this.#file.size;\n  }\n\n  read(offset, count) {\n    return new Promise((resolve, reject) => {\n      const reader = new window.FileReader();\n      reader.onload = () => {\n        resolve(this.#codec.encodeUint8Array(new Uint8Array(reader.result)));\n      };\n      reader.onerror = (e) => {\n        reject(e.target.error);\n      };\n      reader.readAsArrayBuffer(this.#file.slice(offset, offset + count));\n    });\n  }\n}\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport UserAgent from './user-agent';\n\nexport default {\n  newUserAgent: (transport, appVersion) => {\n    return new UserAgent(transport, { cacheDir: \"cryptobox-cache\", deviceInfo: { appVersion } });\n  },\n\n  // SupportedEmailRegexp is the regular expression that the toolbox uses to verify an email address (exact match).\n  SupportedEmailRegexp: \"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$\",\n\n  // The device states.\n  // See DeviceRecord.\n  DeviceState: {\n    // Ready to use.\n    Unlocked: \"unlocked\",\n    // Locked. The device cannot access the platform. It may be unlocked.\n    Locked: \"locked\",\n    // Revoked. The device won't be able to access the platform anymore.\n    Revoked: \"revoked\",\n  },\n\n  // The key types for CryptoModule's ExportPublicKeyToDER().\n  KeyType: {\n    // RSA key.\n    RSA: \"rsa\",\n    // ECDSA key.\n    ECDSA: \"ecdsa\",\n  },\n\n  // The error codes.\n  ErrorCode: {\n    // The user agent has encountered an internal error. This is not fatal and the client may proceed.\n    InternalError: \"internalError\",\n    // The operation has been canceled.\n    Canceled: \"canceled\",\n    // The resource does not exist.\n    NotFound: \"notFound\",\n    // The resource is no longer available.\n    Gone: \"gone\",\n    // Operation not permitted.\n    InvalidOperation: \"invalidOperation\",\n    // Invalid argument.\n    InvalidParameter: \"invalidParameter\",\n    // The user agent has received data from the server that do not pass the security checks.\n    SecurityError: \"securityError\",\n    // Invalid acryonym.\n    InvalidAcronym: \"invalidAcronym\",\n    // The certificate cannot be parsed.\n    InvalidCertificate: \"invalidCertificate\",\n    // The user credentials are invalid.\n    InvalidCredentials: \"invalidCredentials\",\n    // Invalid email.\n    InvalidEmail: \"invalidEmail\",\n    // The instant message is too long or it has too many attachments. See ValidationModule's Limits().\n    InvalidMessage: \"invalidMessage\",\n    // Invalid name.\n    InvalidName: \"invalidName\",\n    // File or directory already exists.\n    Exist: \"exist\",\n    // Is a directory.\n    IsDirectory: \"isDirectory\",\n    // Path does not exist.\n    NotExist: \"notExist\",\n    // Not a directory.\n    NotDirectory: \"notDirectory\",\n    // Disk full.\n    DiskFull: \"diskFull\",\n    // The network connection has failed. This may be a configuration issue with the client, the network or the server.\n    NetworkError: \"networkError\",\n    // The server has returned an HTTP error that were not handled otherwise.\n    ServerError: \"serverError\",\n    // A user with the same email is already registered.\n    AlreadyRegistered: \"alreadyRegistered\",\n    // The given validation token is invalid or has expired.\n    BadToken: \"badToken\",\n    // Another user is updating the resource. The client may reissue the operation at a later time.\n    Conflict: \"conflict\",\n    // The email is not allowed for account registration.\n    EmailNotAllowed: \"emailNotAllowed\",\n    // The user does not have the rights to complete the operation.\n    Forbidden: \"forbidden\",\n    // The server license is invalid.\n    InvalidLicense: \"invalidLicense\",\n    // No more user licenses are available.\n    NoLicenseAvailable: \"noLicenseAvailable\",\n    // The server does not support the feature.\n    NotSupported: \"notSupported\",\n    // The server is unavailable (HTTP error 502, 503 or 504).\n    Unavailable: \"unavailable\",\n    // A Login attempt of an user who hasn't validated his email has occured.\n    UnvalidatedEmail: \"unvalidatedEmail\",\n    // The server does not support the client's version anymore. The client must be upgraded.\n    UpgradeRequired: \"upgradeRequired\",\n    // The user agent is not connected to any server.\n    LoggedOut: \"loggedOut\",\n    // The user is the last owner of the space and cannot be demoted.\n    CannotDemote: \"cannotDemote\",\n    // The files are partially synchronized.\n    IncompleteSync: \"incompleteSync\",\n    // The password is too short.\n    PasswordTooShort: \"passwordTooShort\",\n    // The password is too weak.\n    PasswordTooWeak: \"passwordTooWeak\",\n    // The password is too long.\n    PasswordTooLong: \"passwordTooLong\",\n    // The sharing key is invalid.\n    BadKey: \"badKey\",\n    // The sharing key is too long or too short.\n    BadKeySize: \"badKeySize\",\n    // The user agent fails to connect the web socket to the instant messaging server.\n    MessagingConnectionRefused: \"messagingConnectionRefused\",\n    // The user agent is not connected to the instant messaging server.\n    MessagingConnectionClosed: \"messagingConnectionClosed\",\n    // The recovery has already been validated by another admin.\n    RecoveryAlreadyValidated: \"recoveryAlreadyValidated\",\n    // The given rdv_user_id does not match any existing channel.\n    RecoveryBadChannel: \"recoveryBadChannel\",\n    // No ongoing recovery with the specified recovery ID.\n    RecoveryBadID: \"recoveryBadId\",\n    // The trustee enterred a bad SAS for the current session.\n    RecoveryBadSAS: \"recoveryBadSas\",\n    // The trustee does not exist or is not part of the user trustees.\n    RecoveryBadTrustee: \"recoveryBadTrustee\",\n    // The recovery rdv channel is broken on trusty side.\n    RecoverySessionBroken: \"recoverySessionBroken\",\n    // The recovery rdv channel has expired.\n    RecoverySessionExpired: \"recoverySessionExpired\",\n    // The recovery session is not connected.\n    RecoverySessionDisconnected: \"recoverySessionDisconnected\",\n    // The DLP server has rejected the file upload.\n    RejectedByDLP: \"rejectedByDlp\",\n    // The antivirus has rejected the file download.\n    RejectedByAV: \"rejectedByAv\",\n    // The space has not thumbnail image.\n    NoThumbnail: \"noThumbnail\",\n    // The format is not supported.\n    UnknownImageFormat: \"unknownImageFormat\",\n    // Wrong or expired one-time password.\n    InvalidOTP: \"invalidOtp\",\n    // Too many OTP attempts. User should retry later.\n    TooManyOTPAttempts: \"tooManyOtpAttempts\",\n    // Wrong deposit box code.\n    BadDepositBoxCode: \"badDepositBoxCode\",\n    // Wrong deposit box code size.\n    BadDepositBoxCodeSize: \"badDepositBoxCodeSize\",\n    // The recipient entered too many invalid codes.\n    MaxCodeAttemptsReached: \"maxCodeAttemptsReached\",\n    // The file contains too many email addresses.\n    TooManyEmails: \"tooManyEmails\",\n    // The operation cannot proceed because a file is locked.\n    FileLock: \"fileLock\",\n    // The workspace does not have enough owners, according to the server policy. See ServerSetting's MinimalNumberOfOwnersPerWorkspace.\n    NotEnoughOwners: \"notEnoughOwners\",\n    // System is under maintenance.\n    MaintenanceMode: \"maintenanceMode\",\n    // The OIDC identity provider has rejected the user's authentication attempt. Error's OIDCAuth will be set.\n    OIDCAuthError: \"oidcAuthError\",\n    // The OIDC ID token does not match the user account.\n    TokenEmailMismatch: \"tokenEmailMismatch\",\n  },\n\n  // The low-level event kinds.\n  // See EventRecord.\n  EventKind: {\n    // Encrypted user storage update.\n    EUS: \"eus\",\n    // Space event update.\n    SpaceEvent: \"spaceEvent\",\n    // File revision update.\n    FileRevision: \"fileRevision\",\n    // File subscriptions update.\n    FileSubscriptions: \"fileSubscriptions\",\n    // Notifications update. SpaceID may be set depending on the notifications.\n    Notifications: \"notifications\",\n    // User status update.\n    UserStatus: \"userStatus\",\n    // Device status update.\n    DeviceStatus: \"deviceStatus\",\n    // Security levels update.\n    SecurityLevels: \"securityLevels\",\n    // Server settings update.\n    Settings: \"settings\",\n    // Legacy.\n    Account: \"account\",\n  },\n\n  // File change.\n  FileHistoryAction: {\n    // Created.\n    Add: \"add\",\n    // Modified.\n    Modify: \"modify\",\n    // Moved.\n    Move: \"move\",\n    // Renamed.\n    Rename: \"rename\",\n    // Deleted.\n    Delete: \"delete\",\n  },\n\n  // File download list type.\n  DownloadListType: {\n    // By sharing.\n    FromSharing: \"fromSharing\",\n    // By authenticated users.\n    ByUsers: \"byUsers\",\n  },\n\n  // File history direction\n  FileHistoryDirection: {\n    Before: \"before\",\n    After: \"after\",\n  },\n\n  // UniqueDownload defines the options to limit the number of download of a sharing link.\n  UniqueDownload: {\n    // The sharing link may be downloaded any number of times.\n    Disabled: \"disabled\",\n    // The sharing link may be downloaded once.\n    Downloadable: \"downloadable\",\n    // The sharing link may not be downloaded anymore. This value is set by the server.\n    Downloaded: \"downloaded\",\n  },\n\n  // File upload status.\n  FileUploadStatus: {\n    // The upload is about to start. It is waiting for other transfers to complete.\n    Pending: \"pending\",\n    // The upload is in progress.\n    Inflight: \"inflight\",\n    // The upload has failed.\n    Failed: \"failed\",\n    // The upload has completed with success.\n    Done: \"done\",\n  },\n\n  // DepositBoxState defines the different states of a deposit box.\n  // - The default state is DepositBoxStateEmpty.\n  // - The server changes the state to DepositBoxStatePopulatedUnread when the submitter uploads the files.\n  // - The client application then marks the deposit box as read with DepositBoxStatePopulatedRead and processed with DepositBoxStatePopulatedProcessed.\n  // \n  // The state is only informative.\n  DepositBoxState: {\n    // Default state.\n    Empty: \"empty\",\n    // The submitter has uploaded files.\n    PopulatedUnread: \"populatedUnread\",\n    // The owner has opened the deposit box after files were uploaded.\n    PopulatedRead: \"populatedRead\",\n    // The owner has marked the deposit box as processed (after files were uploaded).\n    PopulatedProcessed: \"populatedProcessed\",\n  },\n\n  // The invite event types.\n  // See InviteEvent.\n  InviteEventType: {\n    // Created.\n    Created: \"created\",\n    // Resent.\n    Resent: \"resent\",\n    // Accepted.\n    Accepted: \"accepted\",\n    // Expired.\n    Expired: \"expired\",\n    // Cancelled.\n    Cancelled: \"cancelled\",\n  },\n\n  // The sorting fields for the invite list.\n  // See InviteCollection's List().\n  InviteOrderBy: {\n    // Sort by last activity.\n    LastActivity: \"lastActivity\",\n    // Sort by creation date.\n    CreationDate: \"creationDate\",\n  },\n\n  // The sorting orders for the invite list.\n  // See InviteCollection's List().\n  Sort: {\n    // Sort in ascending order.\n    Asc: \"asc\",\n    // Sort in descending order.\n    Desc: \"desc\",\n  },\n\n  // The license pool of a user.\n  // See UserType.\n  LicensePool: {\n    // Regular user.\n    User: \"user\",\n    // Invitee.\n    Invitee: \"invitee\",\n  },\n\n  // The instant message statuses.\n  // See MessageRecord.\n  MessageStatus: {\n    // The message is ready to be posted.\n    Pending: \"pending\",\n    // The message is being posted, its attachments are being uploaded.\n    Inflight: \"inflight\",\n    // The message has been delivered to the server.\n    Delivered: \"delivered\",\n    // The message has been rejected by the server. It may be posted again.\n    Rejected: \"rejected\",\n    // The message has been deleted. MessageRecord's Text contains a default message and MessageRecord's Attachments is empty. Other fields should be set.\n    Deleted: \"deleted\",\n  },\n\n  // The user notification states.\n  // See NotificationRecord.\n  NotificationState: {\n    // Read.\n    Read: \"read\",\n    // Not read. This is the default state.\n    Unread: \"unread\",\n  },\n\n  // LoginStep.\n  LoginStep: {\n    // The user agent is downloading the account information.\n    Connecting: \"connecting\",\n    // The user agent is downloading the information of the spaces.\n    SpaceLoading: \"spaceLoading\",\n  },\n\n  // LoginReason.\n  LoginReason: {\n    // The user agent has reloaded a previous session from disk and the user was already authenticated.\n    Init: \"init\",\n    // The client application has called UserAgent's Login().\n    Login: \"login\",\n    // The client application has called AccountCollection's Register().\n    Register: \"register\",\n  },\n\n  // Request status.\n  PreaddedStatus: {\n    // The user has been invited but is not registered.\n    Invited: \"invited\",\n    // The user is registered but has not been added to the space.\n    Registered: \"registered\",\n    // The user is registered and has been added to the space by another owner.\n    // Note that the record will not be removed automatically.\n    Added: \"added\",\n  },\n\n  // The security level colors.\n  // See SecurityLevelRecord.\n  SecurityLevelColor: {\n    // Green.\n    Green: \"green\",\n    // Orange.\n    Orange: \"orange\",\n    // Red.\n    Red: \"red\",\n  },\n\n  // The security level shapes.\n  // See SecurityLevelRecord.\n  SecurityLevelShape: {\n    // Opened lock.\n    OpenedLock: \"openedLock\",\n    // Closed lock.\n    LockedLock: \"lockedLock\",\n  },\n\n  // Deprecated.\n  SecurityLevelsListOptions: {\n    // List all the security levels.\n    All: \"all\",\n    // List only the security levels available to the logged in device.\n    Device: \"device\",\n  },\n\n  // The server capabilities.\n  // See ServerSettingsRecord.\n  ServerCapability: {\n    // Device registration.\n    Devices: \"devices\",\n    // Instant messaging.\n    Messaging: \"messaging\",\n    // Instant messaging. Recipients with read status.\n    MessagingRecipients: \"messagingRecipients\",\n    // Instant messaging. Message deletion.\n    MessagingDeletion: \"messagingDeletion\",\n    // Instant messaging. Email notification.\n    MessagingEmailNotification: \"messagingEmailNotification\",\n    // Firebase Cloud Messaging.\n    FCM: \"fcm\",\n    // Encrypted payload in push notifications.\n    FCMEncryptedPayload: \"fcmEncryptedPayload\",\n    // File history.\n    FileHistory: \"fileHistory\",\n    // Invites management.\n    InvitesManagement: \"invitesManagement\",\n    // Trustee deletion.\n    TrusteeDeletion: \"trusteeDeletion\",\n    // File revision raw size.\n    FileRevisionRawSize: \"fileRevisionRawSize\",\n    // CFSB v2.\n    CFSBV2: \"cfsbv2\",\n    // File sharing date modification.\n    FileSharingDateModification: \"fileSharingDateModification\",\n    // Multiple files sharing.\n    FileSharingMultipleFiles: \"fileSharingMultipleFiles\",\n    // File sharing unique download.\n    FileSharingUniqueDownload: \"fileSharingUniqueDownload\",\n    // File sharing download notification.\n    FileSharingAuthorSubscription: \"fileSharingAuthorSubscription\",\n    // Session termination request.\n    Logout: \"logout\",\n    // The server discloses the setting for the retention delay. See ServerSettingsRecord's RetentionDelayDays and SpaceCollection's GetDeletionDates().\n    RetentionDelay: \"retentionDelay\",\n    // File tracking ID.\n    TrackingID: \"trackingId\",\n    // Space thumbnail.\n    Thumbnail: \"thumbnail\",\n  },\n\n  // MinimalNumberOfOwnersPerWorkspaceMode defines how the minimal number of owners per workspace should be enforced.\n  MinimalNumberOfOwnersPerWorkspaceMode: {\n    // The minimal number of owners per worspace is mandatory.\n    Enforced: \"enforced\",\n    // The minimal number of owners per worspace is informative.\n    Informative: \"informative\",\n  },\n\n  // DepositBox code policy.\n  DepositBoxCodePolicy: {\n    // The code is optional and disabled by default.\n    None: \"none\",\n    // The code is optional and enabled by default.\n    EnabledByDefault: \"enabledByDefault\",\n    // The code is mandatory.\n    Enforced: \"enforced\",\n  },\n\n  // The space kinds.\n  // See SpaceRecord.\n  SpaceKind: {\n    // Workspace.\n    Workspace: \"workspace\",\n    // Personal space.\n    PersonalSpace: \"personalSpace\",\n    // One-to-one conversation.\n    DirectConversation: \"directConversation\",\n    // Group conversation.\n    GroupConversation: \"groupConversation\",\n    // Backup.\n    Backup: \"backup\",\n  },\n\n  // Space access right.\n  SpaceAccessRight: {\n    // The user can edit the metadata, add and remove members.\n    Edit: \"edit\",\n    // The user can download, copy and export files outside the workspace.\n    Export: \"export\",\n    // The user can create and edit sharing links. NB. The user can always delete a sharing link accessible through SpaceAccessRightAllSharings or SpaceAccessRightOnlyMySharings, event without SpaceAccessRightShare.\n    Share: \"share\",\n    // The user can subscribe to file change notifications.\n    Subscribe: \"subscribe\",\n    // The user can write and move files.\n    Write: \"write\",\n    // The space can have categories.\n    Categories: \"categories\",\n    // The space can have a file history and the user can access it.\n    History: \"history\",\n    // The space can have members other than the owner.\n    Members: \"members\",\n    // The space can have messages.\n    Messages: \"messages\",\n    // The space can have UI notifications.\n    Notifications: \"notifications\",\n    // The user can view all the sharing links. She can edit them if SpaceAccessRightShare is set. SpaceAccessRightAllSharings and SpaceAccessRightOnlyMySharings are mutually exclusive.\n    AllSharings: \"allSharings\",\n    // The user can only view her own sharing links. She can edit them if SpaceAccessRightShare is set.\n    OnlyMySharings: \"onlyMySharings\",\n    // The space can have subscriptions.\n    Subscriptions: \"subscriptions\",\n  },\n\n  // The space usages.\n  // See PublicMetadata.\n  SpaceUsage: {\n    // File sharing usage\n    FileSharing: \"fileSharing\",\n    // Messaging usage\n    Messaging: \"messaging\",\n    // Backup\n    Backup: \"backup\",\n  },\n\n  // The space member roles.\n  // The role defines the rights of a user in a space. They are cumulative:\n  // - An owner has all the rights of a member.\n  // - A member has all the rights of an auditor.\n  // - Etc.\n  // See SpaceMemberRecord.\n  Role: {\n    // The user can update the space metadata and user list.\n    Owner: \"owner\",\n    // The user can write and share files.\n    Member: \"member\",\n    // The user can download files.\n    Auditor: \"auditor\",\n    // The user can preview files.\n    Viewer: \"viewer\",\n  },\n\n  // The space statuses.\n  // All spaces are active by default.\n  // Neither the user agent nor the server enforce the status, it is rather an indication for the UI.\n  // See SpaceRecord.\n  SpaceStatus: {\n    // The space is usable.\n    Active: \"active\",\n    // The space is read-only.\n    Archived: \"archived\",\n    // The space has been deleted and is inaccessible.\n    Deleted: \"deleted\",\n  },\n\n  // The file synchronization modes.\n  // See SyncSettingsRecord.\n  SyncMode: {\n    // The synchronization is disabled.\n    Off: \"off\",\n    // All the workspaces are synchronized.\n    All: \"all\",\n    // Only the workspaces specified in SyncSettings's SpaceIDs are synchronized.\n    Custom: \"custom\",\n  },\n\n  // The file synchronization statuses.\n  // See SyncStateRecord.\n  SyncStatus: {\n    // Disabled.\n    Off: \"off\",\n    // In progress.\n    InProgress: \"inProgress\",\n    // Done.\n    Done: \"done\",\n    // Done with errors.\n    Failed: \"failed\",\n  },\n\n  TrusteeState: {\n    // The trustee account is active.\n    Active: \"active\",\n    // The trustee account has been blocked by an administrator.\n    Blocked: \"blocked\",\n    // The trustee account has been blocked automatically because of inactivity.\n    BlockedInactive: \"blockedInactive\",\n  },\n\n  // Enforced trustee status.\n  EnforcedTrusteeStatus: {\n    // The enforced trustee is properly set.\n    OK: \"ok\",\n    // The enforced trustee must be added.\n    AdditionRequired: \"additionRequired\",\n    // The enforced trustee must be replaced.\n    ReplacementRequired: \"replacementRequired\",\n    // The enforced trustee must be removed.\n    RemovalRequired: \"removalRequired\",\n    // The enforced trustee is properly set but old enforced trustees must be removed.\n    CleanUpRequired: \"cleanUpRequired\",\n  },\n\n  // Invitee trustee status.\n  InviteeTrusteeStatus: {\n    // The invitee trustee is properly set.\n    OK: \"ok\",\n    // The invitee trustee must be added.\n    AdditionRequired: \"additionRequired\",\n  },\n\n  // The user account states.\n  // See UserStatusRecord.\n  UserState: {\n    // The account is valid and usable.\n    Active: \"active\",\n    // The account has been blocked by an administrator. It may be reactivated at a later time (also by an administrator).\n    Blocked: \"blocked\",\n    // The account has been blocked automatically after a period of inactivity. It may be reactivated at a later time by an administrator.\n    BlockedInactive: \"blockedInactive\",\n    // The account has been deleted.\n    Deleted: \"deleted\",\n    // The account has been registered but is not usable yet. The user must validate her email address first.\n    EmailValidationPending: \"emailValidationPending\",\n    // Deprecated.\n    AdminValidationPending: \"adminValidationPending\",\n  },\n\n  // PasswordScoreColor is the background color for PasswordScore.\n  PasswordScoreColor: {\n    // Red. The password is too weak.\n    Red: \"red\",\n    // Orange. Depending on the server settings, the password is too weak or good enough; see PasswordScore's OK.\n    Orange: \"orange\",\n    // Green. The password is good.\n    Green: \"green\",\n  },\n\n  // The strengths returned by ValidationModule's GetPasswordStrength().\n  PasswordStrength: {\n    // The password is too weak.\n    Weak: \"weak\",\n    // The password is good enough.\n    Good: \"good\",\n    // The password is strong.\n    Strong: \"strong\",\n  },\n\n};\n\n","export default class LocalStorage {\n    getItem(key) {\n        return localStorage.getItem(key);\n    }\n\n    setItem(key, value) {\n        localStorage.setItem(key, value);\n    }\n\n    removeItem(key) {\n        localStorage.removeItem(key);\n    }\n}\n","export function registerLogoutBeacon(ua) {\n    let serverUrl;\n    let sigmaSessionId;\n    let canLogout;\n\n    ua.serverSettings.watch({\n        onQueryResultUpdate(_, settings) {\n            serverUrl = settings.serverUrl;\n            canLogout = settings.capabilities.includes('logout');\n        }\n    });\n\n    ua.session.watchSigmaSession({\n        onQueryResultUpdate(_, session) {\n            sigmaSessionId = session.id;\n        }\n    });\n\n    window.addEventListener('pagehide', () => {\n        if (serverUrl && canLogout && sigmaSessionId) {\n            let data = [{ id: sigmaSessionId, type: 'sigma_session' }];\n            let blob = new Blob([JSON.stringify(data)], { type: 'application/json' });\n            navigator.sendBeacon(serverUrl + '/api/auth/logout', blob);\n        }\n    });\n}\n","import { fetchEventSource } from '@microsoft/fetch-event-source';\nimport { InputFile } from './input-file';\nimport { OutputFile } from './output-file';\nimport { t } from './i18n';\n/* global libcryptobox */\n\n// Defines how long to wait for file changes after the editor is closed.\nconst GRACE_PERIOD = 60_000; // 1 min\n\n// Unique message identifier for the web session.\nlet nextID = 1;\n\nexport class OnlineEditorModule {\n    #ua;\n    #rpc;\n    #activity;\n\n    /**\n     *\n     * @param {UserAgent} ua\n     */\n    constructor(ua, rpc) {\n        this.#ua = ua;\n        this.#rpc = rpc;\n    }\n\n    /**\n     * supportedFileExtensions returns the list of supported file extensions, in lower case and including the \".\".\n     */\n    get supportedFileExtensions() {\n        return [\n            '.cell',\n            '.doc',\n            '.docx',\n            '.odp',\n            '.ods',\n            '.odt',\n            '.ppt',\n            '.pptx',\n            '.rtf',\n            '.show',\n            '.xls',\n            '.xlsx',\n        ];\n    }\n\n    /**\n     * open creates an online editor session.\n     *\n     * @param {HTMLIFrameElement} iframe\n     * @param {string} spaceId\n     * @param {string} path\n     * @param {boolean} [readOnly]\n     * @returns {Promise<OnlineEditorSession>}\n     */\n    async open(iframe, spaceId, path, { readOnly, signal } = { readOnly: false }) {\n        const { onlineEditorAdapterUrl } = await this.#ua.serverSettings.get({ signal });\n\n        const file = await this.#ua.file.get(spaceId, -1, path, { signal });\n        if (!file.trackingId) {\n            throw trackingError();\n        }\n\n        const output = new OutputFile(file.contentSize, this.#rpc.codec);\n        await this.#ua.file.download(spaceId, path, -1, output, { signal });\n        const blob = await output.blob();\n\n        const poc = await this.#ua.isServerlessOnlineEditorEnabled()\n        if (poc) { // && file.path.toLowerCase().endsWith('.odp')\n            return new Serverless(this.#ua, this.#rpc, iframe, file, await blob.arrayBuffer(), { readOnly });\n        }\n\n        const form = new FormData();\n        form.set('space_id', spaceId);\n        form.set('tracking_id', file.trackingId);\n        form.set('file', blob, path);\n        form.set('modified', file.lastModified);\n        form.set('locale', navigator.language);\n        form.set('read_only', readOnly);\n        const url = `${onlineEditorAdapterUrl}/sessions`;\n        const resp = await this.#fetch(url, {\n            method: 'POST',\n            headers: await authorizationHeaders(this.#ua, { signal }),\n            body: form,\n            credentials: 'include',\n            signal,\n        });\n        const { editor_app, editor_url, editor_origin, session_url, session_token, logout_url, logout_beacon_url } = await resp.json().catch((e) => {\n            throw httpResponseReadingError('POST', url, resp, e)\n        })\n        const headers = {\n            'Authorization': 'Bearer ' + session_token,\n        };\n\n        // `resp.json()` was async, check the signal.\n        if (signal?.aborted) {\n            throw {\n                title: t('errors.canceled.title'),\n                message: t('errors.canceled.message'),\n                code: libcryptobox.ErrorCode.Canceled,\n            };\n        }\n\n        // Note: From now on, there are no more async calls to create the session.\n\n        const editor = new OnlineEditorController(iframe, editor_app, editor_origin);\n        editor.connect();\n\n        const onpagehide = () => navigator.sendBeacon(logout_beacon_url);\n        window.addEventListener('pagehide', onpagehide);\n\n        const presence = !readOnly && new PresenceController(session_url + '/presence', { headers }) || null;\n\n        const ctrl = new AbortController();\n        const cleanup = () => {\n            window.removeEventListener('pagehide', onpagehide);\n            ctrl.abort();\n            this.#fetch(logout_url, { method: 'POST', credentials: 'include' });\n        };\n\n        const session = new OnlineEditorSession(editor, presence, cleanup);\n\n        if (!readOnly) {\n            fetchEventSource(session_url + '/events', {\n                headers,\n                onmessage: async (msg) => {\n                    switch (msg.event) {\n                        case 'checking':\n                        case 'blocked':\n                            session.dispatchEvent(new Event(msg.event));\n                            break;\n\n                        case 'modified':\n                            let error = null;\n                            session.dispatchEvent(new Event(msg.event));\n                            try {\n                                const resp = await this.#fetch(session_url + '/file', { headers });\n                                const data = await resp.blob();\n                                const source = new InputFile(new File([data], basename(path)), this.#rpc.codec);\n                                path = await this.#ua.onlineEditorSupport.save(spaceId, path, file.trackingId, source);\n                                await this.#fetch(session_url + '/file/saved', {\n                                    method: 'POST',\n                                    headers: {\n                                        'Content-Type': 'application/json',\n                                        ...headers,\n                                    },\n                                });\n                            } catch (e) {\n                                error = e;\n                            } finally {\n                                session.dispatchEvent(new CustomEvent('saved', { detail: { error } }));\n                            }\n                            break;\n                    }\n                },\n                signal: ctrl.signal,\n                openWhenHidden: true,\n            });\n        }\n\n        iframe.src = editor_url;\n\n        return session;\n    }\n\n    async #fetch(resource, options) {\n        const req = new Request(resource, options);\n        const resp = await fetch(req).catch((e) => {\n            throw {\n                message: t('onlineEditor.errors.connection'),\n                details: `${req.method} ${req.url}: ${e.toString()}`,\n            };\n        });\n        if (resp.status === 401 || resp.status === 403) {\n            throw {\n                title: t('onlineEditor.errors.forbidden.title'),\n                message: t('onlineEditor.errors.forbidden.message'),\n                details: `${req.method} ${req.url}: ${resp.status} ${resp.statusText}`,\n            };\n        }\n        if (!resp.ok) {\n            throw {\n                title: t('onlineEditor.errors.other.title'),\n                message: t('onlineEditor.errors.other.message'),\n                details: `${req.method} ${req.url}: ${resp.status} ${resp.statusText}`,\n            };\n        }\n        return resp;\n    }\n}\n\nclass OnlineEditorSession extends EventTarget {\n    closed = false;\n\n    #editor;\n    #presence; // optional\n    #cleanup;\n\n    constructor(editor, presence, cleanup) {\n        super();\n        this.#editor = editor;\n        this.#presence = presence;\n        this.#cleanup = cleanup;\n    }\n\n    async close(options = { force: false }) {\n        // Refuse to close twice (in particular, do not force close when already closed, as this will abort the grace period).\n        if (this.closed) {\n            return true;\n        }\n        // Test if the editor is responding.\n        // This will not be the case after a change in authorization.\n        if (!options.force) {\n            const ok = await this.#editor.ping();\n            if (!ok) {\n                options.force = true;\n            }\n        }\n        if (options.force) {\n            const closed = await this.#editor.close({ force: true });\n            this.#presence?.abort();\n            this.#cleanup();\n            this.closed = closed;\n            return closed;\n        }\n        const closed = await this.#editor.close();\n        if (!closed) {\n            return false;\n        }\n        this.#presence?.abort();\n        // Grace period, allow Thinkfree to push the modified file.\n        setTimeout(() => this.#cleanup(), GRACE_PERIOD);\n        this.closed = true;\n        return true;\n    }\n}\n\nclass OnlineEditorController {\n    iframe;\n    app;\n    origin;\n    loaded = false;\n    closed = false;\n\n    #events;\n    #disconnect;\n\n    constructor(iframe, app, origin) {\n        this.iframe = iframe;\n        this.app = app;\n        this.origin = origin;\n        this.#events = new EventTarget();\n    }\n\n    connect() {\n        const onmessage = (event) => {\n            try {\n                if (event.origin === this.origin) {\n                    const { ThinkfreeWeboffice: message } = JSON.parse(event.data);\n                    // console.log(message);\n                    const e = new Event('message');\n                    e.origin = event.origin;\n                    e.message = message;\n                    this.#events.dispatchEvent(e);\n                    this.#handleEvent(e);\n                }\n            } catch (e) {\n                console.warn('invalid message', event.data, e);\n            }\n        }\n        window.addEventListener('message', onmessage);\n        this.#disconnect = () => {\n            this.closed = true;\n            window.removeEventListener('message', onmessage);\n            this.iframe.src = 'about:blank';\n        };\n    }\n\n    async close(options = { force: false }) {\n        if (this.closed) {\n            return true;\n        }\n        if (!this.loaded || options.force) {\n            this.#disconnect();\n            return true;\n        }\n        return new Promise((resolve) => {\n            let id;\n            this.#events.addEventListener('message', (event) => {\n                // Note: In practice, we do not receive the result but only the event.\n                const message = event.message;\n                if (message.type === 'result' && message.method === 'App.close' && message.id === id) {\n                    const succeed = message.data === 'succeed';\n                    if (succeed) {\n                        this.#disconnect();\n                    }\n                    resolve(succeed);\n                } else if (message.type === 'event' && message.method === 'App.closed') {\n                    this.#disconnect();\n                    resolve(true);\n                }\n            });\n            id = this.#postMessage({ method: \"App.close\" });\n        });\n    }\n\n    async ping(options = { timeout: 3_000 }) {\n        return new Promise((resolve) => {\n            let id;\n            this.#events.addEventListener('message', (event) => {\n                const message = event.message;\n                if (message.type === 'result' && message.method === 'App.isModified' && message.id === id) {\n                    resolve(message.data !== 'fail');\n                }\n            });\n            id = this.#postMessage({ method: 'App.isModified' });\n            setTimeout(() => resolve(false), options.timeout);\n        });\n    }\n\n    #postMessage(message) {\n        message.app = this.app;\n        message.version = \"v1.0\";\n        message.type = message.type || \"cmd\";\n        message.params = message.params || [];\n        message.id = `${nextID++}`; // Must be a string.\n        const receiver = this.iframe.contentWindow;\n        const envelope = { ThinkfreeWeboffice: message };\n        const data = JSON.stringify(envelope); // Must be serialized (!).\n        // console.log('postMessage', message);\n        receiver.postMessage(data, this.origin);\n        return message.id;\n    }\n\n    #handleEvent(event) {\n        const message = event.message;\n        if (message.type === 'event' && message.method === 'App.loaded') {\n            this.loaded = true;\n        }\n        if (message.type === 'event' && message.method === 'App.closed') {\n            this.#disconnect();\n        }\n    }\n}\n\nclass PresenceController {\n    #url;\n    #options;\n    #intervalId;\n    aborted;\n\n    constructor(url, options) {\n        this.#url = url;\n        this.#options = options;\n        this.#intervalId = setInterval(() => {\n            if (this.aborted) {\n                return;\n            }\n            fetch(this.#url, { method: 'POST', ...this.#options });\n        }, 30_000);\n        this.aborted = false;\n    }\n\n    abort() {\n        if (this.aborted) {\n            return;\n        }\n        this.aborted = true;\n        clearInterval(this.#intervalId);\n        setTimeout(() => {\n            fetch(this.#url, { method: 'DELETE', ...this.#options });\n        });\n    }\n}\n\nasync function authorizationHeaders(ua, { signal } = {}) {\n    const sigma = await ua.session.getSigmaSession({ signal });\n    return {\n        Authorization: 'Cryptonuage-SIGMA sigma_session_id=\"' + sigma.id + '\"',\n    };\n}\n\nasync function watchServerSettings(ua, callback, { signal } = {}) {\n    const queryId = await ua.serverSettings.watch({\n        onQueryResultUpdate: (_, value) => {\n            callback(value);\n        }\n    });\n    signal?.addEventListener('abort', () => ua.stopWatching(queryId));\n}\n\nasync function watchUserStatus(ua, callback, { signal } = {}) {\n    const queryId = await ua.userStatus.watch({\n        onQueryResultUpdate: (_, value) => {\n            callback(value);\n        }\n    });\n    signal?.addEventListener('abort', () => ua.stopWatching(queryId));\n}\n\nasync function watchSpace(ua, id, callback, { signal } = {}) {\n    const queryId = await ua.space.watch(id, {\n        onQueryResultUpdate: (_, value) => {\n            callback(value);\n        }\n    });\n    signal?.addEventListener('abort', () => ua.stopWatching(queryId));\n}\n\nfunction trackingError() {\n    return {\n        message: t('onlineEditor.errors.tracking'),\n    }\n}\n\nfunction httpResponseReadingError(method, url, resp, error) {\n    return {\n        title: t('onlineEditor.errors.other.title'),\n        message: t('onlineEditor.errors.other.message'),\n        details: `${method} ${url}: ${resp.status} ${resp.statusText}: ${error.toString()}`,\n    };\n}\n\n// GPT-4o (via duck.ai)\nfunction basename(path) {\n    return path.split('/').pop().split('\\\\').pop(); // Handles both Unix and Windows paths\n}\n\n// Serverless POC\nclass Serverless extends EventTarget {\n    url = \"http://localhost:85/wrapper.html\";\n    origin = \"http://localhost:85\";\n\n    loaded = false;\n    closed = false;\n\n    #id = 1;\n    #inflight = new Map();\n\n    #ua;\n    #rpc;\n    #iframe;\n    #file;\n    #openParams;\n    #disconnect;\n\n    constructor(ua, rpc, iframe, file, data, { readOnly }) {\n        super();\n\n        this.#ua = ua;\n        this.#rpc = rpc;\n        this.#iframe = iframe;\n        this.#file = file;\n        this.#openParams = {\n            docId: file.trackingId,\n            docName: file.path,\n            doc: data,\n            readOnly,\n            lang: navigator.language,\n        };\n\n        const onmessage = async (event) => {\n            if (event.origin !== this.origin) return;\n            const { method, params } = event.data\n            if (method) {\n                switch (method) {\n                    case \"cryptobox.editor.ready\": {\n                        await this.send(\"cryptobox.editor.open\", this.#openParams);\n                        this.#openParams = null;\n                        this.loaded = true;\n                        break;\n                    }\n                    case \"cryptobox.editor.save\": {\n                        const { doc } = params;\n                        this.save(doc);\n                        break;\n                    }\n                    default:\n                        console.warn(`[thinkfree] invalid method: ${method}`);\n                }\n            } else {\n                const { id, result, error } = event.data;\n                if (!this.#inflight.has(id)) {\n                    console.warn(`[thinkfree] invalid message id: ${id}`);\n                    return;\n                }\n                const { resolve, reject } = this.#inflight.get(id);\n                if (error) {\n                    reject(error);\n                } else {\n                    resolve(result);\n                }\n                this.#inflight.delete(id);\n            }\n        };\n        window.addEventListener(\"message\", onmessage);\n        this.#disconnect = () => {\n            window.removeEventListener(\"message\", onmessage);\n        };\n\n        iframe.src = this.url;\n    }\n\n    async save(doc) {\n        let error = null;\n        try {\n            this.dispatchEvent(new Event('modified'));\n            const { spaceId, path, trackingId } = this.#file;\n            const source = new InputFile(new File([doc], basename(path)), this.#rpc.codec);\n            await this.#ua.onlineEditorSupport.save(spaceId, path, trackingId, source);\n        } catch (e) {\n            error = e;\n        } finally {\n            this.dispatchEvent(new CustomEvent('saved', { detail: { error } }));\n        }\n    }\n\n    async close(options = { force: false }) {\n        if (this.closed) {\n            return true;\n        }\n        if (!this.loaded || options.force) {\n            this.#disconnect();\n            this.closed = true;\n            return true;\n        }\n        try {\n            const { doc } = await this.send(\"cryptobox.editor.close\");\n            if (doc) {\n                await this.save(doc);\n            }\n            this.#disconnect();\n            this.closed = true;\n            return true;\n        } catch {\n            return false;\n        }\n    }\n\n    async send(method, params = {}) {\n        const receiver = this.#iframe.contentWindow;\n        const id = this.#id++;\n        return new Promise((resolve, reject) => {\n            this.#inflight.set(id, { resolve, reject });\n            receiver.postMessage({ id, method, params }, this.origin);\n        })\n    }\n}\n","export class OriginPrivateWriter {\n    static async initialize() {\n        // Keep a directory handle and a list of files ready to remove in onbeforeupload.\n        this.directory = navigator.storage && navigator.storage.getDirectory && await navigator.storage.getDirectory();\n        this.entries = [];\n\n        // Clean up on paghide\n        window.addEventListener('pagehide', function () {\n            OriginPrivateWriter.removeAll();\n        });\n    }\n\n    static async removeAll() {\n        // Remove the known entries immediately.\n        // We may be in 'pagehide' and cannot await.\n        for (const name of this.entries) {\n            this.directory.removeEntry(name).catch((error) => console.error(error));\n        }\n\n        // Remove the remaining files.\n        if (!this.directory) {\n            return;\n        }\n        for await (const [_, file] of this.directory.entries()) {\n            try {\n                await this.directory.removeEntry(file.name);\n            } catch (error) {\n                console.error(error);\n            }\n        }\n    }\n\n    static registerCleanUpOnLogout(ua) {\n        ua.event.addLoginObserver({\n            onLogin() { },\n            onLoginProgress() { },\n            onLogout() {\n                OriginPrivateWriter.removeAll();\n            },\n        });\n    }\n\n    static async debug() {\n        const directory = await navigator.storage.getDirectory();\n        for await (const [_, file] of directory.entries()) {\n            console.warn(`opfs: file exists at ${file.name}`);\n        }\n    }\n\n    #codec;\n    #file;\n    #stream;\n    #closed = false;\n\n    constructor(codec) {\n        this.#codec = codec;\n        this.#file = OriginPrivateWriter.directory.getFileHandle(crypto.randomUUID(), { create: true });\n        this.#stream = this.#file.then((file) => {\n            return file.createWritable({ keepExistingData: false });\n        });\n        this.#file.then((file) => OriginPrivateWriter.entries.push(file.name));\n    }\n\n    async truncate(size) {\n        const stream = await this.#stream;\n        await stream.truncate(size);\n    }\n\n    write(chunk) {\n        // To prevent ESET and other antiviruses to unzip the file each time it is written we are zeroing the first chunk of data (where the \"magic number\" lies).\n        // NB.\n        // - The actual content is written in close().\n        // - For simplicity sake, this is applied indiscriminately (the file may not be a zip archive).\n        // See ECB-979.\n        if (!this.firstChunk) {\n            this.firstChunk = this.#codec.decodeUint8Array(chunk);\n            return this.#stream.then((stream) => stream.write(new Uint8Array(this.firstChunk.byteLength)));\n        }\n        return this.#stream.then((stream) => stream.write(this.#codec.decodeUint8Array(chunk)));\n    }\n\n    async blob() {\n        if (!this.#closed) {\n            const stream = await this.#stream;\n            if (this.firstChunk) {\n                await stream.write({ type: 'write', position: 0, data: this.firstChunk });\n            }\n            await stream.close();\n            this.#closed = true;\n        }\n        const file = await this.#file;\n        setTimeout(() => OriginPrivateWriter.directory.removeEntry(file.name), 4E4); // 40s\n        return new Blob([await file.getFile()]); // On Safari, `new Blob([opfs])` forces the web browser to resolve the file actual size and contents.\n    }\n}\n\nOriginPrivateWriter.initialize();\n","import { BlobWriter } from \"./blob-writer\";\nimport { OriginPrivateWriter } from \"./origin-private-writer\";\n\nexport class OutputFile {\n    #size;\n    #codec;\n    #writer;\n\n    constructor(size, codec) {\n        this.#size = size;\n        this.#codec = codec;\n    }\n\n    async write(chunk) {\n        if (!this.#writer) {\n            try {\n                const writer = new OriginPrivateWriter(this.#codec);\n                await writer.truncate(this.#size);\n                this.#writer = writer;\n            } catch (_) {\n                this.#writer = new BlobWriter(this.#codec);\n            }\n        }\n        await this.#writer.write(chunk);\n    }\n\n    async blob() {\n        return await this.#writer.blob();\n    }\n}\n","import dispatchEvent from '../dispatch-event';\nimport libcryptobox from '../libcryptobox';\nimport { nanoid } from 'nanoid';\n\nconst jsonrpc = \"2.0\";\n\nclass Codec {\n  #transport;\n\n  constructor(transport) {\n    this.#transport = transport;\n  }\n\n  encodeUint8Array(value) {\n    return this.#transport.encodeUint8Array(value);\n  }\n\n  decodeUint8Array(value) {\n    return this.#transport.decodeUint8Array(value);\n  }\n}\n\n// JSON-RPC client.\nexport default class RpcClient {\n  constructor(transport) {\n    this._transport = transport;\n    this._proxy = {};\n    this._inflight = {};\n    this._pending = [];\n\n    this.onready = null;\n    this.onerror = null;\n    this.onclose = null;\n\n    this.codec = new Codec(transport);\n  }\n\n  connect() {\n    this._transport.onready = async () => {\n      if (this._ready) {\n        return;\n      }\n      this._ready = true;\n      console.info(\"rpc client: ready\");\n      await Promise.resolve(dispatchEvent(this, \"ready\"));\n      this._pending.forEach((message) => this._send(message));\n      delete this._pending;\n    };\n    this._transport.onmessage = (message) => this._handle(message);\n    this._transport.onerror = (error) => {\n      console.error(\"rpc client:\", error);\n      dispatchEvent(this, \"error\", error);\n    };\n    this._transport.onclose = () => {\n      console.log(\"rpc client: close\");\n      dispatchEvent(this, \"close\");\n    };\n    this._transport.connect();\n  }\n\n  close() {\n    this._transport.close();\n  }\n\n  call(method, params, options = {}) {\n    options?.signal?.throwIfAborted();\n    let id = nanoid();\n    let promise = new Promise((resolve, reject) => {\n      this._inflight[id] = { resolve, reject, options };\n      this._send({ jsonrpc, id, method, params });\n    });\n    promise.cancel = () => {\n      this._send({ jsonrpc, method: \"__cancel\", params: [id] });\n    };\n    options?.signal?.addEventListener(\"abort\", () => {\n      this._send({ jsonrpc, method: \"__cancel\", params: [id] });\n    });\n    this._inflight[id].promise = promise;\n    return promise;\n  }\n\n  proxy(object) {\n    if (!object) {\n      return undefined;\n    }\n    let id = nanoid();\n    this._proxy[id] = object;\n    return id;\n  }\n\n  _send(message) {\n    if (this._ready) {\n      this._transport.send(message);\n    } else {\n      this._pending.push(message);\n    }\n  }\n\n  _handle(message) {\n    if (message.result !== undefined || message.error) {\n      // response\n      let inflight = this._inflight[message.id];\n      if (inflight) {\n        if (message.error) {\n          dispatchEvent(this, \"error\", message.error);\n          inflight.reject(message.error);\n        } else {\n          inflight.resolve(message.result);\n        }\n        delete this._inflight[message.id];\n      } else {\n        console.warn(`rpc client: no request inflight with id ${message.id}`);\n      }\n    } else if (message.method === \"__onProgress\") {\n      // progress notification\n      const id = message.params[0];\n      const inflight = this._inflight[id];\n      if (inflight) {\n        const timestamp = message.params[1];\n        const processed = message.params[2];\n        const total = message.params[3];\n\n        inflight.promise?.onprogress?.(timestamp, processed, total);\n        inflight.options?.onprogress?.(timestamp, processed, total);\n      }\n    } else if (message.method === \"__finalize\") {\n      // dealloc notification\n      delete this._proxy[message.params[0]];\n    } else if (message.method) {\n      // request - or notification\n      let object = this._proxy[message.params[0]];\n      let method = message.method.substr(message.method.indexOf(\".\") + 1);\n      let params = message.params.slice(1);\n      let id = message.id;\n      if (object && typeof object[method] === \"function\") {\n        let p = new Promise((resolve) => {\n          //HACK\n          if (message.method == 'QueryObserver.onQueryResultUpdate' && params[1]['@type'] == 'bool') {\n            params[1] = params[1]['@value']\n          }\n          resolve(object[method].apply(object, params));\n        });\n        if (id) {\n          p.then((result) => {\n            if (result === undefined) {\n              result = null;\n            }\n            this._send({ jsonrpc, result, id });\n          }).catch((error) => {\n            if (error.name === \"AbortError\") {\n              this._send({\n                jsonrpc,\n                error: {\n                  code: libcryptobox.ErrorCode.Canceled,\n                  details: error.toString(),\n                },\n                id,\n              });\n            } else {\n              this._send({ jsonrpc, error: error, id });\n            }\n          });\n        }\n      } else if (id) {\n        this._send({\n          jsonrpc,\n          error: `rpc client: no object with id ${message.params[0]}`,\n          id,\n        });\n      }\n    }\n  }\n}\n","// RPC error.\nexport default class RpcError extends Error {\n    constructor(message, detail = null, isOutOfDate = false, isAppOutOfDate = false) {\n        super(`rpc: ${message}`);\n        this.detail = detail;\n        this.isOutOfDate = isOutOfDate;\n        this.isAppOutOfDate = isAppOutOfDate;\n    }\n}","/* global ipc */\nimport { Base64 } from \"js-base64\";\n\nexport default class ElectronIPCTransport {\n  connect() {\n    (async () => {\n      if (!this.id) {\n        this.id = await ipc.rpc.new(this);\n      }\n      ipc.rpc.connect(this.id);\n    })();\n  }\n\n  close() {\n    ipc.rpc.close(this.id);\n    this.id = null;\n  }\n\n  send(message) {\n    ipc.rpc.send(this.id, message);\n  }\n\n  encodeUint8Array(value) {\n    return Base64.fromUint8Array(value);\n  }\n\n  decodeUint8Array(value) {\n    return Base64.toUint8Array(value);\n  }\n}\n","import { Base64 } from 'js-base64';\nimport { NativeEventSource, EventSourcePolyfill } from 'event-source-polyfill';\nimport dispatchEvent from '../../dispatch-event';\nimport RpcError from '../error';\n\nconst EventSource = NativeEventSource || EventSourcePolyfill;\n\n// HTTP transport.\n// NB. Not tested.\nexport default class HttpTransport {\n    constructor() {\n        this._session = null;\n        this._eventSource = null;\n\n        this.onready = null;\n        this.onmessage = null;\n        this.onerror = null;\n        this.onclose = null;\n    }\n\n    async connect() {\n        if (!this._session) {\n            const info = await this._fetch('GET', 'http://localhost:8080/rpc');\n            if (info.minVersion > 1 /*|| info.maxVersion < 1*/) {\n                const error = new RpcError(`http: connect: unsupported version (minVersion=${info.minVersion}, maxVersion=${info.maxVersion})`, info, true, false);\n                dispatchEvent(this, 'error', error);\n                return;\n            }\n            this._session = await this._fetch('POST', info.openUrl);\n            this._eventSource = new EventSource(this._session.readUrl);\n            this._eventSource.addEventListener('close', () => {\n                this._eventSource.close();\n                this._eventSource = null;\n                this._session = null;\n                dispatchEvent(this, 'close');\n            });\n            this._eventSource.addEventListener('error', (error) => dispatchEvent(this, 'error', new RpcError(`http: ${error.message}`, error)));\n            this._eventSource.addEventListener('message', (message) => dispatchEvent(this, 'message', JSON.parse(message.data)));\n            this._eventSource.addEventListener('open', () => dispatchEvent(this, 'ready'));\n        }\n    }\n\n    close() {\n        if (this._eventSource) {\n            this._eventSource.close();\n            this._eventSource = null;\n        }\n        if (this._session) {\n            this._fetch('POST', this._session.closeUrl);\n            this._session = null;\n            this.dispatchEvent(this, 'close');\n        }\n    }\n\n    send(message) {\n        return this._fetch('POST', this._session.writeUrl, JSON.stringify(message));\n    }\n\n    _fetch(method, url, body) {\n        return new Promise((resolve, reject) => {\n            const req = new XMLHttpRequest();\n            req.onload = () => {\n                resolve(req.response && JSON.parse(req.response));\n            };\n            req.onerror = (error) => {\n                dispatchEvent(this, 'error', new RpcError(`http: ${method} ${url}: ${error.message}`, error));\n            };\n            try {\n                req.open(method, url);\n                req.responseType = 'text';\n                req.send(body);\n            } catch (error) {\n                dispatchEvent(this, 'error', new RpcError(`http: ${method} ${url}: ${error.message}`, error));\n                reject(error);\n            }\n        });\n    }\n\n    encodeUint8Array(value) {\n        return Base64.fromUint8Array(value);\n    }\n\n    decodeUint8Array(value) {\n        return Base64.toUint8Array(value);\n    }\n}\n","import { Base64 } from 'js-base64';\nimport dispatchEvent from '../../dispatch-event';\nimport RpcError from '../error';\n\n// Named pipe transport.\nexport default class NamedPipeTransport {\n    constructor(pipeName) {\n        this._pipeName = pipeName;\n\n        this._pipe = null;\n        this._rcv = '';\n\n        this.onready = null;\n        this.onmessage = null;\n        this.onerror = null;\n        this.onclose = null;\n    }\n\n    connect() {\n        if (!this._pipe) {\n            this._pipe = true; // guard against concurrent calls to connect().\n            (async () => {\n                let retry = 30;\n                let interval = 1_000;\n                while (true) {\n                    try {\n                        await this._connect();                        \n                        return;\n                    } catch (error) {\n                        if (retry > 0) {\n                            console.error('rcp: named-pipe:', error.message);\n                            retry--\n                            await new Promise(resolve => setTimeout(resolve, interval));\n                        } else {\n                            dispatchEvent(this, 'error', new RpcError(`named-pipe: ${error.message}`, error));\n                            return;\n                        }\n                    }\n                }\n            })();\n        }\n    }\n\n    async _connect() {\n        let connecting = true;\n        return new Promise((resolve, reject) => {\n            this._pipe = window.requireNode('net').connect(this._pipeName);\n            this._pipe.setEncoding('utf8');\n            this._pipe.setKeepAlive(true);\n            this._pipe.setTimeout(9999999);\n            this._pipe.on('ready', () => {\n                if (connecting) {\n                    connecting = false;\n                    resolve();    \n                }\n                dispatchEvent(this, 'ready');\n            });\n            this._pipe.on('data', (data) => {\n                this._rcv += data;\n                while (this._rcv.indexOf('\\n') > -1) {\n                    let pos = this._rcv.indexOf('\\n');\n                    let message = this._rcv.substring(0, pos).trim()\n                    this._rcv = this._rcv.substring(pos + 1);\n                    //NB. There are two '\\n' after a message and I don't know why.\n                    if (message !== '') {\n                        dispatchEvent(this, 'message', JSON.parse(message));\n                    }\n                }\n            });\n            this._pipe.on('error', (error) => {\n                if (connecting) {\n                    connecting = false;\n                    reject(error);\n                } else {\n                    dispatchEvent(this, 'error', new RpcError(`named-pipe: ${error.message}`, error));\n                }\n            });\n            this._pipe.on('timeout', () => {\n                console.log('rpc: timeout');\n            });\n            this._pipe.on('close', () => {\n                dispatchEvent(this, 'close');\n            });\n        });\n    }\n\n    close() {\n        if (this._pipe) {\n            this._pipe.destroy();\n            this._pipe = null;\n        }\n    }\n\n    send(message) {\n        if (this._pipe) {\n            this._pipe.write(JSON.stringify(message) + '\\n');\n        }\n    }\n\n    encodeUint8Array(value) {\n        return Base64.fromUint8Array(value);\n    }\n\n    decodeUint8Array(value) {\n        return Base64.toUint8Array(value);\n    }\n}\n\n","import { emit, listen } from \"@tauri-apps/api/event\";\nimport { Base64 } from \"js-base64\";\nimport RpcError from \"../error\";\n\nexport default class TauriIPCTransport {\n  ready = false;\n\n  onready;\n  onmessage;\n  onerror;\n  onclose;\n\n  async connect() {\n    if (!this.ready) {\n      listen(\"rpc:tauri:rx\", (event) => {\n        this.onmessage?.(JSON.parse(event.payload));\n      });\n      listen(\"rpc:tauri:error\", (event) => {\n        this.onerror?.(new RpcError(`tauri-ipc: ${event.payload}`));\n      });\n      listen(\"rpc:tauri:close\", (event) => {\n        this.onclose?.();\n      });\n      this.ready = true;\n      this.onready?.();\n    }\n  }\n\n  close() {}\n\n  async send(message) {\n    emit(\"rpc:tauri:tx\", message);\n  }\n\n  encodeUint8Array(value) {\n    return Base64.fromUint8Array(value);\n  }\n\n  decodeUint8Array(value) {\n    return Base64.toUint8Array(value);\n  }\n}\n","import dispatchEvent from '../../dispatch-event';\nimport RpcError from '../error';\n\n// WebWorker transport/back-end.\nexport default class WebWorkerTransport {\n    constructor(url) {\n        this._worker = null;\n        this._url = url;\n\n        this.onready = null;\n        this.onmessage = null;\n        this.onerror = null;\n        this.onclose = null;\n    }\n\n    connect() {\n        if (!this._worker) {\n            this._worker = new Worker(this._url);\n            this._worker.onmessage = (event) => {\n                if (event.data === 'ready') {\n                    dispatchEvent(this, 'ready');\n                } else {\n                    dispatchEvent(this, 'message', event.data);\n                }\n            };\n            this._worker.onerror = () => {\n                dispatchEvent(this, 'error', new RpcError('web-worker: error'));\n            };\n            this._worker.onmessageerror = (_) => {\n                dispatchEvent(this, 'error', new RpcError('web-worker: fail to deserialize message'));\n            };\n        }\n    }\n\n    close() {\n        if (this._worker) {\n            this._worker.terminate();\n            this._worker = null;\n        }\n    }\n\n    send(message) {\n        if (this._worker) {\n            this._worker.postMessage(message);\n        }\n    }\n\n    encodeUint8Array(value) {\n        return value;\n    }\n\n    decodeUint8Array(value) {\n        return value;\n    }\n}\n","// Note: The service worker may outlive the session; pageReloadKey ensures we're in the same session when the page reloads.\n\nconst PAGE_RELOAD_KEY = 'toolbox:pageReload';\nconst SESSION_KEY = 'toolbox:session';\n\nlet data;\nlet initSessionData, initSessionDataDelivered;\n\nasync function requestSession(timeout) {\n    // Session storage\n    try {\n        const value = sessionStorage.getItem(SESSION_KEY);\n        sessionStorage.removeItem(SESSION_KEY);\n        if (value) {\n            const data = JSON.parse(value);\n            if (data && data.revision && data.hash) {\n                return data;\n            }\n        }\n    } catch (err) {\n        console.warn(err);\n    }\n\n    // Service worker, page reload only\n    try {\n        if (sessionStorage.getItem(PAGE_RELOAD_KEY)) {\n            sessionStorage.removeItem(PAGE_RELOAD_KEY);\n            const serviceWorkerRegistration = await navigator.serviceWorker.ready;\n            const data = await new Promise((resolve) => {\n                const channel = new MessageChannel();\n                channel.port1.onmessage = (event) => {\n                    // Note: The service worker responds with the full 'storeSession' message, hence data.data.\n                    resolve(event.data.data);\n                };\n                setTimeout(() => resolve(), timeout);\n                serviceWorkerRegistration.active.postMessage({ message: 'restoreSession' }, [channel.port2]);\n            });\n            if (data && data.revision && data.hash) {\n                return data;\n            }\n        }\n    } catch (err) {\n        console.warn(err);\n    }\n\n    // Broadcast channel\n    const bc = new BroadcastChannel(SESSION_KEY);\n    const data = await new Promise((resolve) => {\n        bc.addEventListener('message', async (ev) => {\n            switch (ev.data.type) {\n                case 'login':\n                case 'logout':\n                case 'passwordChange':\n                    resolve(ev.data);\n                    break;\n            }\n        });\n        setTimeout(resolve, timeout);\n        bc.postMessage({ type: 'init' });\n    });\n    bc.close();\n    if (data && data.revision && data.hash) {\n        return data;\n    }\n}\n\nexport async function SessionModule_share(ua, listener, { timeout, signal } = {}) {\n    // Initial loading\n    // Note: React calls session.share twice in dev mode, we must preserve \n    // the initial session data (pageReloadKey is removed on first attempt).\n    if (!initSessionData) {\n        initSessionData = (async () => {\n            if (timeout) {\n                data = await requestSession(timeout);\n            }\n            if (!data) {\n                data = { type: 'logout', revision: 0 };\n            }\n        })();\n    }\n    await initSessionData;\n    if (!initSessionDataDelivered && !signal?.aborted) {\n        initSessionDataDelivered = true;\n        await listener(data);\n    }\n    if (signal?.aborted) {\n        return;\n    }\n\n    // Tabs syncing\n    const bc = new BroadcastChannel(SESSION_KEY);\n    bc.addEventListener('message', async (ev) => {\n        switch (ev.data.type) {\n            case 'init':\n                // Note: Do not publish before being initialized.\n                if (data.revision) {\n                    bc.postMessage(data);\n                }\n                break;\n            case 'login':\n            case 'logout':\n            case 'passwordChange':\n                if (ev.data.revision > data.revision) {\n                    // Always keep the revision up-to-date.\n                    // Only notify the listener if the content has actually changed.\n                    const notify = ev.data.hash != data.hash;\n                    data = ev.data;\n                    if (notify) {\n                        await listener(data);\n                    }\n                }\n                break;\n        }\n    }, { signal });\n\n    // Tabs syncing + Page reloading\n    // On session change, save the new data and notify the other browsing contexts\n    ua.event.addLoginObserver({\n        onLogin: async () => {\n            const hash = await ua.session.hash();\n            if (hash != data.hash) {\n                data = {\n                    type: 'login',\n                    revision: data.revision + 1,\n                    hash,\n                    session: await ua.session.save(),\n                };\n                bc.postMessage(data);\n            }\n        },\n        onLogout: async () => {\n            const hash = await ua.session.hash();\n            if (hash != data.hash) {\n                data = {\n                    type: 'logout',\n                    revision: data.revision + 1,\n                    hash,\n                };\n                bc.postMessage(data);\n            }\n        },\n    }, { signal });\n\n    ua.session.addPasswordChangeObserver({\n        async onPasswordChange() {\n            const hash = await ua.session.hash();\n            if (hash != data.hash) {\n                data = {\n                    type: 'passwordChange',\n                    revision: data.revision + 1,\n                    hash,\n                    session: await ua.session.save(),\n                };\n                bc.postMessage(data);\n            }\n        },\n    }, { signal });\n\n    // Page reloading\n    // Before pagehide, send the session to the service worker if possible, or to the session storage as a fallback.\n    window.addEventListener('beforeunload', () => {\n        try {\n            sessionStorage.setItem(PAGE_RELOAD_KEY, 'true');\n            navigator.serviceWorker.controller.postMessage({ message: 'storeSession', data });\n        } catch {\n            sessionStorage.setItem(SESSION_KEY, JSON.stringify(data));\n        }\n    }, { signal });\n}\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport RpcClient from './rpc/client';\nimport LocalStorage from './local-storage';\nimport { InputFile } from './input-file';\nimport { registerLogoutBeacon } from './logout-beacon';\nimport { SessionModule_share } from './session-sharing';\nimport { OnlineEditorModule } from './online-editor';\n\n// A user must register an account to authenticate with the server. The user's identity is defined by her email address and the account is password-protected.\n// Typically, a verification email is sent upon registration. Note that the administrator whitelists the emails that can register.\n// On desktop and mobile, the user may associate the account with a device using DeviceCollection.\nclass AccountCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Register registers a new account on a server.\n  // Use InviteCollection's Register() to register an invited user.\n  register(serverUrl, email, password, givenName, surname, { signal } = {}) {\n    return this._rpc.call(\"account.register\", [serverUrl, email, password, givenName, surname], { signal });\n  }\n\n  // ValidateEmail validates the registration with the token received by email.\n  validateEmail(serverUrl, token, { signal } = {}) {\n    return this._rpc.call(\"account.validateEmail\", [serverUrl, token], { signal });\n  }\n\n  // GetEmailUpdateInfo returns the information on an email update request.\n  // The user must be authenticated.\n  getEmailUpdateInfo(token, { signal } = {}) {\n    return this._rpc.call(\"account.getEmailUpdateInfo\", [token], { signal });\n  }\n\n  // ValidateEmailUpdate validates an email update request.\n  // The parameter `newEmail` is the new email address retrieved with AccountCollection's GetEmailUpdateInfo() and validated by the user.\n  // The user must be password-authenticated.\n  validateEmailUpdate(token, newEmail, { signal } = {}) {\n    return this._rpc.call(\"account.validateEmailUpdate\", [token, newEmail], { signal });\n  }\n\n  // ResendValidationEmail requests the server to send the validation email again.\n  resendValidationEmail(serverUrl, email, { signal } = {}) {\n    return this._rpc.call(\"account.resendValidationEmail\", [serverUrl, email], { signal });\n  }\n\n  // Deprecated. Use DeviceKeysCollection's List().\n  list({ signal } = {}) {\n    return this._rpc.call(\"account.list\", [], { signal });\n  }\n\n  // WatchAll registers an observer on the result of AccountCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  // Deprecated.\n  watchAll(obs, { signal } = {}) {\n    return this._rpc.call(\"account.watchAll\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // GetCurrent returns the account of the authenticated user.\n  getCurrent({ signal } = {}) {\n    return this._rpc.call(\"account.getCurrent\", [], { signal });\n  }\n\n  // WatchCurrent registers an observer on the result of AccountCollection's GetCurrent().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchCurrent(obs, { signal } = {}) {\n    return this._rpc.call(\"account.watchCurrent\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Deprecated. Use AccountCollection's GetCurrent(), SpaceCollection's List(), UserStatusCollection's Get(), TrusteeCollection's List() and CategoryCollection's List().\n  getInfo({ signal } = {}) {\n    return this._rpc.call(\"account.getInfo\", [], { signal });\n  }\n\n  // ChangePassword updates the account's password of the authenticated user.\n  // The server may request an extra authentication; see UserAgent's SetSecondFactorAuthenticator().\n  changePassword(newPassword, currentPassword, { signal } = {}) {\n    return this._rpc.call(\"account.changePassword\", [newPassword, currentPassword], { signal });\n  }\n\n}\n\n// Provides the methods to read and write the settings of the authenticated user.\nclass AccountSettingsCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Get returns the settings for the authenticated user.\n  get({ signal } = {}) {\n    return this._rpc.call(\"accountSettings.get\", [], { signal });\n  }\n\n  // SetFileChangeEmailNotification updates the email frequency setting for the authenticated user.\n  setFileChangeEmailNotification(on, { signal } = {}) {\n    return this._rpc.call(\"accountSettings.setFileChangeEmailNotification\", [on], { signal });\n  }\n\n}\n\n// The user may attach files to instant messages sent with MessageCollection.\n// Previews are automatically computed for images.\n// Attached files and previews are uploaded into the space as regular files.\nclass AttachmentCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Add creates an attachment.\n  add(messageId, source, options) {\n    const { limitImageSize, preview, original, signal } = options || {};\n    return this._rpc.call(\"attachment.add\", [messageId, this._rpc.proxy(source), { limitImageSize, preview, original }], { signal });\n  }\n\n  // AddFromDisk creates an attachment from a local file.\n  addFromDisk(messageId, source, options) {\n    const { limitImageSize, preview, original, signal } = options || {};\n    return this._rpc.call(\"attachment.addFromDisk\", [messageId, source, { limitImageSize, preview, original }], { signal });\n  }\n\n  // DownloadPreview creates or downloads the preview for the attachment.\n  // If `width` is <= 0, the method returns the raw preview. Otherwise the preview is resized to match `width` and blurred for preview generated before v4.17.\n  // The preview is a JPEG image. The raw preview is of a few Ko.\n  // The message may have any status.\n  downloadPreview(id, width, target, { signal } = {}) {\n    return this._rpc.call(\"attachment.downloadPreview\", [id, width, this._rpc.proxy(target)], { signal });\n  }\n\n  // DownloadPreviewToTemp creates or downloads the preview for the attachment and write the result to disk.\n  // If `width` is <= 0, the method returns the raw preview. Otherwise the preview is resized and blured to match `width`.\n  // The preview is a JPEG image. The raw preview is of a few Ko.\n  // The message may have any status.\n  downloadPreviewToTemp(id, width, { signal } = {}) {\n    return this._rpc.call(\"attachment.downloadPreviewToTemp\", [id, width], { signal });\n  }\n\n  // Download downloads an attachment.\n  // The message must be delivered.\n  download(id, target, { signal } = {}) {\n    return this._rpc.call(\"attachment.download\", [id, this._rpc.proxy(target)], { signal });\n  }\n\n  // DownloadToDisk downloads an attachment to disk.\n  downloadToDisk(id, target, { signal } = {}) {\n    return this._rpc.call(\"attachment.downloadToDisk\", [id, target], { signal });\n  }\n\n  // DownloadToTemp downloads an attachment to a temp folder on disk.\n  // The message must be delivered.\n  downloadToTemp(id, { signal } = {}) {\n    return this._rpc.call(\"attachment.downloadToTemp\", [id], { signal });\n  }\n\n  // GetContentInfo returns the information to download and decrypt an attachment.\n  // The method raises an error if the antivirus is enabled, to prevent the client to bypass it.\n  getContentInfo(id, { signal } = {}) {\n    return this._rpc.call(\"attachment.getContentInfo\", [id], { signal });\n  }\n\n  // GetDefaultPreviewSize returns the size in pixels of the largest side of the preview image.\n  // This is a configuration value, you should only use it to provide the preview yourself.\n  // See AttachmentCollection's Add() and AttachmentCollection's AddFromDisk().\n  getDefaultPreviewSize({ signal } = {}) {\n    return this._rpc.call(\"attachment.getDefaultPreviewSize\", [], { signal });\n  }\n\n}\n\n// Path breacrumb utility.\nclass BreadcrumbCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Get returns the deepest existing folder on a given path.\n  // You may ensure your current location in the file tree is still valid using this method or BreadcrumbCollection's Watch().\n  get(spaceId, revision, path, { signal } = {}) {\n    return this._rpc.call(\"breadcrumb.get\", [spaceId, revision, path], { signal });\n  }\n\n  // Watch registers an observer on the result of BreadcrumbCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(spaceId, revision, path, obs, { signal } = {}) {\n    return this._rpc.call(\"breadcrumb.watch\", [spaceId, revision, path, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n}\n\n// CacheModule exposes the toolbox cache to the client application.\n// \n// On desktop and mobile, the cache is persisted to disk.\n// \n// The module is experimental.\nclass CacheModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // GetServerSettings returns the server settings from the cache.\n  // The method raises ErrorCodeNotFound if the settings are not in cache.\n  getServerSettings(options) {\n    const { url, signal } = options || {};\n    return this._rpc.call(\"cache.getServerSettings\", [{ url }], { signal });\n  }\n\n}\n\n// The user may create categories to organize the spaces she belongs to.\n// The categories are stored in the user account and only visible to the user.\nclass CategoryCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Create creates a category.\n  create(name, { signal } = {}) {\n    return this._rpc.call(\"category.create\", [name], { signal });\n  }\n\n  // SetName updates the name of a category.\n  // The change won't be visible on clients before v4.29.\n  setName(categoryId, name, { signal } = {}) {\n    return this._rpc.call(\"category.setName\", [categoryId, name], { signal });\n  }\n\n  // List returns the categories for the authenticated user.\n  list({ signal } = {}) {\n    return this._rpc.call(\"category.list\", [], { signal });\n  }\n\n  // WatchAll registers an observer on the result of CategoryCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchAll(obs, { signal } = {}) {\n    return this._rpc.call(\"category.watchAll\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Get returns a category.\n  get(id, { signal } = {}) {\n    return this._rpc.call(\"category.get\", [id], { signal });\n  }\n\n  // Watch registers an observer on the result of CategoryCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(id, obs, { signal } = {}) {\n    return this._rpc.call(\"category.watch\", [id, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Update adds and removes relationships between spaces and categories.\n  // The method execute all the changes in one HTTP request.\n  update(add, remove, { signal } = {}) {\n    return this._rpc.call(\"category.update\", [add, remove], { signal });\n  }\n\n  // Deprecated. Use CategoryCollection's Create().\n  create_(name, { signal } = {}) {\n    return this._rpc.call(\"category.create_\", [name], { signal });\n  }\n\n  // Deprecated. Use CategoryCollection's List().\n  list_({ signal } = {}) {\n    return this._rpc.call(\"category.list_\", [], { signal });\n  }\n\n  // AddSpace adds a space to a category.\n  addSpace(categoryId, spaceId, { signal } = {}) {\n    return this._rpc.call(\"category.addSpace\", [categoryId, spaceId], { signal });\n  }\n\n  // AddSpaces add multiple spaces at once to a category.\n  addSpaces(categoryId, spaceIds, { signal } = {}) {\n    return this._rpc.call(\"category.addSpaces\", [categoryId, spaceIds], { signal });\n  }\n\n  // RemoveSpace removes a space from a category.\n  removeSpace(categoryId, spaceId, { signal } = {}) {\n    return this._rpc.call(\"category.removeSpace\", [categoryId, spaceId], { signal });\n  }\n\n  // RemoveSpaces removes multiple spaces at once from a category.\n  removeSpaces(categoryId, spaceIds, { signal } = {}) {\n    return this._rpc.call(\"category.removeSpaces\", [categoryId, spaceIds], { signal });\n  }\n\n  // SetSpaceCategories replaces the categories of a space.\n  setSpaceCategories(spaceId, categoryIds, { signal } = {}) {\n    return this._rpc.call(\"category.setSpaceCategories\", [spaceId, categoryIds], { signal });\n  }\n\n  // Deprecated. Use SpaceCollection's Get().\n  getSpaceCategories(spaceId, { signal } = {}) {\n    return this._rpc.call(\"category.getSpaceCategories\", [spaceId], { signal });\n  }\n\n  // Deletes a category.\n  delete(id, { signal } = {}) {\n    return this._rpc.call(\"category.delete\", [id], { signal });\n  }\n\n  // Returns the ID of the favorites category.\n  getFavoritesCategoryId({ signal } = {}) {\n    return this._rpc.call(\"category.getFavoritesCategoryId\", [], { signal });\n  }\n\n}\n\n// Cryptographic utils.\nclass CryptoModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Export the ASN.1 PKIX DER of the public key.\n  // In ECDSA, the key size is the curve identifier (by e.g. 256 for secp256r1).\n  // Adapted from https://golang.org/src/crypto/x509/x509.go.\n  exportPublicKeyToDer(keyType, publicKeyBytes, keySize, { signal } = {}) {\n    return this._rpc.call(\"crypto.exportPublicKeyToDer\", [keyType, publicKeyBytes, keySize], { signal });\n  }\n\n  // Export the ASN.1 DER of a raw ECDSA signature.\n  exportEcdsaSignatureToDer(rawSig, { signal } = {}) {\n    return this._rpc.call(\"crypto.exportEcdsaSignatureToDer\", [rawSig], { signal });\n  }\n\n  // Removes the OAEP padding from data, provided the key size in bits.\n  // Adapted from https://golang.org/src/crypto/rsa/rsa.go.\n  unpadOaep(data, keySize, { signal } = {}) {\n    return this._rpc.call(\"crypto.unpadOaep\", [data, keySize], { signal });\n  }\n\n  // Run tests on the device keys.\n  checkDeviceKeys({ signal } = {}) {\n    return this._rpc.call(\"crypto.checkDeviceKeys\", [], { signal });\n  }\n\n}\n\n// DepositBoxModule provides the methods to create, list, update and delete deposit boxes.\n// \n// The feature availability may be checked with DepositBoxModule's CanAccess().\n// \n// With the CLI, the submitter should call DepositBoxModule's Submit() to upload files. On other platforms, see DepositBoxFormModule.\nclass DepositBoxModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Create creates a new deposit box.\n  // The user must be authenticated.\n  // \n  // See DepositBoxModule's CanAccess().\n  create(name, options) {\n    const { description, code, note, signal } = options || {};\n    return this._rpc.call(\"depositBox.create\", [name, { description, code, note }], { signal });\n  }\n\n  // List returns a summary of the deposit boxes owned by the authenticated user.\n  // See DepositBoxModule's Get() to retrieve the details of a deposit box.\n  // The user must be authenticated.\n  // \n  // See DepositBoxModule's CanAccess().\n  list({ signal } = {}) {\n    return this._rpc.call(\"depositBox.list\", [], { signal });\n  }\n\n  // Get returns the detailed information on a deposit box.\n  // See DepositBoxModule's List() to retrieve the list of deposit boxes.\n  // The user must be authenticated.\n  // \n  // See DepositBoxModule's CanAccess().\n  get(id, { signal } = {}) {\n    return this._rpc.call(\"depositBox.get\", [id], { signal });\n  }\n\n  // Download downloads a list of files from a deposit box, optionally as a ZIP archive.\n  // The user must be authenticated and own the deposit box. See DepositBoxModule's CanAccess().\n  download(id, filenames, outputFile, options) {\n    const { zip, signal } = options || {};\n    return this._rpc.call(\"depositBox.download\", [id, filenames, this._rpc.proxy(outputFile), { zip }], { signal });\n  }\n\n  // DownloadToDisk downloads a local copy of a list of files from a deposit box, optionally as a ZIP archive.\n  // - If the output path does not exist or is a file, the filenames must contain a single entry or the ZIP option must be set. The output file will be created if it does not exist and overwritten if it does.\n  // - If the output path is a folder, the files are created into it.\n  // \n  // The user must be authenticated and own the deposit box. See DepositBoxModule's CanAccess().\n  downloadToDisk(id, filenames, outputPath, options) {\n    const { zip, signal } = options || {};\n    return this._rpc.call(\"depositBox.downloadToDisk\", [id, filenames, outputPath, { zip }], { signal });\n  }\n\n  // Copy copies files from a deposit box to a space.\n  // The method can:\n  // 1. Copy a single file to a target path.\n  // - If the target is a directory, the file is copied into it.\n  // - If the target is a file, it is overwritten.\n  // - If the target does not exist, it is created.\n  // 2. Copy multiple files into a directory.\n  // \n  // The user must be authenticated, own the deposit box and have write rights in the space.\n  // \n  // See DepositBoxModule's CanAccess().\n  copy(id, filenames, spaceId, target, { signal } = {}) {\n    return this._rpc.call(\"depositBox.copy\", [id, filenames, spaceId, target], { signal });\n  }\n\n  // Update updates the information of a deposit box.\n  // The user must be authenticated and own the deposit box.\n  // \n  // See DepositBoxModule's CanAccess().\n  update(id, options) {\n    const { name, description, note, state, signal } = options || {};\n    return this._rpc.call(\"depositBox.update\", [id, { name, description, note, state }], { signal });\n  }\n\n  // Delete deletes a deposit box.\n  // The user must be authenticated and own the deposit box.\n  // \n  // See DepositBoxModule's CanAccess().\n  delete(id, { signal } = {}) {\n    return this._rpc.call(\"depositBox.delete\", [id], { signal });\n  }\n\n  // CanAccess returns whether the authenticated user has access to the deposit boxes.\n  // If true, all the operations are authorized.\n  // \n  // This permission depends on the server settings and the license pool of the user.\n  canAccess({ signal } = {}) {\n    return this._rpc.call(\"depositBox.canAccess\", [], { signal });\n  }\n\n}\n\n// DepositBoxFormModule provides the methods to upload and commit files to a deposit box.\n// \n// The submitter:\n// - Opens a deposit form with DepositBoxFormModule's Get().\n// - Adds files with DepositBoxFormModule's Upload().\n// - Optionaly removes files with DepositBoxFormModule's Remove() and DepositBoxFormModule's RemoveAll().\n// - Submits the form with DepositBoxFormModule's Submit().\n// \n// The submitter does not need to be authenticated.\nclass DepositBoxFormModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Test checks the validity of a deposit box link URL.\n  // The method returns an error if the URL is malformed or if the server does not know the box.\n  // The method does not verify the code or the hash.\n  // See DepositBoxFormModule's Get().\n  test(linkUrl, { signal } = {}) {\n    return this._rpc.call(\"depositBoxForm.test\", [linkUrl], { signal });\n  }\n\n  // Get retreives a deposit box form.\n  // The form is only valid until it is submitted, the user logs out or the process is terminated.\n  // The form ID is chosen randomly each time this method is called. In particular, it is *not* the deposit box ID.\n  // The method returns ErrorCodeBadDepositBoxCode if the code is wrong.\n  // See DepositBoxFormModule's Test().\n  get(linkUrl, options) {\n    const { code, signal } = options || {};\n    return this._rpc.call(\"depositBoxForm.get\", [linkUrl, { code }], { signal });\n  }\n\n  // Upload uploads a file to a deposit box form.\n  // \n  // Note:\n  // - The file is not visible to the deposit box owner until DepositBoxFormModule's Submit() is called.\n  // - The form ID must have been obtained with DepositBoxFormModule's Get().\n  upload(id, inputFile, { signal } = {}) {\n    return this._rpc.call(\"depositBoxForm.upload\", [id, this._rpc.proxy(inputFile)], { signal });\n  }\n\n  // UploadFromDisk uploads a local file to a deposit box form.\n  // The input path must a be a file.\n  // \n  // Note:\n  // - The file is not visible to the deposit box owner until DepositBoxFormModule's Submit() is called.\n  // - The form ID must have been obtained with DepositBoxFormModule's Get().\n  uploadFromDisk(id, inputPath, { signal } = {}) {\n    return this._rpc.call(\"depositBoxForm.uploadFromDisk\", [id, inputPath], { signal });\n  }\n\n  // Remove cancels an upload and detaches the file from the deposit box form.\n  // The form ID must have been obtained with DepositBoxFormModule's Get().\n  remove(id, name, { signal } = {}) {\n    return this._rpc.call(\"depositBoxForm.remove\", [id, name], { signal });\n  }\n\n  // RemoveAll cancels all the uploads and detaches all the files from the deposit box form.\n  // The form ID must have been obtained with DepositBoxFormModule's Get().\n  removeAll(id, { signal } = {}) {\n    return this._rpc.call(\"depositBoxForm.removeAll\", [id], { signal });\n  }\n\n  // Submit waits for the file uploads to complete and commits them to the deposit box.\n  // If any of the upload fails or has failed, the method returns an error. See DepositBoxFormModule's Remove() and DepositBoxFormModule's RemoveAll().\n  // The form ID must have been obtained with DepositBoxFormModule's Get().\n  // On success, the form ID becomes invalid.\n  // The method returns ErrorCodeBadDepositBoxCode if the code is wrong.\n  submit(id, options) {\n    const { comment, signal } = options || {};\n    return this._rpc.call(\"depositBoxForm.submit\", [id, { comment }], { signal });\n  }\n\n}\n\n// On desktop and mobile, the user may store cryptographic keys on the device to authenticate with the server in place of her password.\nclass DeviceCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // List returns the devices of the authenticated user.\n  // \n  // Note that the server response is not cached.\n  list(options) {\n    const { includeRevoked, signal } = options || {};\n    return this._rpc.call(\"device.list\", [{ includeRevoked }], { signal });\n  }\n\n  // WatchAll registers an observer on the result of DeviceCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchAll(options, obs) {\n    const { includeRevoked, signal } = options || {};\n    return this._rpc.call(\"device.watchAll\", [{ includeRevoked }, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Get returns a device.\n  // \n  // This methods calls DeviceCollection's List() and searches the results.\n  get(id, { signal } = {}) {\n    return this._rpc.call(\"device.get\", [id], { signal });\n  }\n\n  // Watch registers an observer on the result of DeviceCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(id, obs, { signal } = {}) {\n    return this._rpc.call(\"device.watch\", [id, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // GetCurrent returns the device of the authenticated user.\n  // The method fails if the user is not authenticated with device keys.\n  getCurrent({ signal } = {}) {\n    return this._rpc.call(\"device.getCurrent\", [], { signal });\n  }\n\n  // WatchCurrent registers an observer on the result of DeviceCollection's GetCurrent().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchCurrent(obs, { signal } = {}) {\n    return this._rpc.call(\"device.watchCurrent\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // SetState changes the states of a device.\n  // The device must belong to the authenticated user.\n  setState(id, state, { signal } = {}) {\n    return this._rpc.call(\"device.setState\", [id, state], { signal });\n  }\n\n  // Deprecated. Use DeviceKeysCollection's Login().\n  login_(serverUrl, email, { signal } = {}) {\n    return this._rpc.call(\"device.login_\", [serverUrl, email], { signal });\n  }\n\n  // Deprecated. Use DeviceKeysCollection's List().\n  list_(options) {\n    const { includeRevoked, signal } = options || {};\n    return this._rpc.call(\"device.list_\", [{ includeRevoked }], { signal });\n  }\n\n  // Deprecated. Use DeviceCollection's SetState().\n  setState_(signingCertificate, state, { signal } = {}) {\n    return this._rpc.call(\"device.setState_\", [signingCertificate, state], { signal });\n  }\n\n  // List returns the devices of the authenticated user, excluding the revoked devices.\n  // \n  // Note that this method only exists to fool EmberData. Since DeviceCollection's List() accepts a filter option, it no longer conforms to the \"findAll\" contract.\n  // This method will be removed as soon as Ember is abandoned.\n  findAll({ signal } = {}) {\n    return this._rpc.call(\"device.findAll\", [], { signal });\n  }\n\n}\n\n// DeviceKeysCollection manages the device keys stored on the device.\n// \n// See DeviceKeysRecord.\nclass DeviceKeysCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Create creates and stores new device keys on the device for the authenticated user, if they do not already exist.\n  // The method logs the user with the device keys on success.\n  create({ signal } = {}) {\n    return this._rpc.call(\"deviceKeys.create\", [], { signal });\n  }\n\n  // List returns the device keys stored on the device.\n  list({ signal } = {}) {\n    return this._rpc.call(\"deviceKeys.list\", [], { signal });\n  }\n\n  // WatchAll registers an observer on the result of DeviceKeysCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchAll(obs, { signal } = {}) {\n    return this._rpc.call(\"deviceKeys.watchAll\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Login authenticates the user with the device keys identified by `id`.\n  login(id, { signal } = {}) {\n    return this._rpc.call(\"deviceKeys.login\", [id], { signal });\n  }\n\n  // GetCurrent returns the device keys used to authenticate the user.\n  // The method returns ErrorCodeNotFound if the user is not authenticated with device keys.\n  getCurrent({ signal } = {}) {\n    return this._rpc.call(\"deviceKeys.getCurrent\", [], { signal });\n  }\n\n  // GetEncryptionKeyAlias returns the alias of the encryption key in the device keystore.\n  // The user must be authenticated with device keys.\n  getEncryptionKeyAlias({ signal } = {}) {\n    return this._rpc.call(\"deviceKeys.getEncryptionKeyAlias\", [], { signal });\n  }\n\n  // Delete removes the device keys identified by `id` from the device.\n  delete(id, { signal } = {}) {\n    return this._rpc.call(\"deviceKeys.delete\", [id], { signal });\n  }\n\n}\n\n// The server reports changes to the user agent via long polling. You may call EventCollection's WatchInbox() to observe these notifications.\n// This is not the preferred way though, as the relationship between the notification and the change is not always obvious, and you should use the live queries instead (all the methods starting with \"Watch\", SpaceCollection's WatchAll by eg.). On the other hand, while the live queries are more practical, the long-polling is more lightweight.\n// Also note that the user agent does subscribe to the long polling and updates most of its data automatically.\n// See EventKind for the list of available notifications.\nclass EventCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // AddLoginObserver registers an observer on login and logout events.\n  // See LoginStatusCollection's Watch().\n  addLoginObserver(obs, { signal } = {}) {\n    return this._rpc.call(\"event.addLoginObserver\", [this._rpc.proxy(obs)], { signal });\n  }\n\n  // Deprecated. Use EventCollection's WatchInbox().\n  addUpdateObserver(obs, { signal } = {}) {\n    return this._rpc.call(\"event.addUpdateObserver\", [this._rpc.proxy(obs)], { signal });\n  }\n\n  // Deprecated.\n  removeObserver(token, { signal } = {}) {\n    return this._rpc.call(\"event.removeObserver\", [token], { signal });\n  }\n\n  // Inbox returns the last received events.\n  // You should use EventCollection's WatchInbox() to be notified in a timely fashion.\n  inbox({ signal } = {}) {\n    return this._rpc.call(\"event.inbox\", [], { signal });\n  }\n\n  // WatchInbox registers an observer on the result of EventCollection's Inbox().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchInbox(obs, { signal } = {}) {\n    return this._rpc.call(\"event.watchInbox\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // RestartPolling restarts polling the server for low-level notifications.\n  // The polling starts automatically after a successful login and stops automatically when the user agent is logged out.\n  // The method does nothing if the user is logged out.\n  restartPolling({ signal } = {}) {\n    return this._rpc.call(\"event.restartPolling\", [], { signal });\n  }\n\n  // StopPolling stops polling the server for low-level notifications.\n  // The user agent will stop updating its data automatically until the next login or call to EventCollection's RestartPolling().\n  stopPolling({ signal } = {}) {\n    return this._rpc.call(\"event.stopPolling\", [], { signal });\n  }\n\n}\n\n// Files are stored in spaces and organized in regular directory trees.\n// Any space member may read the files, only a \"member\" or a \"owner\" may write them.\n// Consecutive versions of the whole file tree are called revisions and may be read back.\n// See SpaceCollection, SpaceMemberCollection and FileRevisionCollection.\nclass FileCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Create creates an empty file.\n  // \n  // The method:\n  // - Returns an error if the path already exists.\n  // - Set a valid contents for Office documents, ie. files with the extension .docx, .odp, .ods, .odt, .pptx, and .xlsx.\n  // \n  // See FileCollection's Upload() and FileCollection's UploadFromDisk().\n  create(spaceId, path, { signal } = {}) {\n    return this._rpc.call(\"file.create\", [spaceId, path], { signal });\n  }\n\n  // CreateDirectory creates a folder.\n  // The authenticated user must be a member or an owner.\n  createDirectory(spaceId, path, { signal } = {}) {\n    return this._rpc.call(\"file.createDirectory\", [spaceId, path], { signal });\n  }\n\n  // Deprecated. Use FileCollection's CreateDirectory().\n  createDirectory_(spaceId, dirname, basename, { signal } = {}) {\n    return this._rpc.call(\"file.createDirectory_\", [spaceId, dirname, basename], { signal });\n  }\n\n  // Upload uploads a file to a space.\n  // - If the target path does not exist, it is created along with its parent folders.\n  // - If the target path is a file, it is overwritten.\n  // - If the target path is a folder, a file is created into it.\n  // \n  // The user must have write rights for the space.\n  upload(spaceId, path, inputFile, { signal } = {}) {\n    return this._rpc.call(\"file.upload\", [spaceId, path, this._rpc.proxy(inputFile)], { signal });\n  }\n\n  // UploadFromDisk uploads a local file or folder to a space.\n  // - If the target path is a folder, the file or folder is copied into it.\n  // - If the target path is a file, the input path must also be a file, and the target is overwritten.\n  // - If the target path does not exist, it is created along with its parent folders.\n  // \n  // The user must have write rights for the space.\n  uploadFromDisk(spaceId, path, inputPath, { signal } = {}) {\n    return this._rpc.call(\"file.uploadFromDisk\", [spaceId, path, inputPath], { signal });\n  }\n\n  // UploadManyFromDisk uploads a list of local files and folders to a space.\n  // The target path must be a folder.\n  // The user must have write rights for the space.\n  uploadManyFromDisk(spaceId, path, inputPaths, { signal } = {}) {\n    return this._rpc.call(\"file.uploadManyFromDisk\", [spaceId, path, inputPaths], { signal });\n  }\n\n  // List returns the files at a given path and revision.\n  // If `revision` is <= 0, the latest revision is used.\n  list(spaceId, revision, path, options) {\n    const { onlineEditorActivity, signal } = options || {};\n    return this._rpc.call(\"file.list\", [spaceId, revision, path, { onlineEditorActivity }], { signal });\n  }\n\n  // WatchAll registers an observer on the result of FileCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchAll(spaceId, revision, path, options, obs) {\n    const { onlineEditorActivity, signal } = options || {};\n    return this._rpc.call(\"file.watchAll\", [spaceId, revision, path, { onlineEditorActivity }, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Tree lists the files and folders recursively.\n  tree(spaceId, options) {\n    const { path, revision, dirOnly, onlineEditorActivity, signal } = options || {};\n    return this._rpc.call(\"file.tree\", [spaceId, { path, revision, dirOnly, onlineEditorActivity }], { signal });\n  }\n\n  // WatchTree registers an observer on the result of FileCollection's Tree().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchTree(spaceId, options, obs) {\n    const { path, revision, dirOnly, onlineEditorActivity, signal } = options || {};\n    return this._rpc.call(\"file.watchTree\", [spaceId, { path, revision, dirOnly, onlineEditorActivity }, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Deprecated. Use FileCollection's List().\n  list_(spaceId, pathname, options) {\n    const { recursive, dirOnly, revision, signal } = options || {};\n    return this._rpc.call(\"file.list_\", [spaceId, pathname, { recursive, dirOnly, revision }], { signal });\n  }\n\n  // Get returns the file at a given path and revision.\n  // If `revision` is <= 0, the latest revision is used.\n  get(spaceId, revision, path, options) {\n    const { onlineEditorActivity, signal } = options || {};\n    return this._rpc.call(\"file.get\", [spaceId, revision, path, { onlineEditorActivity }], { signal });\n  }\n\n  // Watch registers an observer on the result of FileCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(spaceId, revision, path, options, obs) {\n    const { onlineEditorActivity, signal } = options || {};\n    return this._rpc.call(\"file.watch\", [spaceId, revision, path, { onlineEditorActivity }, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Find returns the file with the given tracking ID.\n  // The method returns ErrorCodeNotFound if the file does not exist.\n  find(spaceId, trackingId, options) {\n    const { revision, onlineEditorActivity, signal } = options || {};\n    return this._rpc.call(\"file.find\", [spaceId, trackingId, { revision, onlineEditorActivity }], { signal });\n  }\n\n  // CreateLink returns the internal link to a file or folder.\n  // The method creates a tracking ID for the path if missing.\n  // The user must be authenticated and have write permission in the space. The tracking IDs must be enabled on the server.\n  // See PermissionsRecord's CanCreateLink.\n  createLink(spaceId, path, { signal } = {}) {\n    return this._rpc.call(\"file.createLink\", [spaceId, path], { signal });\n  }\n\n  // Deprecated. Use FileCollection's Get().\n  getInfo(spaceId, pathname, { signal } = {}) {\n    return this._rpc.call(\"file.getInfo\", [spaceId, pathname], { signal });\n  }\n\n  // Search returns the files whose names contains a given pattern.\n  // The search is case-insensitive and diacritic-insensitive. Glob patterns are not supported.\n  // If `revision` < 1 the method browses the latest revision.\n  search(spaceId, revision, searchTerm, options) {\n    const { onlineEditorActivity, byName, signal } = options || {};\n    return this._rpc.call(\"file.search\", [spaceId, revision, searchTerm, { onlineEditorActivity, byName }], { signal });\n  }\n\n  // WatchSearch registers an observer on the result of FileCollection's Search().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchSearch(spaceId, revision, searchTerm, options, obs) {\n    const { onlineEditorActivity, byName, signal } = options || {};\n    return this._rpc.call(\"file.watchSearch\", [spaceId, revision, searchTerm, { onlineEditorActivity, byName }, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Exists returns whether a path exists.\n  exists(spaceId, revision, path, { signal } = {}) {\n    return this._rpc.call(\"file.exists\", [spaceId, revision, path], { signal });\n  }\n\n  // Deprecated. Use FileCollection's Exists().\n  exists_(spaceId, pathname, { signal } = {}) {\n    return this._rpc.call(\"file.exists_\", [spaceId, pathname], { signal });\n  }\n\n  // Copy copies files between spaces.\n  // The method can copy a single file to an existing file or directory, or multiple files to an existing directory.\n  // File names must be prefixed with a space ID followed by ':' to indicate that the file is to be copied to/from that space.\n  // The method won't copy a directory into itself. It can copy the root directory from one space to another.\n  copy(sources, target, { signal } = {}) {\n    return this._rpc.call(\"file.copy\", [sources, target], { signal });\n  }\n\n  // Move moves files between spaces.\n  // The method can move a single file to an existing file or directory, or multiple files to an existing directory.\n  // File names must be prefixed with a space ID followed by ':' to indicate that the file is to be moved to/from that space.\n  // The method won't move a directory into itself. It can move the root directory from one space to another.\n  move(sources, target, { signal } = {}) {\n    return this._rpc.call(\"file.move\", [sources, target], { signal });\n  }\n\n  // Deprecated. Use SpaceCollection's Get().\n  getRevision(spaceId, { signal } = {}) {\n    return this._rpc.call(\"file.getRevision\", [spaceId], { signal });\n  }\n\n  // Deprecated. Use FileAccessLogCollection's Query().\n  getAccessLog(spaceId, pathname, beforeDate, afterDate, sort, limit, { signal } = {}) {\n    return this._rpc.call(\"file.getAccessLog\", [spaceId, pathname, beforeDate, afterDate, sort, limit], { signal });\n  }\n\n  // Download downloads a file from a space.\n  // Set `revision` < 1 for the latest.\n  // The user must be part of the space.\n  download(spaceId, path, revision, outputFile, { signal } = {}) {\n    return this._rpc.call(\"file.download\", [spaceId, path, revision, this._rpc.proxy(outputFile)], { signal });\n  }\n\n  // DownloadToDisk downloads a local copy of a file or directory from a space.\n  // - If the output path does not exist, it is created.\n  // - If the output path is a file, the source must also be a file and the output path will be overwritten.\n  // - If the output path is a folder, the file or directory is created into it.\n  // \n  // Set `revision` < 1 for the latest.\n  // The user must be part of the space.\n  // \n  // The method returns the path to the downloaded file.\n  downloadToDisk(spaceId, path, revision, outputPath, { signal } = {}) {\n    return this._rpc.call(\"file.downloadToDisk\", [spaceId, path, revision, outputPath], { signal });\n  }\n\n  // DownloadZip downloads a list of files and folders as a ZIP archive.\n  // The files are not compressed to prevent performance issues in JavaScript.\n  downloadZip(spaceId, paths, revision, outputFile, { signal } = {}) {\n    return this._rpc.call(\"file.downloadZip\", [spaceId, paths, revision, this._rpc.proxy(outputFile)], { signal });\n  }\n\n  // GetSuggestedZipName returns the suggested name for a zip archive.\n  // The method expects the same parameters as FileCollection's DownloadZip().\n  getSuggestedZipName(spaceId, sources, revision, { signal } = {}) {\n    return this._rpc.call(\"file.getSuggestedZipName\", [spaceId, sources, revision], { signal });\n  }\n\n  // GetExpectedZipSize returns the expected size in bytes of a zip archive.\n  // The method expects the same parameters as FileCollection's DownloadZip().\n  getExpectedZipSize(spaceId, sources, revision, { signal } = {}) {\n    return this._rpc.call(\"file.getExpectedZipSize\", [spaceId, sources, revision], { signal });\n  }\n\n  // DownloadZipToDisk downloads a local copy of a list of files and folders as a ZIP archive.\n  // - If the output path does not exist, it is created.\n  // - If the output path is a file, the method finds a suitable replacement by appending a number.\n  // - If the output path is a directory, a file is created into it.\n  // \n  // The archive is not compressed to be consistent with FileCollection's DownloadZip().\n  // The method returns the path to the archive.\n  downloadZipToDisk(spaceId, paths, revision, outputPath, { signal } = {}) {\n    return this._rpc.call(\"file.downloadZipToDisk\", [spaceId, paths, revision, outputPath], { signal });\n  }\n\n  // GetContentInfo returns the information to download and decrypt a file.\n  // The method raises an error if the antivirus is enabled, to prevent the client to bypass it.\n  getContentInfo(spaceId, revision, path, { signal } = {}) {\n    return this._rpc.call(\"file.getContentInfo\", [spaceId, revision, path], { signal });\n  }\n\n  // Rename renames a file or a directory.\n  // The user must have write rights for the space.\n  rename(spaceId, pathname, newBasename, { signal } = {}) {\n    return this._rpc.call(\"file.rename\", [spaceId, pathname, newBasename], { signal });\n  }\n\n  // Remove removes a file or a directory recursively.\n  // The method can remove the root directory (ie. all the files in the space).\n  // The user must have write rights for the space.\n  remove(spaceId, pathname, { signal } = {}) {\n    return this._rpc.call(\"file.remove\", [spaceId, pathname], { signal });\n  }\n\n  // Creates a random directory on disk.\n  tempDir(dirname, { signal } = {}) {\n    return this._rpc.call(\"file.tempDir\", [dirname], { signal });\n  }\n\n  // GetHistoryHeatmap returns the heatmap of the file changes history.\n  getHistoryHeatmap(spaceId, trackingId, year, options) {\n    const { action, signal } = options || {};\n    return this._rpc.call(\"file.getHistoryHeatmap\", [spaceId, trackingId, year, { action }], { signal });\n  }\n\n  // GetHistory returns the file changes history.\n  getHistory(spaceId, trackingId, limit, options) {\n    const { date, action, direction, signal } = options || {};\n    return this._rpc.call(\"file.getHistory\", [spaceId, trackingId, limit, { date, action, direction }], { signal });\n  }\n\n  // GetNumberDownloads returns the number of downloads of a file at a given version.\n  getNumberDownloads(trackingId, fileVersion, { signal } = {}) {\n    return this._rpc.call(\"file.getNumberDownloads\", [trackingId, fileVersion], { signal });\n  }\n\n  // GetDownloadList returns the list of downloads for a file at a given version.\n  // Pass an empty `cursor` for the first call then use [DownloadList.NewCursor].\n  getDownloadList(trackingId, fileVersion, downloadType, limit, cursor, { signal } = {}) {\n    return this._rpc.call(\"file.getDownloadList\", [trackingId, fileVersion, downloadType, limit, cursor], { signal });\n  }\n\n  // DownloadHistory downloads the file history to a CSV file.\n  // \n  // Texts are translated according to the current locale. See UserAgent's SetLocale.\n  // \n  // The method returns an empty CSV if the server cannot find the tracking ID or does not support full file history export (< v4.32).\n  downloadHistory(spaceId, trackingId, outputFile, { signal } = {}) {\n    return this._rpc.call(\"file.downloadHistory\", [spaceId, trackingId, this._rpc.proxy(outputFile)], { signal });\n  }\n\n  // DownloadHistoryToDisk downloads the file history to a CSV file.\n  // - If the output path does not exist, it is created.\n  // - If the output path is a file, it is overwritten.\n  // - If the output path is a directory, a file named \"<filename.extension>_export-YYYY-MM-DD.csv\" is created into it. The file is replaced if it already exists.\n  // \n  // Texts are translated according to the current locale. See UserAgent's SetLocale.\n  // \n  // The method returns an empty CSV if the server cannot find the tracking ID or does not support full file history export (< v4.32).\n  downloadHistoryToDisk(spaceId, trackingId, outputPath, { signal } = {}) {\n    return this._rpc.call(\"file.downloadHistoryToDisk\", [spaceId, trackingId, outputPath], { signal });\n  }\n\n  // GetViewableTypes returns the list of supported file types for a viewer.\n  // ViewableFileType's Label may change after a call to UserAgent's SetLocale(). Otherwise the list is hard-coded.\n  getViewableTypes({ signal } = {}) {\n    return this._rpc.call(\"file.getViewableTypes\", [], { signal });\n  }\n\n}\n\n// File downloads are logged by the server.\nclass FileAccessLogCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Query returns the access log.\n  // `before` and `after` may be empty, `limit` is clamped to [0, 1000].\n  query(spaceId, path, beforeDate, afterDate, sort, limit, { signal } = {}) {\n    return this._rpc.call(\"fileAccessLog.query\", [spaceId, path, beforeDate, afterDate, sort, limit], { signal });\n  }\n\n}\n\n// File cache configuration.\nclass FileCacheCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Get retrieves the cache configuration and usage.\n  // The configuration is persisted to disk.\n  get({ signal } = {}) {\n    return this._rpc.call(\"fileCache.get\", [], { signal });\n  }\n\n  // Watch registers an observer on the result of FileCacheCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(obs, { signal } = {}) {\n    return this._rpc.call(\"fileCache.watch\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // SetPath sets the location of the cache directory.\n  // The method creates the directory if missing.\n  setPath(dirname, { signal } = {}) {\n    return this._rpc.call(\"fileCache.setPath\", [dirname], { signal });\n  }\n\n  // SetSize sets the maximum cache size in bytes.\n  // The method truncates the cache content to the new size.\n  // A null `size` both clears and disables the cache.\n  // NB. When a file is about to be cached and the maximum cache size is exceeded, a sufficient number of files are deleted on a least-recently-used basis.\n  // See also FileCacheCollection's Remove().\n  setSize(size, { signal } = {}) {\n    return this._rpc.call(\"fileCache.setSize\", [size], { signal });\n  }\n\n  // Remove deletes the cache directory and resets the configuration.\n  remove({ signal } = {}) {\n    return this._rpc.call(\"fileCache.remove\", [], { signal });\n  }\n\n}\n\n// A space member may watch paths to files or directories and receive in-app notifications, and optionaly email notifications, upon downloads.\n// See AccountSettingsCollection.\nclass FileDownloadSubscriptionCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Add subscribes a list of paths in a space.\n  add(spaceId, pathnames, { signal } = {}) {\n    return this._rpc.call(\"fileDownloadSubscription.add\", [spaceId, pathnames], { signal });\n  }\n\n  // Get returns the file subscriptions.\n  get(spaceId, { signal } = {}) {\n    return this._rpc.call(\"fileDownloadSubscription.get\", [spaceId], { signal });\n  }\n\n  // Watch registers an observer on the result of FileDownloadSubscriptionCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(spaceId, obs, { signal } = {}) {\n    return this._rpc.call(\"fileDownloadSubscription.watch\", [spaceId, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // GetSubscriptionPath returns the actual subscription path.\n  // The result is either the input path itself or the path of a parent folder (including \"/\").\n  // The result is empty if the input path is not subscribed (directly or indirectly).\n  // \n  // Note: This method does not verify the existence of the input path.\n  getSubscriptionPath(spaceId, path, { signal } = {}) {\n    return this._rpc.call(\"fileDownloadSubscription.getSubscriptionPath\", [spaceId, path], { signal });\n  }\n\n  // Remove unsubscribes a list of paths in a space.\n  // \n  // The method always removes the subscription path as returned by FileSubscriptionCollection's GetSubscriptionPath().\n  remove(spaceId, pathnames, { signal } = {}) {\n    return this._rpc.call(\"fileDownloadSubscription.remove\", [spaceId, pathnames], { signal });\n  }\n\n}\n\n// A file revision contains the whole file tree of a space at a given point in time.\n// You may read the content of a file revision with FileCollection.\n// Note that the server may remove older revisions.\nclass FileRevisionCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Query returns the list of file revisions in a space, filtered by date and number.\n  // You may set an empty `notAfterDate`, a zero `notAfterNumber` or both to deactivate the parameter.\n  // The number of results is limited by the server, typically around 1000 items.\n  // Requires ServerCapabilityFileHistory.\n  query(spaceId, notAfterDate, notAfterNumber, count, options) {\n    const { noCache, signal } = options || {};\n    return this._rpc.call(\"fileRevision.query\", [spaceId, notAfterDate, notAfterNumber, count, { noCache }], { signal });\n  }\n\n  // WatchQuery registers an observer on the result of FileRevisionCollection's Query().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchQuery(spaceId, notAfterDate, notAfterNumber, count, options, obs) {\n    const { noCache, signal } = options || {};\n    return this._rpc.call(\"fileRevision.watchQuery\", [spaceId, notAfterDate, notAfterNumber, count, { noCache }, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Deprecated. Use FileRevisionCollection's Query().\n  list(spaceId, notAfterDate, notAfterNumber, count, options) {\n    const { noCache, signal } = options || {};\n    return this._rpc.call(\"fileRevision.list\", [spaceId, notAfterDate, notAfterNumber, count, { noCache }], { signal });\n  }\n\n  // Deprecated. Use FileRevisionCollection's Query().\n  getLatest(spaceId, { signal } = {}) {\n    return this._rpc.call(\"fileRevision.getLatest\", [spaceId], { signal });\n  }\n\n  // Restore pushes a given file revision to the server as the new one.\n  restore(spaceId, number, { signal } = {}) {\n    return this._rpc.call(\"fileRevision.restore\", [spaceId, number], { signal });\n  }\n\n}\n\n// A space member may create an URL link to a file to share its content with an unregistered user.\n// The sharing is protected by a secret that has to be sent to the recipient.\nclass FileSharingCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // GetSuggestedName returns the suggested name for a sharing.\n  getSuggestedName(spaceId, paths, { signal } = {}) {\n    return this._rpc.call(\"fileSharing.getSuggestedName\", [spaceId, paths], { signal });\n  }\n\n  // Create creates a new sharing.\n  // The resulting FileSharingRecord contains a valid URL.\n  // Sharing multiple files at once requires ServerCapabilityFileSharingMultipleFiles. See ServerSettingsCollection's Get().\n  create(spaceId, paths, options) {\n    const { name, notAfter, uniqueDownload, authorSubscription, signal } = options || {};\n    return this._rpc.call(\"fileSharing.create\", [spaceId, paths, { name, notAfter, uniqueDownload, authorSubscription }], { signal });\n  }\n\n  // List returns the file sharings.\n  // According the user's role in the space, the server may return all the sharings or only the one belonging to the user.\n  // FileSharingRecord's URL will be empty.\n  list(spaceId, { signal } = {}) {\n    return this._rpc.call(\"fileSharing.list\", [spaceId], { signal });\n  }\n\n  // GetKey extracts the key from a sharing URL (including the hint for long key).\n  // The URL returned by Create() always contain a secret key while the URL sent by SendByEmail() never does.\n  getKey(sharingUrl, { signal } = {}) {\n    return this._rpc.call(\"fileSharing.getKey\", [sharingUrl], { signal });\n  }\n\n  // GetKeyHint extracts the key hint from a sharing URL.\n  // Client should not use the hint for short code. See FileSharingCollection's GetInfo().\n  getKeyHint(sharingUrl, { signal } = {}) {\n    return this._rpc.call(\"fileSharing.getKeyHint\", [sharingUrl], { signal });\n  }\n\n  // GetUrlWithoutKey returns a sharing URL without a key.\n  getUrlWithoutKey(sharingUrl, { signal } = {}) {\n    return this._rpc.call(\"fileSharing.getUrlWithoutKey\", [sharingUrl], { signal });\n  }\n\n  // GetToken extracts the token from a sharing URL.\n  getToken(sharingUrl, { signal } = {}) {\n    return this._rpc.call(\"fileSharing.getToken\", [sharingUrl], { signal });\n  }\n\n  // GetInfo downloads the encrypted sharing information for a sharing URL.\n  // Client should parse the result (JSON) and check for the presence of \"short_code\". If the field is true, the key hint is useless (it is almost the same size as the key itself).\n  // See DecryptInfo.\n  getInfo(sharingUrl, { signal } = {}) {\n    return this._rpc.call(\"fileSharing.getInfo\", [sharingUrl], { signal });\n  }\n\n  // DecryptInfo decrypts the information returned by GetInfo.\n  // The result contains only the file name and size.\n  decryptInfo(serverUrl, encryptedInfo, key, { signal } = {}) {\n    return this._rpc.call(\"fileSharing.decryptInfo\", [serverUrl, encryptedInfo, key], { signal });\n  }\n\n  // Download downloads a sharing.\n  // If the sharing contains multiple files or an empty folder the resulting file is an uncompressed ZIP archive.\n  download(sharingUrl, sharingKey, outputFile, { signal } = {}) {\n    return this._rpc.call(\"fileSharing.download\", [sharingUrl, sharingKey, this._rpc.proxy(outputFile)], { signal });\n  }\n\n  // DownloadToDisk downloads a local copy of a sharing.\n  // - If the output path does not exist, it is created.\n  // - If the output path is a file, it is overwritten.\n  // - If the output path is a folder, a file is created into it.\n  // \n  // If the sharing contains multiple files or an empty folder the resulting file is an uncompressed ZIP archive.\n  downloadToDisk(sharingUrl, sharingKey, outputPath, { signal } = {}) {\n    return this._rpc.call(\"fileSharing.downloadToDisk\", [sharingUrl, sharingKey, outputPath], { signal });\n  }\n\n  // SendByEmail sends an email containing a sharing URL.\n  // The method strips the secret key from the URL before requesting the server to send the email.\n  sendByEmail(recipients, message, sharingUrl, { signal } = {}) {\n    return this._rpc.call(\"fileSharing.sendByEmail\", [recipients, message, sharingUrl], { signal });\n  }\n\n  // Updates a file sharing.\n  // The method returns ErrorCodeInvalidParameter if no option is defined.\n  update(spaceId, token, options) {\n    const { notAfter, suspended, uniqueDownload, authorSubscription, signal } = options || {};\n    return this._rpc.call(\"fileSharing.update\", [spaceId, token, { notAfter, suspended, uniqueDownload, authorSubscription }], { signal });\n  }\n\n  // Deletes a file sharing.\n  delete(spaceId, token, { signal } = {}) {\n    return this._rpc.call(\"fileSharing.delete\", [spaceId, token], { signal });\n  }\n\n  // Upload uploads a file to the personal space and returns a sharing URL.\n  // The method is intended for the Outlook Add-in and exposes the minimum API possible.\n  upload(inputFile, { signal } = {}) {\n    return this._rpc.call(\"fileSharing.upload\", [this._rpc.proxy(inputFile)], { signal });\n  }\n\n}\n\n// A space member may watch paths to files or directories and receive in-app notifications, and optionaly email notifications, upon changes.\n// See AccountSettingsCollection.\nclass FileSubscriptionCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Add subscribes a list of paths in a space.\n  add(spaceId, pathnames, { signal } = {}) {\n    return this._rpc.call(\"fileSubscription.add\", [spaceId, pathnames], { signal });\n  }\n\n  // Get returns the file subscriptions.\n  get(spaceId, { signal } = {}) {\n    return this._rpc.call(\"fileSubscription.get\", [spaceId], { signal });\n  }\n\n  // Watch registers an observer on the result of FileSubscriptionCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(spaceId, obs, { signal } = {}) {\n    return this._rpc.call(\"fileSubscription.watch\", [spaceId, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // GetSubscriptionPath returns the actual subscription path.\n  // The result is either the input path itself or the path of a parent folder (including \"/\").\n  // The result is empty if the input path is not subscribed (directly or indirectly).\n  // \n  // Note: This method does not verify the existence of the input path.\n  getSubscriptionPath(spaceId, path, { signal } = {}) {\n    return this._rpc.call(\"fileSubscription.getSubscriptionPath\", [spaceId, path], { signal });\n  }\n\n  // Remove unsubscribes a list of paths in a space.\n  // \n  // The method always removes the subscription path as returned by FileSubscriptionCollection's GetSubscriptionPath().\n  remove(spaceId, pathnames, { signal } = {}) {\n    return this._rpc.call(\"fileSubscription.remove\", [spaceId, pathnames], { signal });\n  }\n\n}\n\n// File upload creation, cancelation and retry.\nclass FileUploadCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Create starts uploading a file and returns the related record.\n  // The client:\n  // - May watch the record or use FileUploadCollection's Wait() to be notified of the completion.\n  // - Should remove the record with FileUploadCollection's Delete() once completed.\n  create(spaceId, path, source, { signal } = {}) {\n    return this._rpc.call(\"fileUpload.create\", [spaceId, path, this._rpc.proxy(source)], { signal });\n  }\n\n  // List returns all the uploads.\n  // See FileUploadCollection's Delete() to clean up the list.\n  list({ signal } = {}) {\n    return this._rpc.call(\"fileUpload.list\", [], { signal });\n  }\n\n  // WatchAll registers an observer on the result of FileUploadCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchAll(obs, { signal } = {}) {\n    return this._rpc.call(\"fileUpload.watchAll\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Get returns an upload given its ID.\n  get(id, { signal } = {}) {\n    return this._rpc.call(\"fileUpload.get\", [id], { signal });\n  }\n\n  // Watch registers an observer on the result of FileUploadCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(id, obs, { signal } = {}) {\n    return this._rpc.call(\"fileUpload.watch\", [id, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Wait blocks until the upload is done.\n  // The method reports the progress and returns the transfer error if any.\n  // Canceling this method does NOT cancel the transfer. See FileUploadCollection's Cancel().\n  wait(id, { signal } = {}) {\n    return this._rpc.call(\"fileUpload.wait\", [id], { signal });\n  }\n\n  // Cancel stops an upload.\n  // The record is kept in the list and must be deleted manually with FileUploadCollection's Delete().\n  // The client may resumes the upload with FileUploadCollection's Retry().\n  cancel(id, { signal } = {}) {\n    return this._rpc.call(\"fileUpload.cancel\", [id], { signal });\n  }\n\n  // Retry resumes an upload after a failure or a cancelation.\n  // The method does nothing if the transfer is pending, inflight or done.\n  retry(id, { signal } = {}) {\n    return this._rpc.call(\"fileUpload.retry\", [id], { signal });\n  }\n\n  // Delete cancels and removes an upload from the list.\n  delete(id, { signal } = {}) {\n    return this._rpc.call(\"fileUpload.delete\", [id], { signal });\n  }\n\n}\n\n// Connects to the instant messaging server.\n// Once connected, the user may send messages with MessageCollection.\nclass MessagingModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Converts the timestamp of a message to an ISO 8601 date.\n  getDateFromTimestamp(timestamp, { signal } = {}) {\n    return this._rpc.call(\"im.getDateFromTimestamp\", [timestamp], { signal });\n  }\n\n  // Connect starts a new messaging session.\n  // \n  // The method returns:\n  // - ErrorCodeNotSupported if the server does not support messaging.\n  // - ErrorCodeMessagingConnectionRefused if the connection fails.\n  // \n  // The method does nothing if a session is already opened.\n  connect({ signal } = {}) {\n    return this._rpc.call(\"im.connect\", [], { signal });\n  }\n\n  // IsConnected returns true if the messaging session is opened.\n  // See also MessagingStatusCollection's Watch().\n  isConnected({ signal } = {}) {\n    return this._rpc.call(\"im.isConnected\", [], { signal });\n  }\n\n  // Disconnect ends the messaging session, if any.\n  disconnect({ signal } = {}) {\n    return this._rpc.call(\"im.disconnect\", [], { signal });\n  }\n\n  // Delete deletes a message from the conversation.\n  // The user must be the author of the message.\n  // Deprecated. Use MessageCollection's Delete().\n  delete(spaceId, timestamp, { signal } = {}) {\n    return this._rpc.call(\"im.delete\", [spaceId, timestamp], { signal });\n  }\n\n}\n\n// A registered user may invite an unregistered user by email.\nclass InviteCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Create invites an external user.\n  // On success, the server sends an email to the invitee with an URL containing the invite's token.\n  create(email, { signal } = {}) {\n    return this._rpc.call(\"invite.create\", [email], { signal });\n  }\n\n  // List returns the invites of the authenticated user.\n  // Set `pageSize` to -2, `pageID` to -1, `orderBy` and `sort` to \"\" to use the server defaults.\n  // Set `pageSize` to -1 to list all the invites.\n  // Requires ServerCapabilityInvitesManagement. See ServerSettingsCollection's Get().\n  // See InviteCollection's Count().\n  list(pageSize, pageId, orderBy, sort, { signal } = {}) {\n    return this._rpc.call(\"invite.list\", [pageSize, pageId, orderBy, sort], { signal });\n  }\n\n  // WatchAll registers an observer on the result of InviteCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchAll(pageSize, pageId, orderBy, sort, obs, { signal } = {}) {\n    return this._rpc.call(\"invite.watchAll\", [pageSize, pageId, orderBy, sort, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Count returns the number of invites of the authenticated user.\n  // The result is updated each time InviteCollection's List() is called.\n  count({ signal } = {}) {\n    return this._rpc.call(\"invite.count\", [], { signal });\n  }\n\n  // Resend resends the invite email.\n  // Requires ServerCapabilityInvitesManagement. See ServerSettingsCollection's Get().\n  resend(id, { signal } = {}) {\n    return this._rpc.call(\"invite.resend\", [id], { signal });\n  }\n\n  // Delete cancels an invite.\n  // Requires ServerCapabilityInvitesManagement. See ServerSettingsCollection's Get().\n  delete(id, { signal } = {}) {\n    return this._rpc.call(\"invite.delete\", [id], { signal });\n  }\n\n  // GetInfo retrieves an existing invite.\n  // The client may not be authenticated to call this method.\n  getInfo(serverUrl, token, { signal } = {}) {\n    return this._rpc.call(\"invite.getInfo\", [serverUrl, token], { signal });\n  }\n\n  // Register registers an invited user.\n  register(serverUrl, token, password, givenName, surname, { signal } = {}) {\n    return this._rpc.call(\"invite.register\", [serverUrl, token, password, givenName, surname], { signal });\n  }\n\n  // GetLicenseUsage returns the license usage for the server of the authenticated user.\n  // Requires ServerCapabilityInvitesManagement. See ServerSettingsCollection's Get().\n  getLicenseUsage({ signal } = {}) {\n    return this._rpc.call(\"invite.getLicenseUsage\", [], { signal });\n  }\n\n  // GetUsersType returns the user type for each email in a list.\n  // Requires ServerCapabilityInvitesManagement. See ServerSettingsCollection's Get().\n  getUsersType(emails, { signal } = {}) {\n    return this._rpc.call(\"invite.getUsersType\", [emails], { signal });\n  }\n\n}\n\n// JSON-API service.\nclass JsonApiModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // FindAll returns all of the records for a given type.\n  findAll(model, include, { signal } = {}) {\n    return this._rpc.call(\"jsonApi.findAll\", [model, include], { signal });\n  }\n\n  // FindRecord returns the record with a given type and ID.\n  findRecord(model, id, include, { signal } = {}) {\n    return this._rpc.call(\"jsonApi.findRecord\", [model, id, include], { signal });\n  }\n\n  // Query returns the records that match a particular query.\n  query(model, query, include, { signal } = {}) {\n    return this._rpc.call(\"jsonApi.query\", [model, query, include], { signal });\n  }\n\n  // QueryRecord returns the record that matches a particular query.\n  queryRecord(model, query, include, { signal } = {}) {\n    return this._rpc.call(\"jsonApi.queryRecord\", [model, query, include], { signal });\n  }\n\n  // FindBelongsTo returns the record behind an asynchronous to-one relationship.\n  findBelongsTo(model, id, rel, { signal } = {}) {\n    return this._rpc.call(\"jsonApi.findBelongsTo\", [model, id, rel], { signal });\n  }\n\n  // FindHasMany returns the records behind an asynchronous to-many relationship.\n  findHasMany(model, id, rel, { signal } = {}) {\n    return this._rpc.call(\"jsonApi.findHasMany\", [model, id, rel], { signal });\n  }\n\n  // FindMany returns the records with a given type and IDs.\n  // In most cases, the method has better network performance than calling JsonApiModule's FindRecord() for each ID.\n  findMany(model, ids, { signal } = {}) {\n    return this._rpc.call(\"jsonApi.findMany\", [model, ids], { signal });\n  }\n\n  // WatchFindAll registers an observer on the result of JsonApiModule's FindAll().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchFindAll(model, include, obs, { signal } = {}) {\n    return this._rpc.call(\"jsonApi.watchFindAll\", [model, include, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // WatchFindRecord registers an observer on the result of JsonApiModule's FindRecord().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchFindRecord(model, id, include, obs, { signal } = {}) {\n    return this._rpc.call(\"jsonApi.watchFindRecord\", [model, id, include, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // WatchQuery registers an observer on the result of JsonApiModule's Query().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchQuery(model, query, include, obs, { signal } = {}) {\n    return this._rpc.call(\"jsonApi.watchQuery\", [model, query, include, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // WatchQueryRecord registers an observer on the result of JsonApiModule's QueryRecord().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchQueryRecord(model, query, include, obs, { signal } = {}) {\n    return this._rpc.call(\"jsonApi.watchQueryRecord\", [model, query, include, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n}\n\n// Keytar manages the passwords in the system's keychain.\n// \n// Only available for desktop apps on Linux, macOS, and Windows.\n// On the Web, all methods returns ErrorCodeInvalidOperation.\n// \n// Important: only the following services are supported:\n// - CryptoboxDesktopKey\n// - LastCryptoboxServer\n// - LastCryptoboxUser\n// - CryptoboxCacheKey\n// \n// Note: This is a port of the archived node module of the same name, at version 7.9.0.\nclass KeytarModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // SetPassword adds or replaces a password in the system's keychain.\n  // \n  // The method returns ErrorCodeInvalidOperation on the Web.\n  setPassword(service, account, password, { signal } = {}) {\n    return this._rpc.call(\"keytar.setPassword\", [service, account, password], { signal });\n  }\n\n  // GetPassword returns a password from the system's keychain.\n  // The method returns an empty string if the password does not exist.\n  // \n  // The method returns ErrorCodeInvalidOperation on the Web.\n  getPassword(service, account, { signal } = {}) {\n    return this._rpc.call(\"keytar.getPassword\", [service, account], { signal });\n  }\n\n  // DeletePassword deletes a password from the system's keychain.\n  // \n  // The method returns ErrorCodeInvalidOperation on the Web.\n  deletePassword(service, account, { signal } = {}) {\n    return this._rpc.call(\"keytar.deletePassword\", [service, account], { signal });\n  }\n\n}\n\n// Logging configuration.\nclass LoggingModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // SetSystemLogEnabled toggles writing the logs to the system using:\n  // - __android_log_write on Android,\n  // - os_log on iOS,\n  // - console.log on JavaScript,\n  // - stderr otherwise.\n  setSystemLogEnabled(enabled, { signal } = {}) {\n    return this._rpc.call(\"logging.setSystemLogEnabled\", [enabled], { signal });\n  }\n\n  // IsSystemLogEnabled returns whether the logs are written to the system.\n  // See LoggingModule's SetSystemLogEnabled().\n  isSystemLogEnabled({ signal } = {}) {\n    return this._rpc.call(\"logging.isSystemLogEnabled\", [], { signal });\n  }\n\n  // StartLoggingToFile starts writing the logs to a file.\n  // You can only have one log file at a time. This method closes the previous log file.\n  // Logging to file stops when the size of the file exceeds the `limit` in bytes.\n  // See LoggingModule's StopLoggingToFile().\n  startLoggingToFile(path, limit, { signal } = {}) {\n    return this._rpc.call(\"logging.startLoggingToFile\", [path, limit], { signal });\n  }\n\n  // StopLoggingToFile flushes the logs and closes the file.\n  // See LoggingModule's StartLoggingToFile().\n  stopLoggingToFile({ signal } = {}) {\n    return this._rpc.call(\"logging.stopLoggingToFile\", [], { signal });\n  }\n\n  // IsLoggingToFile returns whether the logs are written to a file.\n  // See LoggingModule's StartLoggingToFile().\n  isLoggingToFile({ signal } = {}) {\n    return this._rpc.call(\"logging.isLoggingToFile\", [], { signal });\n  }\n\n}\n\n// Provides the progress information during UserAgent's Login().\nclass LoginProgressCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Returns the current login progress.\n  get({ signal } = {}) {\n    return this._rpc.call(\"loginProgress.get\", [], { signal });\n  }\n\n  // Watch registers an observer on the result of LoginProgressCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(obs, { signal } = {}) {\n    return this._rpc.call(\"loginProgress.watch\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n}\n\n// Provides the login status. May be watched.\nclass LoginStatusCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Get returns the current login status.\n  get({ signal } = {}) {\n    return this._rpc.call(\"loginStatus.get\", [], { signal });\n  }\n\n  // Watch registers an observer on the result of LoginStatusCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(obs, { signal } = {}) {\n    return this._rpc.call(\"loginStatus.watch\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n}\n\n// The user may share instant message with other members of a space, and attach files with AttachmentCollection.\n// Note that the user agent must be connected to the messaging server using MessagingModule.\n// See also SpaceCollection.\nclass MessageCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Create creates a pending message.\n  // You may add attachments with AttachmentCollection's Add() or AttachmentCollection's AddFromDisk() then send the message with MessageCollection's Post().\n  create(spaceId, text, { signal } = {}) {\n    return this._rpc.call(\"message.create\", [spaceId, text], { signal });\n  }\n\n  // Post sends a pending or rejected message to the server, along with its attachments.\n  // See MessageCollection's Create().\n  post(id, { signal } = {}) {\n    return this._rpc.call(\"message.post\", [id], { signal });\n  }\n\n  // Load loads `count` messages from the conversation history of `spaceID`.\n  // The method always returns the newest messages in the history.\n  // The message observers will receive the messages before this method returns.\n  load(spaceId, count, { signal } = {}) {\n    return this._rpc.call(\"message.load\", [spaceId, count], { signal });\n  }\n\n  // LoadMore loads `count` extra messages from the conversation history of `spaceID`.\n  // The message observers will receive the messages before this method returns.\n  loadMore(spaceId, count, { signal } = {}) {\n    return this._rpc.call(\"message.loadMore\", [spaceId, count], { signal });\n  }\n\n  // HasMore returns whether more messages can be loaded from the server.\n  hasMore(spaceId, { signal } = {}) {\n    return this._rpc.call(\"message.hasMore\", [spaceId], { signal });\n  }\n\n  // Delete deletes a pending or delivered message.\n  // The message is deleted server-side if possible (see MessageRecord's Deletable).\n  // Otherwise it is hidden locally for the duration of the login session.\n  delete(id, { signal } = {}) {\n    return this._rpc.call(\"message.delete\", [id], { signal });\n  }\n\n  // List returns the messages in a conversation.\n  // The result contains the messages received in real time, loaded with MessageCollection's Load() or created with MessageCollection's Create().\n  list(spaceId, { signal } = {}) {\n    return this._rpc.call(\"message.list\", [spaceId], { signal });\n  }\n\n  // WatchAll registers an observer on the result of MessageCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchAll(spaceId, obs, { signal } = {}) {\n    return this._rpc.call(\"message.watchAll\", [spaceId, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Get returns an existing message.\n  get(id, { signal } = {}) {\n    return this._rpc.call(\"message.get\", [id], { signal });\n  }\n\n  // Watch registers an observer on the result of MessageCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(id, obs, { signal } = {}) {\n    return this._rpc.call(\"message.watch\", [id, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Inbox returns the last messages received on the web socket.\n  // You should use MessageCollection's WatchInbox() to be notified in a timely fashion.\n  inbox({ signal } = {}) {\n    return this._rpc.call(\"message.inbox\", [], { signal });\n  }\n\n  // WatchInbox registers an observer on the result of MessageCollection's Inbox().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchInbox(obs, { signal } = {}) {\n    return this._rpc.call(\"message.watchInbox\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n}\n\n// Reports status of the connection with the instant messaging server.\n// See MessagingModule.\nclass MessagingStatusCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Get returns the current messaging status.\n  get({ signal } = {}) {\n    return this._rpc.call(\"messagingStatus.get\", [], { signal });\n  }\n\n  // Watch registers an observer on the result of MessagingStatusCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(obs, { signal } = {}) {\n    return this._rpc.call(\"messagingStatus.watch\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n}\n\nclass MFAModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Cancel cancels any multi-factor authentication in progress.\n  // The method that has requested the MFA will fail with ErrorCodeCanceled.\n  // The method does nothing if SecondFactorAuthenticator has not been called.\n  cancel({ signal } = {}) {\n    return this._rpc.call(\"mfa.cancel\", [], { signal });\n  }\n\n}\n\n// In-app notifications.\nclass NotificationCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // List returns all the notifications of the authenticated user.\n  list({ signal } = {}) {\n    return this._rpc.call(\"notification.list\", [], { signal });\n  }\n\n  // WatchAll registers an observer on the result of NotificationCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchAll(obs, { signal } = {}) {\n    return this._rpc.call(\"notification.watchAll\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Get returns a notification.\n  get(id, { signal } = {}) {\n    return this._rpc.call(\"notification.get\", [id], { signal });\n  }\n\n  // Watch registers an observer on the result of NotificationCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(id, obs, { signal } = {}) {\n    return this._rpc.call(\"notification.watch\", [id, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Query returns the notifications of the authenticated user in a space.\n  query(spaceId, { signal } = {}) {\n    return this._rpc.call(\"notification.query\", [spaceId], { signal });\n  }\n\n  // WatchQuery registers an observer on the result of NotificationCollection's Query().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchQuery(spaceId, obs, { signal } = {}) {\n    return this._rpc.call(\"notification.watchQuery\", [spaceId, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Updates the state of a notification.\n  // The request is batched. See UserAgent.\n  setState(id, state, { signal } = {}) {\n    return this._rpc.call(\"notification.setState\", [id, state], { signal });\n  }\n\n  // Deletes a notification.\n  // The request is batched. See UserAgent.\n  delete(id, { signal } = {}) {\n    return this._rpc.call(\"notification.delete\", [id], { signal });\n  }\n\n}\n\n// OIDCModule implements the methods for handling the OIDC second factor, in response to SecondFactorAuthenticator's RequestOIDC().\n// \n// Primarily, the application can implement the OIDC code flow itself and call OIDCModule's SetIDToken(). The OIDC parameters are:\n// - Scope: openid and email.\n// - Security: nonce, state and HPKE.\n// \n// Alternatively, the application can use the toolbox to handle part of the OIDC code flow:\n// - OIDCModule's CreateAuthorizationURL() and OIDCModule's HandleCallbackURL() if the application can (or must) intercept the callback URL itself (using a web route or a custom scheme).\n// - OIDCModule's StartLocalServer() and OIDCModule's JoinLocalServer() if the platform supports running a local HTTP server. In this case, the toolbox will intercept the callback URL.\n// \n// The application can cancel the second factor authentication with OIDCModule's Cancel().\nclass OIDCModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // SetIDToken sends the ID token to the server and completes the second factor authentication.\n  // \n  // Note: If an error occurs, the method cancels the second factor and forwards the error to the requesting method.\n  setIdToken(token, { signal } = {}) {\n    return this._rpc.call(\"oidc.setIdToken\", [token], { signal });\n  }\n\n  // Cancel calls MFAModule's Cancel().\n  cancel({ signal } = {}) {\n    return this._rpc.call(\"oidc.cancel\", [], { signal });\n  }\n\n  // CreateAuthorizationURL returns an OIDC authorization URL.\n  // \n  // The application can call this method in response to SecondFactorAuthenticator's RequestOIDC() then:\n  // - Direct the user to the authorization URL,\n  // - Intercept the callback URL,\n  // - Call OIDCModule's HandleCallbackURL() to complete the second factor authentication.\n  // \n  // Note: If an error occurs, the method cancels the second factor and forwards the error to the requesting method.\n  createAuthorizationUrl(authority, clientId, redirectUrl, nonce, { signal } = {}) {\n    return this._rpc.call(\"oidc.createAuthorizationUrl\", [authority, clientId, redirectUrl, nonce], { signal });\n  }\n\n  // HandleCallbackURL parses the callback URL, exchanges the code for the OIDC tokens, and calls OIDCModule's SetIDToken(), completing the second factor authentication.\n  // \n  // The method may return the specific errors:\n  // - ErrorCodeOIDCFailure if the OIDC authentication fails.\n  // - ErrorCodeTokenEmailMismatch if the OIDC authentication succeeds but the account does not match.\n  // \n  // See OIDCModule's CreateAuthorizationURL() for the whole flow.\n  // \n  // Note: If an error occurs, the method cancels the second factor and forwards the error to the requesting method.\n  handleCallbackUrl(callbackUrl, { signal } = {}) {\n    return this._rpc.call(\"oidc.handleCallbackUrl\", [callbackUrl], { signal });\n  }\n\n  // StartLocalServer starts a local HTTP server on an available port and returns an OIDC authorization URL that redirects to the server.\n  // \n  // The application can call this method in response to SecondFactorAuthenticator's RequestOIDC() then:\n  // - Direct the user to the authorization URL,\n  // - Optionally, call OIDCModule's JoinLocalServer() to check the completion status.\n  // \n  // Important: Please verify whether your platform supports running a local server before calling this method.\n  // \n  // Note: If an error occurs, the method cancels the second factor and forwards the error to the requesting method.\n  startLocalServer(authority, clientId, nonce, redirector, { signal } = {}) {\n    return this._rpc.call(\"oidc.startLocalServer\", [authority, clientId, nonce, this._rpc.proxy(redirector)], { signal });\n  }\n\n  // JoinLocalServer waits for the local server to handle the OIDC authentication and returns the completion status.\n  // \n  // Note: The application is not required to call this method. Once the local server is started, the authentication proceeds automatically.\n  // \n  // See OIDCModule's StartLocalServer() for the whole flow.\n  joinLocalServer({ signal } = {}) {\n    return this._rpc.call(\"oidc.joinLocalServer\", [], { signal });\n  }\n\n}\n\nclass OnlineEditorSupportModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // GetActivity returns the tracking IDs of the active editing sessions on the platform.\n  // It is *NOT* an error to call this method without permission, the result will only be empty.\n  getActivity(spaceId, { signal } = {}) {\n    return this._rpc.call(\"onlineEditorSupport.getActivity\", [spaceId], { signal });\n  }\n\n  // WatchActivity registers an observer on the result of OnlineEditorSupportModule's GetActivity().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchActivity(spaceId, obs, { signal } = {}) {\n    return this._rpc.call(\"onlineEditorSupport.watchActivity\", [spaceId, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  save(spaceId, path, trackingId, source, { signal } = {}) {\n    return this._rpc.call(\"onlineEditorSupport.save\", [spaceId, path, trackingId, this._rpc.proxy(source)], { signal });\n  }\n\n}\n\n// Email OTP.\nclass OTPModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Set sends the one-time password to the server with all leading and trailing white space removed.\n  // The method returns:\n  // - ErrorCodeInvalidOTP when the code is wrong or expired and\n  // - ErrorCodeTooManyOTPAttempts when the server denies the verification because of rate limiting.\n  // Errors do not interrupt the authentication as there is no limit to the retry count.\n  // If the user aborts the authentication, the application should either cancel the method that has requested the OTP in the first place or call OTPModule's Cancel(). This is important: there can only be one SPAKE authentication at any given time.\n  // The method does nothing if SecondFactorAuthenticator's RequestOTP() has not been called.\n  set(otp, { signal } = {}) {\n    return this._rpc.call(\"otp.set\", [otp], { signal });\n  }\n\n  // Resend requests the server to send a new code.\n  // The method does nothing if SecondFactorAuthenticator's RequestOTP() has not been called.\n  resend({ signal } = {}) {\n    return this._rpc.call(\"otp.resend\", [], { signal });\n  }\n\n  // Cancel calls MFAModule's Cancel().\n  cancel({ signal } = {}) {\n    return this._rpc.call(\"otp.cancel\", [], { signal });\n  }\n\n}\n\nclass PermissionModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // CanEditFileOnline returns true if the authenticated user is allowed to open a given file with the online editor.\n  canEditFileOnline(spaceId, path, options) {\n    const { readOnly, signal } = options || {};\n    return this._rpc.call(\"permission.canEditFileOnline\", [spaceId, path, { readOnly }], { signal });\n  }\n\n  // WatchCanEditFileOnline registers an observer on the result of PermissionModule's CanEditFileOnline().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchCanEditFileOnline(spaceId, path, options, obs) {\n    const { readOnly, signal } = options || {};\n    return this._rpc.call(\"permission.watchCanEditFileOnline\", [spaceId, path, { readOnly }, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n}\n\n// Preadded space member collection for the authenticated user.\n// \n// PreaddedSpaceMemberCollection's Create(), PreaddedSpaceMemberCollection's SetRole() and PreaddedSpaceMemberCollection's Delete() will batch some of their HTTP requests when called concurrently.\nclass PreaddedSpaceMemberCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Create invites an external user to a space.\n  // The method overwrites existing request for the same user in the same space.\n  // The method fails if the user is already registered.\n  create(spaceId, email, role, { signal } = {}) {\n    return this._rpc.call(\"preaddedSpaceMember.create\", [spaceId, email, role], { signal });\n  }\n\n  // List returns all the preadded space members of the authenticated user.\n  // Use PreaddedSpaceMemberCollection's Query() to filter the list by space or by email; it will trigger less HTTP requests.\n  // The method never returns records for a space unavailable to the device.\n  list({ signal } = {}) {\n    return this._rpc.call(\"preaddedSpaceMember.list\", [], { signal });\n  }\n\n  // WatchAll registers an observer on the result of PreaddedSpaceMemberCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchAll(obs, { signal } = {}) {\n    return this._rpc.call(\"preaddedSpaceMember.watchAll\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Get a preadded space member.\n  // The method fails if the record exists but the space is not available to the device.\n  get(id, { signal } = {}) {\n    return this._rpc.call(\"preaddedSpaceMember.get\", [id], { signal });\n  }\n\n  // Watch registers an observer on the result of PreaddedSpaceMemberCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(id, obs, { signal } = {}) {\n    return this._rpc.call(\"preaddedSpaceMember.watch\", [id, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Query returns the preadded space members of the authenticated user filtered by space and/or email.\n  // `spaceID` and `email` may be empty (either or both); if empty, the corresponding fields will not be filtered.\n  // The method never returns records for a space unavailable to the device.\n  query(spaceId, email, { signal } = {}) {\n    return this._rpc.call(\"preaddedSpaceMember.query\", [spaceId, email], { signal });\n  }\n\n  // WatchQuery registers an observer on the result of PreaddedSpaceMemberCollection's Query().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchQuery(spaceId, email, obs, { signal } = {}) {\n    return this._rpc.call(\"preaddedSpaceMember.watchQuery\", [spaceId, email, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // SetRole updates the role of a preadded space member.\n  setRole(id, role, { signal } = {}) {\n    return this._rpc.call(\"preaddedSpaceMember.setRole\", [id, role], { signal });\n  }\n\n  // Delete deletes a preadded space member.\n  // Note that both SpaceMemberCollection's Add() and InviteCollection's Delete() removes the preadded space member automatically.\n  delete(id, { signal } = {}) {\n    return this._rpc.call(\"preaddedSpaceMember.delete\", [id], { signal });\n  }\n\n}\n\n// The read cursors contains the read status of a conversation for the authenticated user.\n// When the IM is connected the cursors are updated in real-time.\nclass ReadCursorCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // List returns the read cursors for all the conversations accessible to the authenticated user.\n  // When offline, the method returns the result from the cache if available.\n  // \n  // For convenience, the  method returns:\n  // - a zero unread count for deleted workspaces, and\n  // - an empty list if messaging is disabled on the platform.\n  // \n  // See also UserAgentStatusCollection.\n  list({ signal } = {}) {\n    return this._rpc.call(\"readCursor.list\", [], { signal });\n  }\n\n  // WatchAll registers an observer on the result of ReadCursorCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchAll(obs, { signal } = {}) {\n    return this._rpc.call(\"readCursor.watchAll\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Get returns the read cursor of a space.\n  // When offline, the method returns the result from the cache if available. See UserAgentStatusCollection.\n  // The method returns a null unread count for deleted workspaces.\n  get(spaceId, { signal } = {}) {\n    return this._rpc.call(\"readCursor.get\", [spaceId], { signal });\n  }\n\n  // Watch registers an observer on the result of ReadCursorCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(spaceId, obs, { signal } = {}) {\n    return this._rpc.call(\"readCursor.watch\", [spaceId, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Advance moves the read cursor to the end of the conversation.\n  advance(spaceId, { signal } = {}) {\n    return this._rpc.call(\"readCursor.advance\", [spaceId], { signal });\n  }\n\n}\n\n// A registered user may recover her account after a password loss, provided she has defined trustees with TrusteeCollection.\nclass RecoveryModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Claim initializes the password recovery procedure.\n  // This will send an email to the claimant, containing a link to a page where he can choose his depositary to recover his password.\n  claim(serverUrl, email, { signal } = {}) {\n    return this._rpc.call(\"recovery.claim\", [serverUrl, email], { signal });\n  }\n\n  // GetOptions returns the options of the claimant for the recovery.\n  getOptions(serverUrl, recoveryId, { signal } = {}) {\n    return this._rpc.call(\"recovery.getOptions\", [serverUrl, recoveryId], { signal });\n  }\n\n  // Choose one of the password depositaries for the password recovery session.\n  // This will send an email to the chosen depositary to require ask for recovery session.\n  chooseDeposit(serverUrl, recoveryId, depositaryEmail, { signal } = {}) {\n    return this._rpc.call(\"recovery.chooseDeposit\", [serverUrl, recoveryId, depositaryEmail], { signal });\n  }\n\n  // GetStatus returns the status of the recovery.\n  getStatus(serverUrl, recoveryId, { signal } = {}) {\n    return this._rpc.call(\"recovery.getStatus\", [serverUrl, recoveryId], { signal });\n  }\n\n  // Called from the claimant to setup a new password.\n  // See RecoveryModule's SetNewPassword().\n  claimantDepositConnect(notifier, serverUrl, recoveryId, rdvUserId, { signal } = {}) {\n    return this._rpc.call(\"recovery.claimantDepositConnect\", [this._rpc.proxy(notifier), serverUrl, recoveryId, rdvUserId], { signal });\n  }\n\n  // Called from the deposit to confirm the recovery (send recovery info).\n  // See RecoveryModule's Confirm().\n  depositClaimantConnect(recoveryId, rdvUserId, { signal } = {}) {\n    return this._rpc.call(\"recovery.depositClaimantConnect\", [recoveryId, rdvUserId], { signal });\n  }\n\n  // Called from the deposit to confirm the SAS (short authentication string) received from a third paty media.\n  // If the given SAS is matching the recovery data will be send to the claimant using the server rdv interface.\n  // The method returns ErrorCodeRecoverySessionExpired after RecoveryModule's RetryCount() is exhausted.\n  // The method returns ErrorCodeRecoverySessionDisconnected if called before RecoveryModule's DepositClaimantConnect() succeeded.\n  confirm(recoveryId, sas, { signal } = {}) {\n    return this._rpc.call(\"recovery.confirm\", [recoveryId, sas], { signal });\n  }\n\n  // RetryCount returns the number of tries remaining for the depositary to confirm the SAS.\n  retryCount({ signal } = {}) {\n    return this._rpc.call(\"recovery.retryCount\", [], { signal });\n  }\n\n  // Called from the claimant to refil the new password.\n  // The method returns ErrorCodeRecoverySessionDisconnected if called before RecoveryModule's ClaimantDepositConnect() succeeded.\n  setNewPassword(serverUrl, rdvUserId, newPassword, { signal } = {}) {\n    return this._rpc.call(\"recovery.setNewPassword\", [serverUrl, rdvUserId, newPassword], { signal });\n  }\n\n}\n\n// Provides access to the security information.\nclass SecurityModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // GetSMCertificate returns the certificate of the security module on the server of the authenticated user.\n  getSmCertificate({ signal } = {}) {\n    return this._rpc.call(\"security.getSmCertificate\", [], { signal });\n  }\n\n  // GetFingerprint returns the fingerprint of a certificate (or of its device tree if appropriate).\n  // For user certificate, the method pins the results for the duration of the session so TrusteeCollection's Add() and SpaceMemberCollection's Add() are protected against man-in-the-middle attack.\n  getFingerprint(certificate, { signal } = {}) {\n    return this._rpc.call(\"security.getFingerprint\", [certificate], { signal });\n  }\n\n  // SetAV overrides the antivirus URL to use when the CSS requests AV verification.\n  // If `url` is empty, the user agent never performs AV verification.\n  // Default is to trust the server settings.\n  setAv(url, { signal } = {}) {\n    return this._rpc.call(\"security.setAv\", [url], { signal });\n  }\n\n  // SetDLP overrides the DLP URL to use when the CSS requests DLP verification.\n  // If `url` is empty, the user agent never performs DLP verification.\n  // Default is to trust the server settings.\n  setDlp(url, { signal } = {}) {\n    return this._rpc.call(\"security.setDlp\", [url], { signal });\n  }\n\n}\n\n// An administrator may create security levels to restrict access to a space.\n// The administrator creates the level, assigns the level to a device and the user assigns the level to a space.\n// This feature is only available on desktop and mobile (as it requires a device).\nclass SecurityLevelCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Create creates a new security level.\n  // The authenticated user must be an administrator.\n  create(name, acronym, color, shape, { signal } = {}) {\n    return this._rpc.call(\"securityLevel.create\", [name, acronym, color, shape], { signal });\n  }\n\n  // Deprecated. Use SecurityLevelCollection's Create().\n  create_(name, acronym, color, shape, { signal } = {}) {\n    return this._rpc.call(\"securityLevel.create_\", [name, acronym, color, shape], { signal });\n  }\n\n  // List returns the security levels on the server of the authenticated user.\n  list({ signal } = {}) {\n    return this._rpc.call(\"securityLevel.list\", [], { signal });\n  }\n\n  // WatchAll registers an observer on the result of SecurityLevelCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchAll(obs, { signal } = {}) {\n    return this._rpc.call(\"securityLevel.watchAll\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Deprecated. Use SecurityLevelCollection's List().\n  list_(options, { signal } = {}) {\n    return this._rpc.call(\"securityLevel.list_\", [options], { signal });\n  }\n\n  // Get returns a security level.\n  get(id, { signal } = {}) {\n    return this._rpc.call(\"securityLevel.get\", [id], { signal });\n  }\n\n  // Watch registers an observer on the result of SecurityLevelCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(id, obs, { signal } = {}) {\n    return this._rpc.call(\"securityLevel.watch\", [id, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Update updates an existing security level.\n  // The authenticated user must be an administrator.\n  update(id, name, acronym, color, shape, { signal } = {}) {\n    return this._rpc.call(\"securityLevel.update\", [id, name, acronym, color, shape], { signal });\n  }\n\n  // Delete deletes an existing security level.\n  // The authenticated user must be an administrator.\n  delete(id, { signal } = {}) {\n    return this._rpc.call(\"securityLevel.delete\", [id], { signal });\n  }\n\n}\n\n// Retrieves the server settings for the user.\nclass ServerSettingsCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Get retrieves the settings of the server of the authenticated user.\n  get({ signal } = {}) {\n    return this._rpc.call(\"serverSettings.get\", [], { signal });\n  }\n\n  // Watch registers an observer on the result of ServerSettingsCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(obs, { signal } = {}) {\n    return this._rpc.call(\"serverSettings.watch\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Query returns the settings of a given server.\n  query(url, { signal } = {}) {\n    return this._rpc.call(\"serverSettings.query\", [url], { signal });\n  }\n\n  // GetSupportEmail returns the support email of the connection server.\n  // The support email is retrieved as soon as any of these methods is called:\n  // - AccountCollection's Register().\n  // - InviteCollection's Register().\n  // - UserAgent's Login().\n  // - DeviceKeysCollection's Login().\n  // It is reset by UserAgent's Logout().\n  // See also ServerSettingsCollection's Query().\n  getSupportEmail({ signal } = {}) {\n    return this._rpc.call(\"serverSettings.getSupportEmail\", [], { signal });\n  }\n\n  // Clear clears the settings' cache.\n  clear({ signal } = {}) {\n    return this._rpc.call(\"serverSettings.clear\", [], { signal });\n  }\n\n}\n\n// Provides the methods to export and restore the session of the authenticated user.\nclass SessionModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Exports the current session.\n  save(options) {\n    const { cache, signal } = options || {};\n    return this._rpc.call(\"session.save\", [{ cache }], { signal });\n  }\n\n  // Load the session.\n  // The method synchronizes the data and restart the polling if the session is valid.\n  load(data, { signal } = {}) {\n    return this._rpc.call(\"session.load\", [data], { signal });\n  }\n\n  // Save the session to a temporary file, encrypted with the cache key.\n  // It is permitted, but not safe, to write the session without a cache key.\n  saveToDisk(options) {\n    const { cache, signal } = options || {};\n    return this._rpc.call(\"session.saveToDisk\", [{ cache }], { signal });\n  }\n\n  // Load the session from a disk file, using the cache key to decrypt it.\n  // The method calls SessionModule's Load() with the file contents.\n  loadFromDisk(filename, { signal } = {}) {\n    return this._rpc.call(\"session.loadFromDisk\", [filename], { signal });\n  }\n\n  // GetSigmaSession returns the SIGMA session of the authenticated user.\n  getSigmaSession({ signal } = {}) {\n    return this._rpc.call(\"session.getSigmaSession\", [], { signal });\n  }\n\n  // WatchSigmaSession registers an observer on the result of SessionModule's GetSigmaSession().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchSigmaSession(obs, { signal } = {}) {\n    return this._rpc.call(\"session.watchSigmaSession\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  addPasswordChangeObserver(obs, { signal } = {}) {\n    return this._rpc.call(\"session.addPasswordChangeObserver\", [this._rpc.proxy(obs)], { signal });\n  }\n\n  removePasswordChangeObserver(token, { signal } = {}) {\n    return this._rpc.call(\"session.removePasswordChangeObserver\", [token], { signal });\n  }\n\n  hash({ signal } = {}) {\n    return this._rpc.call(\"session.hash\", [], { signal });\n  }\n\n  /**\n   * Share broadcasts session changes to other browsing contexts and listens for session changes from other browsing contexts.\n   * Important: The method does not apply the session change.\n   * \n   * @param options.timeout Timeout in seconds to retreive the initial session from the other browsing contexts. The initial session is only requested once. Disabled if <= 0. Default: 0.\n   * @param options.signal Stops the session sharing when aborted.\n   */\n  async share(listener, { timeout, signal }) {\n    await SessionModule_share(this._ua, listener, { timeout, signal });\n  }\n  \n}\n\n// A space is a group of users who shares a set of cryptographic keys.\n// \n// A space may contains files and instant messages. The space's kind hints at its usage, while not being technically restrictive:\n// - In a workspace, users share files and instant messages.\n// - A personal space is owned by one user and contains personal files.\n// - A direct conversation allows two users to send instant messages to each others.\n// - A group conversation allows two or more users to have a discussion on a topic.\n// Note that conversations, while aimed at instant messaging, can (and do) contain files.\n// \n// You may:\n// - Add or remove space members with SpaceMemberCollection.\n// - Read or write files with FileCollection.\n// - Send and receive instant message with MessageCollection.\nclass SpaceCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // CreateWorkspace creates a workspace.\n  // \n  // The authenticated user is automatically set as a space owner.\n  // \n  // If ServerSettingsRecord's MinimalNumberOfOwnersPerWorkspace is defined and mandatory, you must ensure that the space has the proper number of owners or the method will return ErrorCodeForbidden.\n  // NB. A workspace must always have at least one owner.\n  createWorkspace(name, options) {\n    const { description, tags, thumbnail, messagingEmailNotification, securityLevelIds, categoryIds, members, signal } = options || {};\n    return this._rpc.call(\"space.createWorkspace\", [name, { description, tags, thumbnail, messagingEmailNotification, securityLevelIds, categoryIds, members }], { signal });\n  }\n\n  // CreateBackup creates a backup space for the current device.\n  createBackup({ signal } = {}) {\n    return this._rpc.call(\"space.createBackup\", [], { signal });\n  }\n\n  // CreateDirectConversation creates a one-to-one conversation.\n  // If a direct conversation with the user and the same security levels already exists, the method returns it without creating a new one.\n  // If `user` is the authenticated user, the method returns ErrorCodeInvalidParameter.\n  // Note that a direct conversation is a space with SpaceUsageMessaging, an empty name and two users.\n  // The security level IDs may be empty. Deleted and invalid levels are ignored.\n  createDirectConversation(email, securityLevelIds, { signal } = {}) {\n    return this._rpc.call(\"space.createDirectConversation\", [email, securityLevelIds], { signal });\n  }\n\n  // CreateGroupConversation creates a group conversation.\n  // The name is mandatory. The method trims it before use.\n  // Note that a group conversation is a space with SpaceUsageMessaging that is not a direct conversation.\n  // The security level IDs may be empty. Deleted and invalid levels are ignored.\n  createGroupConversation(name, emails, securityLevelIds, { signal } = {}) {\n    return this._rpc.call(\"space.createGroupConversation\", [name, emails, securityLevelIds], { signal });\n  }\n\n  // List returns the spaces available to the authenticated user.\n  list(options) {\n    const { kinds, signal } = options || {};\n    return this._rpc.call(\"space.list\", [{ kinds }], { signal });\n  }\n\n  // WatchAll registers an observer on the result of SpaceCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchAll(options, obs) {\n    const { kinds, signal } = options || {};\n    return this._rpc.call(\"space.watchAll\", [{ kinds }, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Get returns a space.\n  // The method requests the server if the space is not in cache.\n  get(id, { signal } = {}) {\n    return this._rpc.call(\"space.get\", [id], { signal });\n  }\n\n  // Watch registers an observer on the result of SpaceCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(id, obs, { signal } = {}) {\n    return this._rpc.call(\"space.watch\", [id, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Deprecated. Use SpaceCollection's Get().\n  getInfo(spaceId, { signal } = {}) {\n    return this._rpc.call(\"space.getInfo\", [spaceId], { signal });\n  }\n\n  // Deprecated. Use SpaceCollection's Get().\n  getRevision(spaceId, { signal } = {}) {\n    return this._rpc.call(\"space.getRevision\", [spaceId], { signal });\n  }\n\n  // Renames a space.\n  // The user must be a owner of the space and the name valid.\n  // The request is batched. See UserAgent.\n  setName(id, name, { signal } = {}) {\n    return this._rpc.call(\"space.setName\", [id, name], { signal });\n  }\n\n  // Updates the space description.\n  // The user must be a owner of the space.\n  // The request is batched. See UserAgent.\n  setDescription(id, description, { signal } = {}) {\n    return this._rpc.call(\"space.setDescription\", [id, description], { signal });\n  }\n\n  // Updates the space tags.\n  // The user must be a owner of the space.\n  // The request is batched. See UserAgent.\n  setTags(id, tags, { signal } = {}) {\n    return this._rpc.call(\"space.setTags\", [id, tags], { signal });\n  }\n\n  // Updates the space status.\n  // The user must be a owner of the space.\n  // The request is batched. See UserAgent.\n  setStatus(id, status, { signal } = {}) {\n    return this._rpc.call(\"space.setStatus\", [id, status], { signal });\n  }\n\n  // Updates the security levels.\n  // The user must be a owner of the space and all the levels must be assignable.\n  // The reason is required only if one ore more security levels are removed.\n  // The request is batched. See UserAgent.\n  setSecurityLevels(id, securityLevelIds, reason, { signal } = {}) {\n    return this._rpc.call(\"space.setSecurityLevels\", [id, securityLevelIds, reason], { signal });\n  }\n\n  // Updates the subscription to the email notifications for the space conversation.\n  // The user must be a owner of the space.\n  // The request is batched. See UserAgent.\n  setMessagingEmailNotification(id, enabled, { signal } = {}) {\n    return this._rpc.call(\"space.setMessagingEmailNotification\", [id, enabled], { signal });\n  }\n\n  // CreateThumbnail transforms the provided image to a thumbnail image, as specified in SpaceCollection's SetThumbnail().\n  // The method exists for preview purposes only and does not upload the image to the server.\n  // The client may or may not use this image in SpaceCollection's SetThumbnail().\n  createThumbnail(data, { signal } = {}) {\n    return this._rpc.call(\"space.createThumbnail\", [data], { signal });\n  }\n\n  // SetThumbnail updates the thumbnail image of the space.\n  // The method creates a thumbnail image of 256x256 pixels and fills it with the scaled image. To achieve the correct aspect ratio without stretching, the source image will be centered and cropped.\n  // The result is encoded to PNG if it contains transparency and JPEG if it is fully opaque.\n  // The source image must be GIF, JPEG, PNG, BMP, TIFF or WebP.\n  // Requires ServerCapabilityThumbnail. See ServerSettingsCollection's Get().\n  // The user must be a owner of the space.\n  setThumbnail(id, data, { signal } = {}) {\n    return this._rpc.call(\"space.setThumbnail\", [id, data], { signal });\n  }\n\n  // ClearThumbnail remove the thumbnail image of the space.\n  // The user must be a owner of the space.\n  clearThumbnail(id, { signal } = {}) {\n    return this._rpc.call(\"space.clearThumbnail\", [id], { signal });\n  }\n\n  // GetThumbnail downloads the thumbnail image of the space.\n  // The method return ErrorCodeNoThumbnail if the space has no thumbnail. See SpaceRecord's ThumbnailHash.\n  // The image is cached in memory and stored to disk where applicable (using the chunk cache).\n  // The format is 256x256 pixels, PNG or JPEG.\n  getThumbnail(id, { signal } = {}) {\n    return this._rpc.call(\"space.getThumbnail\", [id], { signal });\n  }\n\n  // GetDeletionDates returns the deletion dates for the deleted workspaces.\n  // The method returns an empty list for servers without ServerCapabilityRetentionDelay.\n  getDeletionDates({ signal } = {}) {\n    return this._rpc.call(\"space.getDeletionDates\", [], { signal });\n  }\n\n  // SetAllowOnlineEdition updates the authorization for online edition.\n  // The authenticated user must be a owner of the space.\n  setAllowOnlineEdition(spaceId, value, { signal } = {}) {\n    return this._rpc.call(\"space.setAllowOnlineEdition\", [spaceId, value], { signal });\n  }\n\n  // GetPermissions returns the permissions of the authenticated user in a space.\n  getPermissions(spaceId, { signal } = {}) {\n    return this._rpc.call(\"space.getPermissions\", [spaceId], { signal });\n  }\n\n  // WatchPermissions registers an observer on the result of SpaceCollection's GetPermissions().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchPermissions(spaceId, obs, { signal } = {}) {\n    return this._rpc.call(\"space.watchPermissions\", [spaceId, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // FindAll returns the spaces available to the authenticated user as of v4.36, ie.\n  // - the workspaces,\n  // - the personal space,\n  // - the direct conversations, and\n  // - the group conversations.\n  // \n  // Note that this method only exists to fool EmberData. Since SpaceCollection's List() accepts a filter option, it no longer conforms to the \"findAll\" contract.\n  // This method will be removed as soon as Ember is abandoned.\n  findAll({ signal } = {}) {\n    return this._rpc.call(\"space.findAll\", [], { signal });\n  }\n\n}\n\n// The role of a space member defines her rights:\n// - A \"owner\" can manage the member list, change the space metadata (name, description etc.) and delete the space.\n// - A \"member\" can read and write files.\n// - An \"auditor\" may only read files.\nclass SpaceMemberCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Add adds a new member to a space.\n  // If the user is already in the space, her role is updated.\n  // The member's fingerprint is automatically checked if SecurityModule's GetFingerprint() has been called for the user.\n  // On success the method removes the matching invite in PreaddedSpaceMemberCollection.\n  // If ServerSettingsRecord's MinimalNumberOfOwnersPerWorkspace is defined and mandatory, you must ensure that the space has the proper number of owners or the method will return ErrorCodeForbidden.\n  // The request is batched. See UserAgent.\n  // Note: the returned SpaceMemberRecord's CanEditOnline is always false.\n  add(spaceId, email, role, { signal } = {}) {\n    return this._rpc.call(\"spaceMember.add\", [spaceId, email, role], { signal });\n  }\n\n  // AddMany adds multiple members to a space at once.\n  // `users` is a map of email to role.\n  // Each member's fingerprint are automatically checked if SecurityModule's GetFingerprint() has been called for the user.\n  // If ServerSettingsRecord's MinimalNumberOfOwnersPerWorkspace is defined and mandatory, you must ensure that the space has the proper number of owners or the method will return ErrorCodeForbidden.\n  // The request is batched. See UserAgent.\n  addMany(spaceId, users, { signal } = {}) {\n    return this._rpc.call(\"spaceMember.addMany\", [spaceId, users], { signal });\n  }\n\n  // List returns the members of a space.\n  list(spaceId, { signal } = {}) {\n    return this._rpc.call(\"spaceMember.list\", [spaceId], { signal });\n  }\n\n  // WatchAll registers an observer on the result of SpaceMemberCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchAll(spaceId, obs, { signal } = {}) {\n    return this._rpc.call(\"spaceMember.watchAll\", [spaceId, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Get returns a member by its ID or email.\n  get(spaceId, emailOrId, { signal } = {}) {\n    return this._rpc.call(\"spaceMember.get\", [spaceId, emailOrId], { signal });\n  }\n\n  // Watch registers an observer on the result of SpaceMemberCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(spaceId, emailOrId, obs, { signal } = {}) {\n    return this._rpc.call(\"spaceMember.watch\", [spaceId, emailOrId, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Deprecated. Use SpaceMemberCollection's List().\n  list_(spaceId, { signal } = {}) {\n    return this._rpc.call(\"spaceMember.list_\", [spaceId], { signal });\n  }\n\n  // SetRole updates the role of a space member.\n  // `spaceMemberID` may be the member's ID or email.\n  // If ServerSettingsRecord's MinimalNumberOfOwnersPerWorkspace is defined and mandatory, you must ensure that the space has the proper number of owners or the method will return ErrorCodeForbidden.\n  setRole(spaceId, spaceMemberId, role, { signal } = {}) {\n    return this._rpc.call(\"spaceMember.setRole\", [spaceId, spaceMemberId, role], { signal });\n  }\n\n  // Deprecated. Use SpaceMemberCollection's SetRole().\n  setRoleById(spaceId, userId, role, { signal } = {}) {\n    return this._rpc.call(\"spaceMember.setRoleById\", [spaceId, userId, role], { signal });\n  }\n\n  // Remove removes a space member.\n  // `spaceMemberID` may be the member's ID or email.\n  // If ServerSettingsRecord's MinimalNumberOfOwnersPerWorkspace is defined and mandatory, you must ensure that the space has the proper number of owners or the method will return ErrorCodeForbidden.\n  remove(spaceId, spaceMemberId, { signal } = {}) {\n    return this._rpc.call(\"spaceMember.remove\", [spaceId, spaceMemberId], { signal });\n  }\n\n  // Deprecated. Use SpaceMemberCollection's Remove().\n  removeById(spaceId, userId, { signal } = {}) {\n    return this._rpc.call(\"spaceMember.removeById\", [spaceId, userId], { signal });\n  }\n\n}\n\n// On desktop, the user agent may synchronize the files of the user to disk.\n// Synchronization is bidirectional. In particular, files and folders deleted locally will be removed on the server.\n// Use SyncSettingsCollection to configure the syncing and SyncStateCollection to retrieve status information.\nclass SyncModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Synchronize synchronizes the files of a space.\n  synchronize(spaceId, { signal } = {}) {\n    return this._rpc.call(\"sync.synchronize\", [spaceId], { signal });\n  }\n\n  // SynchronizeAll synchronizes all the space.\n  synchronizeAll({ signal } = {}) {\n    return this._rpc.call(\"sync.synchronizeAll\", [], { signal });\n  }\n\n  // Touch marks a space for synchronization if matching the settings.\n  // See SyncSettingsCollection.\n  touch(spaceId, { signal } = {}) {\n    return this._rpc.call(\"sync.touch\", [spaceId], { signal });\n  }\n\n  // TouchAll marks all the spaces matching the settings for synchronization.\n  // See SyncSettingsCollection.\n  touchAll({ signal } = {}) {\n    return this._rpc.call(\"sync.touchAll\", [], { signal });\n  }\n\n  // IsFileSynchronized returns whether the relative path exists on the server\n  // for the provided space.\n  isFileSynchronized(spaceId, pathname, { signal } = {}) {\n    return this._rpc.call(\"sync.isFileSynchronized\", [spaceId, pathname], { signal });\n  }\n\n  // GetCryptoboxPath returns the root folder where all the space folders are created.\n  // Empty if the spaces have never been synchronized.\n  getCryptoboxPath({ signal } = {}) {\n    return this._rpc.call(\"sync.getCryptoboxPath\", [], { signal });\n  }\n\n}\n\n// Defines the spaces to synchronize with SyncModule.\nclass SyncSettingsCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Get returns the settings for the authenticated user.\n  // The default is SyncModeOff.\n  get({ signal } = {}) {\n    return this._rpc.call(\"syncSettings.get\", [], { signal });\n  }\n\n  // Watch registers an observer on the result of SyncSettingsCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(obs, { signal } = {}) {\n    return this._rpc.call(\"syncSettings.watch\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Set writes to disk and applies the settings for the authenticated user.\n  // Unavailable spaces are filtered out.\n  set(settings, { signal } = {}) {\n    return this._rpc.call(\"syncSettings.set\", [settings], { signal });\n  }\n\n}\n\n// Retrieves the sync status and path of each space synchronized with SyncModule.\nclass SyncStateCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // List returns the state of the synchronized spaces.\n  list({ signal } = {}) {\n    return this._rpc.call(\"syncState.list\", [], { signal });\n  }\n\n  // WatchAll registers an observer on the result of SyncStateCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchAll(obs, { signal } = {}) {\n    return this._rpc.call(\"syncState.watchAll\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Get returns the state of a synchronized space.\n  get(spaceId, { signal } = {}) {\n    return this._rpc.call(\"syncState.get\", [spaceId], { signal });\n  }\n\n  // Watch registers an observer on the result of SyncStateCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(spaceId, obs, { signal } = {}) {\n    return this._rpc.call(\"syncState.watch\", [spaceId, this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n}\n\n// Once registered, a user should add trustees to help her recover her account with RecoveryModule in case of a password loss.\nclass TrusteeCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Add adds a trustee to the authenticated user's account.\n  // - `email` is the email of the trustee. The trustee's fingerprint is automatically checked if SecurityModule's GetFingerprint() has been called for the user.\n  // - `password` is the password of the authenticated user. Required if the user is authenticated with device keys.\n  // The server may request an extra authentication; see UserAgent's SetSecondFactorAuthenticator().\n  add(email, password, enforced, { signal } = {}) {\n    return this._rpc.call(\"trustee.add\", [email, password, enforced], { signal });\n  }\n\n  // List returns the trustees of the authenticated user.\n  list({ signal } = {}) {\n    return this._rpc.call(\"trustee.list\", [], { signal });\n  }\n\n  // WatchAll registers an observer on the result of TrusteeCollection's List().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watchAll(obs, { signal } = {}) {\n    return this._rpc.call(\"trustee.watchAll\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n  // Remove removes a trustee from the authenticated user's account.\n  // The parameter `password` is required if the user is authenticated with device keys and ignored otherwise.\n  // Requires ServerCapabilityTrusteeDeletion. See ServerSettingsCollection's Get().\n  // The server may request an extra authentication; see UserAgent's SetSecondFactorAuthenticator().\n  remove(email, password, { signal } = {}) {\n    return this._rpc.call(\"trustee.remove\", [email, password], { signal });\n  }\n\n  // GetStatus returns whether the client should add, remove or replace the enforced and/or invitee trustee.\n  // See also TrusteeCollection's ResolveStatus().\n  getStatus({ signal } = {}) {\n    return this._rpc.call(\"trustee.getStatus\", [], { signal });\n  }\n\n  // ResolveStatus applies the required changes regarding the enforced/invitee trustee.\n  // The method does nothing if TrusteeCollection's GetStatus() is OK.\n  // The parameter `password` is only required from a device.\n  // The server may request an extra authentication; see UserAgent's SetSecondFactorAuthenticator().\n  resolveStatus(password, { signal } = {}) {\n    return this._rpc.call(\"trustee.resolveStatus\", [password], { signal });\n  }\n\n}\n\n// Retrieves the list of users registered on the server.\n// Note that the administrator may define the visibility of the users to each others.\nclass UserCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // List returns the users registered on the server of the authenticated user, but the authenticated user.\n  // See UserCollection's Get() to retrieve more information on a user.\n  list({ signal } = {}) {\n    return this._rpc.call(\"user.list\", [], { signal });\n  }\n\n  // Get returns the user registered on the server with the given email.\n  // The method returns ErrorCodeNotFound if the user does not exist.\n  // See UserCollection's Match() to process an address list.\n  get(email, { signal } = {}) {\n    return this._rpc.call(\"user.get\", [email], { signal });\n  }\n\n  // Parse parses an email address list (RFC 5322).\n  // \n  // See UserCollection's Match().\n  parse(emails, { signal } = {}) {\n    return this._rpc.call(\"user.parse\", [emails], { signal });\n  }\n\n  // ParseFile extracts email addresses (RFC 5322) from a file.\n  // \n  // The method can read the following file formats, based on the file extension:\n  // - Microsoft Office Excel (.xlsx),\n  // - CSV (.csv) with ',', ';' and '\\t' separators.\n  // - Text file (if the extension is not .xlsx or .csv).\n  // \n  // The encoding is assumed to be UTF-8.\n  // \n  // Note:\n  // - The method checks for cancelation after each new cell in .xlsx and after each new line in other formats.\n  // - The email addresses are extracted using a regular expression. This should work with reasonable textual separation between the addresses, such as spaces, new lines, dots ('.'), commas (','), the characters '<' and '>', and so on.\n  // - The pipe separator ('|') is not supported, in particular in CSV, and will lead to badly extracted addresses.\n  // \n  // See UserCollection's MatchFile().\n  parseFile(file, options) {\n    const { limit, signal } = options || {};\n    return this._rpc.call(\"user.parseFile\", [this._rpc.proxy(new InputFile(file, this._rpc.codec)), { limit }], { signal });\n  }\n\n  // Match parses an email address list (RFC 5322) with UserCollection's Parse() then searches the corresponding users on the server.\n  // \n  // See ExtendedUserRecord's IsRegistered.\n  match(emails, { signal } = {}) {\n    return this._rpc.call(\"user.match\", [emails], { signal });\n  }\n\n  // MatchFile extracts email addresses (RFC 5322) from a file with UserCollection's ParseFile() then searches the corresponding users on the server.\n  // \n  // See ExtendedUserRecord's IsRegistered.\n  matchFile(file, options) {\n    const { limit, signal } = options || {};\n    return this._rpc.call(\"user.matchFile\", [this._rpc.proxy(new InputFile(file, this._rpc.codec)), { limit }], { signal });\n  }\n\n  // Deprecated. Use UserCollection's List().\n  list_({ signal } = {}) {\n    return this._rpc.call(\"user.list_\", [], { signal });\n  }\n\n  // Deprecated. Use UserCollection's Get().\n  find(email, { signal } = {}) {\n    return this._rpc.call(\"user.find\", [email], { signal });\n  }\n\n  // Deprecated. Use UserCollection's Match().\n  findMany(emails, { signal } = {}) {\n    return this._rpc.call(\"user.findMany\", [emails], { signal });\n  }\n\n}\n\n// Provides access to all of the user agent features, by modules.\n// \n// When possible, updates are batched. Compatible methods:\n// - Delay their executions (15ms by default) to wait for further candidates.\n// - Return a shared error, i.e. batched invocations fail or succeed together.\n// Cancelling a batched method cancels all the methods in the batch.\n// \n// The following collections support batching:\n// - Spaces and files updates are batched by space.\n// - Notifications updates and read cursors retrieval are batched without restriction.\n// \n// See UserAgent's SetBatchingDelay().\nclass UserAgent {\n  constructor(transport, settings) {\n    let rpc = new RpcClient(transport);\n    rpc.onready = async () => {\n      settings = typeof settings === 'function' ? await settings(this) : settings;\n      settings.cacheKeyVault = rpc.proxy(settings.cacheKeyVault)\n      settings.localStorage = rpc.proxy(settings.localStorage || new LocalStorage());\n      let onready = settings.onready;\n      delete settings.onready;\n      registerLogoutBeacon(this);\n      let cacheKey = await rpc.call(\"initialize\", [settings, null]);\n      if (onready) await onready(cacheKey);\n    };\n    rpc.onerror = (error) => {\n      this.errHandler && this.errHandler(error);\n    }\n    this.account = new AccountCollection(this, rpc);\n    this.accountSettings = new AccountSettingsCollection(this, rpc);\n    this.attachment = new AttachmentCollection(this, rpc);\n    this.breadcrumb = new BreadcrumbCollection(this, rpc);\n    this.cache = new CacheModule(this, rpc);\n    this.category = new CategoryCollection(this, rpc);\n    this.crypto = new CryptoModule(this, rpc);\n    this.depositBox = new DepositBoxModule(this, rpc);\n    this.depositBoxForm = new DepositBoxFormModule(this, rpc);\n    this.device = new DeviceCollection(this, rpc);\n    this.deviceKeys = new DeviceKeysCollection(this, rpc);\n    this.event = new EventCollection(this, rpc);\n    this.file = new FileCollection(this, rpc);\n    this.fileAccessLog = new FileAccessLogCollection(this, rpc);\n    this.fileCache = new FileCacheCollection(this, rpc);\n    this.fileDownloadSubscription = new FileDownloadSubscriptionCollection(this, rpc);\n    this.fileRevision = new FileRevisionCollection(this, rpc);\n    this.fileSharing = new FileSharingCollection(this, rpc);\n    this.fileSubscription = new FileSubscriptionCollection(this, rpc);\n    this.fileUpload = new FileUploadCollection(this, rpc);\n    this.im = new MessagingModule(this, rpc);\n    this.invite = new InviteCollection(this, rpc);\n    this.jsonApi = new JsonApiModule(this, rpc);\n    this.keytar = new KeytarModule(this, rpc);\n    this.logging = new LoggingModule(this, rpc);\n    this.loginProgress = new LoginProgressCollection(this, rpc);\n    this.loginStatus = new LoginStatusCollection(this, rpc);\n    this.message = new MessageCollection(this, rpc);\n    this.messagingStatus = new MessagingStatusCollection(this, rpc);\n    this.mfa = new MFAModule(this, rpc);\n    this.notification = new NotificationCollection(this, rpc);\n    this.oidc = new OIDCModule(this, rpc);\n    this.onlineEditorSupport = new OnlineEditorSupportModule(this, rpc);\n    this.otp = new OTPModule(this, rpc);\n    this.permission = new PermissionModule(this, rpc);\n    this.preaddedSpaceMember = new PreaddedSpaceMemberCollection(this, rpc);\n    this.readCursor = new ReadCursorCollection(this, rpc);\n    this.recovery = new RecoveryModule(this, rpc);\n    this.security = new SecurityModule(this, rpc);\n    this.securityLevel = new SecurityLevelCollection(this, rpc);\n    this.serverSettings = new ServerSettingsCollection(this, rpc);\n    this.session = new SessionModule(this, rpc);\n    this.space = new SpaceCollection(this, rpc);\n    this.spaceMember = new SpaceMemberCollection(this, rpc);\n    this.sync = new SyncModule(this, rpc);\n    this.syncSettings = new SyncSettingsCollection(this, rpc);\n    this.syncState = new SyncStateCollection(this, rpc);\n    this.trustee = new TrusteeCollection(this, rpc);\n    this.user = new UserCollection(this, rpc);\n    this.userAgentStatus = new UserAgentStatusCollection(this, rpc);\n    this.userStatus = new UserStatusCollection(this, rpc);\n    this.validation = new ValidationModule(this, rpc);\n    this.onlineEditor = new OnlineEditorModule(this, rpc);\n    this._rpc = rpc;\n    this._rpc.connect();\n  }\n\n  setGlobalErrorHandler(handler) {\n    this.errHandler = handler;\n  }\n\n  // encodeUint8Array converts a Uint8Array to a type suitable to the underlying RPC transport.\n  encodeUint8Array(value) {\n    return this._rpc._transport.encodeUint8Array(value);\n  }\n\n  // decodeUint8Array converts binary data from the RPC transport to a Uint8Array.\n  decodeUint8Array(value) {\n    return this._rpc._transport.decodeUint8Array(value);\n  }\n\n  // NewCacheKey returns a new random key suitable to encrypt the cache.\n  // See UserAgent's Initialize().\n  newCacheKey({ signal } = {}) {\n    return this._rpc.call(\"newCacheKey\", [], { signal });\n  }\n\n  // Login connects a user to a server.\n  login(serverUrl, email, password, { signal } = {}) {\n    return this._rpc.call(\"login\", [serverUrl, email, password], { signal });\n  }\n\n  // IsLoggedIn returns true if the user is authenticated.\n  // See also LoginStatusCollection's Watch().\n  isLoggedIn({ signal } = {}) {\n    return this._rpc.call(\"isLoggedIn\", [], { signal });\n  }\n\n  // Logout disconnects the user from the server.\n  // The method requests the server to close the SPAKE and SIGMA sessions then waits for the background processing of the low-level notifications to terminate, clears the local database then dispatch the logout event to the client.\n  logout({ signal } = {}) {\n    return this._rpc.call(\"logout\", [], { signal });\n  }\n\n  // Deprecated. Use UserCollection's Parse().\n  parseBulkEmail(bulk, { signal } = {}) {\n    return this._rpc.call(\"parseBulkEmail\", [bulk], { signal });\n  }\n\n  // Deprecated. Use UserCollection's Match().\n  searchUserWithBulk(emailBulk, { signal } = {}) {\n    return this._rpc.call(\"searchUserWithBulk\", [emailBulk], { signal });\n  }\n\n  // Deprecated. Use UserCollection's Get().\n  searchUser(email, { signal } = {}) {\n    return this._rpc.call(\"searchUser\", [email], { signal });\n  }\n\n  // Deprecated. Use UserAgentStatusCollection's Get().\n  hasLocalChanges({ signal } = {}) {\n    return this._rpc.call(\"hasLocalChanges\", [], { signal });\n  }\n\n  // Sets the language for the translated strings, namely errors and UI notifications.\n  // The default `lang` is \"en\". The supported `lang` are \"en\" and \"fr\".\n  // The method matches `lang` with the closest supported locale and returns its choice.\n  // NB. all the UserAgent instances share the same locale.\n  setLocale(lang, { signal } = {}) {\n    return this._rpc.call(\"setLocale\", [lang], { signal });\n  }\n\n  // SetSecondFactorAuthenticator registers the callbacks for an optional extra authentication.\n  setSecondFactorAuthenticator(auth, { signal } = {}) {\n    return this._rpc.call(\"setSecondFactorAuthenticator\", [this._rpc.proxy(auth)], { signal });\n  }\n\n  // SetBatchingDelay updates the waiting time for batched methods.\n  // `delay` is in milliseconds, it is 15ms by default.\n  // See UserAgent.\n  setBatchingDelay(milliseconds, { signal } = {}) {\n    return this._rpc.call(\"setBatchingDelay\", [milliseconds], { signal });\n  }\n\n  // StopWatching unregisters a live query.\n  stopWatching(queryId, { signal } = {}) {\n    return this._rpc.call(\"stopWatching\", [queryId], { signal });\n  }\n\n  // CheckConnectivity forces the user agent to verify the reachability of the Cryptobox server.\n  // The user agent maintains an online/offline status that helps determine how the cache should be used.\n  // When offline, it sends an HTTP request regularly until the server responds (up to every 15 min).\n  // Applications that have finer-grained information should call this method whenever they see fit (by eg. when the network connectivity changes or when the application enters the foreground).\n  checkConnectivity({ signal } = {}) {\n    return this._rpc.call(\"checkConnectivity\", [], { signal });\n  }\n\n  isServerlessOnlineEditorEnabled({ signal } = {}) {\n    return this._rpc.call(\"isServerlessOnlineEditorEnabled\", [], { signal });\n  }\n\n}\n\n// User agent status collection.\nclass UserAgentStatusCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Get return the user agent status.\n  get({ signal } = {}) {\n    return this._rpc.call(\"userAgentStatus.get\", [], { signal });\n  }\n\n  // Watch registers an observer on the result of UserAgentStatusCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(obs, { signal } = {}) {\n    return this._rpc.call(\"userAgentStatus.watch\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n}\n\n// The administrator defines the access rights of each user. The authenticated user can retrieve her own rights using this module.\nclass UserStatusCollection {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // Get returns the status of the authenticated user.\n  get({ signal } = {}) {\n    return this._rpc.call(\"userStatus.get\", [], { signal });\n  }\n\n  // Watch registers an observer on the result of UserStatusCollection's Get().\n  // You may stop observing the query by calling UserAgent's StopWatching().\n  watch(obs, { signal } = {}) {\n    return this._rpc.call(\"userStatus.watch\", [this._rpc.proxy(obs)], { signal }).then((id) => {\n      signal?.addEventListener('abort', () => this._ua.stopWatching(id));\n      return id;\n    });\n  }\n\n}\n\n// Provides the methods to validate the user inputs before they are sent to the user agent.\nclass ValidationModule {\n  constructor(ua, rpc) {\n    this._ua = ua;\n    this._rpc = rpc;\n  }\n\n  // GetPasswordScore returns the password score according to the server settings.\n  // The method returns ErrorCodePasswordTooLong if the password is longer than 128 characters.\n  getPasswordScore(serverUrl, email, password, givenName, surname, { signal } = {}) {\n    return this._rpc.call(\"validation.getPasswordScore\", [serverUrl, email, password, givenName, surname], { signal });\n  }\n\n  // Deprecated: Use ValidationModule's GetPasswordScore() instead.\n  getPasswordStrength(serverUrl, email, password, givenName, surname, { signal } = {}) {\n    return this._rpc.call(\"validation.getPasswordStrength\", [serverUrl, email, password, givenName, surname], { signal });\n  }\n\n  // CheckPassword validates a password.\n  // On failure, the method typically returns ErrorCodePasswordTooShort, ErrorCodePasswordTooWeak or ErrorCodePasswordTooLong.\n  checkPassword(serverUrl, email, password, givenName, surname, { signal } = {}) {\n    return this._rpc.call(\"validation.checkPassword\", [serverUrl, email, password, givenName, surname], { signal });\n  }\n\n  // IsPasswordValid returns whether a password is valid.\n  // The method calls ValidationModule's CheckPassword().\n  isPasswordValid(serverUrl, email, password, givenName, surname, { signal } = {}) {\n    return this._rpc.call(\"validation.isPasswordValid\", [serverUrl, email, password, givenName, surname], { signal });\n  }\n\n  // NewZxcvbnUserInputs improves the user inputs to inject into zxcvbn score computation.\n  // Deprecated. See ValidationModule's GetPasswordStrength().\n  newZxcvbnUserInputs(serverUrl, email, password, givenName, surname, { signal } = {}) {\n    return this._rpc.call(\"validation.newZxcvbnUserInputs\", [serverUrl, email, password, givenName, surname], { signal });\n  }\n\n  // ConvertZxcvbnScoreToPasswordStrength converts a zxcvbn score to a password strength, with regard to the server configuration.\n  // Deprecated. See ValidationModule's GetPasswordStrength().\n  convertZxcvbnScoreToPasswordStrength(serverUrl, score, { signal } = {}) {\n    return this._rpc.call(\"validation.convertZxcvbnScoreToPasswordStrength\", [serverUrl, score], { signal });\n  }\n\n  // IsNameValid assesses the validity of a name for a space or a file.\n  isNameValid(name, { signal } = {}) {\n    return this._rpc.call(\"validation.isNameValid\", [name], { signal });\n  }\n\n  // IsNameSafeOnWindows assesses the validity of a filename for Windows.\n  isNameSafeOnWindows(name, { signal } = {}) {\n    return this._rpc.call(\"validation.isNameSafeOnWindows\", [name], { signal });\n  }\n\n  // CheckSpaceCreationOrRenaming verifies a name is suitable to create a space.\n  checkSpaceCreationOrRenaming(name, { signal } = {}) {\n    return this._rpc.call(\"validation.checkSpaceCreationOrRenaming\", [name], { signal });\n  }\n\n  // CheckFileCreation verifies a name is suitable to create a file or a folder in a space.\n  checkFileCreation(spaceId, dirname, basename, isDirectory, { signal } = {}) {\n    return this._rpc.call(\"validation.checkFileCreation\", [spaceId, dirname, basename, isDirectory], { signal });\n  }\n\n  // CheckFileRenaming verifies a name is suitable to rename a file or a folder in a space.\n  checkFileRenaming(spaceId, dirname, oldName, newName, { signal } = {}) {\n    return this._rpc.call(\"validation.checkFileRenaming\", [spaceId, dirname, oldName, newName], { signal });\n  }\n\n  // Limits returns the limits enforced by the user agent.\n  limits({ signal } = {}) {\n    return this._rpc.call(\"validation.limits\", [], { signal });\n  }\n\n}\n\nexport default UserAgent;\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// The settings of the authenticated user.\n// See AccountSettingsCollection.\nexport default class extends Model {\n  // Notify file changes by email.\n  // @type boolean\n  @attr fileChangeEmailNotification;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// The account information of the authenticated user.\n// See AccountCollection.\nexport default class extends Model {\n  // Server URL.\n  // @type string\n  @attr serverUrl;\n  \n  // Whether the account is saved on the device.\n  // @type boolean\n  @attr isOnDevice;\n  \n  // User certificate.\n  // @type * - Call `tBoxClient.decodeUint8Array()` to read the value. See Uint8Array in the getting started guide.\n  @attr certificate;\n  \n  @belongsTo('user', { async: false, inverse: null }) user;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// An attachment to an instant message.\n// See AttachmentCollection.\nexport default class extends Model {\n  // File name. It may not be safe on Windows.\n  // @type string\n  @attr fileName;\n  \n  // Size in bytes.\n  // @type number\n  @attr fileSize;\n  \n  // Message's identifier.\n  // @type string\n  @attr messageId;\n  \n  @belongsTo('preview', { async: false, inverse: null }) preview;\n  @belongsTo('message', { async: true, inverse: null }) message;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// A path breadcrumb.\n// See BreadcrumbCollection.\nexport default class extends Model {\n  // Space identifier.\n  // @type string\n  @attr spaceId;\n  \n  // Revision number.\n  // @type number\n  @attr revision;\n  \n  // Original path. It may not exist.\n  // @type string\n  @attr original;\n  \n  // Fixed path. It is always valid.\n  // @type string\n  @attr path;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, hasMany } from '@ember-data/model';\n\n// A space category.\n// See CategoryCollection.\nexport default class extends Model {\n  // Name.\n  // @type string\n  @attr name;\n  \n  // Identifiers of the spaces belonging to the category.\n  // @type Array<string>\n  @attr spaceIds;\n  \n  // True if the category holds the favorites.\n  // @type boolean\n  @attr isFavorite;\n  \n  @hasMany('space', { async: true, inverse: null }) spaces;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// Chunk info.\nexport default class extends Model {\n  // Name.\n  // @type string\n  @attr name;\n  \n  // Download URL.\n  // @type string\n  @attr url;\n  \n  // AES-GCM key.\n  // @type * - Call `tBoxClient.decodeUint8Array()` to read the value. See Uint8Array in the getting started guide.\n  @attr key;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// DepositBoxForm is the deposit box form.\nexport default class extends Model {\n  // Name.\n  // @type string\n  @attr name;\n  \n  // Description.\n  // @type string\n  @attr description;\n  \n  // Author.\n  // @type DepositBoxAuthor\n  @attr author;\n  \n  // Creation date and time, ISO 8601.\n  // @type string\n  @attr creationDate;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// DepositBoxListItem is the abbreviated information on the deposit box.\nexport default class extends Model {\n  // Name.\n  // @type string\n  @attr name;\n  \n  // State.\n  // @type DepositBoxState\n  @attr state;\n  \n  // Creation date and time, ISO 8601.\n  // @type string\n  @attr creationDate;\n  \n  // Upload date and time, ISO 8601.\n  // @type string\n  @attr uploadDate;\n  \n  // Number of uploaded files.\n  // @type number\n  @attr fileCount;\n  \n  // The recipient entered too many wrong codes. The deposit box is blocked.\n  // @type boolean\n  @attr maxCodeAttemptsReached;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// DepositBox is the detailed information on the deposit box.\nexport default class extends Model {\n  // Name.\n  // @type string\n  @attr name;\n  \n  // Description.\n  // @type string\n  @attr description;\n  \n  // Private note. Only visible by the owner.\n  // @type string\n  @attr note;\n  \n  // State.\n  // @type DepositBoxState\n  @attr state;\n  \n  // Creation date and time, ISO 8601.\n  // @type string\n  @attr creationDate;\n  \n  // Upload date and time, ISO 8601. Empty until files are uploaded.\n  // @type string\n  @attr uploadDate;\n  \n  // Number of uploaded files.\n  // @type number\n  @attr fileCount;\n  \n  // Uploaded files.\n  // @type Array<DepositBoxFile>\n  @attr files;\n  \n  // Uploader comment.\n  // @type string\n  @attr comment;\n  \n  // Access link for unauthenticated users.\n  // @type DepositBoxLink\n  @attr link;\n  \n  // The recipient entered too many wrong codes. The deposit box is blocked.\n  // @type boolean\n  @attr maxCodeAttemptsReached;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// A DeviceKeysRecord represents a set of cryptographic keys stored on the device.\n// Device keys can be used to authenticate the user without a password.\nexport default class extends Model {\n  // Server URL.\n  // @type string\n  @attr serverUrl;\n  \n  // User root certificate.\n  // @type * - Call `tBoxClient.decodeUint8Array()` to read the value. See Uint8Array in the getting started guide.\n  @attr certificate;\n  \n  @belongsTo('user', { async: false, inverse: null }) user;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, hasMany } from '@ember-data/model';\n\n// A user device.\n// See DeviceCollection.\nexport default class extends Model {\n  // Name.\n  // @type string\n  @attr name;\n  \n  // Model.\n  // @type string\n  @attr model;\n  \n  // System with version.\n  // @type string\n  @attr system;\n  \n  // Application version.\n  // @type string\n  @attr appVersion;\n  \n  // Application name. \"Cryptobox\" if empty.\n  // @type string\n  @attr appName;\n  \n  // State.\n  // @type DeviceState\n  @attr state;\n  \n  // Last user agent.\n  // @type string\n  @attr lastUserAgent;\n  \n  // Last access date.\n  // @type string\n  @attr lastAccessDate;\n  \n  // Device certificate.\n  // @type * - Call `tBoxClient.decodeUint8Array()` to read the value. See Uint8Array in the getting started guide.\n  @attr certificate;\n  \n  // Date of creation. ISO 8601.\n  // @type string\n  @attr date;\n  \n  @hasMany('security-level', { async: false, inverse: null }) securityLevels;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// A low-level event as sent by the server.\n// See EventCollection.\nexport default class extends Model {\n  // Event kind.\n  // @type EventKind\n  @attr kind;\n  \n  // Space ID for space-related event.\n  // @type string\n  @attr spaceId;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// Extended user information.\n// See UserCollection's Get().\nexport default class extends Model {\n  // Email.\n  // @type string\n  @attr email;\n  \n  // First name.\n  // @type string\n  @attr givenName;\n  \n  // Last name.\n  // @type string\n  @attr surname;\n  \n  // The user certificate.\n  // @type * - Call `tBoxClient.decodeUint8Array()` to read the value. See Uint8Array in the getting started guide.\n  @attr certificate;\n  \n  // The security levels, per device.\n  // @type Array<Array<string>>\n  @attr securityLevelIds;\n  \n  // Whether the email address is valid.\n  // @type boolean\n  @attr isEmailValid;\n  \n  // Whether the email belongs to a registered user on the server.\n  // @type boolean\n  @attr isRegistered;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// An entry in a file access log.\n// See FileAccessLogCollection.\nexport default class extends Model {\n  // Date.\n  // @type string\n  @attr date;\n  \n  // Server.\n  // @type string\n  @attr cssName;\n  \n  // Space's identifier.\n  // @type string\n  @attr spaceId;\n  \n  // File's content identifier.\n  // @type string\n  @attr fileId;\n  \n  // User's email.\n  // @type string\n  @attr userEmail;\n  \n  // User's certificate.\n  // @type * - Call `tBoxClient.decodeUint8Array()` to read the value. See Uint8Array in the getting started guide.\n  @attr userCertificateHash;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// File cache configuration.\n// Caching is enabled when the path is set and the size non-null.\nexport default class extends Model {\n  // Location.\n  // @type string\n  @attr path;\n  \n  // Maxmimum size in bytes.\n  // @type number\n  @attr size;\n  \n  // Actual size in bytes.\n  // @type number\n  @attr used;\n  \n  // Whether caching is enabled. Derived from FileCacheRecord's Path and FileCacheRecord's Size.\n  // @type boolean\n  @attr enabled;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, hasMany } from '@ember-data/model';\n\n// File content info.\nexport default class extends Model {\n  // Size in bytes.\n  // @type number\n  @attr size;\n  \n  @hasMany('chunk', { async: false, inverse: null }) chunks;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// The file download subscriptions in a space.\n// See FileDownloadSubscriptionCollection.\nexport default class extends Model {\n  // Space's identifier.\n  // @type string\n  @attr spaceId;\n  \n  // Subscribed paths.\n  // @type Array<string>\n  @attr paths;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// A file revision in a space.\n// See FileRevisionCollection.\nexport default class extends Model {\n  // Space's identifier.\n  // @type string\n  @attr spaceId;\n  \n  // Revision's number.\n  // @type number\n  @attr number;\n  \n  // Number of file.\n  // @type number\n  @attr fileCount;\n  \n  // Total size of files in the revision, in bytes. This includes the encryption header (12 bytes per file chunk). Requires ServerCapabilityFileRevisionRawSize.\n  // @type number\n  @attr rawSize;\n  \n  // Creation date.\n  // @type string\n  @attr date;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n  @belongsTo('user', { async: false, inverse: null }) author;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// FileSharingFileRecord represents a file or a folder in a file sharing.\nexport default class extends Model {\n  // Base name.\n  // @type string\n  @attr name;\n  \n  // Path to the parent directory. Uses \"/\" for separator, never starts or ends with a \"/\". Empty for first-level files.\n  // @type string\n  @attr parentPath;\n  \n  // Size in bytes.\n  // @type number\n  @attr size;\n  \n  // True if the file is a directory.\n  // @type boolean\n  @attr isDirectory;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo, hasMany } from '@ember-data/model';\n\n// A file sharing entry.\n// See FileSharingCollection.\nexport default class extends Model {\n  // Sharing ID.\n  // @type string\n  @attr token;\n  \n  // Space ID.\n  // @type string\n  @attr spaceId;\n  \n  // File name.\n  // @type string\n  @attr fileName;\n  \n  // Total files size in bytes.\n  // @type number\n  @attr fileSize;\n  \n  // Expiration date in ISO 8601 format.\n  // @type string\n  @attr notAfter;\n  \n  // Suspension status.\n  // @type boolean\n  @attr suspended;\n  \n  // Download limit.\n  // @type UniqueDownload\n  @attr uniqueDownload;\n  \n  // Creation date in ISO 8601 format.\n  // @type string\n  @attr creationDate;\n  \n  // Download notification (UI+email).\n  // @type boolean\n  @attr authorSubscription;\n  \n  // Download notification support. False for sharings created before v4.27.\n  // @type boolean\n  @attr isAuthorSubscriptionSupported;\n  \n  // The recipient entered too many wrong codes. The sharing is blocked.\n  // @type boolean\n  @attr maxCodeAttemptsReached;\n  \n  // Recipients, if the creator did request the server to send the link.\n  // @type Array<string>\n  @attr recipients;\n  \n  // Sharing URL, for newly created record only.\n  // @type string\n  @attr url;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n  @hasMany('file-sharing-file', { async: false, inverse: null }) files;\n  @belongsTo('user', { async: false, inverse: null }) author;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// The file change subscriptions in a space.\n// See FileSubscriptionCollection.\nexport default class extends Model {\n  // Space's identifier.\n  // @type string\n  @attr spaceId;\n  \n  // Subscribed paths.\n  // @type Array<string>\n  @attr paths;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// File upload.\nexport default class extends Model {\n  // Target space.\n  // @type string\n  @attr spaceId;\n  \n  // Target path.\n  // @type string\n  @attr path;\n  \n  // Uploaded data in bytes.\n  // @type number\n  @attr processed;\n  \n  // Total data to upload in bytes.\n  // @type number\n  @attr total;\n  \n  // Transfer status.\n  // @type FileUploadStatus\n  @attr status;\n  \n  // The transfer error when the status is FileUploadStatusFailed, empty otherwise. The error code is ErrorCodeCanceled after a cancelation.\n  // @type Error\n  @attr error;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// A file in a space.\n// See FileCollection.\nexport default class extends Model {\n  // Space's identifier.\n  // @type string\n  @attr spaceId;\n  \n  // Revision's number.\n  // @type number\n  @attr revision;\n  \n  // Path.\n  // @type string\n  @attr path;\n  \n  // Is the file a folder?\n  // @type boolean\n  @attr isDirectory;\n  \n  // Size in bytes.\n  // @type number\n  @attr contentSize;\n  \n  // Modification date.\n  // @type string\n  @attr lastModified;\n  \n  // Number of child folders.\n  // @type number\n  @attr subDirectoryCount;\n  \n  // Identifier preserved on update, rename and move.\n  // @type string\n  @attr trackingId;\n  \n  // File version number.\n  // @type string\n  @attr version;\n  \n  // True if the file is opened in the online editor. This requires an opt-in, please check the method's parameters.\n  // @type bool|null\n  @attr isBeingEdited;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n  @belongsTo('user', { async: false, inverse: null }) author;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// An invite.\n// See InviteCollection.\nexport default class extends Model {\n  // Invitee email.\n  // @type string\n  @attr guestEmail;\n  \n  // True if the invitee is a whitelisted user (ie. does not require an invite to register).\n  // @type boolean\n  @attr shallowInvite;\n  \n  // History.\n  // @type Array<InviteEvent>\n  @attr eventHistory;\n  \n  // Number of preadded space.\n  // @type number\n  @attr spaceCount;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// Login progress information.\n// See LoginProgressCollection.\nexport default class extends Model {\n  // Whether the user agent is logging the end user.\n  // @type boolean\n  @attr isLoggingIn;\n  \n  // Number of loaded space.\n  // @type number\n  @attr loadedSpaceCount;\n  \n  // Total number of space to load.\n  // @type number\n  @attr spaceCount;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// The login status.\n// See LoginStatusCollection.\nexport default class extends Model {\n  // Whether the user agent is logged in.\n  // @type boolean\n  @attr isLoggedIn;\n  \n  // Whether the user agent has been disconnected by the server when LoginStatusRecord's IsLoggedIn is false.\n  // @type boolean\n  @attr disconnectedByServer;\n  \n  // The logout reason when LoginStatusRecord's DisconnectedByServer is true. Error's Code is always ErrorCodeLoggedOut.\n  // @type Error\n  @attr disconnectionError;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// The recipient of an instant message.\n// See MessageRecord.\nexport default class extends Model {\n  // Email.\n  // @type string\n  @attr email;\n  \n  // First name.\n  // @type string\n  @attr givenName;\n  \n  // Last name.\n  // @type string\n  @attr surname;\n  \n  // Related message ID.\n  // @type string\n  @attr messageId;\n  \n  // Whether the user has read the message.\n  // @type boolean\n  @attr hasRead;\n  \n  @belongsTo('message', { async: true, inverse: null }) message;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo, hasMany } from '@ember-data/model';\n\n// An instant message.\n// See MessageCollection.\nexport default class extends Model {\n  // The space ID of the message.\n  // @type string\n  @attr spaceId;\n  \n  // The timestamp of the message. It is also the identifier of the message once delivered to the server.\n  // @type number\n  @attr timestamp;\n  \n  // The text of the message.\n  // @type string\n  @attr text;\n  \n  // The timestamp of the message converted to an ISO 8601 date.\n  // @type string\n  @attr date;\n  \n  // The dispatch status of the message.\n  // @type MessageStatus\n  @attr status;\n  \n  // Whether the message can be deleted.\n  // @type boolean\n  @attr deletable;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n  @belongsTo('user', { async: false, inverse: null }) author;\n  @hasMany('attachment', { async: false, inverse: null }) attachments;\n  @hasMany('message-recipient', { async: false, inverse: null }) recipients;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// The messaging connection status.\n// See MessagingStatusCollection.\nexport default class extends Model {\n  // Is the web socket connected?\n  // @type boolean\n  @attr isConnected;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// A user notification.\n// See NotificationCollection.\nexport default class extends Model {\n  // Localized title.\n  // @type string\n  @attr title;\n  \n  // Localized text.\n  // @type string\n  @attr text;\n  \n  // Creation date.\n  // @type string\n  @attr date;\n  \n  // Target action.\n  // @type string\n  @attr action;\n  \n  // Target content type.\n  // @type string\n  @attr contentType;\n  \n  // State.\n  // @type NotificationState\n  @attr state;\n  \n  // Space identifier. May be empty.\n  // @type string\n  @attr spaceId;\n  \n  // File path. May be empty.\n  // @type string\n  @attr path;\n  \n  // Matches PreaddedSpaceMemberRecord's InviteID when NotificationRecord's Action is \"invitee_registered\". Empty before v4.27, use UserRecord's Email instead.\n  // @type string\n  @attr inviteId;\n  \n  // Deposit box ID. May be empty.\n  // @type string\n  @attr depositBoxId;\n  \n  // Deposit box name. May be empty.\n  // @type string\n  @attr depositBoxName;\n  \n  // True if the action and/or content-type are unknown.\n  // @type boolean\n  @attr isUnknown;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n  @belongsTo('user', { async: false, inverse: null }) user;\n  @belongsTo('invite', { async: true, inverse: null }) invite;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\nexport default class extends Model {\n  // @type string\n  @attr spaceId;\n  \n  // @type Array<string>\n  @attr trackingIds;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// PermissionsRecord defines the permissions of the authenticated user in a space.\nexport default class extends Model {\n  // The space ID.\n  // @type string\n  @attr spaceId;\n  \n  // The space may have metadata (name, description, tags, security levels etc.).\n  // @type boolean\n  @attr canListMetadata;\n  \n  // The user is allowed to edit the metadata.\n  // @type boolean\n  @attr canUpdateMetadata;\n  \n  // The user is allowed to restore the space.\n  // @type boolean\n  @attr canRestore;\n  \n  // The space may have other members than the authenticated users.\n  // @type boolean\n  @attr canListSpaceMembers;\n  \n  // The user is allowed to edit the space members.\n  // @type boolean\n  @attr canUpdateSpaceMembers;\n  \n  // The space is suitable for messaging.\n  // @type boolean\n  @attr canListMessages;\n  \n  // The space may have user categories.\n  // @type boolean\n  @attr canListCategories;\n  \n  // The user is allowed to enter the file history.\n  // @type boolean\n  @attr canListFileRevisions;\n  \n  // The space may have UI notifications for the user.\n  // @type boolean\n  @attr canListNotifications;\n  \n  // The space may have file subscriptions for the user.\n  // @type boolean\n  @attr canListFileSubscriptions;\n  \n  // The user may update the file subscriptions.\n  // @type boolean\n  @attr canUpdateFileSubscriptions;\n  \n  // The user is allowed to upload files and create folders.\n  // @type boolean\n  @attr canUploadFile;\n  \n  // The user is allowed to copy files from the space, provided that PermissionsRecord's CanUploadFile is true in the destination space.\n  // @type boolean\n  @attr canCopyFile;\n  \n  // The user is allowed to move files from the space, provided that PermissionsRecord's CanUploadFile is true in the destination space.\n  // @type boolean\n  @attr canMoveFile;\n  \n  // The user is allowed to rename files and folders.\n  // @type boolean\n  @attr canRenameFile;\n  \n  // The user is allowed to delete files and folders.\n  // @type boolean\n  @attr canRemoveFile;\n  \n  // The user is allowed to download a file and export it outside of the application. If false, the application may still download a file to create a preview but should not allow the user to share it.\n  // @type boolean\n  @attr canExportFile;\n  \n  // The user is allowed to create a sharing link.\n  // @type boolean\n  @attr canCreateFileSharing;\n  \n  // The user is allowed to create a sharing link that includes the decryption key. If PermissionsRecord's CanCreateFileSharing is true and this field is false, the user can only creates sharing links with separate keys.\n  // @type boolean\n  @attr canCreateFileSharingIncludingKey;\n  \n  // The user is allowed to view all the sharing links in the space.\n  // @type boolean\n  @attr canListAllFileSharings;\n  \n  // The user is allowed to view her own sharing links. Always true if PermissionsRecord's CanListAllFileSharings is set.\n  // @type boolean\n  @attr canListOwnFileSharings;\n  \n  // The user is allowed to edit a sharing link.\n  // @type boolean\n  @attr canUpdateFileSharing;\n  \n  // The user is allowed to delete a sharing link.\n  // @type boolean\n  @attr canDeleteFileSharing;\n  \n  // The user is allowed to create internal link.\n  // @type boolean\n  @attr canCreateLink;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// Preadded space member.\nexport default class extends Model {\n  // Request status.\n  // @type PreaddedStatus\n  @attr status;\n  \n  // Requested space.\n  // @type string\n  @attr spaceId;\n  \n  // User email.\n  // @type string\n  @attr email;\n  \n  // Requested role if the status is PreaddedStatusInvited or PreaddedStatusRegistered. Actual role if the status is PreaddedStatusAdded.\n  // @type Role\n  @attr role;\n  \n  // Related invite.\n  // @type string\n  @attr inviteId;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n  @belongsTo('invite', { async: true, inverse: null }) invite;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// The preview of an attachment in an instant message.\n// See AttachmentRecord.\nexport default class extends Model {\n  // The original image in the preview.\n  // @type Size\n  @attr original;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\nexport default class extends Model {\n  // Email.\n  // @type string\n  @attr email;\n  \n  // First name.\n  // @type string\n  @attr givenName;\n  \n  // Last name.\n  // @type string\n  @attr surname;\n  \n  // License pool.\n  // @type LicensePool\n  @attr licensePool;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// The read cursor in a conversation.\n// See ReadCursorCollection.\nexport default class extends Model {\n  // The space ID of the conversation.\n  // @type string\n  @attr spaceId;\n  \n  // The timestamp of the last read message.\n  // @type number\n  @attr lastRead;\n  \n  // The timestamp of the latest message in the conversation.\n  // @type number\n  @attr latest;\n  \n  // The number of unread messages.\n  // @type number\n  @attr unreadCount;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// A security level.\n// See SecurityLevelCollection.\nexport default class extends Model {\n  // Name.\n  // @type string\n  @attr name;\n  \n  // Acronym.\n  // @type string\n  @attr acronym;\n  \n  // Color.\n  // @type SecurityLevelColor\n  @attr color;\n  \n  // Icon.\n  // @type SecurityLevelShape\n  @attr shape;\n  \n  // Always false. Deleted levels are not provided.\n  // @type boolean\n  @attr deleted;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// The server settings.\n// See ServerSettingsCollection.\nexport default class extends Model {\n  // Antivirus URL. Default is empty (no antivirus).\n  // @type string\n  @attr av;\n  \n  // Available features.\n  // @type Array<ServerCapability>\n  @attr capabilities;\n  \n  // Deposit box settings. Optional.\n  // @type DepositBoxSettings\n  @attr depositBox;\n  \n  // True if backup is authorized on the platform.\n  // @type boolean\n  @attr deviceBackup;\n  \n  // True if direct and group conversations are disabled.\n  // @type boolean\n  @attr disableConversations;\n  \n  // True if the sharing links should not contain the key.\n  // @type boolean\n  @attr disableCreatingSharingLinkIncludingKey;\n  \n  // True if sharing links are disabled.\n  // @type boolean\n  @attr disableSharingLinks;\n  \n  // DLP URL. Default is empty (no DLP).\n  // @type string\n  @attr dlp;\n  \n  // Deprecated. Use UserStatusRecord's EnforcedTrustee.\n  // @type string\n  @attr enforcedTrustee;\n  \n  // Entity tag.\n  // @type string\n  @attr eTag;\n  \n  // Localized URL for EULA. The key is a language code (\"en\", \"fr\").\n  // @type Record<string, string>\n  @attr eulaUrl;\n  \n  // External documentation.\n  // @type ExternalDocumentation\n  @attr externalDocumentation;\n  \n  // Deprecated.\n  // @type number\n  @attr fileSharePeriod;\n  \n  // Delay in days before an invite expires.\n  // @type number\n  @attr inviteValidDays;\n  \n  // Email notification frequency for new messages in minutes.\n  // @type number\n  @attr messagingEmailNotificationFrequency;\n  \n  // Minimal number of owners per workspace. Optional.\n  // @type MinimalNumberOfOwnersPerWorkspace\n  @attr minimalNumberOfOwnersPerWorkspace;\n  \n  // OIDC settings. May be nil.\n  // @type OIDCSettings\n  @attr oidc;\n  \n  // Adapter URL for online editor.\n  // @type string\n  @attr onlineEditorAdapterUrl;\n  \n  // Online editor enabled.\n  // @type boolean\n  @attr onlineEditorEnabled;\n  \n  // Enable online editor in personal space.\n  // @type boolean\n  @attr onlineEditorEnableForPersonalWorkspaces;\n  \n  // Password complexity rules. If not null, they override ServerSettings's PasswordStrength. See ValidationModule's GetPasswordScore().\n  // @type PasswordComplexity\n  @attr passwordComplexity;\n  \n  // Required password strength. See also ServerSettings's PasswordComplexity. See ValidationModule's GetPasswordScore().\n  // @type number\n  @attr passwordStrength;\n  \n  // Platform customization. Optional. If present, all the fields are set.\n  // @type PlatformCustomization\n  @attr platformCustomization;\n  \n  // Platform name. Optional. Default: empty string.\n  // @type string\n  @attr platformName;\n  \n  // Localized URL for Privacy Policy. The key is a language code (\"en\", \"fr\").\n  // @type Record<string, string>\n  @attr privacyPolicyUrl;\n  \n  // Number of days before a deleted file or workspace is removed from the server, null if not defined. If ServerCapabilityRetentionDelay is present, null means that the delay is not configured (infinite retention). If ServerCapabilityRetentionDelay is absent, the setting is not exposed publicly and this field is always null.\n  // @type int|null\n  @attr retentionDelayDays;\n  \n  // Default duration for a sharing link, in days. 0 if undefined.\n  // @type number\n  @attr sharingLinkDefaultPeriod;\n  \n  // Maximum duration for a sharing link, in days. 0 if undefined.\n  // @type number\n  @attr sharingLinkMaxPeriod;\n  \n  // Support email address, may be empty.\n  // @type string\n  @attr supportEmail;\n  \n  // Idle timeout before logout on the web (in minutes). 0 if disabled.\n  // @type number\n  @attr webIdleLogoutTimeoutMinutes;\n  \n  // Server URL.\n  // @type string\n  @attr serverUrl;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model from '@ember-data/model';\n\n// SIGMA session.\nexport default class extends Model {\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// A space member.\n// See SpaceMemberCollection.\nexport default class extends Model {\n  // Email.\n  // @type string\n  @attr email;\n  \n  // First name.\n  // @type string\n  @attr givenName;\n  \n  // Last name.\n  // @type string\n  @attr surname;\n  \n  // Space's identifier.\n  // @type string\n  @attr spaceId;\n  \n  // Role.\n  // @type Role\n  @attr role;\n  \n  // True if the user can use the online editor. See also ServerSettingsRecord's OnlineEditorEnabled. Both conditions must be met for the application to use the feature.\n  // @type boolean\n  @attr canEditOnline;\n  \n  // User certificate.\n  // @type * - Call `tBoxClient.decodeUint8Array()` to read the value. See Uint8Array in the getting started guide.\n  @attr certificate;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo, hasMany } from '@ember-data/model';\n\n// A space.\n// See SpaceCollection.\nexport default class extends Model {\n  // Kind.\n  // @type SpaceKind\n  @attr kind;\n  \n  // Name.\n  // @type string\n  @attr name;\n  \n  // Description.\n  // @type string\n  @attr description;\n  \n  // Tags.\n  // @type Array<string>\n  @attr tags;\n  \n  // Status.\n  // @type SpaceStatus\n  @attr status;\n  \n  // Email notification for the space conversation.\n  // @type boolean\n  @attr messagingEmailNotification;\n  \n  // Hash of the thumbnail image. Empty if the space has not thumbnail. See SpaceCollection's GetThumbnail().\n  // @type string\n  @attr thumbnailHash;\n  \n  // Online edition.\n  // @type boolean\n  @attr allowOnlineEdition;\n  \n  // Number of members.\n  // @type number\n  @attr memberCount;\n  \n  // Number of files.\n  // @type number\n  @attr fileCount;\n  \n  // Total size of files in the latest revision, in bytes. This includes the encryption header (12 bytes per file chunk).\n  // @type number\n  @attr rawSize;\n  \n  // Role of the authenticated user in the space.\n  // @type Role\n  @attr userRole;\n  \n  // Last modification date.\n  // @type string\n  @attr date;\n  \n  // True if the space belongs to the favorites category.\n  // @type boolean\n  @attr isFavorite;\n  \n  // The device ID for backup spaces. Empty for other kinds of space. Call DeviceCollection's Get() to get the device information, or DeviceCollection's List() with the option to include revoked devices. Since the server responses are not cached, the second method requires fewer server round trips if you need to find the devices of multiple backup spaces.\n  // @type string\n  @attr deviceId;\n  \n  // Rights of the authenticated user.\n  // @type Array<SpaceAccessRight>\n  @attr accessRights;\n  \n  // Number of owners.\n  // @type number\n  @attr ownerCount;\n  \n  // Number of missing owners according to ServerSettings's MinimalNumberOfOwnersPerWorkspace.\n  // @type number\n  @attr missingOwnerCount;\n  \n  @hasMany('security-level', { async: false, inverse: null }) securityLevels;\n  @hasMany('category', { async: true, inverse: null }) categories;\n  @belongsTo('device', { async: true, inverse: null }) device;\n  @belongsTo('user', { async: false, inverse: null }) peer;\n  @belongsTo('file-download-subscription', { async: true, inverse: null }) fileDownloadSubscription;\n  @hasMany('file-sharing', { async: true, inverse: null }) fileSharings;\n  @belongsTo('file-subscription', { async: true, inverse: null }) fileSubscription;\n  @hasMany('message', { async: true, inverse: null }) messages;\n  @hasMany('notification', { async: true, inverse: null }) notifications;\n  @belongsTo('read-cursor', { async: true, inverse: null }) readCursor;\n  @belongsTo('permissions', { async: true, inverse: null }) permissions;\n  @hasMany('space-member', { async: true, inverse: 'space' }) members;\n  @belongsTo('sync-state', { async: true, inverse: null }) syncState;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, hasMany } from '@ember-data/model';\n\n// The file synchronization settings.\n// See SyncSettingsCollection.\nexport default class extends Model {\n  // The synchronization mode. Default to SyncModeOff.\n  // @type SyncMode\n  @attr mode;\n  \n  // The location of the Cryptobox/ synchronization folder. Default to the current working directory. If set, must exist and be a directory.\n  // @type string\n  @attr path;\n  \n  // Whether the user agent should watch and synchronize automatically the changes in SyncSettings's Path.\n  // @type boolean\n  @attr watch;\n  \n  // The spaces to synchronize when SyncSettings's Mode is SyncModeCustom.\n  // @type Array<string>\n  @attr spaceIds;\n  \n  @hasMany('space', { async: true, inverse: null }) spaces;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// The file synchronization state for a given space.\n// See SyncStateCollection.\nexport default class extends Model {\n  // Space's ID.\n  // @type string\n  @attr spaceId;\n  \n  // Local path to the synchronized folder.\n  // @type string\n  @attr path;\n  \n  // Status.\n  // @type SyncStatus\n  @attr status;\n  \n  @belongsTo('space', { async: true, inverse: null }) space;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// A trustee.\n// See TrusteeCollection.\nexport default class extends Model {\n  // Email.\n  // @type string\n  @attr email;\n  \n  // First name.\n  // @type string\n  @attr givenName;\n  \n  // Last name.\n  // @type string\n  @attr surname;\n  \n  // User certificate.\n  // @type * - Call `tBoxClient.decodeUint8Array()` to read the value. See Uint8Array in the getting started guide.\n  @attr certificate;\n  \n  // Has been enforced.\n  // @type boolean\n  @attr enforced;\n  \n  // True if the trustee's account has been blocked. Derives from TrusteeRecord's State. Available since v4.44.\n  // @type boolean\n  @attr blocked;\n  \n  // The trustee state. Available since v4.44.\n  // @type TrusteeState\n  @attr state;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// User agent status.\nexport default class extends Model {\n  // True while the user agent is uploading files to the server.\n  // @type boolean\n  @attr hasLocalChanges;\n  \n  // True if the user agent has failed to connect with the Cryptobox server. See UserAgent's CheckConnectivity().\n  // @type boolean\n  @attr isOffline;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\n// The status of the authenticated user account.\n// See UserStatusCollection.\nexport default class extends Model {\n  // True if the user is an administrator.\n  // @type boolean\n  @attr isAdmin;\n  \n  // Account state (active, blocked, etc.).\n  // @type UserState\n  @attr state;\n  \n  // True if the user can create spaces.\n  // @type boolean\n  @attr canCreateSpace;\n  \n  // True if the user has a personal space.\n  // @type boolean\n  @attr hasPersonalSpace;\n  \n  // True if the user can invite users.\n  // @type boolean\n  @attr canInviteUsers;\n  \n  // True if the user can use the online editor. See also ServerSettingsRecord's OnlineEditorEnabled. Both conditions must be met for the application to use the feature.\n  // @type boolean\n  @attr canEditOnline;\n  \n  // True if the user can create and upload files to backup spaces. See also ServerSettingsRecord's DeviceBackup. Both conditions must be met for the application to use the feature.\n  // @type boolean\n  @attr canBackUp;\n  \n  // The license pool of the user.\n  // @type LicensePool\n  @attr licensePool;\n  \n  // User first name.\n  // @type string\n  @attr givenName;\n  \n  // User last name.\n  // @type string\n  @attr surname;\n  \n  // Email of the enforced trustee. May be empty (no enforced trustee).\n  // @type string\n  @attr enforcedTrustee;\n  \n  // Employee ID.\n  // @type string\n  @attr employeeId;\n  \n  @belongsTo('user', { async: false, inverse: null }) inviter;\n}\n\n","// Code generated by \"libcryptobox/cmd/tool/gen\"; DO NOT EDIT.\nimport Model, { attr } from '@ember-data/model';\n\n// A registered user.\n// See UserCollection.\nexport default class extends Model {\n  // Email.\n  // @type string\n  @attr email;\n  \n  // First name.\n  // @type string\n  @attr givenName;\n  \n  // Last name.\n  // @type string\n  @attr surname;\n}\n\n","import { tBoxClient } from 'client/initializers/init-toolbox';\nimport { saveAs } from 'file-saver';\n\nclass PrivateFileWriter {\n  static async initialize() {\n    // Keep a directory handle and a list of files ready to remove in onbeforeupload.\n    this.directory = navigator.storage && navigator.storage.getDirectory && await navigator.storage.getDirectory();\n    this.entries = [];\n  }\n\n  static async removeAll() {\n    // Remove the known entries immediately.\n    // We may be in 'pagehide' and cannot await.\n    for (let name of this.entries) {\n      this.directory.removeEntry(name).catch((error) => console.error(error));\n    }\n\n    // Remove the remaining files.\n    if (!this.directory) {\n      return;\n    }\n    for await (let [_, file] of this.directory.entries()) {\n      try {\n        await this.directory.removeEntry(file.name);\n      } catch (error) {\n        console.error(error);\n      }\n    }\n  }\n\n  constructor(name) {\n    this.name = name;\n    this.file = PrivateFileWriter.directory.getFileHandle(crypto.randomUUID(), { create: true });\n    this.stream = this.file.then((file) => {\n      return file.createWritable({ keepExistingData: false });\n    });\n    this.file.then((file) => PrivateFileWriter.entries.push(file.name));\n  }\n\n  async truncate(size) {\n    let stream = await this.stream;\n    await stream.truncate(size);\n  }\n\n  write(chunk) {\n    // To prevent ESET and other antiviruses to unzip the file each time it is written we are zeroing the first chunk of data (where the \"magic number\" lies).\n    // NB.\n    // - The actual content is written in close().\n    // - For simplicity sake, this is applied indiscriminately (the file may not be a zip archive).\n    // See ECB-979.\n    if (!this.firstChunk) {\n      this.firstChunk = tBoxClient.decodeUint8Array(chunk);\n      return this.stream.then((stream) => stream.write(new Uint8Array(this.firstChunk.byteLength)));\n    }\n    return this.stream.then((stream) => stream.write(tBoxClient.decodeUint8Array(chunk)));\n  }\n\n  async close(error) {\n    if (this.closed) {\n      return;\n    }\n    let stream = await this.stream;\n    if (this.firstChunk && !error) {\n      await stream.write({ type: 'write', position: 0, data: this.firstChunk });\n    }\n    await stream.close();\n    if (error) {\n      let file = await this.file;\n      await PrivateFileWriter.directory.removeEntry(file.name);\n    } else {\n      let file = await this.file;\n      setTimeout(() => PrivateFileWriter.directory.removeEntry(file.name), 4E4); // 40s\n      let blob = await file.getFile();\n      saveAs(blob, this.name);\n    }\n    this.closed = true;\n  }\n}\n\nPrivateFileWriter.initialize();\n\nexport default PrivateFileWriter;\n","export default function(){\n  this.transition(\n    this.hasClass('popover-tether'),\n    this.use('fade', {duration: 200 })\n  );\n}","import { tBoxClient } from \"client/initializers/init-toolbox\";\nimport { NODE_NAME_ERROR } from \"./enums\";\n\nasync function checkName(currentName, newName) {\n  let error = false;\n\n  if (currentName === newName) {\n    error = NODE_NAME_ERROR.NO_CHANGE;\n  } else if (newName === \"\") {\n    error = NODE_NAME_ERROR.EMPTY;\n  } else if (!(await tBoxClient.validation.isNameValid(newName))) {\n    if (newName === \".\" || newName === \"..\") {\n      error = NODE_NAME_ERROR.FORBIDDEN;\n    } else if (newName.length > 254) {\n      error = NODE_NAME_ERROR.TOO_LONG;\n    } else {\n      error = NODE_NAME_ERROR.SLASH;\n    }\n  }\n\n  return error;\n}\n\nexport default checkName;\n","/**\n * clearStorage is a function for clearing localStorage or sessionStorage\n * @param {Object} args - The arguments object\n * @param {string[]} args.toKeep - Array of keys to keep\n * @param {string[]} args.toRemove - Array of keys to remove\n * @param {string} [args.storageType='localStorage'] - Type of storage: 'localStorage' or 'sessionStorage'\n */\nexport const clearStorage = (args = {}) => {\n  const {\n    toKeep = [],\n    toRemove = [],\n    storageType = 'localStorage'\n  } = args\n  const storage = storageType === 'sessionStorage' ? sessionStorage : localStorage;\n\n  Object.keys(storage).forEach(key => {\n    if ((toRemove.length === 0 || toRemove.includes(key)) && !toKeep.includes(key)) {\n      storage.removeItem(key);\n    }\n  });\n};\n","export const FILE_SUBSCRIPTION_TYPE = {\n  MODIFICATIONS: \"MODIFICATIONS\",\n  DOWNLOADS: \"DOWNLOADS\",\n};\n\nexport const AUTOMATIC_LOGOUT_COUNTDOWN_SEC = 30;","import { DateTime } from 'luxon';\n\n/**\n * Adds a specified number of days to a given date.\n *\n * @param {Date|string} date - The date to which days are added. It can be a JavaScript Date object or a string in ISO 8601 format.\n * @param {number} days - The number of days to add.\n * @returns {string|null} A new ISO 8601 formatted string representing the date after adding the specified number of days, or null if the date is invalid.\n * @throws {Error} If the input date is not a valid Date object or ISO 8601 string.\n *\n * @example\n * // Example Usage:\n * // Adds 1 day to '2020-01-01T00:00:00.000Z', result is a ISO 8601 formatted string representing '2020-01-02T00:00:00.000Z'\n * const result = addDaysToDate('2020-01-01T00:00:00.000Z', 1);\n * console.log(result);\n */\nexport function addDaysToDate(date, days) {\n  if (!date) return;\n  if (!days) return date;\n\n  try {\n    const parsedDate = DateTime.fromJSDate(date).plus({ days });\n    return parsedDate.toJSDate();\n  } catch (error) {\n    throw new Error(\n      'Invalid date input. Please provide a valid Date object or ISO 8601 formatted string.'\n    );\n  }\n}\n","import libcryptobox from \"../toolbox/generated/client/libcryptobox\";\nconst { AlreadyRegistered, EmailNotAllowed, InvalidEmail } =\n  libcryptobox.ErrorCode;\n\nexport const USER_ROLES = {\n  [libcryptobox.Role.Viewer]: {\n    label: \"members.member.role.viewer\",\n    value: libcryptobox.Role.Viewer,\n    disabled: false,\n  },\n  [libcryptobox.Role.Auditor]: {\n    label: \"members.member.role.auditor\",\n    value: libcryptobox.Role.Auditor,\n    disabled: false,\n  },\n  [libcryptobox.Role.Member]: {\n    label: \"members.member.role.member\",\n    value: libcryptobox.Role.Member,\n    disabled: false,\n  },\n  [libcryptobox.Role.Owner]: {\n    label: \"members.member.role.owner\",\n    value: libcryptobox.Role.Owner,\n    disabled: false,\n  },\n};\n\nexport const URL_LEGAL_CRYPTOBOX = \"https://legal.cryptobox.com\";\nexport const URL_CRYPTOBOX = {\n  FR: {\n    CGU: `${URL_LEGAL_CRYPTOBOX}/cgu-fr.html`,\n    PRIVACY_POLICY: `${URL_LEGAL_CRYPTOBOX}/confidentialite-cryptobox.html`,\n  },\n  EN: {\n    CGU: `${URL_LEGAL_CRYPTOBOX}/cgu-en.html`,\n    PRIVACY_POLICY: `${URL_LEGAL_CRYPTOBOX}/privacy-cryptobox.html`,\n  },\n};\n\n// REGISTER\nexport const REGISTER_ERRORS = [\n  AlreadyRegistered,\n  EmailNotAllowed,\n  InvalidEmail,\n];\nexport const REGISTER_ERROR_MESSAGE_BINDING = {\n  [AlreadyRegistered]: \"signup.errors.email.unavailable\",\n  [EmailNotAllowed]: \"signup.errors.email.notAllowed\",\n  [InvalidEmail]: \"signup.errors.email.tooLong\",\n};\n\n// Modal name\nexport const LICENCES_VALIDATION_MODAL_NAME = \"cluf\";\nexport const DEVICE_KEY_ASSOCIATION_MODAL_NAME =\n  \"DEVICE_KEY_ASSOCIATION_MODAL_NAME\";\nexport const ENFORCED_TRUSTEES_MODAL_NAME = \"enforcedTrustee\";\n\n// Security Levels\nexport const SECURITY_LEVELS_CONFIRM_REMOVE_MODAL_NAME =\n  \"SECURITY_LEVELS_CONFIRM_REMOVE_MODAL_NAME\";\n\nexport const SECURITY_LEVEL_COLOR = {\n  RED: \"red\",\n  ORANGE: \"orange\",\n  GREEN: \"green\",\n};\n\n// FILE TYPES\nexport const FILE_TYPE = {\n  PDF: \"Adobe Portable Document Format\",\n  IMAGE: \"Image File\"\n};\n\nexport const FILE_TYPE_WITH_PREVIEW_LIST = [FILE_TYPE.PDF, FILE_TYPE.IMAGE];\n\nexport const RENAME_NODE_MODAL_NAME = \"RENAME_NODE_MODAL_NAME\";\nexport const NODE_EXTENSION_CHANGE_MODAL_NAME =\n  \"NODE_EXTENSION_CHANGE_MODAL_NAME\";\n\nexport const NODE_NAME_ERROR = {\n  NO_CHANGE: \"NO_CHANGE\",\n  EMPTY: \"EMPTY\",\n  FORBIDDEN: \"FORBIDDEN\",\n  TOO_LONG: \"TOO_LONG\",\n  SLASH: \"SLASH\",\n  NODE_CONFLICT: \"NODE_CONFLICT\",\n};\n\nexport const DELETE_WORKSPACE_MODAL_NAME = \"DELETE_WORKSPACE_MODAL_NAME\";\n\nexport const DOWNLOAD_TYPE = {\n  FILE: \"FILE\",\n  ZIP: \"ZIP\",\n};\n","export default function getBrowserInfo() {\n  let ua = navigator.userAgent,\n    tem,\n    browser = {\n      name: \"\",\n      version: 0,\n    };\n  let M;\n  M =\n    ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) ||\n    [];\n  if (/trident/i.test(M[1])) {\n    tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\n    browser.name = \"IE\";\n    browser.version = tem[1];\n    return browser;\n  }\n  if (M[1] === \"Chrome\") {\n    tem = ua.match(/\\b(OPR|Edge)\\/(\\d+)/);\n    if (tem != null) {\n      browser.name = \"Opera\";\n      browser.version = tem[2];\n      return browser;\n    }\n  }\n  M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, \"-?\"];\n  if ((tem = ua.match(/version\\/(\\d+)/i)) != null) {\n    M.splice(1, 1, tem[1]);\n  }\n  browser.name = M[0];\n  browser.version = M[1];\n  return browser;\n}\n","export default function getDepositBoxStateColor() {\n  return [\n    {\n      value: { background: 'var(--grey-0, #F2F3F8)', text: 'inherit' },\n      label: 'empty',\n    },\n    {\n      value: { background: '#FFF4D6', text: '#8D6B07' },\n      label: 'populatedRead',\n    },\n    {\n      value: { background: 'var(--green-light, #E5FBF0)', text: 'inherit' },\n      label: 'populatedProcessed',\n    },\n  ];\n}\n","export default function getDepositBoxStateFilters(intl) {\n  return [\n    {\n      value: 'none',\n      label: intl.t('depositBox.badge.all'),\n    },\n    {\n      value: 'empty',\n      label: intl.t('depositBox.badge.empty'),\n    },\n    {\n      value: 'populatedRead',\n      label: intl.t('depositBox.badge.populatedUnreadOrPopulatedRead'),\n    },\n    {\n      value: 'populatedProcessed',\n      label: intl.t('depositBox.badge.populatedProcessed'),\n    }\n  ];\n}\n","export default function getDocumentItemId(spaceId, path) {\n  return `${spaceId}:${path}`;\n}\n","import { MODAL_TYPES } from \"../components/enforced-trustee/modal/component\";\n/* global libcryptobox */\n\n/*\n* @param enforcedTrusteesStatus\n* */\nexport default function getEnforcedTrusteeModalType(enforcedTrusteesStatus) {\n  if (!enforcedTrusteesStatus) {\n    return;\n  }\n\n  // see toolbox/doc/docs/Reference/Structs/TrusteeStatus.md\n  const { enforcedTrusteeStatus, inviteeTrusteeStatus } =\n    enforcedTrusteesStatus;\n\n  const { EnforcedTrusteeStatus, InviteeTrusteeStatus } = libcryptobox;\n  const userRequired = [\n    EnforcedTrusteeStatus.AdditionRequired,\n    EnforcedTrusteeStatus.ReplacementRequired,\n  ];\n  const inviterRequired = [InviteeTrusteeStatus.AdditionRequired];\n\n  if (\n    userRequired.includes(enforcedTrusteeStatus) &&\n    inviterRequired.includes(inviteeTrusteeStatus)\n  ) {\n    return MODAL_TYPES.BOTH;\n  } else if (\n    userRequired.includes(enforcedTrusteeStatus) &&\n    !inviterRequired.includes(inviteeTrusteeStatus)\n  ) {\n    return MODAL_TYPES.USER_ONLY;\n  } else if (\n    !userRequired.includes(enforcedTrusteeStatus) &&\n    inviterRequired.includes(inviteeTrusteeStatus)\n  ) {\n    return MODAL_TYPES.INVITER_ONLY;\n  } else {\n    // IF both status are OK (or \"RemovalRequired\" or \"CleanUpRequired\" for user trustee)\n    return null;\n  }\n\n}\n","/* global libcryptobox */\nexport function getFilterFileHistory(intl) {\n  return [\n    {\n      value: 'none',\n      label: intl.t('fileHistory.filterBy.all'),\n    },\n    {\n      value: libcryptobox.FileHistoryAction.Add,\n      label: intl.t('fileHistory.filterBy.add'),\n    },\n    {\n      value: libcryptobox.FileHistoryAction.Move,\n      label: intl.t('fileHistory.filterBy.move'),\n    },\n    {\n      value: libcryptobox.FileHistoryAction.Modify,\n      label: intl.t('fileHistory.filterBy.modify'),\n    },\n    {\n      value: libcryptobox.FileHistoryAction.Rename,\n      label: intl.t('fileHistory.filterBy.rename'),\n    },\n    {\n      value: libcryptobox.FileHistoryAction.Delete,\n      label: intl.t('fileHistory.filterBy.delete'),\n    },\n  ];\n}\n","const NOTIFICATION_ACTION = {\n  INVITE: 'invite',\n  ROLE_CHANGE: 'role_change',\n  UNINVITE: 'uninvite',\n  CHOOSE_DEPOSITARY: 'choose_depositary',\n  ADMIN_USER_VALIDATION: 'admin_user_validation',\n  INVITE_REGISTERED: 'invitee_registered',\n  DOWNLOAD: 'download',\n  ADD: 'add',\n  MODIFY: 'modify',\n  RENAME: 'rename',\n  DELETE: 'delete',\n  DELETE_WS: 'workspace_owner_delete',\n  DELETE_ADMIN_WS: 'workspace_admin_delete',\n  DELETE_USER: 'user_admin_delete',\n  SHARING_DOWNLOAD: 'sharing_download',\n  DEPOSIT_BOX: 'deposit_box_populated',\n  DEPOSIT_BOX_MAX_CODE_ATTEMPTS_REACHED:\n    'deposit_box_max_code_attempts_reached',\n  SHARE_MAX_CODE_ATTEMPTS_REACHED: 'share_max_code_attempts_reached',\n  UNKNOWN: 'unknown',\n};\n\nconst NOTIFICATION_ACTION_FILE_LIST = [\n  NOTIFICATION_ACTION.ADD,\n  NOTIFICATION_ACTION.RENAME,\n  NOTIFICATION_ACTION.DELETE,\n];\n\nconst CONTENT_TYPE = {\n  FILE: 'file',\n  DIRECTORY: 'directory',\n};\n\nconst NOTIFICATION_ACTION_ICON_MAP = {\n  [NOTIFICATION_ACTION.INVITE]: 'add-member',\n  [NOTIFICATION_ACTION.ROLE_CHANGE]: 'change-member-right',\n  [NOTIFICATION_ACTION.UNINVITE]: 'remove-member',\n  [NOTIFICATION_ACTION.CHOOSE_DEPOSITARY]: 'depositary',\n  [NOTIFICATION_ACTION.ADMIN_USER_VALIDATION]: 'admin-validation-pending',\n  [NOTIFICATION_ACTION.INVITE_REGISTERED]: 'img_invite',\n  [NOTIFICATION_ACTION.DOWNLOAD]: 'notification-ic-file',\n  [NOTIFICATION_ACTION.ADD]: {\n    [CONTENT_TYPE.FILE]: 'add-file',\n    [CONTENT_TYPE.DIRECTORY]: 'add-folder',\n  },\n  [NOTIFICATION_ACTION.RENAME]: {\n    [CONTENT_TYPE.FILE]: 'update-file',\n    [CONTENT_TYPE.DIRECTORY]: 'rename-folder',\n  },\n  [NOTIFICATION_ACTION.DELETE]: {\n    [CONTENT_TYPE.FILE]: 'delete-file',\n    [CONTENT_TYPE.DIRECTORY]: 'delete-folder',\n  },\n  [NOTIFICATION_ACTION.MODIFY]: 'update-file',\n  [NOTIFICATION_ACTION.DELETE_WS]: 'ws-deleted',\n  [NOTIFICATION_ACTION.DELETE_ADMIN_WS]: 'ws-deleted',\n  [NOTIFICATION_ACTION.DELETE_USER]: 'remove-member',\n  [NOTIFICATION_ACTION.SHARING_DOWNLOAD]: 'downloaded_file',\n  [NOTIFICATION_ACTION.DEPOSIT_BOX]: 'deposit-box',\n  [NOTIFICATION_ACTION.UNKNOWN]: 'warning_round',\n  [NOTIFICATION_ACTION.UNKNOWN]: 'warning_round',\n  [NOTIFICATION_ACTION.DEPOSIT_BOX_MAX_CODE_ATTEMPTS_REACHED]:\n    'deposit-box_blocked',\n  [NOTIFICATION_ACTION.SHARE_MAX_CODE_ATTEMPTS_REACHED]:\n    'share_blocked',\n};\n\nconst DEFAULT_ICON = 'info';\n\nexport default function getIconFromNotificationAction(action, contentType) {\n  if (NOTIFICATION_ACTION_FILE_LIST.includes(action)) {\n    return NOTIFICATION_ACTION_ICON_MAP[action][contentType];\n  }\n  return NOTIFICATION_ACTION_ICON_MAP[action]\n    ? NOTIFICATION_ACTION_ICON_MAP[action]\n    : DEFAULT_ICON;\n}\n","const MAX_LENGTH_MAILTO = 2000;\n\nfunction encodeURIMaxLength(text, maxLength) {\n  if((encodeURIComponent(text)).length <= maxLength)\n    return encodeURIComponent(text);\n\n  let encodedURI = \"\";\n  let lengthLeft = maxLength;\n\n  [...text].every(char => {\n    const encodedChar = encodeURIComponent(char);\n\n    if ((lengthLeft - encodedChar.length) >= 0) {\n      encodedURI += encodedChar;\n      lengthLeft -= encodedChar.length;\n      return true;\n    }\n\n    return false;\n  })\n\n  return encodedURI;\n}\n\nfunction getMailToWithoutBody(email = '', subject) {\n  return `mailto:${email}?subject=${encodeURIComponent(subject)}&body=`;\n}\n\nfunction getMailTo({ email, subject, body }) {\n  const mailTo = getMailToWithoutBody(email, subject);\n  return mailTo + encodeURIMaxLength(body, MAX_LENGTH_MAILTO - mailTo.length);\n}\n\nexport default getMailTo;\n","import { extensions, getIconNameFromExtension } from '../utils/icon-constants';\n\nfunction getNodeIconName(isDirectory, extension) {\n  if (isDirectory) {\n    return \"filetype/folder\";\n  } else if (extension) {\n    const icon = getIconNameFromExtension(extension, extensions);\n    if (icon) return `filetype/${icon}`;\n  }\n\n  return \"filetype/unknown\";\n}\n\nexport default getNodeIconName;\n","export default function getNotifyRightChange(currentUserStatus, newUserStatus) {\n  let notifyRightChange = false;\n  if (currentUserStatus.maximumLevel !== newUserStatus.maximumLevel) {\n    notifyRightChange = true;\n  }\n  if (currentUserStatus.personalSpace !== newUserStatus.hasPersonalSpace) {\n    notifyRightChange = true;\n  }\n  if (currentUserStatus.createSpace !== newUserStatus.canCreateSpace) {\n    notifyRightChange = true;\n  }\n  if (currentUserStatus.canInvite !== newUserStatus.canInviteUsers) {\n    notifyRightChange = true;\n  }\n\n  return notifyRightChange;\n}\n","import { DateTime } from \"luxon\";\n\nfunction getReportErrorBody({\n  server,\n  userEmail,\n  title,\n  code,\n  message,\n  details,\n}) {\n  return (\n    \"Domain: \" +\n    server +\n    \"\\nUser Agent: \" +\n    navigator.userAgent +\n    \"\\nUser: \" +\n    userEmail +\n    \"\\nDate: \" +\n    DateTime.utc().toFormat('MM/dd/yyyy, HH:mm:ss') +\n    \" (UTC)\" +\n    \"\\n\\n\\nError Title: \" +\n    title +\n    \"\\nCode: \" +\n    code +\n    \"\\nLocation hash: \" +\n    window.location.hash +\n    \"\\nMessage: \" +\n    message +\n    \"\\nCall stack: \" +\n    details\n  );\n}\n\nexport default getReportErrorBody;\n","export default function getRoleChoicesFilters(intl) {\n  return [\n    {\n      value: 'none',\n      label: intl.t('my.groups.roleplaceholder'),\n    },\n    {\n      value: 'isViewer',\n      label: intl.t('members.member.role.viewer'),\n    },\n    {\n      value: 'isReader',\n      label: intl.t('members.member.role.auditor'),\n    },\n    {\n      value: 'isMember',\n      label: intl.t('members.member.role.member'),\n    },\n    {\n      value: 'isAdmin',\n      label: intl.t('members.member.role.owner'),\n    },\n  ];\n}\n","export default function getSortingChoicesFilters(intl) {\n  return [\n    {\n      value: 0,\n      label: intl.t('my.groups.nameAsc'),\n      property: 'name',\n      order: true,\n    },\n    {\n      value: 1,\n      label: intl.t('my.groups.nameDesc'),\n      property: 'name',\n      order: false,\n    },\n    {\n      value: 2,\n      label: intl.t('my.groups.dateDesc'),\n      property: 'date',\n      order: false,\n    },\n    {\n      value: 3,\n      label: intl.t('my.groups.dateAsc'),\n      property: 'date',\n      order: true,\n    },\n  ];\n}\n","export default function getSortingDepositBoxChoicesFilters(intl) {\n  return [\n    {\n      value: 0,\n      label: intl.t('depositBox.sortingFilters.nameAsc'),\n      property: 'name',\n      order: true,\n    },\n    {\n      value: 1,\n      label: intl.t('depositBox.sortingFilters.nameDesc'),\n      property: 'name',\n      order: false,\n    },\n    {\n      value: 2,\n      label: intl.t('depositBox.sortingFilters.creationDateDesc'),\n      property: 'creationDate',\n      order: false,\n    },\n    {\n      value: 3,\n      label: intl.t('depositBox.sortingFilters.creationDateAsc'),\n      property: 'creationDate',\n      order: true,\n    },\n    {\n      value: 4,\n      label: intl.t('depositBox.sortingFilters.depositDateDesc'),\n      property: 'uploadDate',\n      order: false,\n    },\n    {\n      value: 5,\n      label: intl.t('depositBox.sortingFilters.depositDateAsc'),\n      property: 'uploadDate',\n      order: true,\n    },\n  ];\n}\n","import { tBoxClient } from 'client/initializers/init-toolbox';\n\nconst SUPPORT_EMAIL_KEY = 'support_email';\nconst SUPPORT_EMAIL = 'support@cryptobox.com';\n\nasync function getSupportEmail(isDesktopApp, serverSettings) {\n  try {\n    if (isDesktopApp) {\n      return await tBoxClient.serverSettings.getSupportEmail();\n    }\n\n    if (serverSettings && SUPPORT_EMAIL_KEY in serverSettings) {\n      return serverSettings[SUPPORT_EMAIL_KEY];\n    }\n\n    return SUPPORT_EMAIL;\n  } catch {\n    return SUPPORT_EMAIL;\n  }\n}\n\nexport default getSupportEmail;\n","export default async function getVariables() {\n  try {\n    const response = await fetch('static/variables.json');\n    if (!response.ok) throw new Error('Response not OK');\n    return await response.json();\n  } catch (error) {\n    console.error(error);\n    return {};\n  }\n}\n","export const extensions = {\n    program: [\"exe\", \"bat\", \"com\", \"msi\", \"reg\", \"pkg\", \"apk\", \"ipa\"], \n    compressed: [\"zip\", \"rar\", \"7z\", \"gz\", \"tar\"],\n    video: [\"avi\", \"mov\", \"mp4\", \"mkv\", \"flv\", \"webm\"],\n    audio: [\"mp3\", \"wave\", \"wav\", \"wma\", \"flac\", \"alac\", \"ac3\"],\n    photo: [\"jpeg\", \"jpg\", \"png\", \"gif\", \"svg\", \"tiff\", \"tif\", \"raw\", \"bmp\", \"heif\", \"heic\", \"webp\"],\n    document: [\"pdf\"],\n    text: [\"doc\", \"docx\", \"txt\", \"md\", \"odt\", \"rtf\", \"log\"],\n    presentation: [\"ppt\", \"pptx\", \"key\", \"odp\"],\n    sheet: [\"xls\", \"xlsx\", \"ods\"],\n    graphic: [\"psd\", \"ai\", \"ind\", \"ae\", \"xd\", \"eps\", \"sketch\", \"fig\"],\n    programmation: [\"html\", \"htm\", \"xml\", \"php\", \"asp\"],\n    cd_dvd: [\"iso\", \"dmg\"],\n};\n\nexport function getIconNameFromExtension(extension, extensions) {\n    if (extension) {\n        const lowercaseExtension = extension.toLowerCase();\n\n        const foundIconExtension = Object.entries(extensions).find(extensionEntry => {\n            const [iconName, iconExtensions] = extensionEntry;\n            if (iconExtensions.includes(lowercaseExtension)) return iconName;\n        });\n        \n        if (foundIconExtension) return foundIconExtension[0];\n    }\n}","export default function isAccountRegisteredInDevice(serverUrl, personalCert, accountsRegistered) {\n\treturn !!accountsRegistered?.find(({ serverUrl, certificate }) => (certificate === personalCert && serverUrl === serverUrl));\n}\n","export default function isModalOpen(remodalModal) {\n  if (!remodalModal || !remodalModal.modal) {\n    return false;\n  }\n  \n  const state = remodalModal.modal.getState();\n  return state === \"opened\" || state === \"opening\";\n}\n","\n\nexport function isToday(date) {\n  const today = new Date();\n  const compareDate = new Date(date);\n\n  return (\n    today.getDate() === compareDate.getDate() &&\n    today.getMonth() === compareDate.getMonth() &&\n    today.getFullYear() === compareDate.getFullYear()\n  );\n}\n","export default function pause(ts) {\n  return new Promise((resolve) => {\n    setTimeout(() => resolve(), ts);\n  });\n}\n","/* global libcryptobox */\n\nexport default function shouldRenderEnforcedTrusteesModal(status) {\n  const { enforcedTrusteeStatus, inviteeTrusteeStatus } = status;\n\n  return (\n    inviteeTrusteeStatus !== libcryptobox.InviteeTrusteeStatus.OK ||\n    enforcedTrusteeStatus !== libcryptobox.EnforcedTrusteeStatus.OK\n  );\n}\n","/* global libcryptobox */\n\nexport default function shouldRenderWarningNoTrusteeModal(\n  nbTrustees,\n  status,\n  checkTrustee,\n  remodalModals,\n  modalManager,\n) {\n  const { enforcedTrusteeStatus, inviteeTrusteeStatus } = status;\n\n  return (\n    nbTrustees === 0 &&\n    enforcedTrusteeStatus === libcryptobox.EnforcedTrusteeStatus.OK &&\n    inviteeTrusteeStatus === libcryptobox.InviteeTrusteeStatus.OK &&\n    checkTrustee\n    && !remodalModals.map((m) => modalManager.isModalOpen(m)).filter((b) => b).length\n  );\n}\n","import { FILE_SUBSCRIPTION_TYPE } from \"../constants\";\n\nexport default function getFileSubscriptionCollectionName(type) {\n  if (type === FILE_SUBSCRIPTION_TYPE.MODIFICATIONS) {\n    return \"fileSubscription\";\n  }\n  if (type === FILE_SUBSCRIPTION_TYPE.DOWNLOADS) {\n    return \"fileDownloadSubscription\";\n  }\n  return \"\";\n}\n","define('client/config/environment', [], function() {\n  var prefix = 'client';\ntry {\n  var metaName = prefix + '/config/environment';\n  var rawConfig = document.querySelector('meta[name=\"' + metaName + '\"]').getAttribute('content');\n  var config = JSON.parse(decodeURIComponent(rawConfig));\n\n  var exports = { 'default': config };\n\n  Object.defineProperty(exports, '__esModule', { value: true });\n\n  return exports;\n}\ncatch(err) {\n  throw new Error('Could not read config from meta tag with name \"' + metaName + '\".');\n}\n\n});\n","\n          if (!runningTests) {\n            require(\"client/app\")[\"default\"].create({\"version\":\"v4.44.201-0-g9630546\",\"poc\":{\"serverlessEditor\":false},\"LOG_BINDINGS\":false,\"name\":\"client\"});\n          }\n        \n"],"mappings":"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","ignoreList":[]}