@standardnotes/markdown-visual 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/.husky/pre-commit +4 -0
  2. package/build/asset-manifest.json +84 -18
  3. package/build/index.html +1 -1
  4. package/build/static/css/main.88024f42.css +2 -0
  5. package/build/static/css/main.88024f42.css.map +1 -0
  6. package/build/static/js/main.330241d2.js +3 -0
  7. package/build/static/js/{2.6a3180fe.chunk.js.LICENSE.txt → main.330241d2.js.LICENSE.txt} +8 -0
  8. package/build/static/js/main.330241d2.js.map +1 -0
  9. package/build/static/media/{KaTeX_AMS-Regular.73ea273a.woff2 → KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2} +0 -0
  10. package/build/static/media/{KaTeX_AMS-Regular.853be924.ttf → KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf} +0 -0
  11. package/build/static/media/{KaTeX_AMS-Regular.d562e886.woff → KaTeX_AMS-Regular.d562e886c52f12660a41.woff} +0 -0
  12. package/build/static/media/{KaTeX_Caligraphic-Bold.7489a2fb.ttf → KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf} +0 -0
  13. package/build/static/media/{KaTeX_Caligraphic-Bold.a1abf90d.woff2 → KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2} +0 -0
  14. package/build/static/media/{KaTeX_Caligraphic-Bold.d757c535.woff → KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff} +0 -0
  15. package/build/static/media/{KaTeX_Caligraphic-Regular.7e873d38.ttf → KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf} +0 -0
  16. package/build/static/media/{KaTeX_Caligraphic-Regular.d6484fce.woff2 → KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2} +0 -0
  17. package/build/static/media/{KaTeX_Caligraphic-Regular.db074fa2.woff → KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff} +0 -0
  18. package/build/static/media/{KaTeX_Fraktur-Bold.354501ba.woff → KaTeX_Fraktur-Bold.354501bac435c3264834.woff} +0 -0
  19. package/build/static/media/{KaTeX_Fraktur-Bold.4c761b37.ttf → KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf} +0 -0
  20. package/build/static/media/{KaTeX_Fraktur-Bold.931d67ea.woff2 → KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2} +0 -0
  21. package/build/static/media/{KaTeX_Fraktur-Regular.172d3529.woff2 → KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2} +0 -0
  22. package/build/static/media/{KaTeX_Fraktur-Regular.6fdf0ac5.woff → KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff} +0 -0
  23. package/build/static/media/{KaTeX_Fraktur-Regular.ed305b54.ttf → KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf} +0 -0
  24. package/build/static/media/{KaTeX_Main-Bold.0c3b8929.woff → KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff} +0 -0
  25. package/build/static/media/{KaTeX_Main-Bold.39890742.woff2 → KaTeX_Main-Bold.39890742bc957b368704.woff2} +0 -0
  26. package/build/static/media/{KaTeX_Main-Bold.8169508b.ttf → KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf} +0 -0
  27. package/build/static/media/{KaTeX_Main-BoldItalic.20f389c4.woff2 → KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2} +0 -0
  28. package/build/static/media/{KaTeX_Main-BoldItalic.428978dc.woff → KaTeX_Main-BoldItalic.428978dc7837d46de091.woff} +0 -0
  29. package/build/static/media/{KaTeX_Main-BoldItalic.828abcb2.ttf → KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf} +0 -0
  30. package/build/static/media/{KaTeX_Main-Italic.fa675e5e.ttf → KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf} +0 -0
  31. package/build/static/media/{KaTeX_Main-Italic.fd947498.woff → KaTeX_Main-Italic.fd947498bc16392e76c2.woff} +0 -0
  32. package/build/static/media/{KaTeX_Main-Italic.fe2176f7.woff2 → KaTeX_Main-Italic.fe2176f79edaa716e621.woff2} +0 -0
  33. package/build/static/media/{KaTeX_Main-Regular.4f35fbcc.woff → KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff} +0 -0
  34. package/build/static/media/{KaTeX_Main-Regular.9eba1d77.ttf → KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf} +0 -0
  35. package/build/static/media/{KaTeX_Main-Regular.f650f111.woff2 → KaTeX_Main-Regular.f650f111a3b890d116f1.woff2} +0 -0
  36. package/build/static/media/{KaTeX_Math-BoldItalic.3f07ed67.woff → KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff} +0 -0
  37. package/build/static/media/{KaTeX_Math-BoldItalic.bf2d440b.ttf → KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf} +0 -0
  38. package/build/static/media/{KaTeX_Math-BoldItalic.dcbcbd93.woff2 → KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2} +0 -0
  39. package/build/static/media/{KaTeX_Math-Italic.6d3d25f4.woff2 → KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2} +0 -0
  40. package/build/static/media/{KaTeX_Math-Italic.8a5f9363.ttf → KaTeX_Math-Italic.8a5f936332e8028c7278.ttf} +0 -0
  41. package/build/static/media/{KaTeX_Math-Italic.96759856.woff → KaTeX_Math-Italic.96759856b4e70f3a8338.woff} +0 -0
  42. package/build/static/media/{KaTeX_SansSerif-Bold.5b49f499.ttf → KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf} +0 -0
  43. package/build/static/media/{KaTeX_SansSerif-Bold.95591a92.woff2 → KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2} +0 -0
  44. package/build/static/media/{KaTeX_SansSerif-Bold.b9cd458a.woff → KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff} +0 -0
  45. package/build/static/media/{KaTeX_SansSerif-Italic.7d393d38.woff2 → KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2} +0 -0
  46. package/build/static/media/{KaTeX_SansSerif-Italic.8d593cfa.woff → KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff} +0 -0
  47. package/build/static/media/{KaTeX_SansSerif-Italic.b257a18c.ttf → KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf} +0 -0
  48. package/build/static/media/{KaTeX_SansSerif-Regular.02271ec5.woff → KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff} +0 -0
  49. package/build/static/media/{KaTeX_SansSerif-Regular.2f7bc363.ttf → KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf} +0 -0
  50. package/build/static/media/{KaTeX_SansSerif-Regular.cd5e231e.woff2 → KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2} +0 -0
  51. package/build/static/media/{KaTeX_Script-Regular.073b3402.woff → KaTeX_Script-Regular.073b3402d036714b4370.woff} +0 -0
  52. package/build/static/media/{KaTeX_Script-Regular.c81d1b2a.woff2 → KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2} +0 -0
  53. package/build/static/media/{KaTeX_Script-Regular.fc9ba524.ttf → KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf} +0 -0
  54. package/build/static/media/{KaTeX_Size1-Regular.0108e89c.woff → KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff} +0 -0
  55. package/build/static/media/{KaTeX_Size1-Regular.6de7d4b5.ttf → KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf} +0 -0
  56. package/build/static/media/{KaTeX_Size1-Regular.6eec866c.woff2 → KaTeX_Size1-Regular.6eec866c69313624be60.woff2} +0 -0
  57. package/build/static/media/{KaTeX_Size2-Regular.2960900c.woff2 → KaTeX_Size2-Regular.2960900c4f271311eb36.woff2} +0 -0
  58. package/build/static/media/{KaTeX_Size2-Regular.3a99e70a.woff → KaTeX_Size2-Regular.3a99e70aee4076660d38.woff} +0 -0
  59. package/build/static/media/{KaTeX_Size2-Regular.57f5c183.ttf → KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf} +0 -0
  60. package/build/static/media/{KaTeX_Size3-Regular.7947224e.woff → KaTeX_Size3-Regular.7947224e8a9914fa332b.woff} +0 -0
  61. package/build/static/media/{KaTeX_Size3-Regular.8d6b6822.ttf → KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf} +0 -0
  62. package/build/static/media/{KaTeX_Size3-Regular.e1951519.woff2 → KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2} +0 -0
  63. package/build/static/media/{KaTeX_Size4-Regular.4ad7c7e8.ttf → KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf} +0 -0
  64. package/build/static/media/{KaTeX_Size4-Regular.aeffd802.woff → KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff} +0 -0
  65. package/build/static/media/{KaTeX_Size4-Regular.e418bf25.woff2 → KaTeX_Size4-Regular.e418bf257af1052628d8.woff2} +0 -0
  66. package/build/static/media/{KaTeX_Typewriter-Regular.4c6b94fd.woff → KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff} +0 -0
  67. package/build/static/media/{KaTeX_Typewriter-Regular.c295e7f7.woff2 → KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2} +0 -0
  68. package/build/static/media/{KaTeX_Typewriter-Regular.c5c02d76.ttf → KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf} +0 -0
  69. package/build/static/media/material-icons-outlined.123a7ad6784163c39aaa.woff +0 -0
  70. package/build/static/media/material-icons-outlined.5d7deb03b9cecba7d247.woff2 +0 -0
  71. package/build/static/media/material-icons-round.159dc8004e17a33f287f.woff +0 -0
  72. package/build/static/media/material-icons-round.7c985a8aea387341edf9.woff2 +0 -0
  73. package/build/static/media/material-icons-sharp.25f4d306806e85bc60f6.woff2 +0 -0
  74. package/build/static/media/material-icons-sharp.77bc1b022b575be35fa7.woff +0 -0
  75. package/build/static/media/material-icons-two-tone.7e94e72135150c6b387c.woff2 +0 -0
  76. package/build/static/media/material-icons-two-tone.ee71463e28071436d096.woff +0 -0
  77. package/build/static/media/material-icons.824b570fb059ee0a44a9.woff +0 -0
  78. package/build/static/media/material-icons.aba5a2a316a1d312db26.woff2 +0 -0
  79. package/build/static/media/{roboto-all-400-normal.376ea5d9.woff → roboto-all-400-normal.376ea5d93f71583052f6.woff} +0 -0
  80. package/build/static/media/{roboto-cyrillic-400-normal.5e493812.woff2 → roboto-cyrillic-400-normal.5e493812deabd1d01e60.woff2} +0 -0
  81. package/build/static/media/{roboto-cyrillic-ext-400-normal.493afe7a.woff2 → roboto-cyrillic-ext-400-normal.493afe7ae8ecfe268800.woff2} +0 -0
  82. package/build/static/media/{roboto-greek-400-normal.1cbfc636.woff2 → roboto-greek-400-normal.1cbfc636c911faa4d0ca.woff2} +0 -0
  83. package/build/static/media/{roboto-greek-ext-400-normal.bb723e84.woff2 → roboto-greek-ext-400-normal.bb723e8458c9c653e505.woff2} +0 -0
  84. package/build/static/media/{roboto-latin-400-normal.4673b453.woff2 → roboto-latin-400-normal.4673b4537a84c7f7a130.woff2} +0 -0
  85. package/build/static/media/{roboto-latin-ext-400-normal.c3dcdbd5.woff2 → roboto-latin-ext-400-normal.c3dcdbd5bb4d4af80817.woff2} +0 -0
  86. package/build/static/media/{roboto-vietnamese-400-normal.c0bec65d.woff2 → roboto-vietnamese-400-normal.c0bec65d01f776c00c91.woff2} +0 -0
  87. package/package.json +29 -36
  88. package/build/static/css/2.4ff8d936.chunk.css +0 -2
  89. package/build/static/css/2.4ff8d936.chunk.css.map +0 -1
  90. package/build/static/css/main.f7535a78.chunk.css +0 -2
  91. package/build/static/css/main.f7535a78.chunk.css.map +0 -1
  92. package/build/static/js/2.6a3180fe.chunk.js +0 -3
  93. package/build/static/js/2.6a3180fe.chunk.js.map +0 -1
  94. package/build/static/js/main.18531fb0.chunk.js +0 -3
  95. package/build/static/js/main.18531fb0.chunk.js.LICENSE.txt +0 -5
  96. package/build/static/js/main.18531fb0.chunk.js.map +0 -1
  97. package/build/static/js/runtime-main.0f6dab54.js +0 -2
  98. package/build/static/js/runtime-main.0f6dab54.js.map +0 -1
  99. package/build/static/media/material-icons-outlined.aa80805e.woff2 +0 -0
  100. package/build/static/media/material-icons-outlined.cb25b054.woff +0 -0
  101. package/build/static/media/material-icons-round.6289913a.woff +0 -0
  102. package/build/static/media/material-icons-round.c6c09358.woff2 +0 -0
  103. package/build/static/media/material-icons-sharp.aa2aae2f.woff +0 -0
  104. package/build/static/media/material-icons-sharp.b906db22.woff2 +0 -0
  105. package/build/static/media/material-icons-two-tone.04411cba.woff +0 -0
  106. package/build/static/media/material-icons-two-tone.a70ec3e7.woff2 +0 -0
  107. package/build/static/media/material-icons.6b3adb7e.woff +0 -0
  108. package/build/static/media/material-icons.6c307c85.woff2 +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../EditorKit/webpack/universalModuleDefinition","../webpack:/EditorKit/webpack/runtime/create fake namespace object","../EditorKit/node_modules/@standardnotes/component-relay/dist/dist.js","../webpack:/EditorKit/external \"filesafe-js\"","../EditorKit/webpack/bootstrap","../webpack:/EditorKit/webpack/runtime/compat get default export","../webpack:/EditorKit/webpack/runtime/define property getters","../webpack:/EditorKit/webpack/runtime/hasOwnProperty shorthand","../webpack:/EditorKit/webpack/runtime/make namespace object","../EditorKit/src/utils.ts","../EditorKit/src/fileLoader.ts","../EditorKit/src/textExpander.ts","../EditorKit/src/fileSafeHtml.ts","../EditorKit/src/editorKit.ts","../FilesafeJS/filesafe.min.js","components/SplitView/index.tsx","components/Milkdown/plugins/advanced-menu/config.ts","components/Milkdown/plugins/advanced-menu/manager.ts","components/Milkdown/plugins/advanced-menu/menuBar.ts","components/Milkdown/plugins/advanced-menu/button.ts","components/Milkdown/plugins/advanced-menu/select.ts","components/Milkdown/plugins/advanced-menu/divider.ts","components/Milkdown/plugins/advanced-menu/index.ts","components/Milkdown/index.tsx","components/Milkdown/editor.ts","components/CodeMirror/index.tsx","index.tsx"],"names":["__WEBPACK_EXTERNAL_MODULE__695__","self","module","exports","require","leafPrototypes","getProto","s","n","i","o","a","e","d","t","Object","defineProperty","enumerable","get","prototype","hasOwnProperty","call","default","w","SetSize","StreamItems","StreamContextItem","SaveItems","SelectItem","AssociateItem","DeassociateItem","ClearSelection","CreateItem","CreateItems","DeleteItems","SetComponentData","InstallLocalComponent","ToggleActivateComponent","RequestPermissions","PresentConflictResolution","DuplicateItem","ComponentRegistered","ActivateThemes","Reply","SaveSuccess","SaveError","ThemesActivated","KeyDown","KeyUp","Click","Web","Desktop","Mobile","Any","Item","RootKey","ItemsKey","EncryptedStorage","Note","Tag","SmartTag","Component","Editor","ActionsExtension","UserPrefs","HistorySession","Theme","Mfa","ServerExtension","FilesafeCredentials","FilesafeFileMetadata","FilesafeIntegration","ExtensionRepo","Pinned","Archived","Locked","UserModifiedDate","DefaultEditor","MobileRules","NotAvailableOnMobile","MobileActive","LastSize","PrefersPlainEditor","ComponentInstallError","r","Uint8Array","c","crypto","getRandomValues","bind","msCrypto","Error","m","l","test","h","push","toString","substr","y","S","b","I","p","random","rng","arguments","length","toLowerCase","TypeError","u","v","g","f","window","console","isSupported","this","enabled","log","error","k","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","E","forEach","C","getOwnPropertyDescriptors","defineProperties","value","configurable","writable","Shift","Ctrl","Meta","activeThemes","acceptsThemes","targetWindow","contentWindow","processParameters","registerMessageHandler","registerKeyboardEventListeners","registerMouseEventListeners","initialPermissions","options","onReady","onThemesChange","coallesedSaving","coallesedSavingDelay","component","onReadyCallback","onThemesChangeCallback","debug","messageQueue","sentMessages","lastStreamedItem","pendingSaveItems","pendingSaveTimeout","pendingSaveParams","messageHandler","document","removeEventListener","keyDownEventListener","keyUpEventListener","clickEventListener","info","data","referrer","URL","origin","JSON","parse","action","handleMessage","addEventListener","concat","key","ctrlKey","keyDownEvent","shiftKey","metaKey","keyUpEvent","mouseClickEvent","sessionKey","componentData","activateThemes","themes","original","messageId","title","replace","callback","environment","platform","uuid","requestPermissions","postMessage","activeThemeUrls","generateUUID","api","stringify","isRunningInMobileApplication","parent","permissions","sort","includes","deactivateTheme","createElement","id","btoa","href","type","rel","media","className","getElementsByTagName","appendChild","Array","from","getElementsByClassName","slice","find","themeElementForUrl","parentNode","setAttribute","removeChild","content_types","items","item","clearTimeout","performSavingOfItems","jsonObjectForItem","content_type","associateItem","map","deleteItems","saveItems","saveItemsWithPresave","presave","setTimeout","concernTimeouts","alert","width","height","keyboardModifier","assign","children","content","appData","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","getPrototypeOf","obj","mode","then","ns","create","def","current","indexOf","getOwnPropertyNames","definition","prop","Symbol","toStringTag","sleep","async","Promise","resolve","seconds","FileLoader","constructor","fileTypeForElementType","fileTypeToElementType","loadFileSafeElements","elements","getElementsBySelector","element","loadFileSafeElement","fsElement","fileSafeInstance","fsid","getAttribute","fsName","fileNameDisplay","existingMapping","uuidToFileTempUrlAndTypeMapping","insertMediaElement","url","fileType","currentlyLoadingIds","descriptor","findFileDescriptor","setStatus","status","removable","selectorSyntax","querySelectorAll","downloadFileFromDescriptor","catch","fileItem","decryptFile","fileDescriptor","tempUrl","createTemporaryFileUrl","base64Data","decryptedData","dataType","splice","mediaElement","createImageElement","createVideoElement","createAudioElement","createDownloadElement","insertElementNearElement","remove","wrapElementInTag","tagName","tag","append","image","elementWidth","elementHeight","video","source","link","textContent","audio","existingStatusElement","statusElementMapping","style","fontWeight","userSelect","insertStatusAtCursor","identifier","Math","substring","removeCursorStatus","domNodeToInsert","inVicinityOfElement","processedElement","preprocessElement","insertionType","paragraphAncestor","closest","insertElement","TextExpander","onKeyUp","isEnter","isPaste","isSpace","searchPatterns","searchPreviousLine","params","text","getPreviousLineText","getCurrentLineText","patterns","pattern","match","regex","exec","matchedText","replaceWith","replaceSelection","replacement","beforeExpand","replaceText","afterExpand","FileSafeSyntaxPattern","expandedFileSafeSyntax","html","fileSafeSyntaxToHtmlElement","insertionSyntaxForFileDescriptor","fileName","syntax","components","split","name","size","sizeString","dimensions","EditorKitBase","delegate","connectToBridge","supportsFileSafe","fileSafeLoading","importFileSafe","componentRelay","ComponentRelay","documentElement","classList","add","streamContextItem","isNewNoteLoad","note","previousNote","itemClass","fileSafeClass","getSFItemClass","setCurrentNote","isMetadataUpdate","ignoreNextTextChange","previousText","needsFileSafeElementLoad","onNoteValueChange","setEditorRawText","onNoteLockToggle","previousLockState","getItemAppDataValue","newLockState","clearUndoHistory","result","configureFileSafe","functionName","componentManager","addDataChangeObserver","allFileDescriptors","getAllFileDescriptors","fileIdsPendingAssociation","hasMatch","candidate","insertRawText","textExpander","fileLoader","addNewFileDescriptorHandler","onEditorKeyUp","onEditorPaste","onEditorValueChanged","domCopy","DOMParser","parseFromString","mediaElements","file","fsSyntax","join","insertAdjacentHTML","ghost","body","innerHTML","saveItemWithPresave","generateCustomPreview","preview_plain","plain","preview_html","preview","_match","limit","tmpDocument","implementation","createHTMLDocument","innerText","canUploadFiles","credentials","getAllCredentials","integrations","getAllIntegrations","cursorIdentifier","encryptAndUploadJavaScriptFileObject","canUseFileSafe","hasLegacyAccess","modules","installedModules","object","property","global","code","1","j","CryptoJS","lib","Base","extend","mixIn","init","$super","clone","WordArray","words","sigBytes","clamp","ceil","enc","Hex","parseInt","Latin1","String","fromCharCode","charCodeAt","x","Utf8","decodeURIComponent","escape","unescape","encodeURIComponent","q","BufferedBlockAlgorithm","reset","_data","_nDataBytes","_append","_process","blockSize","max","_minBufferSize","min","_doProcessBlock","Hasher","cfg","_doReset","update","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","_possibleConstructorReturn","_typeof","ReferenceError","_getPrototypeOf","setPrototypeOf","__proto__","_inherits","subClass","superClass","_setPrototypeOf","_slicedToArray","arr","isArray","iterator","_arr","_n","_d","_e","_s","_i","next","done","err","asyncGeneratorStep","gen","reject","_next","_throw","arg","_asyncToGenerator","fn","args","_classCallCheck","instance","Constructor","_defineProperties","target","props","_createClass","protoProps","staticProps","Base64","_map","charAt","abs","sin","MD5","_hash","z","A","B","D","floor","HmacMD5","EvpKDF","keySize","hasher","iterations","compute","Cipher","createEncryptor","_ENC_XFORM_MODE","createDecryptor","_DEC_XFORM_MODE","_xformMode","_key","process","ivSize","encrypt","decrypt","StreamCipher","_iv","_prevBlock","BlockCipherMode","Encryptor","Decryptor","_cipher","processBlock","encryptBlock","decryptBlock","CBC","pad","Pkcs7","unpad","BlockCipher","padding","iv","_mode","CipherParams","formatter","format","OpenSSL","ciphertext","salt","SerializableCipher","algorithm","_parse","kdf","execute","PasswordBasedCipher","F","G","H","AES","_nRounds","_keySchedule","_invKeySchedule","_doCryptBlock","sqrt","pow","SHA256","HmacSHA256","_hasher","_oKey","_iKey","M","ja","x64","Word","high","low","toX32","SHA512","N","aa","O","ba","P","ca","Q","da","R","ea","fa","T","ga","U","ha","V","Y","W","J","X","K","Z","L","$","ka","la","ia","HmacSHA512","SHA1","HmacSHA1","PBKDF2","StandardFile","SFItemTransformer","SFCryptoWeb","SFCryptoJS","SFAbstractCrypto","SFItemHistoryEntry","SFItemHistory","SFHistorySession","SFPrivileges","SFPredicate","SFItemParams","SFItem","SFSyncManager","SFStorageManager","SFSingletonManager","SFSessionHistoryManager","SFPrivilegesManager","SFModelManager","SFMigrationManager","SFHttpManager","SFAuthManager","SFAlertManager","_confirm","_alert","regeneratorRuntime","mark","_callee","wrap","_context","prev","abrupt","stop","_x","_callee2","_context2","confirm","_x2","storageManager","httpManager","alertManager","timeout","DidSignOutEvent","WillSignInEvent","DidSignInEvent","$timeout","eventHandlers","_handleAuthResponse","_changePassword","_login","_getAuthParamsForEmail","_protocolVersion","_defaultProtocolVersion","_getAuthParams","_keys","_signout","_saveKeys","handler","_","pull","event","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_callee3","_context3","setItem","mk","ak","_x3","_callee4","clearAllData","_this","_context4","_authParams","notifyEvent","_x4","_callee5","_context5","getItem","sent","t0","t1","_callee6","_context6","version","defaultProtocolVersion","_callee7","_context7","_callee8","authParams","_context8","getAuthParams","_callee9","email","extraParams","_this2","_context9","merge","getApiVersion","requestUrl","getAbsolute","response","message","_x5","_x6","_x7","locked","param","unlock","_callee12","password","strictSignin","_this3","_context12","_ref","_callee11","_message","abort","minimum","latestVersion","_message4","_context11","isLocked","lock","getAuthParamsForEmail","unlockAndResolve","pw_cost","SFJS","supportedVersions","isVersionNewerThanLibraryVersion","isProtocolVersionOutdated","confirmButtonText","supportsPasswordDerivationCost","costMinimumForVersion","computeEncryptionKeysForUser","pw","postAbsolute","_ref2","_callee10","_context10","handleAuthResponse","_x15","_x13","_x14","_x8","_x9","_x10","_x11","_x12","_this4","_ref3","_callee14","results","_context14","generateInitialKeysAndAuthParamsForUser","_ref4","_callee13","_context13","_x18","_x16","_x17","_callee17","current_server_pw","newKeys","newAuthParams","_this5","_context17","_ref5","_callee16","newServerPw","_context16","new_password","current_password","postAuthenticatedAbsolute","_ref6","_callee15","_context15","_x26","_x24","_x25","_x19","_x20","_x21","_x22","_x23","_callee18","_context18","token","saveKeys","_x27","_x28","_x29","_x30","_x31","globalScope","apiVersion","_httpRequest","_getAbsolute","_patchAbsolute","_postAuthenticatedAbsolute","_postAbsolute","_setAuthHeadersForRequest","jwtRequestHandler","_callee19","request","_context19","setRequestHeader","_x32","_callee20","onsuccess","onerror","_context20","httpRequest","_x33","_x34","_x35","_x36","_callee21","_context21","_x37","_x38","_x39","_x40","_callee22","_context22","_x41","_x42","_x43","_x44","_callee23","_context23","_x45","_x46","_x47","_x48","_callee25","verb","authenticated","_this6","_args25","_context25","_ref7","_callee24","xmlhttp","_context24","XMLHttpRequest","onreadystatechange","readyState","responseText","urlForUrlAndParams","open","setAuthHeadersForRequest","send","_x54","_x55","_x49","_x50","_x51","_x52","_x53","keyValueString","modelManager","syncManager","authManager","_this7","completionHandlers","loadMigrations","didReceiveSignInEvent","signInHandler","addEventHandler","receivedLocalDataEvent","initialDataLoaded","_ref8","_callee26","dataLoadedEvent","syncCompleteEvent","completedList","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","migrationName","_context26","receivedSyncCompletedEvent","removeEventHandler","getCompletedMigrations","migrationForEncodedName","runOnlyOnce","_completed","finish","runPendingMigrations","_x56","_x57","_runMigration","_markMigrationCompleted","_getPendingMigrations","_getCompletedMigrations","_decode","_encode","_runPendingMigrations","_migrationForEncodedName","_callee27","decoded","_context27","decode","migrations","migration","_x58","registeredMigrations","_callee28","pending","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_iterator4","_step4","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_iterator7","_step7","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_iterator5","_step5","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_iterator6","_step6","_context28","getPendingMigrations","allNondummyItems","t2","customHandler","runMigration","markMigrationCompleted","t3","t4","_callee29","_context29","_x59","_callee30","_context30","atob","_x60","_callee31","rawCompleted","_context31","_callee32","completed","_iteratorNormalCompletion8","_didIteratorError8","_iteratorError8","_iterator8","_step8","_context32","encode","_callee33","_context33","running","_x61","_callee34","_this8","_context34","_x62","_x63","MappingSourceRemoteRetrieved","MappingSourceRemoteSaved","MappingSourceLocalSaved","MappingSourceLocalRetrieved","MappingSourceLocalDirtied","MappingSourceComponentRetrieved","MappingSourceDesktopInstalled","MappingSourceRemoteActionRetrieved","MappingSourceFileImport","isMappingSourceRetrieved","itemSyncObservers","itemsHash","missedReferences","uuidChangeObservers","_computeDataIntegrityHash","_getJSONDataForItems","_getAllItemsJSONData","_importItems","_removeItemLocally","_createDuplicateItemFromResponseItem","_callSyncObserverCallbackWithTimeout2","_notifySyncObserversOfModels","_mapResponseItemsToLocalModelsWithOptions","_mapResponseItemsToLocalModelsOmittingFields","_mapResponseItemsToLocalModels","_alternateUUIDForItem","oldItem","newItem","_iteratorNormalCompletion9","_didIteratorError9","_iteratorError9","_step9","_iterator9","observer","_callee35","_iteratorNormalCompletion10","_didIteratorError10","_iteratorError10","_iterator10","_step10","referencingObject","_context35","createItem","informReferencesOfUUIDChange","informModelsOfUUIDChangeForItem","referencingObjects","setIsNoLongerBeingReferencedBy","addItemAsRelationship","setItemsDirty","resolveReferencesForItem","loggingEnabled","deleted","references","setItemDirty","mapResponseItemsToLocalModels","addItem","notifyObserversOfUuidChange","_x64","oldUUID","newUUID","_iteratorNormalCompletion11","_didIteratorError11","_iteratorError11","_step11","_iterator11","potentialItemOfInterestHasChangedItsUUID","notifySyncObserversOfModels","_callee36","sourceKey","_context36","mapResponseItemsToLocalModelsWithOptions","_x65","_x66","_x67","_callee37","omitFields","_context37","_x68","_x69","_x70","_x71","_callee38","_ref9","models","processedObjects","modelsToNotifyObserversOf","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_iterator12","_step12","json_obj","isMissingContent","_iteratorNormalCompletion15","_didIteratorError15","_iteratorError15","_iterator15","_step15","contentType","isDirtyItemPendingDelete","_iteratorNormalCompletion13","_didIteratorError13","_iteratorError13","_iterator13","_step13","_step13$value","index","_json_obj","model","missedRefs","_iteratorNormalCompletion14","_didIteratorError14","_iteratorError14","_loop","_iterator14","_step14","_context38","errorDecrypting","findItem","updateFromJSON","dummy","acceptableContentTypes","dirty","removeItemLocally","entries","didFinishSyncing","popMissedReferenceStructsForObjects","ref","reference_uuid","for_item","_x72","referenceId","objectId","objects","toDelete","uuids","genericUuidLength","_i2","_keys2","candidateKey","_i3","_toDelete","markReferencesDirty","contentObject","updateLocalRelationships","referencesIds","includeBlanks","referencesObjectResults","findItems","_iteratorNormalCompletion16","_didIteratorError16","_iteratorError16","_step16","_iterator16","_step16$value","referencedItem","missingRefId","mappingKey","missedReferenceBuildKey","missedRef","_callee39","observers","_iteratorNormalCompletion17","_didIteratorError17","_iteratorError17","_loop2","_iterator17","_step17","_this9","_context40","priority","allRelevantItems","validItems","deletedItems","_iteratorNormalCompletion18","_didIteratorError18","_iteratorError18","_iterator18","_step18","_context39","types","_callSyncObserverCallbackWithTimeout","delegateYield","_x73","_x74","_x75","_callee40","_this10","_context41","_x76","_x77","_x78","_x79","_x80","_x81","updateClientDate","_iteratorNormalCompletion19","_didIteratorError19","_iteratorError19","_step19","_iterator19","setDirty","ContentTypeClassMapping","_callee41","itemResponse","itemResponseCopy","duplicate","_context42","_x82","duplicateOf","duplicateItemWithCustomContentAndAddAsConflict","_ref10","copy","duplicateItemWithCustomContent","addDuplicatedItemAsConflict","_ref11","addDuplicatedItem","conflict_of","_ref12","created_at","duplicateItemWithoutAdding","_iteratorNormalCompletion20","_didIteratorError20","_iteratorError20","_step20","_iterator20","globalOnly","addItems","_this11","addItemSyncObserverWithPriority","_ref13","_iteratorNormalCompletion21","_didIteratorError21","_iteratorError21","_step21","_iterator21","_iteratorNormalCompletion22","_didIteratorError22","_iteratorError22","_step22","_iterator22","reference","relationship","removeItemAsRelationship","hasRelationshipWithItem","_iteratorNormalCompletion23","_didIteratorError23","_iteratorError23","_step23","_iterator23","relevantItems","allItems","removeAndDirtyAllRelationshipsForItem","_callee42","_context43","isBeingRemovedLocally","_x83","contentTypes","itemId","ids","_iteratorNormalCompletion24","_didIteratorError24","_iteratorError24","_step24","_iterator24","predicate","itemsMatchingPredicates","predicates","filterItemsWithPredicates","_iteratorNormalCompletion25","_didIteratorError25","_iteratorError25","_step25","_iterator25","satisfiesPredicate","_callee43","externalItems","itemsToBeMapped","localValues","_iteratorNormalCompletion26","_didIteratorError26","_iteratorError26","_iterator26","_step26","itemData","localItem","frozenValue","_iteratorNormalCompletion27","_didIteratorError27","_iteratorError27","_iterator27","_step27","_itemData","_localValues$_itemDat","_frozenValue","itemRef","_iteratorNormalCompletion28","_didIteratorError28","_iteratorError28","_iterator28","_step28","_context44","createDuplicateItemFromResponseItem","isItemContentEqualWith","_x84","_callee44","returnNullIfEmpty","_context45","getJSONDataForItems","_x85","_x86","_x87","_callee45","_context46","all","paramsForExportFile","_x88","_x89","_x90","_x91","_callee46","dates","string","hash","_context47","updated_at","updatedAtTimestamp","sha256","singletonManager","loadPrivileges","CredentialAccountPassword","CredentialLocalPasscode","ActionManageExtensions","ActionManageBackups","ActionViewProtectedNotes","ActionManagePrivileges","ActionManagePasscode","ActionDeleteNote","SessionExpiresAtKey","SessionLengthKey","SessionLengthNone","SessionLengthFiveMinutes","SessionLengthOneHour","SessionLengthOneWeek","availableActions","availableCredentials","sessionLengths","SessionLengthIndefinite","_verifyAuthenticationParameters2","_authenticateAction","_savePrivileges","_actionRequiresPrivilege","_actionHasPrivilegesConfigured","_getSessionExpirey","_getSelectedSessionLength","_clearSession","_setSessionLength","_getPrivileges","_loadPrivileges","_netCredentialsForAction","_callee47","netCredentials","_iteratorNormalCompletion29","_didIteratorError29","_iteratorError29","_iterator29","_step29","cred","_context48","getPrivileges","getCredentialsForAction","isOffline","hasLocalPasscode","_x92","_callee49","_this12","_context50","loadPromise","privsContentType","contentTypePredicate","registerSingleton","resolvedSingleton","privileges","_ref14","_callee48","valueCallback","privs","_context49","generateUUIDSync","initUUID","sync","_x93","_callee50","_context51","credential","metadata","label","prompt","_callee51","expiresAt","_context52","date","Date","setSeconds","getSeconds","saveToStorage","_x94","_callee52","_context53","setSessionLength","_callee53","_context54","getFromStorage","_callee54","_context55","_callee55","_context56","netCredentialsForAction","_x95","_callee56","_context57","getSessionExpirey","_x96","_callee57","_context58","_callee58","credentialAuthMapping","requiredCredentials","successfulCredentials","failedCredentials","_iteratorNormalCompletion30","_didIteratorError30","_iteratorError30","_iterator30","_step30","requiredCredential","_context59","_verifyAuthenticationParameters","success","_x97","_x98","_callee61","verifyAccountPassword","verifyLocalPasscode","_this13","_context62","_ref15","_callee59","_context60","_x101","_ref16","_callee60","passcode","_context61","_x102","_x99","_x100","keyRequestHandler","_this14","loadFromDisk","addItemSyncObserver","_iteratorNormalCompletion31","_didIteratorError31","_iteratorError31","_step31","_iterator31","addHistoryEntryForItem","_toggleAutoOptimize","_loadFromDisk","_saveToDisk","_toggleDiskSaving","_clearAllHistory","_clearHistoryForItem","_encryptionParams","_callee62","_context63","_this15","persistableItemParams","getContentCopy","entry","historySession","addEntryForItem","autoOptimize","optimizeHistoryForItem","diskEnabled","diskTimeout","cancel","saveToDisk","historyForItem","_callee63","_context64","clearItemHistory","_x103","_callee64","_context65","clearAllHistory","removeItem","_callee65","_context66","_callee66","encryptionParams","_this16","_context67","auth_params","paramsForSync","syncParams","_callee67","diskValue","historyValue","autoOptimizeValue","_context68","itemTransformer","decryptItem","_callee68","_context69","_this17","singletonHandlers","resolveSingletons","syncEvent","retrievedItems","savedItems","addModelUuidChangeObserver","oldModel","newModel","_iteratorNormalCompletion32","_didIteratorError32","_iteratorError32","_step32","_iterator32","singleton","ItemSatisfiesPredicates","resolveCallback","createBlock","resolutionCallback","initialLoad","_this18","_iteratorNormalCompletion33","_didIteratorError33","_iteratorError33","_step33","_loop3","singletonHandler","retrievedSingletonItems","handleCreation","pendingCreateBlockCallback","created","savedSingletonItemsCount","allExtantItemsMatchingPredicate","sorted","winningItem","_iteratorNormalCompletion34","_didIteratorError34","_iteratorError34","_step34","_iterator34","setItemToBeDeleted","_iterator33","_clearAllData","_clearAllModels","_deleteModel","_saveModels","_saveModel","_getAllModels","_clear","_removeItem","_getItem","_setItem","_callee69","_context70","_x104","_x105","_callee70","_context71","_x106","_callee71","_context72","_x107","_callee72","_context73","_callee73","_context74","_callee74","_context75","saveModels","_x108","_callee75","_context76","_x109","_callee76","_context77","_x110","_callee77","_context78","_callee78","_context79","clear","clearAllModels","dateFormatter","interval","KeyRequestLoadLocal","KeyRequestSaveLocal","KeyRequestLoadSaveAccount","$interval","setInterval","syncStatus","syncStatusObservers","PerSyncItemUploadLimit","ServerItemDownloadLimit","MajorDataChangeThreshold","MaxDiscordanceBeforeOutOfSync","syncDiscordance","outOfSync","_clearSyncToken","_handleSignout","_resolveOutOfSync","_deprecated_handleUnsavedItemsResponse","_handleConflictsResponse","_refreshErroredItems","_handleItemsResponse","_handleSyncError","_handleSyncSuccess","_awaitSleep2","_sync","_getCursorToken","_setCursorToken","_getSyncToken","_setSyncToken","_markAllItemsDirtyAndSaveOffline","_syncOffline","_writeItemsToLocalStorage","_loadLocalItems","_getActiveKeyInfo","_getSyncURL","_getServerURL","_handleServerIntegrityHash","_callee79","serverHash","localHash","_context80","computeDataIntegrityHash","_x111","_callee80","_context81","_default_sf_server","_callee81","_context82","getServerURL","_this19","_iteratorNormalCompletion35","_didIteratorError35","_iteratorError35","_step35","_iterator35","_callee82","_context83","_x112","_initialDataLoaded","_this20","dateResult","priorityList","contentTypeLoadPriority","aPriority","bPriority","_callee84","_ref17","incrementalCallback","batchSize","latency","_this21","_args85","_context85","simulateHighLatency","simulatedLatency","_awaitSleep","loadLocalDataPromise","getAllModels","total","_sortLocalItems","nonDecryptedItem","dirtiedDate","processed","decryptNext","_ref18","_callee83","subitems","processedSubitems","_context84","handleItemsResponse","innerResolve","innerReject","_callee88","offlineOnly","_this22","_context89","_ref19","_callee87","nonDeletedItems","_iteratorNormalCompletion36","_didIteratorError36","_iteratorError36","_iterator36","_step36","_context88","_ref20","_callee85","deletedItem","_context86","deleteModel","_x117","getActiveKeyInfo","_ref21","_callee86","itemParams","_context87","paramsForLocalStorage","_x118","localError","syncStatusDidChange","_x115","_x116","_x113","_x114","_callee89","_iteratorNormalCompletion37","_didIteratorError37","_iteratorError37","_iterator37","_step37","_this23","_context90","writeItemsToLocalStorage","responseItems","_iteratorNormalCompletion38","_didIteratorError38","_iteratorError38","_step38","_iterator38","clearDirtyItems","didSyncModelsOffline","saved_items","_x119","_callee90","alternateUUIDs","originalItems","_iteratorNormalCompletion39","_didIteratorError39","_iteratorError39","_iterator39","_step39","_iteratorNormalCompletion40","_didIteratorError40","_iteratorError40","_iterator40","_step40","_context91","alternateUUIDForItem","_x120","_callee91","_context92","_syncToken","_x121","_callee92","_context93","_callee93","_context94","_cursorToken","_x122","_callee94","_context95","_queuedCallbacks","allCallbacks","queuedCallbacks","_iteratorNormalCompletion41","_didIteratorError41","_iteratorError41","_step41","_iterator41","clearQueuedCallbacks","checker","stopCheckingIfSyncIsTakingTooLong","syncStart","clearInterval","syncLocked","_callee96","_this24","_args97","_context97","_ref22","_callee95","allDirtyItems","dirtyItemsNotYetSaved","isSyncInProgress","isContinuationSync","submitLimit","subItems","_iteratorNormalCompletion42","_didIteratorError42","_iteratorError42","_iterator42","_step42","_context96","getDirtyItems","lastDirtyItemsSave","syncOpInProgress","performSyncAgainOnCompletion","warn","offline","syncOffline","needsMoreSync","beginCheckingIfSyncIsTakingTooLong","onPreSyncSave","allRetreivedItems","allSavedItems","performIntegrityCheck","compute_integrity","additionalFields","itemsParams","dirtyCount","getSyncToken","sync_token","getCursorToken","cursor_token","getSyncURL","t5","handleSyncSuccess","handleSyncError","errorResponse","t6","statusCode","t7","_x123","_x124","_callee97","durationInMs","_context98","_x125","_callee98","syncedItems","allSavedUUIDs","currentRequestSavedUUIDs","itemsToClearAsDirty","_iteratorNormalCompletion43","_didIteratorError43","_iteratorError43","_iterator43","_step43","retrieved","saved","deprecated_unsaved","conflicts","conflictsNeedSync","_this25","_context99","savedResponse","retrieved_items","retrievedItem","isInPreviousSaved","isInCurrentSaved","retrievedCount","unsaved","deprecated_handleUnsavedItemsResponse","handleConflictsResponse","integrity_hash","handleServerIntegrityHash","setSyncToken","setCursorToken","majorDataChangeThreshold","callQueuedCallbacks","_x126","_x127","_x128","_callee99","_context100","_x129","_x130","_x131","_callee100","keyRequest","itemsWithErrorStatusChange","_context101","decryptMultipleItems","mapResponseItemsToLocalModelsOmittingFields","valueChanged","errorDecryptingValueChanged","_x132","_x133","_x134","_x135","_callee101","erroredItems","_context102","_callee102","_iteratorNormalCompletion44","_didIteratorError44","_iteratorError44","_iterator44","_step44","conflict","serverItemResponse","frozenContent","itemsNeedingLocalSave","_iteratorNormalCompletion45","_didIteratorError45","_iteratorError45","_iterator45","_step45","_conflict","_serverItemResponse","_localValues$_serverI","_frozenContent","tempServerItem","_tempItemWithFrozenValues","frozenContentDiffers","currentContentDiffers","duplicateLocal","duplicateServer","keepLocal","keepServer","localDuplicate","_context103","server_item","unsaved_item","client_updated_at","AreItemContentsEqual","leftContent","rightContent","keysToIgnore","keysToIgnoreWhenCheckingContentEquality","appDataKeysToIgnore","appDataKeysToIgnoreWhenCheckingContentEquality","_x136","_callee103","_iteratorNormalCompletion46","_didIteratorError46","_iteratorError46","_iterator46","_step46","mapping","dup","_context104","_x137","_this26","_ref23","_callee105","_context106","syncToken","cursorToken","_ref24","_callee104","incomingItems","_context105","incomingItem","stateless_downloadAllItems","_x140","_x138","_x139","_callee107","_this27","_context108","_ref25","_callee106","downloadedItems","itemsToMap","_iteratorNormalCompletion47","_didIteratorError47","_iteratorError47","_iterator47","_step47","downloadedItem","existingItem","_context107","duplicateItemAndAddAsConflict","_x141","_callee108","_context109","clearSyncToken","_callee109","_context110","_initUUID","_callee110","_context111","json","enc_item_key","auth_hash","_i4","_clientKeys","parsedContent","deepMerge","_client_updated_at","mapContentToLocalProperties","handleDeletedContent","contentObj","structureParams","hasRawClientUpdatedAtValue","setIsBeingReferencedBy","removeReferenceWithUuid","_iteratorNormalCompletion48","_didIteratorError48","_iteratorError48","_step48","_iterator48","domain","setDomainDataItem","AppDomain","getDomainDataItem","getAppDataItem","otherItem","ItemSatisfiesPredicate","dateToLocalizedString","getTime","Intl","DateTimeFormat","locale","navigator","languages","language","year","month","day","weekday","hour","minute","toDateString","toLocaleTimeString","set","setAppDataItem","mergeWith","objValue","srcValue","_ref26","omit","_iteratorNormalCompletion49","_didIteratorError49","_iteratorError49","_step49","_iterator49","_params","_paramsForSync","_paramsForLocalStorage","_paramsForExtension","_paramsForExportFile","_callee111","includeDeleted","_context112","forExportFile","__params","_x142","_callee112","_context113","_callee113","_context114","_callee114","_context115","_callee115","doNotEncrypt","encryptedParams","_context116","encryptItem","createContentJSONFromProperties","base64","pick","keypath","operator","IsRecursiveOperator","fromArray","array","_iteratorNormalCompletion50","_didIteratorError50","_iteratorError50","_step50","_iterator50","subPredicate","ObjectSatisfiesPredicate","_iteratorNormalCompletion51","_didIteratorError51","_iteratorError51","_step51","_iterator51","predicateValue","DateFromString","valueAtKeyPath","reduce","previous","falseyValues","NaN","undefined","startsWith","resolveIncludesPredicate","RegExp","innerPredicate","_iteratorNormalCompletion52","_didIteratorError52","_iteratorError52","_step52","_iterator52","_iteratorNormalCompletion53","_didIteratorError53","_iteratorError53","_step53","_iterator53","comps","unit","offset","setDate","getDate","setHours","getHours","_SFItem","_this28","desktopPrivileges","isCredentialRequiredForAction","removeCredentialForAction","addCredentialForAction","setCredentialsForAction","_SFItem2","_this29","itemUUIDToItemHistoryMapping","itemUUID","itemHistory","history","LargeItemEntryAmountThreshold","optimize","_iteratorNormalCompletion54","_didIteratorError54","_iteratorError54","_step54","_iterator54","entryParams","createEntryForItem","setPreviousEntry","getLastEntry","historyItemClass","HistoryEntryClassMapping","prospectiveEntry","previousEntry","isSameAsEntry","_this30","keepEntries","isEntrySignificant","deltaSize","LargeEntryDeltaThreshold","processEntry","keep","operationVector","significant","defaultContentKeyToDiffOn","textCharDiffLength","hasPreviousEntry","lhs","rhs","DefaultPBKDF2Length","_generateInitialKeysAndAuthParamsForUser","_computeEncryptionKeysForUser","_generateSymmetricKeyPair","_generateSalt","_hmac","_sha","_base64Decode","_base","_secondHalfOfKey","_firstHalfOfKey","_generateItemEncryptionKey","_generateRandomKey","_encryptText","_decryptText","_generateUUID","buf","Uint32Array","idx","performance","now","_callee116","_context117","strA","strB","lenA","_callee117","_ref27","ciphertextToAuth","contentCiphertext","encryptionKey","authHash","authKey","localAuthHash","keyData","ivData","decrypted","_args118","_context118","hmac256","timingSafeEqual","_callee118","encrypted","_context119","_x143","_x144","_x145","_callee119","bits","_context120","_x146","_callee120","cost","passphrase","_context121","generateRandomKey","pbkdf2","_callee121","_context122","_x147","_callee122","_context123","_x148","_callee123","_context124","p1","_x149","_callee124","base64String","_context125","_x150","_callee125","_context126","_x151","_callee126","messageData","_context127","_x152","_x153","_callee127","nonce","_context128","_x154","_x155","_x156","_x157","_callee128","_ref28","pw_salt","output","outputLength","splitLength","firstThird","secondThird","thirdThird","_args129","_context129","_callee129","_context130","generateSalt","pw_nonce","generateSymmetricKeyPair","_x158","_x159","_callee130","_context131","defaultPasswordGenerationCost","_x160","_x161","_SFAbstractCrypto","_pbkdf","_callee131","_context132","_x162","_x163","_x164","_x165","subtleCrypto","subtle","_SFAbstractCrypto2","_arrayBufferToBase","_base64ToArrayBuffer","_hexStringToArrayBuffer","_arrayBufferToHexString","_arrayBufferToString","_stringToArrayBuffer","_webCryptoDeriveBits","_webCryptoImportKey","_hmac2","_decryptText2","_encryptText2","_generateItemEncryptionKey2","_generateRandomKey2","_pbkdf2","_callee132","_context133","webCryptoImportKey","webCryptoDeriveBits","_x166","_x167","_x168","_x169","_callee134","_this31","_context135","generateKey","keyObject","exportKey","_ref29","_callee133","_context134","arrayBufferToHexString","_x171","_x170","_callee135","_context136","values","_callee137","alg","keyBuffer","textData","_this32","_context138","hexStringToArrayBuffer","ArrayBuffer","stringToArrayBuffer","_ref30","_callee136","cipher","_context137","arrayBufferToBase64","_x175","_x172","_x173","_x174","_callee139","_ref31","_this33","_args140","_context140","base64ToArrayBuffer","_ref32","_callee138","_context139","arrayBufferToString","_x176","_callee141","keyHexData","_this34","_context142","sign","_ref33","_callee140","signature","_context141","_x179","_x177","_x178","_callee142","input","actions","_context143","importKey","_x180","_x181","_x182","_x183","_callee144","_this35","_context145","deriveBits","_ref34","_callee143","_context144","_x188","_x184","_x185","_x186","_x187","_callee145","_context146","blob","Blob","FileReader","onload","readAsArrayBuffer","_x189","_callee146","arrayBuffer","_context147","readAsText","_x190","_callee147","byteArray","hexString","nextHexByte","_context148","byteLength","_x191","_callee148","hex","bytes","_context149","_x192","_callee149","binary_string","len","_context150","base64Decode","buffer","_x193","_callee150","_context151","reader","evt","dataurl","readAsDataURL","_x194","_decryptMultipleItems","_decryptItem","_encryptItem","_private_encryptString2","_callee151","fullCiphertext","authParamsString","_context152","encryptText","_x195","_x196","_x197","_x198","_x199","_callee152","item_key","ek","_context153","generateItemEncryptionKey","_private_encryptString","firstHalfOfKey","secondHalfOfKey","_x200","_x201","_x202","encryptionVersion","_callee153","encryptedItemKey","requiresAuth","keyParams","_context154","encryptionComponentsFromString","decryptText","_x203","_x204","_callee155","_throws","_this36","_context156","_ref35","_callee154","_context155","_x208","_x205","_x206","_x207","cryptoInstance","documentMode","userAgent","libraryVersion","001","002","003","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","inModule","runtime","ContinueSentinel","IteratorPrototype","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","displayName","isGeneratorFunction","genFun","ctor","awrap","__await","defineIteratorMethods","AsyncIterator","innerFn","outerFn","tryLocsList","iter","reverse","pop","Context","skipTempReset","_sent","method","tryEntries","resetTryEntry","isNaN","rootRecord","completion","rval","dispatchException","exception","context","handle","loc","caught","record","tryLoc","hasCatch","hasFinally","catchLoc","finallyLoc","finallyEntry","complete","afterLoc","thrown","iterable","resultName","nextLoc","protoGenerator","generator","_invoke","state","delegateResult","maybeInvokeDelegate","tryCatch","previousPromise","callInvokeWithMethodAndArg","invoke","unwrapped","return","pushTryEntry","locs","iteratorMethod","doneResult","Function","__WEBPACK_AMD_DEFINE_RESULT__","has","__data__","Dn","Bn","Pn","Ln","Ne","mt","ae","Bt","tn","Vt","ot","Fn","et","dt","ut","In","Zt","xn","Yt","Oe","At","pt","ht","On","tt","xt","Ze","Ce","Ct","lt","byteOffset","Ge","delete","An","ne","Ot","kt","Qt","Xt","ue","Dt","Sn","Pt","rt","Rt","Jt","Lt","En","zt","Wt","wn","fe","Mt","Mn","Kt","He","nt","at","ft","bt","Et","yt","iteratee","re","jt","gt","Ve","Te","de","It","St","mn","Je","ve","lastIndex","wt","Ye","we","be","se","De","un","Le","Ft","Gt","$t","Xe","Ut","cache","Cache","Nt","Re","Tt","qt","Ht","le","valueOf","ye","Ae","ke","ge","on","te","ee","oe","ce","ie","he","pe","je","me","Se","ze","xe","Ie","Fe","nodeType","Ee","Me","$e","binding","Ue","isTypedArray","Be","Pe","IE_PROTO","We","Buffer","qe","Ke","Qe","propertyIsEnumerable","isConcatSpreadable","en","nn","rn","isBuffer","cn","an","ln","sn","bn","hn","pn","yn","jn","vn","gn","dn","kn","zn","$n","Un","Nn","Vn","Cn","Rn","constant","flatten","keysIn","memoize","pullAll","toPlainObject","uniq","cloneDeep","eq","findIndex","hasIn","identity","isArguments","isArrayLike","isArrayLikeObject","isFunction","isLength","isObject","isObjectLike","isPlainObject","isString","isSymbol","last","stubArray","stubFalse","noop","sortedIndexBy","toFinite","toInteger","toNumber","VERSION","webpackPolyfill","deprecate","paths","__webpack_exports__","Filesafe_Filesafe","sfjs","_createForOfIteratorHelper","allowArrayLike","it","minLen","_arrayLikeToArray","normalCompletion","didErr","step","_e2","arr2","_defineProperty","ExtensionBridge_ExtensionBridge","ExtensionBridge","updateObservers","_saveItems","_saveItem","_handleStreamItemsMessage","getEnvironment","filterItems","FileDescriptorContentTypeKey","FileSafeCredentialsContentType","FileSafeIntegrationContentTypeKey","streamItems","handleStreamItemsMessage","removeItemFromItems","indexOfItem","notifyObserversOfEvent","BridgeEventReceivedItems","createItems","createdItems","BridgeEventSavedItem","RelayManager_asyncGeneratorStep","RelayManager_asyncToGenerator","RelayManager_defineProperties","RelayManager_RelayManager","RelayManager","httpManger","setJWTRequestHandler","_deleteFile","_downloadFile","_uploadFile","integration","relayUrl","authorization","serverMetadata","IntegrationManager_createForOfIteratorHelper","IntegrationManager_arrayLikeToArray","IntegrationManager_asyncGeneratorStep","IntegrationManager_defineProperties","IntegrationManager_IntegrationManager","IntegrationManager","extensionBridge","_saveIntegrationFromCode","jsonString","rawCode","parseIntegrationCode","isDefaultUploadSource","createAndSaveIntegrationObject","currentDefault","getDefaultIntegration","toUpperCase","integrationObject","isDefault","deleteItem","currentIntegration","setIntegrationAsDefault","CredentialManager_asyncGeneratorStep","CredentialManager_arrayLikeToArray","CredentialManager_defineProperties","CredentialManager_defineProperty","CredentialManager_CredentialManager","CredentialManager","onCredentialLoad","defaultCredentials","getDefaultCredentials","reloadCredentials","_createNewCredentials","searchResults","CredentialManager_createForOfIteratorHelper","incomingCredentials","didLoadCredentials","identifer","credentialParams","saveItem","BridgeEventLoadedCredentials","encryption_worker","Worker","FileManager_asyncGeneratorStep","FileManager_asyncToGenerator","FileManager_defineProperties","FileManager_defineProperty","FileManager_FileManager","FileManager","relayManager","integrationManager","credentialManager","_decryptFile","_encryptFile","_downloadFileFromDescriptor","_deleteFileFromDescriptor","getFileDescriptors","integrationForFileDescriptor","deleteFile","relayResponse","inputFileName","outputFileName","worker","operation","downloadFile","FileItemContentTypeKey","fileData","credentialForFileDescriptor","Utils_defineProperties","Utils","dataURI","binary","useNavigation","tempUrlForData","location","click","revokeTempUrl","createObjectURL","revokeObjectURL","clipboardData","setData","textarea","queryCommandSupported","position","focus","select","range","createRange","selectNodeContents","sel","getSelection","removeAllRanges","addRange","setSelectionRange","execCommand","Filesafe_asyncGeneratorStep","Filesafe_asyncToGenerator","Filesafe_createForOfIteratorHelper","Filesafe_arrayLikeToArray","Filesafe_defineProperties","Filesafe_createClass","Filesafe","dataChangeObservers","newFileDescriptorHandlers","eventName","notifyObservers","setCredentials","fileManager","beginStreamingFiles","_encryptAndUploadData","_encryptAndUploadJavaScriptFileObject","currentNote","fileDescriptorsForNote","fileDescriptorsEncryptedWithCredential","deleteFileFromDescriptor","uploadFile","jsFile","encryptAndUploadData","encryptFile","uploadError","downloadData","base64toBinary","createNewCredentials","setCredentialAsDefault","deleteCredential","saveCredential","saveIntegrationFromCode","deleteIntegration","displayStringForIntegration","isMobile","getPlatform","copyTextToClipboard","Boolean","hasEncryptedFiles","SplitViewDirection","SplitViewType","menuConfig","icon","WrapInBulletList","disabled","view","wrapIn","schema","nodes","bullet_list","WrapInOrderedList","ordered_list","TurnIntoTaskList","task_list_item","LiftListItem","liftListItem","list_item","SinkListItem","sinkListItem","InsertImage","InsertTable","WrapInBlockquote","InsertHr","Manager","originalConfig","utils","ctx","config","xs","$create","dividerConfig","group","flat","menu","editorWrapperStyle","getStyle","themeTool","mixin","scrollbar","menuStyle","border","css","palette","menuWrapper","editorDom","dom","milkdown","parentElement","root","replaceChild","MenuBar","active","alwaysVisible","removeAttribute","every","contains","buttonStyle","$button","$label","slots","$icon","preventDefault","stopPropagation","commandsCtx","button","selectStyle","shadow","radius","selectorWrapper","selector","toggle","selectorList","left","getBoundingClientRect","selectorValue","selectorButton","option","selectorListItem","dataset","HTMLButtonElement","onSelect","dividerStyle","lineWidth","$divider","divider","createPlugin","SelectParent","createCmdKey","commands","createCmd","selectParentNode","prosePlugins","Plugin","PluginKey","editorView","manager","Milkdown","onChange","editable","spellcheck","editorRef","useRef","useImperativeHandle","markdown","editor","editorViewCtx","parserCtx","parser","dispatch","tr","doc","Slice","setMeta","useEditor","make","rootCtx","listenerCtx","markdownUpdated","editorViewOptionsCtx","defaultValueCtx","use","nord","clipboard","gfm","listener","math","indent","prism","slash","tooltip","diagram","cursor","createEditor","forwardRef","CodeMirror","useState","hasFocus","setFocus","extensions","basicSetup","EditorView","lineWrapping","updateListener","of","focusChanged","docChanged","changes","to","insert","spellCheck","indentWithTab","PropTypes","bool","isRequired","oneOf","Horizontal","Vertical","arrayOf","TextChangeSource","SplitView","direction","childClassName","Column","Row","memo","AppWrapper","editorKit","prevText","milkdownRef","createRef","codeMirrorRef","onTextChange","trim","updateMilkdownText","updateCodeMirrorText","toggleSplitView","splitView","setState","getSplitViewDirection","web","desktop","mobile","isLoading","configureEditorKit","editorKitDelegate","htmlPreview","marked","tmpElement","truncateString","EditorKit","splitViewDirection","customMenu","ReactDOM","render","getElementById"],"mappings":"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","file":"static/js/main.18531fb0.chunk.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"filesafe-js\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"EditorKit\", [\"filesafe-js\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"EditorKit\"] = factory(require(\"filesafe-js\"));\n\telse\n\t\troot[\"EditorKit\"] = factory(root[\"filesafe-js\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__695__) {\nreturn ","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"ComponentRelay\",[],t):\"object\"==typeof exports?exports.ComponentRelay=t():e.ComponentRelay=t()}(self,(function(){return(()=>{\"use strict\";var e={d:(t,s)=>{for(var n in s)e.o(s,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:s[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};let s,n,i,o;var a;e.d(t,{default:()=>w}),function(e){e.SetSize=\"set-size\",e.StreamItems=\"stream-items\",e.StreamContextItem=\"stream-context-item\",e.SaveItems=\"save-items\",e.SelectItem=\"select-item\",e.AssociateItem=\"associate-item\",e.DeassociateItem=\"deassociate-item\",e.ClearSelection=\"clear-selection\",e.CreateItem=\"create-item\",e.CreateItems=\"create-items\",e.DeleteItems=\"delete-items\",e.SetComponentData=\"set-component-data\",e.InstallLocalComponent=\"install-local-component\",e.ToggleActivateComponent=\"toggle-activate-component\",e.RequestPermissions=\"request-permissions\",e.PresentConflictResolution=\"present-conflict-resolution\",e.DuplicateItem=\"duplicate-item\",e.ComponentRegistered=\"component-registered\",e.ActivateThemes=\"themes\",e.Reply=\"reply\",e.SaveSuccess=\"save-success\",e.SaveError=\"save-error\",e.ThemesActivated=\"themes-activated\",e.KeyDown=\"key-down\",e.KeyUp=\"key-up\",e.Click=\"click\"}(s||(s={})),function(e){e[e.Web=1]=\"Web\",e[e.Desktop=2]=\"Desktop\",e[e.Mobile=3]=\"Mobile\"}(n||(n={})),function(e){e.Any=\"*\",e.Item=\"SF|Item\",e.RootKey=\"SN|RootKey|NoSync\",e.ItemsKey=\"SN|ItemsKey\",e.EncryptedStorage=\"SN|EncryptedStorage\",e.Note=\"Note\",e.Tag=\"Tag\",e.SmartTag=\"SN|SmartTag\",e.Component=\"SN|Component\",e.Editor=\"SN|Editor\",e.ActionsExtension=\"Extension\",e.UserPrefs=\"SN|UserPreferences\",e.HistorySession=\"SN|HistorySession\",e.Theme=\"SN|Theme\",e.Mfa=\"SF|MFA\",e.ServerExtension=\"SF|Extension\",e.FilesafeCredentials=\"SN|FileSafe|Credentials\",e.FilesafeFileMetadata=\"SN|FileSafe|FileMetadata\",e.FilesafeIntegration=\"SN|FileSafe|Integration\",e.ExtensionRepo=\"SN|ExtensionRepo\"}(i||(i={})),function(e){e.Pinned=\"pinned\",e.Archived=\"archived\",e.Locked=\"locked\",e.UserModifiedDate=\"client_updated_at\",e.DefaultEditor=\"defaultEditor\",e.MobileRules=\"mobileRules\",e.NotAvailableOnMobile=\"notAvailableOnMobile\",e.MobileActive=\"mobileActive\",e.LastSize=\"lastSize\",e.PrefersPlainEditor=\"prefersPlainEditor\",e.ComponentInstallError=\"installError\"}(o||(o={}));var r=new Uint8Array(16);function c(){if(!a&&!(a=\"undefined\"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||\"undefined\"!=typeof msCrypto&&\"function\"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");return a(r)}const m=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,l=function(e){return\"string\"==typeof e&&m.test(e)};for(var d=[],h=0;h<256;++h)d.push((h+256).toString(16).substr(1));const p=function(e,t,s){var n=(e=e||{}).random||(e.rng||c)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){s=s||0;for(var i=0;i<16;++i)t[s+i]=n[i];return t}return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=(d[e[t+0]]+d[e[t+1]]+d[e[t+2]]+d[e[t+3]]+\"-\"+d[e[t+4]]+d[e[t+5]]+\"-\"+d[e[t+6]]+d[e[t+7]]+\"-\"+d[e[t+8]]+d[e[t+9]]+\"-\"+d[e[t+10]]+d[e[t+11]]+d[e[t+12]]+d[e[t+13]]+d[e[t+14]]+d[e[t+15]]).toLowerCase();if(!l(s))throw TypeError(\"Stringified UUID is invalid\");return s}(n)},u=e=>{var t;const s={[n.Web]:\"web\",[n.Desktop]:\"desktop\",[n.Mobile]:\"mobile\"};return null!==(t=s[e])&&void 0!==t?t:s[n.Web]},v=e=>null!=e,g=()=>{};class f{static get isSupported(){return!(!window.console&&!console)}static get info(){return f.isSupported&&this.enabled?console.log.bind(console):g}static get error(){return f.isSupported?console.error.bind(console):g}}var y,S,b,I;function k(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,n)}return s}function E(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?k(Object(s),!0).forEach((function(t){C(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):k(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function C(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}(S=\"enabled\")in(y=f)?Object.defineProperty(y,S,{value:false,enumerable:!0,configurable:!0,writable:!0}):y[S]=false,function(e){e.Component=\"component\"}(b||(b={})),function(e){e.Shift=\"Shift\",e.Ctrl=\"Control\",e.Meta=\"Meta\"}(I||(I={}));class w{constructor(e){if(C(this,\"contentWindow\",void 0),C(this,\"initialPermissions\",void 0),C(this,\"onReadyCallback\",void 0),C(this,\"component\",{activeThemes:[],acceptsThemes:!0}),C(this,\"sentMessages\",[]),C(this,\"messageQueue\",[]),C(this,\"lastStreamedItem\",void 0),C(this,\"pendingSaveItems\",void 0),C(this,\"pendingSaveTimeout\",void 0),C(this,\"pendingSaveParams\",void 0),C(this,\"coallesedSaving\",!0),C(this,\"coallesedSavingDelay\",250),C(this,\"messageHandler\",void 0),C(this,\"keyDownEventListener\",void 0),C(this,\"keyUpEventListener\",void 0),C(this,\"clickEventListener\",void 0),C(this,\"onThemesChangeCallback\",void 0),C(this,\"concernTimeouts\",[]),!e||!e.targetWindow)throw new Error(\"contentWindow must be a valid Window object.\");this.contentWindow=e.targetWindow,this.processParameters(e),this.registerMessageHandler(),this.registerKeyboardEventListeners(),this.registerMouseEventListeners()}processParameters(e){var t;const{initialPermissions:s,options:n,onReady:i,onThemesChange:o}=e;var a;s&&s.length>0&&(this.initialPermissions=s),v(null==n?void 0:n.coallesedSaving)&&(this.coallesedSaving=n.coallesedSaving),v(null==n?void 0:n.coallesedSavingDelay)&&(this.coallesedSavingDelay=n.coallesedSavingDelay),v(null==n?void 0:n.acceptsThemes)&&(this.component.acceptsThemes=null===(a=null==n?void 0:n.acceptsThemes)||void 0===a||a),v(i)&&(this.onReadyCallback=i),v(o)&&(this.onThemesChangeCallback=o),f.enabled=null!==(t=null==n?void 0:n.debug)&&void 0!==t&&t}deinit(){this.onReadyCallback=void 0,this.component={acceptsThemes:!0,activeThemes:[]},this.messageQueue=[],this.sentMessages=[],this.lastStreamedItem=void 0,this.pendingSaveItems=void 0,this.pendingSaveTimeout=void 0,this.pendingSaveParams=void 0,this.messageHandler&&(this.contentWindow.document.removeEventListener(\"message\",this.messageHandler),this.contentWindow.removeEventListener(\"message\",this.messageHandler)),this.keyDownEventListener&&this.contentWindow.removeEventListener(\"keydown\",this.keyDownEventListener),this.keyUpEventListener&&this.contentWindow.removeEventListener(\"keyup\",this.keyUpEventListener),this.clickEventListener&&this.contentWindow.removeEventListener(\"click\",this.clickEventListener)}registerMessageHandler(){this.messageHandler=e=>{if(f.info(\"Components API Message received:\",e.data),document.referrer&&new URL(document.referrer).origin!==new URL(e.origin).origin)return;const{data:t}=e,n=(e=>{if(\"string\"!=typeof e)return!1;try{const t=JSON.parse(e),s=Object.prototype.toString.call(t);return\"[object Object]\"===s||\"[object Array]\"===s}catch(e){return!1}})(t)?JSON.parse(t):t;if(n){if(void 0===this.component.origin&&n.action===s.ComponentRegistered)this.component.origin=e.origin;else if(e.origin!==this.component.origin)return;this.handleMessage(n)}else f.error(\"Invalid data received. Skipping...\")},this.contentWindow.document.addEventListener(\"message\",this.messageHandler,!1),this.contentWindow.addEventListener(\"message\",this.messageHandler,!1),f.info(\"Waiting for messages...\")}registerKeyboardEventListeners(){this.keyDownEventListener=e=>{f.info(\"A key has been pressed: \".concat(e.key)),e.ctrlKey?this.keyDownEvent(I.Ctrl):e.shiftKey?this.keyDownEvent(I.Shift):(e.metaKey||\"Meta\"===e.key)&&this.keyDownEvent(I.Meta)},this.keyUpEventListener=e=>{f.info(\"A key has been released: \".concat(e.key)),\"Control\"===e.key?this.keyUpEvent(I.Ctrl):\"Shift\"===e.key?this.keyUpEvent(I.Shift):\"Meta\"===e.key&&this.keyUpEvent(I.Meta)},this.contentWindow.addEventListener(\"keydown\",this.keyDownEventListener,!1),this.contentWindow.addEventListener(\"keyup\",this.keyUpEventListener,!1)}registerMouseEventListeners(){this.clickEventListener=e=>{f.info(\"A click has been performed.\"),this.mouseClickEvent()},this.contentWindow.addEventListener(\"click\",this.clickEventListener,!1)}handleMessage(e){switch(e.action){case s.ComponentRegistered:this.component.sessionKey=e.sessionKey,e.componentData&&(this.component.data=e.componentData),this.onReady(e.data),f.info(\"Component successfully registered with payload:\",e);break;case s.ActivateThemes:this.activateThemes(e.data.themes);break;default:{var t,n;if(!e.original)return;const s=null===(t=this.sentMessages)||void 0===t?void 0:t.filter((t=>{var s;return t.messageId===(null===(s=e.original)||void 0===s?void 0:s.messageId)}))[0];if(!s){const e=this.contentWindow.document.title,t=(\"The extension '\".concat(e,\"' is attempting to communicate with Standard Notes, \")+\"but an error is preventing it from doing so. Please restart this extension and try again.\").replace(\" \",\" \");return void f.info(t)}null==s||null===(n=s.callback)||void 0===n||n.call(s,e.data);break}}}onReady(e){this.component.environment=e.environment,this.component.platform=e.platform,this.component.uuid=e.uuid,this.initialPermissions&&this.initialPermissions.length>0&&this.requestPermissions(this.initialPermissions);for(const e of this.messageQueue)this.postMessage(e.action,e.data,e.callback);this.messageQueue=[],f.info(\"Data passed to onReady:\",e),this.activateThemes(e.activeThemeUrls||[]),this.postMessage(s.ThemesActivated,{}),this.onReadyCallback&&this.onReadyCallback()}getSelfComponentUUID(){return this.component.uuid}isRunningInDesktopApplication(){return this.component.environment===u(n.Desktop)}isRunningInMobileApplication(){return this.component.environment===u(n.Mobile)}getComponentDataValueForKey(e){if(this.component.data)return this.component.data[e]}setComponentDataValueForKey(e,t){if(!this.component.data)throw new Error(\"The component has not been initialized.\");if(!e||e&&0===e.length)throw new Error(\"The key for the data value should be a valid string.\");this.component.data=E(E({},this.component.data),{},{[e]:t}),this.postMessage(s.SetComponentData,{componentData:this.component.data})}clearComponentData(){this.component.data={},this.postMessage(s.SetComponentData,{componentData:this.component.data})}postMessage(e,t,s){if(!this.component.sessionKey)return void this.messageQueue.push({action:e,data:t,api:b.Component,callback:s});const n={action:e,data:t,messageId:this.generateUUID(),sessionKey:this.component.sessionKey,api:b.Component},i=JSON.parse(JSON.stringify(n));let o;i.callback=s,this.sentMessages.push(i),o=this.isRunningInMobileApplication()?JSON.stringify(n):n,f.info(\"Posting message:\",o),this.contentWindow.parent.postMessage(o,this.component.origin)}requestPermissions(e,t){this.postMessage(s.RequestPermissions,{permissions:e},(()=>{t&&t()}))}activateThemes(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!this.component.acceptsThemes)return;f.info(\"Incoming themes:\",e);const{activeThemes:t}=this.component;if(t&&t.sort().toString()==e.sort().toString())return;let s=e;const n=[];for(const i of t)e.includes(i)?s=s.filter((e=>e!==i)):n.push(i);f.info(\"Deactivating themes:\",n),f.info(\"Activating themes:\",s);for(const e of n)this.deactivateTheme(e);this.component.activeThemes=e;for(const e of s){if(!e)continue;const t=this.contentWindow.document.createElement(\"link\");t.id=btoa(e),t.href=e,t.type=\"text/css\",t.rel=\"stylesheet\",t.media=\"screen,print\",t.className=\"custom-theme\",this.contentWindow.document.getElementsByTagName(\"head\")[0].appendChild(t)}this.onThemesChangeCallback&&this.onThemesChangeCallback()}themeElementForUrl(e){return Array.from(this.contentWindow.document.getElementsByClassName(\"custom-theme\")).slice().find((t=>t.id==btoa(e)))}deactivateTheme(e){const t=this.themeElementForUrl(e);t&&t.parentNode&&(t.setAttribute(\"disabled\",\"true\"),t.parentNode.removeChild(t))}generateUUID(){return p()}get platform(){return this.component.platform}get environment(){return this.component.environment}streamItems(e,t){this.postMessage(s.StreamItems,{content_types:e},(e=>{t(e.items)}))}streamContextItem(e){this.postMessage(s.StreamContextItem,{},(t=>{const{item:s}=t;(!this.lastStreamedItem||this.lastStreamedItem.uuid!==s.uuid)&&this.pendingSaveTimeout&&(clearTimeout(this.pendingSaveTimeout),this.performSavingOfItems(this.pendingSaveParams),this.pendingSaveTimeout=void 0,this.pendingSaveParams=void 0),this.lastStreamedItem=s,e(this.lastStreamedItem)}))}selectItem(e){this.postMessage(s.SelectItem,{item:this.jsonObjectForItem(e)})}clearSelection(){this.postMessage(s.ClearSelection,{content_type:i.Tag})}createItem(e,t){this.postMessage(s.CreateItem,{item:this.jsonObjectForItem(e)},(e=>{let{item:s}=e;!s&&e.items&&e.items.length>0&&(s=e.items[0]),this.associateItem(s),t&&t(s)}))}createItems(e,t){const n=e.map((e=>this.jsonObjectForItem(e)));this.postMessage(s.CreateItems,{items:n},(e=>{t&&t(e.items)}))}associateItem(e){this.postMessage(s.AssociateItem,{item:this.jsonObjectForItem(e)})}deassociateItem(e){this.postMessage(s.DeassociateItem,{item:this.jsonObjectForItem(e)})}deleteItem(e,t){this.deleteItems([e],t)}deleteItems(e,t){const n={items:e.map((e=>this.jsonObjectForItem(e)))};this.postMessage(s.DeleteItems,n,(e=>{t&&t(e)}))}sendCustomEvent(e,t,s){this.postMessage(e,t,(e=>{s&&s(e)}))}saveItem(e,t){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.saveItems([e],t,s)}saveItemWithPresave(e,t,s){this.saveItemsWithPresave([e],t,s)}saveItemsWithPresave(e,t,s){this.saveItems(e,s,!1,t)}performSavingOfItems(e){let{items:t,presave:n,callback:i}=e;const o=setTimeout((()=>{this.concernTimeouts.forEach((e=>clearTimeout(e))),alert(\"This editor is unable to communicate with Standard Notes. Your changes may not be saved. Please backup your changes, then restart the application and try again.\")}),5e3);this.concernTimeouts.push(o),n&&n();const a=[];for(const e of t)a.push(this.jsonObjectForItem(e));this.postMessage(s.SaveItems,{items:a},(()=>{this.concernTimeouts.forEach((e=>clearTimeout(e))),null==i||i()}))}saveItems(e,t){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;if(this.pendingSaveItems||(this.pendingSaveItems=[]),this.coallesedSaving&&!s){this.pendingSaveTimeout&&clearTimeout(this.pendingSaveTimeout);const s=e.map((e=>e.uuid)),i=this.pendingSaveItems.filter((e=>!s.includes(e.uuid)));this.pendingSaveItems=i.concat(e),this.pendingSaveParams={items:this.pendingSaveItems,presave:n,callback:t},this.pendingSaveTimeout=setTimeout((()=>{this.performSavingOfItems(this.pendingSaveParams),this.pendingSaveItems=[],this.pendingSaveTimeout=void 0,this.pendingSaveParams=null}),this.coallesedSavingDelay)}else this.performSavingOfItems({items:e,presave:n,callback:t})}setSize(e,t){this.postMessage(s.SetSize,{type:\"container\",width:e,height:t})}keyDownEvent(e){this.postMessage(s.KeyDown,{keyboardModifier:e})}keyUpEvent(e){this.postMessage(s.KeyUp,{keyboardModifier:e})}mouseClickEvent(){this.postMessage(s.Click,{})}jsonObjectForItem(e){const t=Object.assign({},e);return t.children=null,t.parent=null,t}getItemAppDataValue(e,t){var s,n;return null==e||null===(s=e.content)||void 0===s||null===(n=s.appData)||void 0===n?void 0:n[\"org.standardnotes.sn\"][t]}}return t.default})()}));\n//# sourceMappingURL=dist.js.map","module.exports = __WEBPACK_EXTERNAL_MODULE__695__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export const htmlToText = (html: string): string => {\n const tmpDocument = document.implementation.createHTMLDocument().body\n tmpDocument.innerHTML = html\n return tmpDocument.textContent || tmpDocument.innerText || ''\n}\n\nexport const truncateString = (text: string, limit = 90): string => {\n if (text.length <= limit) {\n return text\n }\n return text.substring(0, limit) + '...'\n}\n\nexport const sleep = async (seconds: number): Promise<void> => {\n await new Promise(resolve => setTimeout(resolve, seconds * 1000))\n}\n","import { sleep } from './utils'\n\nexport type FileLoaderOptions = {\n fileSafeInstance: any\n getElementsBySelector: (selector: string) => Element[]\n preprocessElement: (element: Element) => Element\n insertElement: (element: Element, inVicinityOfElement: Element | null, insertionType: string) => void\n}\n\ntype FileTypes = {\n [key: string]: string\n}\n\ntype UuidTypeMapping = {\n [key: string]: {\n url: string\n fileType: string\n fsName: string\n }\n}\n\ntype ElementStatusMapping = {\n [key: string]: Element\n}\n\ntype InsertMediaElementParams = {\n url: string,\n fsid: string,\n fsName: string,\n fileType: string,\n fsElement: Element\n}\n\ntype WrapElementInTagParams = {\n element: Element,\n tagName: string,\n fsid: string,\n fsName: string\n}\n\ntype SetStatusParams = {\n status?: string,\n fsElement: Element | null,\n fsid: string,\n removable?: boolean\n}\n\ntype CreateImageElementParams = {\n url: string,\n fsid: string,\n fsName: string,\n fsElement: Element\n}\n\ntype CreateAudioElementParams = {\n url: string,\n fsid: string,\n fsName: string\n}\n\ntype CreateVideoElementParams = {\n url: string,\n fsid: string,\n fileType: string,\n fsName: string,\n fsElement: Element\n}\n\ntype CreateDownloadElementParams = {\n url: string,\n fsid: string,\n fsName: string\n}\n\nexport default class FileLoader {\n /**\n * When a file is decrypted and loaded into a temp url, we'll place the temp url in here so that subsequent decrypt attempts\n * dont require further work. Mapped values have the shape of { url, fileType, fsName }\n */\n private uuidToFileTempUrlAndTypeMapping: UuidTypeMapping = {}\n\n // The UUIDs of files currently loading, so that we don't start a new load for currently loading file.\n private currentlyLoadingIds: string[] = []\n\n // The UUID to current status element mapping\n private statusElementMapping: ElementStatusMapping = {}\n private readonly fileTypeToElementType: FileTypes = {\n 'image/png': 'img',\n 'image/jpg': 'img',\n 'image/jpeg': 'img',\n 'image/gif': 'img',\n 'image/tiff': 'img',\n 'image/bmp': 'img',\n 'video/mp4': 'video',\n 'audio/mpeg': 'audio',\n 'audio/mp3': 'audio'\n }\n\n constructor(private options: FileLoaderOptions) { }\n\n public fileTypeForElementType(type: string): string {\n return this.fileTypeToElementType[type.toLowerCase()]\n }\n\n /**\n * Scans the document for elements <fileSafe>. If found, begins loading file.\n */\n public loadFileSafeElements(): void {\n const elements = this.options.getElementsBySelector('*[fsplaceholder]')\n for (const element of elements) {\n this.loadFileSafeElement(element)\n }\n }\n\n public async loadFileSafeElement(fsElement: Element): Promise<boolean> {\n const { fileSafeInstance } = this.options\n\n const fsid = fsElement.getAttribute('fsid')\n const fsName = fsElement.getAttribute('fsName') ?? ''\n const fileNameDisplay = (!fsName || fsName == 'undefined') ? 'file' : fsName\n\n if (!fsid) {\n return false\n }\n\n const existingMapping = this.uuidToFileTempUrlAndTypeMapping[fsid]\n\n if (existingMapping) {\n this.insertMediaElement({\n fsid,\n fsElement,\n url: existingMapping.url,\n fileType: existingMapping.fileType,\n fsName: existingMapping.fsName\n })\n return false\n }\n\n if (this.currentlyLoadingIds.includes(fsid)) {\n return false\n }\n\n const descriptor = fileSafeInstance.findFileDescriptor(fsid)\n\n if (!descriptor) {\n this.setStatus({\n fsElement,\n fsid,\n status: `Unable to find ${fileNameDisplay} ${fsid}.`,\n removable: true\n })\n return false\n }\n\n const selectorSyntax = `[fsid=\"${descriptor.uuid}\"][fscollapsable]`\n const existingElements = document.querySelectorAll(\n `img${selectorSyntax}, figure${selectorSyntax}, video${selectorSyntax}, audio${selectorSyntax}`\n )\n\n if (existingElements.length > 0) {\n return false\n }\n\n const cleanup = () => this.currentlyLoadingIds.splice(this.currentlyLoadingIds.indexOf(fsid), 1)\n\n this.currentlyLoadingIds.push(fsid)\n this.setStatus({\n fsElement,\n fsid,\n status: `Downloading ${fileNameDisplay}...`\n })\n\n // Allow UI to update before beginning download...\n await sleep(0.05)\n\n const fileItem = await fileSafeInstance.downloadFileFromDescriptor(descriptor).catch(() => {\n this.setStatus({\n fsElement,\n fsid,\n status: `Unable to download ${fileNameDisplay} ${fsid}.`\n })\n return\n })\n\n if (!fileItem) {\n return false\n }\n\n this.setStatus({\n fsElement,\n fsid,\n status: `Decrypting ${fileNameDisplay}...`\n })\n\n // Allow UI to update before beginning decryption\n await sleep(0.05)\n\n const data = await fileSafeInstance.decryptFile({ fileDescriptor: descriptor, fileItem }).catch(() => {\n this.setStatus({\n fsElement,\n fsid,\n status: `Unable to decrypt ${fileNameDisplay} ${fsid}.`\n })\n return\n })\n\n if (!data) {\n return false\n }\n\n // Remove loading text\n this.setStatus({\n fsElement,\n fsid\n })\n\n // Allow UI to update before adding image\n await sleep(0.05)\n\n // Generate temporary url, must be released later\n const fileType = descriptor.content.fileType\n const tempUrl = fileSafeInstance.createTemporaryFileUrl({\n base64Data: data.decryptedData,\n dataType: fileType\n })\n\n this.insertMediaElement({\n fsid, fileType,\n fsName,\n fsElement,\n url: tempUrl\n })\n\n cleanup()\n\n this.uuidToFileTempUrlAndTypeMapping[fsid] = {\n fileType,\n url: tempUrl,\n fsName,\n }\n\n return true\n }\n\n private insertMediaElement({ url, fsid, fsName, fileType, fsElement }: InsertMediaElementParams) {\n const elementType = this.fileTypeForElementType(fileType)\n\n let mediaElement: Element\n \n switch (elementType) {\n case 'img':\n mediaElement = this.createImageElement({ url, fsid, fsName, fsElement })\n break\n case 'video':\n mediaElement = this.createVideoElement({ url, fsid, fileType, fsName, fsElement })\n break\n case 'audio':\n mediaElement = this.createAudioElement({ url, fsid, fsName })\n break\n default:\n mediaElement = this.createDownloadElement({ url, fsid, fsName })\n break\n }\n\n this.insertElementNearElement(mediaElement, fsElement)\n\n // Remove fsElement now that image is loaded.\n fsElement.remove()\n }\n\n private wrapElementInTag({ element, tagName, fsid, fsName }: WrapElementInTagParams) {\n const tag = document.createElement(tagName)\n tag.setAttribute('fsid', fsid)\n tag.setAttribute('fsName', fsName)\n tag.setAttribute('fscollapsable', 'true')\n tag.setAttribute('contenteditable', 'true')\n tag.append(element)\n return tag\n }\n\n private createImageElement({ url, fsid, fsName, fsElement }: CreateImageElementParams): HTMLImageElement {\n const image = document.createElement('img')\n image.setAttribute('src', url)\n image.setAttribute('srcset', `${url} 2x`)\n\n image.setAttribute('fsid', fsid)\n image.setAttribute('fsName', fsName)\n image.setAttribute('fscollapsable', 'true')\n\n const elementWidth = fsElement.getAttribute('width')\n if (elementWidth) {\n image.setAttribute('width', elementWidth)\n }\n\n const elementHeight = fsElement.getAttribute('height')\n if (elementHeight) {\n image.setAttribute('height', elementHeight)\n }\n\n return image\n }\n\n private createVideoElement({ url, fsid, fileType, fsName, fsElement }: CreateVideoElementParams) {\n const video = document.createElement('video')\n video.setAttribute('controls', 'true')\n video.setAttribute('fsid', fsid)\n video.setAttribute('fsName', fsName)\n video.setAttribute('fscollapsable', 'true')\n\n const elementWidth = fsElement.getAttribute('width')\n if (elementWidth) {\n video.setAttribute('width', elementWidth)\n }\n\n const elementHeight = fsElement.getAttribute('height')\n if (elementHeight) {\n video.setAttribute('height', elementHeight)\n }\n\n const source = document.createElement('source')\n source.setAttribute('src', url)\n source.setAttribute('type', fileType)\n video.append(source)\n\n /**\n * Redactor will automatically insert a video element in a p tag,\n * so we'll do it ourselves so that we can control its attributes.\n */\n return this.wrapElementInTag({\n fsid,\n fsName,\n element: video,\n tagName: 'p'\n })\n }\n\n private createDownloadElement({ url, fsid, fsName }: CreateDownloadElementParams) {\n const link = document.createElement('a')\n link.setAttribute('fsid', fsid)\n link.setAttribute('fsName', fsName)\n link.setAttribute('ghost', 'true')\n link.setAttribute('fscollapsable', 'true')\n link.setAttribute('href', url)\n link.textContent = `${fsName}`\n return link\n }\n\n private createAudioElement({ url, fsid, fsName }: CreateAudioElementParams) {\n const audio = document.createElement('audio')\n audio.setAttribute('src', url)\n audio.setAttribute('controls', 'true')\n audio.setAttribute('fsid', fsid)\n audio.setAttribute('fsName', fsName)\n audio.setAttribute('fscollapsable', 'true')\n\n return this.wrapElementInTag({\n fsid,\n fsName,\n element: audio,\n tagName: 'p'\n })\n }\n\n private setStatus({ status, fsElement, fsid, removable = false }: SetStatusParams): Element | void {\n if (fsid) {\n const existingStatusElement = this.statusElementMapping[fsid]\n\n if (existingStatusElement) {\n existingStatusElement.remove()\n delete this.statusElementMapping[fsid]\n }\n }\n\n if (status) {\n let element = document.createElement('label')\n\n element.setAttribute('id', fsid)\n element.setAttribute('ghost', 'true')\n element.setAttribute('contenteditable', 'false')\n element.style.fontWeight = 'bold'\n element.textContent = status\n\n if (removable) {\n element.style.userSelect = 'all'\n }\n\n element = this.insertElementNearElement(element, fsElement) as HTMLLabelElement\n\n if (fsid) {\n this.statusElementMapping[fsid] = element\n }\n\n return element\n }\n }\n\n public insertStatusAtCursor(status: string): string {\n const identifier = Math.random().toString(36).substring(7)\n this.setStatus({\n status,\n fsid: identifier,\n fsElement: null\n })\n return identifier\n }\n\n public removeCursorStatus(identifier: string): void {\n /**\n * We want to search for the element based on identifier, because the actual element\n * inserted may have been done so as raw HTML, and not via an element pointer.\n */\n const elements = this.options.getElementsBySelector(`#${identifier}`)\n\n if (elements.length > 0) {\n elements[0].remove()\n }\n }\n\n public insertElementNearElement(domNodeToInsert: Element, inVicinityOfElement: Element | null): Element | undefined {\n const processedElement = this.options.preprocessElement(domNodeToInsert)\n let insertionType = 'child'\n\n // <figure> tags cannot be nested inside p tags.\n if (inVicinityOfElement && processedElement.tagName.toLowerCase() == 'figure') {\n // If we have a p ancestor, we need to get out.\n const paragraphAncestor = inVicinityOfElement.closest('p')\n\n if (paragraphAncestor) {\n /**\n * p tags cannot be nested in other p tags, so if we found one, we know its parent isn't and doesn't belong to a p tag.\n * Add the new one right after paragraphAncestor.\n */\n inVicinityOfElement = paragraphAncestor\n insertionType = 'afterend'\n }\n }\n\n this.options.insertElement(processedElement, inVicinityOfElement, insertionType)\n return processedElement as Element\n }\n}\n","type Pattern = {\n regex: RegExp\n callback: (matchedText: string) => string\n}\n\nexport type TextExpanderOptions = {\n patterns: Pattern[]\n beforeExpand?: () => void\n afterExpand?: () => void\n getCurrentLineText: () => string\n getPreviousLineText: () => string\n replaceText: ({ regex: RegExp, replacement: string, searchPreviousLine: boolean }) => string\n}\n\ntype OnKeyUpParams = {\n isEnter?: boolean\n isPaste?: boolean\n isSpace?: boolean\n}\n\ntype SearchPatternsParams = {\n searchPreviousLine: boolean\n}\n\nexport default class TextExpander {\n constructor (private options: TextExpanderOptions) { }\n\n public onKeyUp ({ isEnter, isPaste, isSpace }: OnKeyUpParams): void {\n if (isEnter || isPaste || isSpace) {\n this.searchPatterns({\n searchPreviousLine: isEnter ?? false\n })\n }\n }\n\n public searchPatterns (params: SearchPatternsParams = { searchPreviousLine: false }): void {\n const text = (params.searchPreviousLine) ?\n this.options.getPreviousLineText() : this.options.getCurrentLineText()\n\n for (const pattern of this.options.patterns) {\n const match = pattern.regex.exec(text)\n if (!match) continue\n\n const matchedText = match[0]\n\n if (matchedText) {\n const replaceWith = pattern.callback(matchedText)\n this.replaceSelection(pattern.regex, replaceWith, params.searchPreviousLine)\n }\n }\n }\n\n private replaceSelection (regex: RegExp, replacement: string, searchPreviousLine: boolean): void {\n if (this.options?.beforeExpand) {\n this.options.beforeExpand()\n }\n\n this.options.replaceText({\n regex,\n replacement,\n searchPreviousLine\n })\n\n if (this.options?.afterExpand) {\n this.options?.afterExpand()\n }\n }\n}\n","export type FileSafeFileMetadata = {\n [key: string]: any;\n}\n\n/**\n * Remove matching <p> tags if present.\n * Also capable of matching adjacent [fsSyntax][fsSyntax]\n */\nexport const FileSafeSyntaxPattern = /(<p>)?\\[FileSafe[^\\]]*\\](<\\/p>)?/g\n\n/**\n * Given an HTML string that includes substrings matching `FileSafeSyntaxPattern`,\n * replace occurences with ghost div element <fileSafe uuid='123'>\n */\nexport const expandedFileSafeSyntax = (html: string): string => {\n return html.replace(FileSafeSyntaxPattern, (match) => {\n return fileSafeSyntaxToHtmlElement(match)\n })\n}\n\nexport const removeFileSafeSyntaxFromHtml = (html: string): string => {\n return html.replace(FileSafeSyntaxPattern, (_match) => {\n return ''\n })\n}\n\nexport const insertionSyntaxForFileDescriptor = (descriptor: FileSafeFileMetadata): string => {\n return `[FileSafe:${descriptor.uuid}:${descriptor.content.fileName}]`\n}\n\nexport const fileSafeSyntaxToHtmlElement = (syntax: string): string => {\n // Remove paragraph tags\n syntax = syntax.replace('<p>', '')\n syntax = syntax.replace('</p>', '')\n\n // Remove brackets\n syntax = syntax.replace('[', '').replace(']', '')\n\n const components = syntax.split(':')\n const uuid = components[1]\n const name = components[2]\n const size = components[3]\n\n let sizeString = ''\n\n if (size) {\n const dimensions = size.split('x')\n sizeString = `width=${dimensions[0]} height=${dimensions[1]}`\n }\n\n /**\n * We use a p tag here because if we try something custom, like `fileSafe` tag, the editor will automatically\n * wrap it in a p tag, causing littered p tags remaining in the plaintext representation.\n */\n return `<p fsplaceholder=true style='display: none;' fscollapsable=true ghost=true fsid='${uuid}' fsname='${name}' ${sizeString}></p>`\n}\n\n/**\n * Given a rendered HTML string, replace all <fileSafe> items with [FileSafe:UUID] plaintext items.\n * Also, for any elements that have the 'ghost' attribute, remove it from the resulting string.\n */\nexport const collapseFileSafeSyntax = (html: string): string => {\n const domCopy = new DOMParser().parseFromString(html, 'text/html')\n\n // Elements that have fscollapsable means they should be collapsed to plain syntax.\n const mediaElements = domCopy.querySelectorAll('*[fscollapsable]')\n\n for (const file of mediaElements) {\n const uuid = file.getAttribute('fsid')\n const name = file.getAttribute('fsname')\n const width = file.getAttribute('width')\n const height = file.getAttribute('height')\n\n const components = ['FileSafe', uuid, name]\n\n if (width && height) {\n const size = `${width}x${height}`\n components.push(size)\n }\n\n const fsSyntax = `<p>[${components.join(':')}]</p>`\n file.insertAdjacentHTML('afterend', fsSyntax)\n file.remove()\n }\n\n // Remove any remaining ghost elements.\n const ghosts = domCopy.querySelectorAll('*[ghost]')\n ghosts.forEach((ghost) => ghost.remove())\n\n return domCopy.body.innerHTML\n}\n","import ComponentRelay from '@standardnotes/component-relay'\nimport FileLoader, { FileLoaderOptions } from './fileLoader'\nimport TextExpander, { TextExpanderOptions } from './textExpander'\nimport {\n truncateString,\n htmlToText\n} from './utils'\nimport {\n FileSafeSyntaxPattern,\n collapseFileSafeSyntax,\n expandedFileSafeSyntax,\n insertionSyntaxForFileDescriptor,\n removeFileSafeSyntaxFromHtml,\n FileSafeFileMetadata\n} from './fileSafeHtml'\nimport type { ItemMessagePayload } from '@standardnotes/snjs'\n\n/**\n * The delegate is responsible for responding to events and functions that the EditorKit requires.\n * For example, when EditorKit wants to insert a new HTML element, it won't neccessarily know how,\n * because it's not designed for any particular editor. Instead, it will tell the delegate to\n * insert the element. The consumer of this API, the actual editor, would configure this delegate\n * with the appropriate callbacks.\n */\nexport interface EditorKitDelegate {\n insertRawText?: (text: string) => void\n setEditorRawText: (text: string) => void\n getCurrentLineText?: TextExpanderOptions['getCurrentLineText']\n getPreviousLineText?: TextExpanderOptions['getPreviousLineText']\n replaceText?: TextExpanderOptions['replaceText']\n getElementsBySelector?: FileLoaderOptions['getElementsBySelector']\n insertElement?: FileLoaderOptions['insertElement']\n preprocessElement?: FileLoaderOptions['preprocessElement']\n clearUndoHistory?: () => void\n generateCustomPreview?: (text: string) => { html?: string, plain: string }\n onNoteLockToggle?: (isLocked: boolean) => void\n onNoteValueChange?: (note: ItemMessagePayload) => Promise<void>\n onThemesChange?: () => void\n}\n\nexport type EditorKitMode = 'plaintext' | 'html' | 'markdown' | 'json';\n\ntype EditorKitOptions = {\n mode: EditorKitMode\n /**\n * Indicates if the editor should support FileSafe integration.\n */\n supportsFileSafe?: false\n /**\n * For Component Relay saving. Indicates if debouncer is enabled.\n */\n coallesedSaving?: false\n /**\n * For Component Relay saving. Indicates what the debouncer ms delay should be set to.\n */\n coallesedSavingDelay?: 250\n}\n\ntype OnEditorKeyUpParams = {\n isSpace: boolean\n isEnter: boolean\n}\n\ntype FileUuid = string\n\nexport default class EditorKitBase {\n private fileIdsPendingAssociation: FileUuid[] = []\n private componentRelay?: ComponentRelay\n private fileLoader?: FileLoader\n private textExpander?: TextExpander\n\n private fileSafeLoading?: Promise<void>\n private fileSafeClass?: any\n private fileSafeInstance?: any\n\n private note?: ItemMessagePayload\n private ignoreNextTextChange?: boolean\n private needsFileSafeElementLoad?: boolean\n private previousText?: string\n\n constructor(private delegate: EditorKitDelegate, private options: EditorKitOptions) {\n this.connectToBridge()\n\n if (this.options.supportsFileSafe) {\n this.fileSafeLoading = this.importFileSafe()\n }\n }\n\n private connectToBridge() {\n const {\n coallesedSaving,\n coallesedSavingDelay,\n mode,\n supportsFileSafe\n } = this.options\n\n this.componentRelay = new ComponentRelay({\n targetWindow: window,\n options: {\n coallesedSaving,\n /**\n * The editor does some debouncing for us, so we'll lower the\n * default debounce value from 250 to 150\n */\n coallesedSavingDelay\n },\n onReady: () => {\n const { platform } = this.componentRelay!\n\n if (platform) {\n document.documentElement.classList.add(platform)\n }\n },\n onThemesChange: this.delegate.onThemesChange\n })\n\n this.componentRelay.streamContextItem(async (note: ItemMessagePayload) => {\n /**\n * TODO: If note has changed, release previous temp object URLs.\n */\n let isNewNoteLoad = true\n if (this.note && this.note.uuid == note.uuid) {\n isNewNoteLoad = false\n }\n\n const previousNote = this.note\n\n if (supportsFileSafe) {\n const itemClass = this.fileSafeClass.getSFItemClass()\n this.note = new itemClass(note)\n this.fileSafeInstance.setCurrentNote(this.note)\n } else {\n this.note = note\n }\n\n // Only update UI on non-metadata updates.\n if (note.isMetadataUpdate) {\n return\n }\n\n let text = note.content.text\n\n /**\n * If we're an HTML editor, and we're dealing with a new note,\n * check to see if it's in html format.\n * If it's not, we don't want to convert it to HTML until the user makes an explicit change\n * so we'll ignore the next change event in this case.\n */\n if (mode === 'html' && isNewNoteLoad) {\n const isHtml = /<[a-z][\\s\\S]*>/i.test(text)\n if (!isHtml) {\n this.ignoreNextTextChange = true\n }\n }\n\n /**\n * Set before expanding. \n * We want this value to always be the collapsed value\n */\n this.previousText = text\n\n if (supportsFileSafe) {\n /**\n * We want to expand any filesafe syntax in the text,\n * but only after the text has been inserted.\n * (Will be checked on editor change callback)\n */\n this.needsFileSafeElementLoad = true\n text = expandedFileSafeSyntax(text)\n }\n\n this.delegate.onNoteValueChange && await this.delegate.onNoteValueChange(note)\n this.delegate.setEditorRawText(text)\n\n if (this.delegate.onNoteLockToggle) {\n const previousLockState = this.componentRelay!.getItemAppDataValue(previousNote, 'locked') ?? false\n const newLockState = this.componentRelay!.getItemAppDataValue(this.note, 'locked') ?? false\n\n if (previousLockState !== newLockState) {\n this.delegate.onNoteLockToggle(newLockState)\n }\n }\n\n if (isNewNoteLoad) {\n this.delegate.clearUndoHistory?.()\n }\n })\n }\n\n private async importFileSafe() {\n return import('filesafe-js').then((result) => {\n this.fileSafeClass = result.default\n this.configureFileSafe()\n return this.fileSafeInstance\n })\n }\n\n private configureFileSafe() {\n const requiredDelegateFunctions = [\n 'getCurrentLineText',\n 'getPreviousLineText',\n 'replaceText',\n 'getElementsBySelector',\n 'insertElement',\n 'preprocessElement',\n 'insertRawText'\n ]\n\n for (const functionName of requiredDelegateFunctions) {\n if (!this.delegate[functionName]) {\n throw Error(`Missing ${functionName} delegate function.`)\n }\n }\n\n this.fileSafeInstance = new this.fileSafeClass({\n componentManager: this.componentRelay\n })\n\n this.fileSafeInstance.addDataChangeObserver(() => {\n // Reload UI by querying FileSafe for changes...\n const allFileDescriptors = this.fileSafeInstance.getAllFileDescriptors()\n\n if (this.note && this.fileIdsPendingAssociation.length > 0) {\n let hasMatch = false\n\n for (const uuid of this.fileIdsPendingAssociation.slice()) {\n const descriptor = allFileDescriptors.find((candidate: FileSafeFileMetadata) => candidate.uuid == uuid)\n\n if (!descriptor) {\n continue\n }\n\n hasMatch = true\n this.fileIdsPendingAssociation.splice(this.fileIdsPendingAssociation.indexOf(uuid), 1)\n\n const syntax = insertionSyntaxForFileDescriptor(descriptor)\n this.delegate.insertRawText!(syntax)\n }\n\n if (hasMatch) {\n this.textExpander!.searchPatterns()\n }\n }\n\n if (allFileDescriptors.length > 0) {\n this.fileLoader!.loadFileSafeElements()\n }\n })\n\n this.fileSafeInstance.addNewFileDescriptorHandler((fileDescriptor: FileSafeFileMetadata) => {\n /**\n * Called when a new file is uploaded. We'll wait until the bridge acknowledges\n * receipt of this item, and then it will be added to the editor.\n */\n this.fileIdsPendingAssociation.push(fileDescriptor.uuid)\n })\n\n this.fileLoader = new FileLoader({\n fileSafeInstance: this.fileSafeInstance,\n getElementsBySelector: this.delegate.getElementsBySelector!,\n insertElement: this.delegate.insertElement!,\n preprocessElement: this.delegate.preprocessElement!\n })\n\n this.textExpander = new TextExpander({\n afterExpand: () => this.fileLoader!.loadFileSafeElements(),\n getCurrentLineText: this.delegate.getCurrentLineText!,\n getPreviousLineText: this.delegate.getPreviousLineText!,\n replaceText: this.delegate.replaceText!,\n patterns: [{\n regex: FileSafeSyntaxPattern,\n callback: (matchedText) => {\n return expandedFileSafeSyntax(matchedText)\n }\n }]\n })\n }\n\n /**\n * Gets the FileSafe class.\n * @returns FileSafe class.\n */\n public async getFileSafe(): Promise<void> {\n if (!this.fileSafeInstance && this.fileSafeLoading) {\n return this.fileSafeLoading\n }\n return this.importFileSafe()\n }\n\n /**\n * Called by consumer when the editor has a keyup event.\n */\n public onEditorKeyUp({ isSpace, isEnter }: OnEditorKeyUpParams): void {\n this.textExpander!.onKeyUp({\n isSpace,\n isEnter\n })\n }\n\n /**\n * Called by consumer when user pastes into editor.\n */\n public onEditorPaste(): void {\n this.textExpander!.onKeyUp({\n isPaste: true\n })\n }\n\n /**\n * Called by consumer when the editor has a change/input event.\n */\n public onEditorValueChanged(text: string): void {\n const { mode, supportsFileSafe } = this.options\n\n if (this.needsFileSafeElementLoad) {\n this.needsFileSafeElementLoad = false\n this.fileLoader!.loadFileSafeElements()\n }\n\n if (this.ignoreNextTextChange) {\n this.ignoreNextTextChange = false\n return\n }\n\n if (supportsFileSafe) {\n text = collapseFileSafeSyntax(text)\n\n /**\n * Change events may be triggered several times when expanding filesafe syntax.\n * Ultimately, while the visual layer is changing a lot, the underlying text layer,\n * after being collapsed, will not change. So we'll compare the previous html to new collapsed html before continuing.\n */\n const sameText = this.previousText == text\n if (sameText) {\n return\n }\n }\n\n this.previousText = text\n\n if (!this.note) {\n return\n }\n\n const note = this.note\n\n this.componentRelay!.saveItemWithPresave(note, () => {\n note.content.text = text\n\n if (this.delegate.generateCustomPreview) {\n const result = this.delegate.generateCustomPreview(text)\n\n note.content.preview_plain = result.plain ?? ' '\n note.content.preview_html = result.html\n } else {\n if (mode === 'html') {\n let preview = removeFileSafeSyntaxFromHtml(text)\n preview = truncateString(htmlToText(preview))\n /**\n * If the preview has no length due to either being an empty note, or having just 1 FileSafe file\n * that is stripped above, then we don't want to set to empty string, otherwise SN app will default to content\n * for preview. We'll set a whitespace preview instead so SN doesn't go based on innate content.\n */\n note.content.preview_plain = preview.length > 0 ? preview : ' '\n } else {\n note.content.preview_plain = text\n }\n\n // We're only using plain in this block.\n note.content.preview_html = null\n }\n })\n }\n\n /**\n * Whether or not FileSafe is configured with integrations and keys, and can handle file uploads.\n * If not, user should open files modal and configure FileSafe.\n */\n public canUploadFiles(): boolean {\n const credentials = this.fileSafeInstance.getAllCredentials()\n const integrations = this.fileSafeInstance.getAllIntegrations()\n return credentials.length > 0 && integrations.length > 0\n }\n\n /**\n * Encrypts and Uploads a Javascript file object to FileSafe.\n * @param file The file to upload.\n * @returns A file descriptor if successful.\n */\n public async uploadJSFileObject(file: Blob): Promise<void> {\n const cursorIdentifier = this.fileLoader!.insertStatusAtCursor('Processing file...')\n return this.fileSafeInstance.encryptAndUploadJavaScriptFileObject(file).then(() => {\n this.fileLoader!.removeCursorStatus(cursorIdentifier)\n })\n }\n\n /**\n * saveItemWithPresave from the component relay.\n */\n public saveItemWithPresave(note: ItemMessagePayload, presave?: () => void): void {\n this.componentRelay!.saveItemWithPresave(note, presave)\n }\n\n /**\n * Gets the current platform where the component is running.\n */\n public get platform(): string | undefined {\n return this.componentRelay!.platform\n }\n\n /**\n * Gets the current environment where the component is running.\n */\n public get environment(): string | undefined {\n return this.componentRelay!.environment\n }\n\n /**\n * Whether or not FileSafe can be used.\n */\n public canUseFileSafe(): boolean {\n return this.fileSafeInstance.hasLegacyAccess()\n }\n}\n","module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=5)}([function(e,t,r){(function(t){e.exports=function e(t,r,n){function i(o,s){if(!r[o]){if(!t[o]){if(a)return a(o,!0);var u=new Error(\"Cannot find module '\"+o+\"'\");throw u.code=\"MODULE_NOT_FOUND\",u}var c=r[o]={exports:{}};t[o][0].call(c.exports,(function(e){return i(t[o][1][e]||e)}),c,c.exports,e,t,r,n)}return r[o].exports}for(var a=!1,o=0;o<n.length;o++)i(n[o]);return i}({1:[function(e,r,n){(function(e){var t,r,i,a,o,s,u=u||function(e,t){var r={},n=r.lib={},i=function(){},a=n.Base={extend:function(e){i.prototype=this;var t=new i;return e&&t.mixIn(e),t.hasOwnProperty(\"init\")||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(\"toString\")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},o=n.WordArray=a.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes;if(e=e.sigBytes,this.clamp(),n%4)for(var i=0;i<e;i++)t[n+i>>>2]|=(r[i>>>2]>>>24-i%4*8&255)<<24-(n+i)%4*8;else if(65535<r.length)for(i=0;i<e;i+=4)t[n+i>>>2]=r[i>>>2];else t.push.apply(t,r);return this.sigBytes+=e,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var r=[],n=0;n<t;n+=4)r.push(4294967296*e.random()|0);return new o.init(r,t)}}),s=r.enc={},u=s.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n<e;n++){var i=t[n>>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join(\"\")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n+=2)r[n>>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n<e;n++)r.push(String.fromCharCode(t[n>>>2]>>>24-n%4*8&255));return r.join(\"\")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n++)r[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new o.init(r,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error(\"Malformed UTF-8 data\")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=n.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r=this._data,n=r.words,i=r.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;u<t;u+=a)this._doProcessBlock(n,u);u=n.splice(0,t),r.sigBytes-=i}return new o.init(u,i)},clone:function(){var e=a.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});n.Hasher=f.extend({cfg:a.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){f.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,r){return new e.init(r).finalize(t)}},_createHmacHelper:function(e){return function(t,r){return new h.HMAC.init(e,r).finalize(t)}}});var h=r.algo={};return r}(Math);function c(e,t){return!t||\"object\"!==d(t)&&\"function\"!=typeof t?function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e):t}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function f(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e)){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return r}}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}function d(e){return(d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function y(e,t,r,n,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}function v(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var a=e.apply(t,r);function o(e){y(a,n,i,o,s,\"next\",e)}function s(e){y(a,n,i,o,s,\"throw\",e)}o(void 0)}))}}function g(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function m(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function b(e,t,r){return t&&m(e.prototype,t),r&&m(e,r),e}r=(t=u).lib.WordArray,t.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,n=this._map;e.clamp(),e=[];for(var i=0;i<r;i+=3)for(var a=(t[i>>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,o=0;4>o&&i+.75*o<r;o++)e.push(n.charAt(a>>>6*(3-o)&63));if(t=n.charAt(64))for(;e.length%4;)e.push(t);return e.join(\"\")},parse:function(e){var t=e.length,n=this._map;(i=n.charAt(64))&&-1!=(i=e.indexOf(i))&&(t=i);for(var i=[],a=0,o=0;o<t;o++)if(o%4){var s=n.indexOf(e.charAt(o-1))<<o%4*2,u=n.indexOf(e.charAt(o))>>>6-o%4*2;i[a>>>2]|=(s|u)<<24-a%4*8,a++}return r.create(i,a)},_map:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"},function(e){function t(e,t,r,n,i,a,o){return((e=e+(t&r|~t&n)+i+o)<<a|e>>>32-a)+t}function r(e,t,r,n,i,a,o){return((e=e+(t&n|r&~n)+i+o)<<a|e>>>32-a)+t}function n(e,t,r,n,i,a,o){return((e=e+(t^r^n)+i+o)<<a|e>>>32-a)+t}function i(e,t,r,n,i,a,o){return((e=e+(r^(t|~n))+i+o)<<a|e>>>32-a)+t}for(var a=u,o=(c=a.lib).WordArray,s=c.Hasher,c=a.algo,l=[],f=0;64>f;f++)l[f]=4294967296*e.abs(e.sin(f+1))|0;c=c.MD5=s.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,a){for(var o=0;16>o;o++){var s=e[u=a+o];e[u]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}o=this._hash.words;var u=e[a+0],c=(s=e[a+1],e[a+2]),f=e[a+3],h=e[a+4],p=e[a+5],d=e[a+6],y=e[a+7],v=e[a+8],g=e[a+9],m=e[a+10],b=e[a+11],k=e[a+12],w=e[a+13],x=e[a+14],S=e[a+15],_=t(_=o[0],A=o[1],R=o[2],I=o[3],u,7,l[0]),I=t(I,_,A,R,s,12,l[1]),R=t(R,I,_,A,c,17,l[2]),A=t(A,R,I,_,f,22,l[3]);_=t(_,A,R,I,h,7,l[4]),I=t(I,_,A,R,p,12,l[5]),R=t(R,I,_,A,d,17,l[6]),A=t(A,R,I,_,y,22,l[7]),_=t(_,A,R,I,v,7,l[8]),I=t(I,_,A,R,g,12,l[9]),R=t(R,I,_,A,m,17,l[10]),A=t(A,R,I,_,b,22,l[11]),_=t(_,A,R,I,k,7,l[12]),I=t(I,_,A,R,w,12,l[13]),R=t(R,I,_,A,x,17,l[14]),_=r(_,A=t(A,R,I,_,S,22,l[15]),R,I,s,5,l[16]),I=r(I,_,A,R,d,9,l[17]),R=r(R,I,_,A,b,14,l[18]),A=r(A,R,I,_,u,20,l[19]),_=r(_,A,R,I,p,5,l[20]),I=r(I,_,A,R,m,9,l[21]),R=r(R,I,_,A,S,14,l[22]),A=r(A,R,I,_,h,20,l[23]),_=r(_,A,R,I,g,5,l[24]),I=r(I,_,A,R,x,9,l[25]),R=r(R,I,_,A,f,14,l[26]),A=r(A,R,I,_,v,20,l[27]),_=r(_,A,R,I,w,5,l[28]),I=r(I,_,A,R,c,9,l[29]),R=r(R,I,_,A,y,14,l[30]),_=n(_,A=r(A,R,I,_,k,20,l[31]),R,I,p,4,l[32]),I=n(I,_,A,R,v,11,l[33]),R=n(R,I,_,A,b,16,l[34]),A=n(A,R,I,_,x,23,l[35]),_=n(_,A,R,I,s,4,l[36]),I=n(I,_,A,R,h,11,l[37]),R=n(R,I,_,A,y,16,l[38]),A=n(A,R,I,_,m,23,l[39]),_=n(_,A,R,I,w,4,l[40]),I=n(I,_,A,R,u,11,l[41]),R=n(R,I,_,A,f,16,l[42]),A=n(A,R,I,_,d,23,l[43]),_=n(_,A,R,I,g,4,l[44]),I=n(I,_,A,R,k,11,l[45]),R=n(R,I,_,A,S,16,l[46]),_=i(_,A=n(A,R,I,_,c,23,l[47]),R,I,u,6,l[48]),I=i(I,_,A,R,y,10,l[49]),R=i(R,I,_,A,x,15,l[50]),A=i(A,R,I,_,p,21,l[51]),_=i(_,A,R,I,k,6,l[52]),I=i(I,_,A,R,f,10,l[53]),R=i(R,I,_,A,m,15,l[54]),A=i(A,R,I,_,s,21,l[55]),_=i(_,A,R,I,v,6,l[56]),I=i(I,_,A,R,S,10,l[57]),R=i(R,I,_,A,d,15,l[58]),A=i(A,R,I,_,w,21,l[59]),_=i(_,A,R,I,h,6,l[60]),I=i(I,_,A,R,b,10,l[61]),R=i(R,I,_,A,c,15,l[62]),A=i(A,R,I,_,g,21,l[63]),o[0]=o[0]+_|0,o[1]=o[1]+A|0,o[2]=o[2]+R|0,o[3]=o[3]+I|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;r[i>>>5]|=128<<24-i%32;var a=e.floor(n/4294967296);for(r[15+(i+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),r[14+(i+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),t.sigBytes=4*(r.length+1),this._process(),r=(t=this._hash).words,n=0;4>n;n++)i=r[n],r[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8);return t},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),a.MD5=s._createHelper(c),a.HmacMD5=s._createHmacHelper(c)}(Math),function(){var e,t=u,r=(e=t.lib).Base,n=e.WordArray,i=(e=t.algo).EvpKDF=r.extend({cfg:r.extend({keySize:4,hasher:e.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var r=(s=this.cfg).hasher.create(),i=n.create(),a=i.words,o=s.keySize,s=s.iterations;a.length<o;){u&&r.update(u);var u=r.update(e).finalize(t);r.reset();for(var c=1;c<s;c++)u=r.finalize(u),r.reset();i.concat(u)}return i.sigBytes=4*o,i}});t.EvpKDF=function(e,t,r){return i.create(r).compute(e,t)}}(),u.lib.Cipher||function(e){var t=(d=u).lib,r=t.Base,n=t.WordArray,i=t.BufferedBlockAlgorithm,a=d.enc.Base64,o=d.algo.EvpKDF,s=t.Cipher=i.extend({cfg:r.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,r){this.cfg=this.cfg.extend(r),this._xformMode=e,this._key=t,this.reset()},reset:function(){i.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(e){return{encrypt:function(t,r,n){return(\"string\"==typeof r?y:p).encrypt(e,t,r,n)},decrypt:function(t,r,n){return(\"string\"==typeof r?y:p).decrypt(e,t,r,n)}}}});t.StreamCipher=s.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var c=d.mode={},l=function(e,t,r){var n=this._iv;n?this._iv=void 0:n=this._prevBlock;for(var i=0;i<r;i++)e[t+i]^=n[i]},f=(t.BlockCipherMode=r.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}})).extend();f.Encryptor=f.extend({processBlock:function(e,t){var r=this._cipher,n=r.blockSize;l.call(this,e,t,n),r.encryptBlock(e,t),this._prevBlock=e.slice(t,t+n)}}),f.Decryptor=f.extend({processBlock:function(e,t){var r=this._cipher,n=r.blockSize,i=e.slice(t,t+n);r.decryptBlock(e,t),l.call(this,e,t,n),this._prevBlock=i}}),c=c.CBC=f,f=(d.pad={}).Pkcs7={pad:function(e,t){for(var r,i=(r=(r=4*t)-e.sigBytes%r)<<24|r<<16|r<<8|r,a=[],o=0;o<r;o+=4)a.push(i);r=n.create(a,r),e.concat(r)},unpad:function(e){e.sigBytes-=255&e.words[e.sigBytes-1>>>2]}},t.BlockCipher=s.extend({cfg:s.cfg.extend({mode:c,padding:f}),reset:function(){s.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var r=t.createEncryptor;else r=t.createDecryptor,this._minBufferSize=1;this._mode=r.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var h=t.CipherParams=r.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),p=(c=(d.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?n.create([1398893684,1701076831]).concat(e).concat(t):t).toString(a)},parse:function(e){var t=(e=a.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var r=n.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return h.create({ciphertext:e,salt:r})}},t.SerializableCipher=r.extend({cfg:r.extend({format:c}),encrypt:function(e,t,r,n){n=this.cfg.extend(n);var i=e.createEncryptor(r,n);return t=i.finalize(t),i=i.cfg,h.create({ciphertext:t,key:r,iv:i.iv,algorithm:e,mode:i.mode,padding:i.padding,blockSize:e.blockSize,formatter:n.format})},decrypt:function(e,t,r,n){return n=this.cfg.extend(n),t=this._parse(t,n.format),e.createDecryptor(r,n).finalize(t.ciphertext)},_parse:function(e,t){return\"string\"==typeof e?t.parse(e,this):e}})),d=(d.kdf={}).OpenSSL={execute:function(e,t,r,i){return i||(i=n.random(8)),e=o.create({keySize:t+r}).compute(e,i),r=n.create(e.words.slice(t),4*r),e.sigBytes=4*t,h.create({key:e,iv:r,salt:i})}},y=t.PasswordBasedCipher=p.extend({cfg:p.cfg.extend({kdf:d}),encrypt:function(e,t,r,n){return r=(n=this.cfg.extend(n)).kdf.execute(r,e.keySize,e.ivSize),n.iv=r.iv,(e=p.encrypt.call(this,e,t,r.key,n)).mixIn(r),e},decrypt:function(e,t,r,n){return n=this.cfg.extend(n),t=this._parse(t,n.format),r=n.kdf.execute(r,e.keySize,e.ivSize,t.salt),n.iv=r.iv,p.decrypt.call(this,e,t,r.key,n)}})}(),function(){for(var e=u,t=e.lib.BlockCipher,r=e.algo,n=[],i=[],a=[],o=[],s=[],c=[],l=[],f=[],h=[],p=[],d=[],y=0;256>y;y++)d[y]=128>y?y<<1:y<<1^283;var v=0,g=0;for(y=0;256>y;y++){var m=(m=g^g<<1^g<<2^g<<3^g<<4)>>>8^255&m^99;n[v]=m,i[m]=v;var b=d[v],k=d[b],w=d[k],x=257*d[m]^16843008*m;a[v]=x<<24|x>>>8,o[v]=x<<16|x>>>16,s[v]=x<<8|x>>>24,c[v]=x,x=16843009*w^65537*k^257*b^16843008*v,l[m]=x<<24|x>>>8,f[m]=x<<16|x>>>16,h[m]=x<<8|x>>>24,p[m]=x,v?(v=b^d[d[d[w^b]]],g^=d[d[g]]):v=g=1}var S=[0,1,2,4,8,16,32,64,128,27,54];r=r.AES=t.extend({_doReset:function(){for(var e=(r=this._key).words,t=r.sigBytes/4,r=4*((this._nRounds=t+6)+1),i=this._keySchedule=[],a=0;a<r;a++)if(a<t)i[a]=e[a];else{var o=i[a-1];a%t?6<t&&4==a%t&&(o=n[o>>>24]<<24|n[o>>>16&255]<<16|n[o>>>8&255]<<8|n[255&o]):(o=n[(o=o<<8|o>>>24)>>>24]<<24|n[o>>>16&255]<<16|n[o>>>8&255]<<8|n[255&o],o^=S[a/t|0]<<24),i[a]=i[a-t]^o}for(e=this._invKeySchedule=[],t=0;t<r;t++)a=r-t,o=t%4?i[a]:i[a-4],e[t]=4>t||4>=a?o:l[n[o>>>24]]^f[n[o>>>16&255]]^h[n[o>>>8&255]]^p[n[255&o]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,o,s,c,n)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,l,f,h,p,i),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,n,i,a,o,s){for(var u=this._nRounds,c=e[t]^r[0],l=e[t+1]^r[1],f=e[t+2]^r[2],h=e[t+3]^r[3],p=4,d=1;d<u;d++){var y=n[c>>>24]^i[l>>>16&255]^a[f>>>8&255]^o[255&h]^r[p++],v=n[l>>>24]^i[f>>>16&255]^a[h>>>8&255]^o[255&c]^r[p++],g=n[f>>>24]^i[h>>>16&255]^a[c>>>8&255]^o[255&l]^r[p++];h=n[h>>>24]^i[c>>>16&255]^a[l>>>8&255]^o[255&f]^r[p++],c=y,l=v,f=g}y=(s[c>>>24]<<24|s[l>>>16&255]<<16|s[f>>>8&255]<<8|s[255&h])^r[p++],v=(s[l>>>24]<<24|s[f>>>16&255]<<16|s[h>>>8&255]<<8|s[255&c])^r[p++],g=(s[f>>>24]<<24|s[h>>>16&255]<<16|s[c>>>8&255]<<8|s[255&l])^r[p++],h=(s[h>>>24]<<24|s[c>>>16&255]<<16|s[l>>>8&255]<<8|s[255&f])^r[p++],e[t]=y,e[t+1]=v,e[t+2]=g,e[t+3]=h},keySize:8}),e.AES=t._createHelper(r)}(),u=u||function(e,t){var r={},n=r.lib={},i=function(){},a=n.Base={extend:function(e){i.prototype=this;var t=new i;return e&&t.mixIn(e),t.hasOwnProperty(\"init\")||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(\"toString\")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},o=n.WordArray=a.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes;if(e=e.sigBytes,this.clamp(),n%4)for(var i=0;i<e;i++)t[n+i>>>2]|=(r[i>>>2]>>>24-i%4*8&255)<<24-(n+i)%4*8;else if(65535<r.length)for(i=0;i<e;i+=4)t[n+i>>>2]=r[i>>>2];else t.push.apply(t,r);return this.sigBytes+=e,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var r=[],n=0;n<t;n+=4)r.push(4294967296*e.random()|0);return new o.init(r,t)}}),s=r.enc={},u=s.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n<e;n++){var i=t[n>>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join(\"\")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n+=2)r[n>>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n<e;n++)r.push(String.fromCharCode(t[n>>>2]>>>24-n%4*8&255));return r.join(\"\")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n++)r[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new o.init(r,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error(\"Malformed UTF-8 data\")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=n.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r=this._data,n=r.words,i=r.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;u<t;u+=a)this._doProcessBlock(n,u);u=n.splice(0,t),r.sigBytes-=i}return new o.init(u,i)},clone:function(){var e=a.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});n.Hasher=f.extend({cfg:a.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){f.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,r){return new e.init(r).finalize(t)}},_createHmacHelper:function(e){return function(t,r){return new h.HMAC.init(e,r).finalize(t)}}});var h=r.algo={};return r}(Math),function(e){for(var t=u,r=(i=t.lib).WordArray,n=i.Hasher,i=t.algo,a=[],o=[],s=function(e){return 4294967296*(e-(0|e))|0},c=2,l=0;64>l;){var f;e:{f=c;for(var h=e.sqrt(f),p=2;p<=h;p++)if(!(f%p)){f=!1;break e}f=!0}f&&(8>l&&(a[l]=s(e.pow(c,.5))),o[l]=s(e.pow(c,1/3)),l++),c++}var d=[];i=i.SHA256=n.extend({_doReset:function(){this._hash=new r.init(a.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],a=r[2],s=r[3],u=r[4],c=r[5],l=r[6],f=r[7],h=0;64>h;h++){if(16>h)d[h]=0|e[t+h];else{var p=d[h-15],y=d[h-2];d[h]=((p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3)+d[h-7]+((y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10)+d[h-16]}p=f+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&l)+o[h]+d[h],y=((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+(n&i^n&a^i&a),f=l,l=c,c=u,u=s+p|0,s=a,a=i,i=n,n=p+y|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+a|0,r[3]=r[3]+s|0,r[4]=r[4]+u|0,r[5]=r[5]+c|0,r[6]=r[6]+l|0,r[7]=r[7]+f|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=e.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}}),t.SHA256=n._createHelper(i),t.HmacSHA256=n._createHmacHelper(i)}(Math),a=(i=u).enc.Utf8,i.algo.HMAC=i.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,\"string\"==typeof t&&(t=a.parse(t));var r=e.blockSize,n=4*r;t.sigBytes>n&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),s=i.words,u=o.words,c=0;c<r;c++)s[c]^=1549556828,u[c]^=909522486;i.sigBytes=o.sigBytes=n,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher;return e=t.finalize(e),t.reset(),t.finalize(this._oKey.clone().concat(e))}}),u=u||function(e,t){var r={},n=r.lib={},i=function(){},a=n.Base={extend:function(e){i.prototype=this;var t=new i;return e&&t.mixIn(e),t.hasOwnProperty(\"init\")||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(\"toString\")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},o=n.WordArray=a.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes;if(e=e.sigBytes,this.clamp(),n%4)for(var i=0;i<e;i++)t[n+i>>>2]|=(r[i>>>2]>>>24-i%4*8&255)<<24-(n+i)%4*8;else if(65535<r.length)for(i=0;i<e;i+=4)t[n+i>>>2]=r[i>>>2];else t.push.apply(t,r);return this.sigBytes+=e,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var r=[],n=0;n<t;n+=4)r.push(4294967296*e.random()|0);return new o.init(r,t)}}),s=r.enc={},u=s.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n<e;n++){var i=t[n>>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join(\"\")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n+=2)r[n>>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n<e;n++)r.push(String.fromCharCode(t[n>>>2]>>>24-n%4*8&255));return r.join(\"\")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n++)r[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new o.init(r,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error(\"Malformed UTF-8 data\")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=n.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r=this._data,n=r.words,i=r.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;u<t;u+=a)this._doProcessBlock(n,u);u=n.splice(0,t),r.sigBytes-=i}return new o.init(u,i)},clone:function(){var e=a.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});n.Hasher=f.extend({cfg:a.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){f.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,r){return new e.init(r).finalize(t)}},_createHmacHelper:function(e){return function(t,r){return new h.HMAC.init(e,r).finalize(t)}}});var h=r.algo={};return r}(Math),function(e){var t,r=(t=u).lib,n=r.Base,i=r.WordArray;(t=t.x64={}).Word=n.extend({init:function(e,t){this.high=e,this.low=t}}),t.WordArray=n.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:8*e.length},toX32:function(){for(var e=this.words,t=e.length,r=[],n=0;n<t;n++){var a=e[n];r.push(a.high),r.push(a.low)}return i.create(r,this.sigBytes)},clone:function(){for(var e=n.clone.call(this),t=e.words=this.words.slice(0),r=t.length,i=0;i<r;i++)t[i]=t[i].clone();return e}})}(),function(){function e(){return n.create.apply(n,arguments)}for(var t=u,r=t.lib.Hasher,n=(a=t.x64).Word,i=a.WordArray,a=t.algo,o=[e(1116352408,3609767458),e(1899447441,602891725),e(3049323471,3964484399),e(3921009573,2173295548),e(961987163,4081628472),e(1508970993,3053834265),e(2453635748,2937671579),e(2870763221,3664609560),e(3624381080,2734883394),e(310598401,1164996542),e(607225278,1323610764),e(1426881987,3590304994),e(1925078388,4068182383),e(2162078206,991336113),e(2614888103,633803317),e(3248222580,3479774868),e(3835390401,2666613458),e(4022224774,944711139),e(264347078,2341262773),e(604807628,2007800933),e(770255983,1495990901),e(1249150122,1856431235),e(1555081692,3175218132),e(1996064986,2198950837),e(2554220882,3999719339),e(2821834349,766784016),e(2952996808,2566594879),e(3210313671,3203337956),e(3336571891,1034457026),e(3584528711,2466948901),e(113926993,3758326383),e(338241895,168717936),e(666307205,1188179964),e(773529912,1546045734),e(1294757372,1522805485),e(1396182291,2643833823),e(1695183700,2343527390),e(1986661051,1014477480),e(2177026350,1206759142),e(2456956037,344077627),e(2730485921,1290863460),e(2820302411,3158454273),e(3259730800,3505952657),e(3345764771,106217008),e(3516065817,3606008344),e(3600352804,1432725776),e(4094571909,1467031594),e(275423344,851169720),e(430227734,3100823752),e(506948616,1363258195),e(659060556,3750685593),e(883997877,3785050280),e(958139571,3318307427),e(1322822218,3812723403),e(1537002063,2003034995),e(1747873779,3602036899),e(1955562222,1575990012),e(2024104815,1125592928),e(2227730452,2716904306),e(2361852424,442776044),e(2428436474,593698344),e(2756734187,3733110249),e(3204031479,2999351573),e(3329325298,3815920427),e(3391569614,3928383900),e(3515267271,566280711),e(3940187606,3454069534),e(4118630271,4000239992),e(116418474,1914138554),e(174292421,2731055270),e(289380356,3203993006),e(460393269,320620315),e(685471733,587496836),e(852142971,1086792851),e(1017036298,365543100),e(1126000580,2618297676),e(1288033470,3409855158),e(1501505948,4234509866),e(1607167915,987167468),e(1816402316,1246189591)],s=[],c=0;80>c;c++)s[c]=e();a=a.SHA512=r.extend({_doReset:function(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=(f=this._hash.words)[0],n=f[1],i=f[2],a=f[3],u=f[4],c=f[5],l=f[6],f=f[7],h=r.high,p=r.low,d=n.high,y=n.low,v=i.high,g=i.low,m=a.high,b=a.low,k=u.high,w=u.low,x=c.high,S=c.low,_=l.high,I=l.low,R=f.high,A=f.low,D=h,C=p,M=d,F=y,O=v,P=g,B=m,j=b,T=k,E=w,L=x,H=S,U=_,N=I,z=R,K=A,W=0;80>W;W++){var J=s[W];if(16>W)var q=J.high=0|e[t+2*W],V=J.low=0|e[t+2*W+1];else{q=((V=(q=s[W-15]).high)>>>1|($=q.low)<<31)^(V>>>8|$<<24)^V>>>7;var $=($>>>1|V<<31)^($>>>8|V<<24)^($>>>7|V<<25),G=((V=(G=s[W-2]).high)>>>19|(X=G.low)<<13)^(V<<3|X>>>29)^V>>>6,X=(X>>>19|V<<13)^(X<<3|V>>>29)^(X>>>6|V<<26),Y=(V=s[W-7]).high,Q=(Z=s[W-16]).high,Z=Z.low;q=(q=(q=q+Y+((V=$+V.low)>>>0<$>>>0?1:0))+G+((V+=X)>>>0<X>>>0?1:0))+Q+((V+=Z)>>>0<Z>>>0?1:0),J.high=q,J.low=V}Y=T&L^~T&U,Z=E&H^~E&N,J=D&M^D&O^M&O;var ee=C&F^C&P^F&P,te=($=(D>>>28|C<<4)^(D<<30|C>>>2)^(D<<25|C>>>7),G=(C>>>28|D<<4)^(C<<30|D>>>2)^(C<<25|D>>>7),(X=o[W]).high),re=X.low;Q=z+((T>>>14|E<<18)^(T>>>18|E<<14)^(T<<23|E>>>9))+((X=K+((E>>>14|T<<18)^(E>>>18|T<<14)^(E<<23|T>>>9)))>>>0<K>>>0?1:0),z=U,K=N,U=L,N=H,L=T,H=E,T=B+(Q=(Q=(Q=Q+Y+((X+=Z)>>>0<Z>>>0?1:0))+te+((X+=re)>>>0<re>>>0?1:0))+q+((X+=V)>>>0<V>>>0?1:0))+((E=j+X|0)>>>0<j>>>0?1:0)|0,B=O,j=P,O=M,P=F,M=D,F=C,D=Q+(J=$+J+((V=G+ee)>>>0<G>>>0?1:0))+((C=X+V|0)>>>0<X>>>0?1:0)|0}p=r.low=p+C,r.high=h+D+(p>>>0<C>>>0?1:0),y=n.low=y+F,n.high=d+M+(y>>>0<F>>>0?1:0),g=i.low=g+P,i.high=v+O+(g>>>0<P>>>0?1:0),b=a.low=b+j,a.high=m+B+(b>>>0<j>>>0?1:0),w=u.low=w+E,u.high=k+T+(w>>>0<E>>>0?1:0),S=c.low=S+H,c.high=x+L+(S>>>0<H>>>0?1:0),I=l.low=I+N,l.high=_+U+(I>>>0<N>>>0?1:0),A=f.low=A+K,f.high=R+z+(A>>>0<K>>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(n+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),t.SHA512=r._createHelper(a),t.HmacSHA512=r._createHmacHelper(a)}(),s=(o=u).enc.Utf8,o.algo.HMAC=o.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,\"string\"==typeof t&&(t=s.parse(t));var r=e.blockSize,n=4*r;t.sigBytes>n&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),a=this._iKey=t.clone(),o=i.words,u=a.words,c=0;c<r;c++)o[c]^=1549556828,u[c]^=909522486;i.sigBytes=a.sigBytes=n,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher;return e=t.finalize(e),t.reset(),t.finalize(this._oKey.clone().concat(e))}}),u=u||function(e,t){var r={},n=r.lib={},i=function(){},a=n.Base={extend:function(e){i.prototype=this;var t=new i;return e&&t.mixIn(e),t.hasOwnProperty(\"init\")||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(\"toString\")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},o=n.WordArray=a.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes;if(e=e.sigBytes,this.clamp(),n%4)for(var i=0;i<e;i++)t[n+i>>>2]|=(r[i>>>2]>>>24-i%4*8&255)<<24-(n+i)%4*8;else if(65535<r.length)for(i=0;i<e;i+=4)t[n+i>>>2]=r[i>>>2];else t.push.apply(t,r);return this.sigBytes+=e,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var r=[],n=0;n<t;n+=4)r.push(4294967296*e.random()|0);return new o.init(r,t)}}),s=r.enc={},u=s.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n<e;n++){var i=t[n>>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join(\"\")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n+=2)r[n>>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n<e;n++)r.push(String.fromCharCode(t[n>>>2]>>>24-n%4*8&255));return r.join(\"\")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n++)r[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new o.init(r,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error(\"Malformed UTF-8 data\")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=n.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r=this._data,n=r.words,i=r.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;u<t;u+=a)this._doProcessBlock(n,u);u=n.splice(0,t),r.sigBytes-=i}return new o.init(u,i)},clone:function(){var e=a.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});n.Hasher=f.extend({cfg:a.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){f.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,r){return new e.init(r).finalize(t)}},_createHmacHelper:function(e){return function(t,r){return new h.HMAC.init(e,r).finalize(t)}}});var h=r.algo={};return r}(Math),function(){var e=u,t=(i=e.lib).WordArray,r=i.Hasher,n=[],i=e.algo.SHA1=r.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],a=r[1],o=r[2],s=r[3],u=r[4],c=0;80>c;c++){if(16>c)n[c]=0|e[t+c];else{var l=n[c-3]^n[c-8]^n[c-14]^n[c-16];n[c]=l<<1|l>>>31}l=(i<<5|i>>>27)+u+n[c],l=20>c?l+(1518500249+(a&o|~a&s)):40>c?l+(1859775393+(a^o^s)):60>c?l+((a&o|a&s|o&s)-1894007588):l+((a^o^s)-899497514),u=s,s=o,o=a<<30|a>>>2,a=i,i=l}r[0]=r[0]+i|0,r[1]=r[1]+a|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(n+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=r._createHelper(i),e.HmacSHA1=r._createHmacHelper(i)}(),function(){var e=u,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(e,r){e=this._hasher=new e.init,\"string\"==typeof r&&(r=t.parse(r));var n=e.blockSize,i=4*n;r.sigBytes>i&&(r=e.finalize(r)),r.clamp();for(var a=this._oKey=r.clone(),o=this._iKey=r.clone(),s=a.words,u=o.words,c=0;c<n;c++)s[c]^=1549556828,u[c]^=909522486;a.sigBytes=o.sigBytes=i,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher;return e=t.finalize(e),t.reset(),t.finalize(this._oKey.clone().concat(e))}})}(),function(){var e,t=u,r=(e=t.lib).Base,n=e.WordArray,i=(e=t.algo).HMAC,a=e.PBKDF2=r.extend({cfg:r.extend({keySize:4,hasher:e.SHA1,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){var r=this.cfg,a=i.create(r.hasher,e),o=n.create(),s=n.create([1]),u=o.words,c=s.words,l=r.keySize;for(r=r.iterations;u.length<l;){var f=a.update(t).finalize(s);a.reset();for(var h=f.words,p=h.length,d=f,y=1;y<r;y++){d=a.finalize(d),a.reset();for(var v=d.words,g=0;g<p;g++)h[g]^=v[g]}o.concat(f),c[0]++}return o.sigBytes=4*l,o}});t.PBKDF2=function(e,t,r){return a.create(r).compute(e,t)}}(),u=u||function(e,t){var r={},n=r.lib={},i=function(){},a=n.Base={extend:function(e){i.prototype=this;var t=new i;return e&&t.mixIn(e),t.hasOwnProperty(\"init\")||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(\"toString\")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},o=n.WordArray=a.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes;if(e=e.sigBytes,this.clamp(),n%4)for(var i=0;i<e;i++)t[n+i>>>2]|=(r[i>>>2]>>>24-i%4*8&255)<<24-(n+i)%4*8;else if(65535<r.length)for(i=0;i<e;i+=4)t[n+i>>>2]=r[i>>>2];else t.push.apply(t,r);return this.sigBytes+=e,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var r=[],n=0;n<t;n+=4)r.push(4294967296*e.random()|0);return new o.init(r,t)}}),s=r.enc={},u=s.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n<e;n++){var i=t[n>>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join(\"\")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n+=2)r[n>>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new o.init(r,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var r=[],n=0;n<e;n++)r.push(String.fromCharCode(t[n>>>2]>>>24-n%4*8&255));return r.join(\"\")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n++)r[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new o.init(r,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error(\"Malformed UTF-8 data\")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=n.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r=this._data,n=r.words,i=r.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;u<t;u+=a)this._doProcessBlock(n,u);u=n.splice(0,t),r.sigBytes-=i}return new o.init(u,i)},clone:function(){var e=a.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});n.Hasher=f.extend({cfg:a.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){f.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,r){return new e.init(r).finalize(t)}},_createHmacHelper:function(e){return function(t,r){return new h.HMAC.init(e,r).finalize(t)}}});var h=r.algo={};return r}(Math),function(){var e=u,t=(i=e.lib).WordArray,r=i.Hasher,n=[],i=e.algo.SHA1=r.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],a=r[1],o=r[2],s=r[3],u=r[4],c=0;80>c;c++){if(16>c)n[c]=0|e[t+c];else{var l=n[c-3]^n[c-8]^n[c-14]^n[c-16];n[c]=l<<1|l>>>31}l=(i<<5|i>>>27)+u+n[c],l=20>c?l+(1518500249+(a&o|~a&s)):40>c?l+(1859775393+(a^o^s)):60>c?l+((a&o|a&s|o&s)-1894007588):l+((a^o^s)-899497514),u=s,s=o,o=a<<30|a>>>2,a=i,i=l}r[0]=r[0]+i|0,r[1]=r[1]+a|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(n+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=r._createHelper(i),e.HmacSHA1=r._createHmacHelper(i)}(),Object.defineProperty(n,\"__esModule\",{value:!0}),n.StandardFile=n.SFItemTransformer=n.SFCryptoWeb=n.SFCryptoJS=n.SFAbstractCrypto=n.SFItemHistoryEntry=n.SFItemHistory=n.SFHistorySession=n.SFPrivileges=n.SFPredicate=n.SFItemParams=n.SFItem=n.SFSyncManager=n.SFStorageManager=n.SFSingletonManager=n.SFSessionHistoryManager=n.SFPrivilegesManager=n.SFModelManager=n.SFMigrationManager=n.SFHttpManager=n.SFAuthManager=n.SFAlertManager=void 0;var k=function(){function e(){g(this,e)}var t,r;return b(e,[{key:\"alert\",value:(r=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",new Promise((function(e,r){window.alert(t.text),e()})));case 1:case\"end\":return e.stop()}}),e)}))),function(e){return r.apply(this,arguments)})},{key:\"confirm\",value:(t=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",new Promise((function(e,r){window.confirm(t.text)?e():r()})));case 1:case\"end\":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();n.SFAlertManager=k;var w=function(){function e(t,r,n,i){g(this,e),e.DidSignOutEvent=\"DidSignOutEvent\",e.WillSignInEvent=\"WillSignInEvent\",e.DidSignInEvent=\"DidSignInEvent\",this.httpManager=r,this.storageManager=t,this.alertManager=n||new k,this.$timeout=i||setTimeout.bind(window),this.eventHandlers=[]}var t,r,n,i,a,o,s,u,c,l;return b(e,[{key:\"addEventHandler\",value:function(e){return this.eventHandlers.push(e),e}},{key:\"removeEventHandler\",value:function(e){_.pull(this.eventHandlers,e)}},{key:\"notifyEvent\",value:function(e,t){var r=!0,n=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(r=(a=o.next()).done);r=!0)(0,a.value)(e,t||{})}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}}},{key:\"saveKeys\",value:(l=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._keys=t,e.next=3,this.storageManager.setItem(\"mk\",t.mk);case 3:return e.next=5,this.storageManager.setItem(\"ak\",t.ak);case 5:case\"end\":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:\"signout\",value:(c=v(regeneratorRuntime.mark((function t(r){var n=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this._keys=null,this._authParams=null,!r){t.next=6;break}return t.abrupt(\"return\",this.storageManager.clearAllData().then((function(){n.notifyEvent(e.DidSignOutEvent)})));case 6:this.notifyEvent(e.DidSignOutEvent);case 7:case\"end\":return t.stop()}}),t,this)}))),function(e){return c.apply(this,arguments)})},{key:\"keys\",value:(u=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._keys){e.next=11;break}return e.next=3,this.storageManager.getItem(\"mk\");case 3:if(t=e.sent){e.next=6;break}return e.abrupt(\"return\",null);case 6:return e.t0=t,e.next=9,this.storageManager.getItem(\"ak\");case 9:e.t1=e.sent,this._keys={mk:e.t0,ak:e.t1};case 11:return e.abrupt(\"return\",this._keys);case 12:case\"end\":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:\"getAuthParams\",value:(s=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._authParams){e.next=5;break}return e.next=3,this.storageManager.getItem(\"auth_params\");case 3:t=e.sent,this._authParams=JSON.parse(t);case 5:if(!this._authParams||this._authParams.version){e.next=9;break}return e.next=8,this.defaultProtocolVersion();case 8:this._authParams.version=e.sent;case 9:return e.abrupt(\"return\",this._authParams);case 10:case\"end\":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:\"defaultProtocolVersion\",value:(o=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.keys();case 2:if(!(t=e.sent)||!t.ak){e.next=7;break}return e.abrupt(\"return\",\"002\");case 7:return e.abrupt(\"return\",\"001\");case 8:case\"end\":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:\"protocolVersion\",value:(a=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getAuthParams();case 2:if(!(t=e.sent)||!t.version){e.next=5;break}return e.abrupt(\"return\",t.version);case 5:return e.abrupt(\"return\",this.defaultProtocolVersion());case 6:case\"end\":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:\"getAuthParamsForEmail\",value:(i=v(regeneratorRuntime.mark((function e(t,r,n){var i,a=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(i=_.merge({email:r},n)).api=S.getApiVersion(),e.abrupt(\"return\",new Promise((function(e,r){var n=t+\"/auth/params\";a.httpManager.getAbsolute(n,i,(function(t){e(t)}),(function(t){console.error(\"Error getting auth params\",t),\"object\"!==d(t)&&(t={error:{message:\"A server error occurred while trying to sign in. Please try again.\"}}),e(t)}))})));case 3:case\"end\":return e.stop()}}),e)}))),function(e,t,r){return i.apply(this,arguments)})},{key:\"lock\",value:function(){this.locked=!0}},{key:\"unlock\",value:function(){this.locked=!1}},{key:\"isLocked\",value:function(){return 1==this.locked}},{key:\"unlockAndResolve\",value:function(e,t){this.unlock(),e(t)}},{key:\"login\",value:(n=v(regeneratorRuntime.mark((function t(r,n,i,a,o){var s=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt(\"return\",new Promise(function(){var t=v(regeneratorRuntime.mark((function t(u,c){var l,f,h,p,y,g,m,b,k,w;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,s.keys();case 2:if(null==t.sent){t.next=6;break}return u({error:{message:\"Cannot log in because already signed in.\"}}),t.abrupt(\"return\");case 6:if(!s.isLocked()){t.next=9;break}return u({error:{message:\"Login already in progress.\"}}),t.abrupt(\"return\");case 9:return s.lock(),s.notifyEvent(e.WillSignInEvent),t.next=13,s.getAuthParamsForEmail(r,n,o);case 13:if((l=t.sent).identifier=n,!l.error){t.next=18;break}return s.unlockAndResolve(u,l),t.abrupt(\"return\");case 18:if(l&&l.pw_cost){t.next=21;break}return s.unlockAndResolve(u,{error:{message:\"Invalid email or password.\"}}),t.abrupt(\"return\");case 21:if(SFJS.supportedVersions().includes(l.version)){t.next=25;break}return f=SFJS.isVersionNewerThanLibraryVersion(l.version)?\"This version of the application does not support your newer account type. Please upgrade to the latest version of Standard Notes to sign in.\":\"The protocol version associated with your account is outdated and no longer supported by this application. Please visit standardnotes.org/help/security for more information.\",s.unlockAndResolve(u,{error:{message:f}}),t.abrupt(\"return\");case 25:if(!SFJS.isProtocolVersionOutdated(l.version)){t.next=32;break}return h=\"The encryption version for your account, \".concat(l.version,\", is outdated and requires upgrade. You may proceed with login, but are advised to perform a security update using the web or desktop application. Please visit standardnotes.org/help/security for more information.\"),p=!1,t.next=30,s.alertManager.confirm({title:\"Update Needed\",text:h,confirmButtonText:\"Sign In\"}).catch((function(){s.unlockAndResolve(u,{error:{}}),p=!0}));case 30:if(!p){t.next=32;break}return t.abrupt(\"return\");case 32:if(SFJS.supportsPasswordDerivationCost(l.pw_cost)){t.next=36;break}return s.unlockAndResolve(u,{error:{message:\"Your account was created on a platform with higher security capabilities than this browser supports. If we attempted to generate your login keys here, it would take hours. Please use a browser with more up to date security capabilities, like Google Chrome or Firefox, to log in.\"}}),t.abrupt(\"return\");case 36:if(y=SFJS.costMinimumForVersion(l.version),!(l.pw_cost<y)){t.next=41;break}return s.unlockAndResolve(u,{error:{message:\"Unable to login due to insecure password parameters. Please visit standardnotes.org/help/security for more information.\"}}),t.abrupt(\"return\");case 41:if(!a){t.next=47;break}if(g=SFJS.version(),l.version===g){t.next=47;break}return m=\"Strict sign in refused server sign in parameters. The latest security version is \".concat(g,\", but your account is reported to have version \").concat(l.version,\". If you'd like to proceed with sign in anyway, please disable strict sign in and try again.\"),s.unlockAndResolve(u,{error:{message:m}}),t.abrupt(\"return\");case 47:return t.next=49,SFJS.crypto.computeEncryptionKeysForUser(i,l);case 49:b=t.sent,k=r+\"/auth/sign_in\",(w=_.merge({password:b.pw,email:n},o)).api=S.getApiVersion(),s.httpManager.postAbsolute(k,w,function(){var t=v(regeneratorRuntime.mark((function t(i){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,s.handleAuthResponse(i,n,r,l,b);case 2:s.notifyEvent(e.DidSignInEvent),s.$timeout((function(){return s.unlockAndResolve(u,i)}));case 4:case\"end\":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),(function(e){console.error(\"Error logging in\",e),\"object\"!==d(e)&&(e={error:{message:\"A server error occurred while trying to sign in. Please try again.\"}}),s.$timeout((function(){return s.unlockAndResolve(u,e)}))}));case 54:case\"end\":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}()));case 1:case\"end\":return t.stop()}}),t)}))),function(e,t,r,i,a){return n.apply(this,arguments)})},{key:\"register\",value:function(e,t,r){var n=this;return new Promise(function(){var i=v(regeneratorRuntime.mark((function i(a,o){var s,u,c,l,f,h;return regeneratorRuntime.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(!n.isLocked()){i.next=3;break}return a({error:{message:\"Register already in progress.\"}}),i.abrupt(\"return\");case 3:if(!(r.length<8)){i.next=8;break}return s=\"Your password must be at least \".concat(8,\" characters in length. For your security, please choose a longer password or, ideally, a passphrase, and try again.\"),a({error:{message:s}}),i.abrupt(\"return\");case 8:return n.lock(),i.next=11,SFJS.crypto.generateInitialKeysAndAuthParamsForUser(t,r);case 11:u=i.sent,c=u.keys,l=u.authParams,f=e+\"/auth\",(h=_.merge({password:c.pw,email:t},l)).api=S.getApiVersion(),n.httpManager.postAbsolute(f,h,function(){var r=v(regeneratorRuntime.mark((function r(i){return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,n.handleAuthResponse(i,t,e,l,c);case 2:n.unlockAndResolve(a,i);case 3:case\"end\":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),(function(e){console.error(\"Registration error\",e),\"object\"!==d(e)&&(e={error:{message:\"A server error occurred while trying to register. Please try again.\"}}),n.unlockAndResolve(a,e)}));case 18:case\"end\":return i.stop()}}),i)})));return function(e,t){return i.apply(this,arguments)}}())}},{key:\"changePassword\",value:(r=v(regeneratorRuntime.mark((function e(t,r,n,i,a){var o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",new Promise(function(){var e=v(regeneratorRuntime.mark((function e(s,u){var c,l,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!o.isLocked()){e.next=3;break}return s({error:{message:\"Change password already in progress.\"}}),e.abrupt(\"return\");case 3:o.lock(),c=i.pw,l=t+\"/auth/change_pw\",(f=_.merge({new_password:c,current_password:n},a)).api=S.getApiVersion(),o.httpManager.postAuthenticatedAbsolute(l,f,function(){var e=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.handleAuthResponse(t,r,null,a,i);case 2:o.unlockAndResolve(s,t);case 3:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),(function(e){\"object\"!==d(e)&&(e={error:{message:\"Something went wrong while changing your password. Your password was not changed. Please try again.\"}}),o.unlockAndResolve(s,e)}));case 9:case\"end\":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()));case 1:case\"end\":return e.stop()}}),e)}))),function(e,t,n,i,a){return r.apply(this,arguments)})},{key:\"handleAuthResponse\",value:(t=v(regeneratorRuntime.mark((function e(t,r,n,i,a){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=3;break}return e.next=3,this.storageManager.setItem(\"server\",n);case 3:return this._authParams=i,e.next=6,this.storageManager.setItem(\"auth_params\",JSON.stringify(i));case 6:return e.next=8,this.storageManager.setItem(\"jwt\",t.token);case 8:return e.abrupt(\"return\",this.saveKeys(a));case 9:case\"end\":return e.stop()}}),e,this)}))),function(e,r,n,i,a){return t.apply(this,arguments)})}]),e}();n.SFAuthManager=w;var x=\"undefined\"!=typeof window?window:void 0!==e?e:null,S=function(){function e(t,r){g(this,e),this.$timeout=t||setTimeout.bind(x)}var t,r,n,i,a,o;return b(e,null,[{key:\"getApiVersion\",value:function(){return\"20190520\"}}]),b(e,[{key:\"setJWTRequestHandler\",value:function(e){this.jwtRequestHandler=e}},{key:\"setAuthHeadersForRequest\",value:(o=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.jwtRequestHandler();case 2:(r=e.sent)&&t.setRequestHeader(\"Authorization\",\"Bearer \"+r);case 4:case\"end\":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:\"postAbsolute\",value:(a=v(regeneratorRuntime.mark((function e(t,r,n,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.httpRequest(\"post\",t,r,n,i));case 1:case\"end\":return e.stop()}}),e,this)}))),function(e,t,r,n){return a.apply(this,arguments)})},{key:\"postAuthenticatedAbsolute\",value:(i=v(regeneratorRuntime.mark((function e(t,r,n,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.httpRequest(\"post\",t,r,n,i,!0));case 1:case\"end\":return e.stop()}}),e,this)}))),function(e,t,r,n){return i.apply(this,arguments)})},{key:\"patchAbsolute\",value:(n=v(regeneratorRuntime.mark((function e(t,r,n,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.httpRequest(\"patch\",t,r,n,i));case 1:case\"end\":return e.stop()}}),e,this)}))),function(e,t,r,i){return n.apply(this,arguments)})},{key:\"getAbsolute\",value:(r=v(regeneratorRuntime.mark((function e(t,r,n,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.httpRequest(\"get\",t,r,n,i));case 1:case\"end\":return e.stop()}}),e,this)}))),function(e,t,n,i){return r.apply(this,arguments)})},{key:\"httpRequest\",value:(t=v(regeneratorRuntime.mark((function e(t,r,n,i,a){var o,s=this,u=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=u.length>5&&void 0!==u[5]&&u[5],e.abrupt(\"return\",new Promise(function(){var e=v(regeneratorRuntime.mark((function e(u,c){var l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((l=new XMLHttpRequest).onreadystatechange=function(){if(4==l.readyState){var e=l.responseText;if(e)try{e=JSON.parse(e)}catch(e){}l.status>=200&&l.status<=299?s.$timeout((function(){i(e),u(e)})):(console.error(\"Request error:\",e),s.$timeout((function(){a(e,l.status),c(e)})))}},\"get\"==t&&Object.keys(n).length>0&&(r=s.urlForUrlAndParams(r,n)),l.open(t,r,!0),l.setRequestHeader(\"Content-type\",\"application/json\"),!o){e.next=8;break}return e.next=8,s.setAuthHeadersForRequest(l);case 8:\"post\"==t||\"patch\"==t?l.send(JSON.stringify(n)):l.send();case 9:case\"end\":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()));case 2:case\"end\":return e.stop()}}),e)}))),function(e,r,n,i,a){return t.apply(this,arguments)})},{key:\"urlForUrlAndParams\",value:function(e,t){var r=Object.keys(t).map((function(e){return e+\"=\"+encodeURIComponent(t[e])})).join(\"&\");return e.includes(\"?\")?e+\"&\"+r:e+\"?\"+r}}]),e}();n.SFHttpManager=S;var I=function(){function e(t,r,n,i){var a=this;g(this,e),this.modelManager=t,this.syncManager=r,this.storageManager=n,this.completionHandlers=[],this.loadMigrations();var o=!1,s=i.addEventHandler((function(e){e==w.DidSignInEvent&&(o=!0)}));this.receivedLocalDataEvent=r.initialDataLoaded(),this.syncManager.addEventHandler(function(){var e=v(regeneratorRuntime.mark((function e(t,r){var n,u,c,l,f,h,p,d,y;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u=\"sync:completed\"==t,!(n=\"local-data-loaded\"==t)&&!u){e.next=40;break}if(n?a.receivedLocalDataEvent=!0:u&&(a.receivedSyncCompletedEvent=!0),!a.receivedLocalDataEvent||!a.receivedSyncCompletedEvent){e.next=40;break}if(!o){e.next=39;break}return o=!1,i.removeEventHandler(s),e.next=10,a.getCompletedMigrations();case 10:c=e.sent.slice(),l=!0,f=!1,h=void 0,e.prev=14,p=c[Symbol.iterator]();case 16:if(l=(d=p.next()).done){e.next=25;break}return y=d.value,e.next=20,a.migrationForEncodedName(y);case 20:e.sent.runOnlyOnce||_.pull(a._completed,y);case 22:l=!0,e.next=16;break;case 25:e.next=31;break;case 27:e.prev=27,e.t0=e.catch(14),f=!0,h=e.t0;case 31:e.prev=31,e.prev=32,l||null==p.return||p.return();case 34:if(e.prev=34,!f){e.next=37;break}throw h;case 37:return e.finish(34);case 38:return e.finish(31);case 39:a.runPendingMigrations();case 40:case\"end\":return e.stop()}}),e,null,[[14,27,31,39],[32,,34,38]])})));return function(t,r){return e.apply(this,arguments)}}())}var t,r,n,i,a,o,s,u;return b(e,[{key:\"addCompletionHandler\",value:function(e){this.completionHandlers.push(e)}},{key:\"removeCompletionHandler\",value:function(e){_.pull(this.completionHandlers,e)}},{key:\"migrationForEncodedName\",value:(u=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.decode(t);case 2:return r=e.sent,e.abrupt(\"return\",this.migrations.find((function(e){return e.name==r})));case 4:case\"end\":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:\"loadMigrations\",value:function(){this.migrations=this.registeredMigrations()}},{key:\"registeredMigrations\",value:function(){}},{key:\"runPendingMigrations\",value:(s=v(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,u,c,l,f,h,p,d,y,v,g,m,b,k,w,x,S,_,I,R,A,D;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPendingMigrations();case 2:for(t=e.sent,r=!0,n=!1,i=void 0,e.prev=6,a=t[Symbol.iterator]();!(r=(o=a.next()).done);r=!0)(s=o.value).items=[];e.next=14;break;case 10:e.prev=10,e.t0=e.catch(6),n=!0,i=e.t0;case 14:e.prev=14,e.prev=15,r||null==a.return||a.return();case 17:if(e.prev=17,!n){e.next=20;break}throw i;case 20:return e.finish(17);case 21:return e.finish(14);case 22:u=!0,c=!1,l=void 0,e.prev=25,f=this.modelManager.allNondummyItems[Symbol.iterator]();case 27:if(u=(h=f.next()).done){e.next=51;break}for(p=h.value,d=!0,y=!1,v=void 0,e.prev=32,g=t[Symbol.iterator]();!(d=(m=g.next()).done);d=!0)s=m.value,p.content_type==s.content_type&&s.items.push(p);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),y=!0,v=e.t1;case 40:e.prev=40,e.prev=41,d||null==g.return||g.return();case 43:if(e.prev=43,!y){e.next=46;break}throw v;case 46:return e.finish(43);case 47:return e.finish(40);case 48:u=!0,e.next=27;break;case 51:e.next=57;break;case 53:e.prev=53,e.t2=e.catch(25),c=!0,l=e.t2;case 57:e.prev=57,e.prev=58,u||null==f.return||f.return();case 60:if(e.prev=60,!c){e.next=63;break}throw l;case 63:return e.finish(60);case 64:return e.finish(57);case 65:b=!0,k=!1,w=void 0,e.prev=68,x=t[Symbol.iterator]();case 70:if(b=(S=x.next()).done){e.next=81;break}if(!((s=S.value).items&&s.items.length>0||s.customHandler)){e.next=77;break}return e.next=75,this.runMigration(s,s.items);case 75:e.next=78;break;case 77:this.markMigrationCompleted(s);case 78:b=!0,e.next=70;break;case 81:e.next=87;break;case 83:e.prev=83,e.t3=e.catch(68),k=!0,w=e.t3;case 87:e.prev=87,e.prev=88,b||null==x.return||x.return();case 90:if(e.prev=90,!k){e.next=93;break}throw w;case 93:return e.finish(90);case 94:return e.finish(87);case 95:for(_=!0,I=!1,R=void 0,e.prev=98,A=this.completionHandlers[Symbol.iterator]();!(_=(D=A.next()).done);_=!0)(0,D.value)();e.next=106;break;case 102:e.prev=102,e.t4=e.catch(98),I=!0,R=e.t4;case 106:e.prev=106,e.prev=107,_||null==A.return||A.return();case 109:if(e.prev=109,!I){e.next=112;break}throw R;case 112:return e.finish(109);case 113:return e.finish(106);case 114:case\"end\":return e.stop()}}),e,this,[[6,10,14,22],[15,,17,21],[25,53,57,65],[32,36,40,48],[41,,43,47],[58,,60,64],[68,83,87,95],[88,,90,94],[98,102,106,114],[107,,109,113]])}))),function(){return s.apply(this,arguments)})},{key:\"encode\",value:(o=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",window.btoa(t));case 1:case\"end\":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:\"decode\",value:(a=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",window.atob(t));case 1:case\"end\":return e.stop()}}),e)}))),function(e){return a.apply(this,arguments)})},{key:\"getCompletedMigrations\",value:(i=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._completed){e.next=5;break}return e.next=3,this.storageManager.getItem(\"migrations\");case 3:t=e.sent,this._completed=t?JSON.parse(t):[];case 5:return e.abrupt(\"return\",this._completed);case 6:case\"end\":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:\"getPendingMigrations\",value:(n=v(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:t=e.sent,r=[],n=!0,i=!1,a=void 0,e.prev=7,o=this.migrations[Symbol.iterator]();case 9:if(n=(s=o.next()).done){e.next=22;break}return u=s.value,e.t0=t,e.next=14,this.encode(u.name);case 14:if(e.t1=e.sent,e.t2=e.t0.indexOf.call(e.t0,e.t1),e.t3=-1,e.t2!=e.t3){e.next=19;break}r.push(u);case 19:n=!0,e.next=9;break;case 22:e.next=28;break;case 24:e.prev=24,e.t4=e.catch(7),i=!0,a=e.t4;case 28:e.prev=28,e.prev=29,n||null==o.return||o.return();case 31:if(e.prev=31,!i){e.next=34;break}throw a;case 34:return e.finish(31);case 35:return e.finish(28);case 36:return e.abrupt(\"return\",r);case 37:case\"end\":return e.stop()}}),e,this,[[7,24,28,36],[29,,31,35]])}))),function(){return n.apply(this,arguments)})},{key:\"markMigrationCompleted\",value:(r=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:return r=e.sent,e.t0=r,e.next=6,this.encode(t.name);case 6:e.t1=e.sent,e.t0.push.call(e.t0,e.t1),this.storageManager.setItem(\"migrations\",JSON.stringify(r)),t.running=!1;case 10:case\"end\":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:\"runMigration\",value:(t=v(regeneratorRuntime.mark((function e(t,r){var n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.running){e.next=2;break}return e.abrupt(\"return\");case 2:if(console.log(\"Running migration:\",t.name),t.running=!0,!t.customHandler){e.next=8;break}return e.abrupt(\"return\",t.customHandler().then((function(){n.markMigrationCompleted(t)})));case 8:return e.abrupt(\"return\",t.handler(r).then((function(){n.markMigrationCompleted(t)})));case 9:case\"end\":return e.stop()}}),e)}))),function(e,r){return t.apply(this,arguments)})}]),e}();n.SFMigrationManager=I;var R=function(){function e(t){g(this,e),e.MappingSourceRemoteRetrieved=\"MappingSourceRemoteRetrieved\",e.MappingSourceRemoteSaved=\"MappingSourceRemoteSaved\",e.MappingSourceLocalSaved=\"MappingSourceLocalSaved\",e.MappingSourceLocalRetrieved=\"MappingSourceLocalRetrieved\",e.MappingSourceLocalDirtied=\"MappingSourceLocalDirtied\",e.MappingSourceComponentRetrieved=\"MappingSourceComponentRetrieved\",e.MappingSourceDesktopInstalled=\"MappingSourceDesktopInstalled\",e.MappingSourceRemoteActionRetrieved=\"MappingSourceRemoteActionRetrieved\",e.MappingSourceFileImport=\"MappingSourceFileImport\",e.isMappingSourceRetrieved=function(t){return[e.MappingSourceRemoteRetrieved,e.MappingSourceComponentRetrieved,e.MappingSourceRemoteActionRetrieved].includes(t)},this.$timeout=t||setTimeout.bind(window),this.itemSyncObservers=[],this.items=[],this.itemsHash={},this.missedReferences={},this.uuidChangeObservers=[]}var t,r,n,i,a,o,s,u,c,l,f,h;return b(e,[{key:\"handleSignout\",value:function(){this.items.length=0,this.itemsHash={},this.missedReferences={}}},{key:\"addModelUuidChangeObserver\",value:function(e,t){this.uuidChangeObservers.push({id:e,callback:t})}},{key:\"notifyObserversOfUuidChange\",value:function(e,t){var r=!0,n=!1,i=void 0;try{for(var a,o=this.uuidChangeObservers[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var s=a.value;try{s.callback(e,t)}catch(e){console.error(\"Notify observers of uuid change exception:\",e)}}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}}},{key:\"alternateUUIDForItem\",value:(h=v(regeneratorRuntime.mark((function t(r){var n,i,a,o,s,u,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=this.createItem(r),t.next=3,SFJS.crypto.generateUUID();case 3:for(n.uuid=t.sent,n.informReferencesOfUUIDChange(r.uuid,n.uuid),this.informModelsOfUUIDChangeForItem(n,r.uuid,n.uuid),i=!0,a=!1,o=void 0,t.prev=9,s=r.referencingObjects[Symbol.iterator]();!(i=(u=s.next()).done);i=!0)(c=u.value).setIsNoLongerBeingReferencedBy(r),r.setIsNoLongerBeingReferencedBy(c),c.addItemAsRelationship(n);t.next=17;break;case 13:t.prev=13,t.t0=t.catch(9),a=!0,o=t.t0;case 17:t.prev=17,t.prev=18,i||null==s.return||s.return();case 20:if(t.prev=20,!a){t.next=23;break}throw o;case 23:return t.finish(20);case 24:return t.finish(17);case 25:return this.setItemsDirty(r.referencingObjects,!0),this.resolveReferencesForItem(n),this.loggingEnabled&&console.log(r.uuid,\"--\\x3e\",n.uuid),r.deleted=!0,r.content.references=[],this.setItemDirty(r,!1,!1,e.MappingSourceLocalSaved),t.next=33,this.mapResponseItemsToLocalModels([r],e.MappingSourceLocalSaved);case 33:return this.addItem(n),this.setItemDirty(n,!0,!0,e.MappingSourceLocalSaved),this.notifyObserversOfUuidChange(r,n),t.abrupt(\"return\",n);case 37:case\"end\":return t.stop()}}),t,this,[[9,13,17,25],[18,,20,24]])}))),function(e){return h.apply(this,arguments)})},{key:\"informModelsOfUUIDChangeForItem\",value:function(e,t,r){var n=!0,i=!1,a=void 0;try{for(var o,s=this.items[Symbol.iterator]();!(n=(o=s.next()).done);n=!0)o.value.potentialItemOfInterestHasChangedItsUUID(e,t,r)}catch(e){i=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}}},{key:\"didSyncModelsOffline\",value:function(t){this.notifySyncObserversOfModels(t,e.MappingSourceLocalSaved)}},{key:\"mapResponseItemsToLocalModels\",value:(f=v(regeneratorRuntime.mark((function e(t,r,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.mapResponseItemsToLocalModelsWithOptions({items:t,source:r,sourceKey:n}));case 1:case\"end\":return e.stop()}}),e,this)}))),function(e,t,r){return f.apply(this,arguments)})},{key:\"mapResponseItemsToLocalModelsOmittingFields\",value:(l=v(regeneratorRuntime.mark((function e(t,r,n,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.mapResponseItemsToLocalModelsWithOptions({items:t,omitFields:r,source:n,sourceKey:i}));case 1:case\"end\":return e.stop()}}),e,this)}))),function(e,t,r,n){return l.apply(this,arguments)})},{key:\"mapResponseItemsToLocalModelsWithOptions\",value:(c=v(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,u,c,l,f,h,d,y,v,g,m,b,k,w,x,S,_,I,R,A,D,C,M,F,O,P,B,j,T,E,L,H,U,N;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=t.items,n=t.omitFields,i=t.source,a=t.sourceKey,t.options,o=[],s=[],u=[],c=!0,l=!1,f=void 0,e.prev=5,h=r[Symbol.iterator]();case 7:if(c=(d=h.next()).done){e.next=58;break}if(y=d.value){e.next=11;break}return e.abrupt(\"continue\",55);case 11:if(v=!y.content&&!y.errorDecrypting,y.content_type&&y.uuid&&!v||y.deleted){e.next=16;break}return console.error(\"Server response item is corrupt:\",y),e.abrupt(\"continue\",55);case 16:if(!Array.isArray(n)){e.next=36;break}for(g=!0,m=!1,b=void 0,e.prev=20,k=n[Symbol.iterator]();!(g=(w=k.next()).done);g=!0)x=w.value,delete y[x];e.next=28;break;case 24:e.prev=24,e.t0=e.catch(20),m=!0,b=e.t0;case 28:e.prev=28,e.prev=29,g||null==k.return||k.return();case 31:if(e.prev=31,!m){e.next=34;break}throw b;case 34:return e.finish(31);case 35:return e.finish(28);case 36:if((S=this.findItem(y.uuid))&&(S.updateFromJSON(y),S.dummy=!1),_=y.content_type||S&&S.content_type,!this.acceptableContentTypes||this.acceptableContentTypes.includes(_)){e.next=42;break}return e.abrupt(\"continue\",55);case 42:if(I=!1,1!=y.deleted){e.next=50;break}if(!y.dirty){e.next=48;break}I=!0,e.next=50;break;case 48:return S&&(o.push(S),u.push(S),this.removeItemLocally(S)),e.abrupt(\"continue\",55);case 50:S||(S=this.createItem(y)),this.addItem(S,I),S.errorDecrypting||u.push(S),o.push(S),s.push(y);case 55:c=!0,e.next=7;break;case 58:e.next=64;break;case 60:e.prev=60,e.t1=e.catch(5),l=!0,f=e.t1;case 64:e.prev=64,e.prev=65,c||null==h.return||h.return();case 67:if(e.prev=67,!l){e.next=70;break}throw f;case 70:return e.finish(67);case 71:return e.finish(64);case 72:for(R=!0,A=!1,D=void 0,e.prev=75,C=s.entries()[Symbol.iterator]();!(R=(M=C.next()).done);R=!0)F=p(M.value,2),O=F[0],P=F[1],B=o[O],P.content&&this.resolveReferencesForItem(B),B.didFinishSyncing();e.next=83;break;case 79:e.prev=79,e.t2=e.catch(75),A=!0,D=e.t2;case 83:e.prev=83,e.prev=84,R||null==C.return||C.return();case 86:if(e.prev=86,!A){e.next=89;break}throw D;case 89:return e.finish(86);case 90:return e.finish(83);case 91:for(j=this.popMissedReferenceStructsForObjects(s),T=!0,E=!1,L=void 0,e.prev=95,H=function(){var e=N.value,t=o.find((function(t){return t.uuid==e.reference_uuid}));t&&e.for_item.addItemAsRelationship(t)},U=j[Symbol.iterator]();!(T=(N=U.next()).done);T=!0)H();e.next=104;break;case 100:e.prev=100,e.t3=e.catch(95),E=!0,L=e.t3;case 104:e.prev=104,e.prev=105,T||null==U.return||U.return();case 107:if(e.prev=107,!E){e.next=110;break}throw L;case 110:return e.finish(107);case 111:return e.finish(104);case 112:return e.next=114,this.notifySyncObserversOfModels(u,i,a);case 114:return e.abrupt(\"return\",o);case 115:case\"end\":return e.stop()}}),e,this,[[5,60,64,72],[20,24,28,36],[29,,31,35],[65,,67,71],[75,79,83,91],[84,,86,90],[95,100,104,112],[105,,107,111]])}))),function(e){return c.apply(this,arguments)})},{key:\"missedReferenceBuildKey\",value:function(e,t){return\"\".concat(e,\":\").concat(t)}},{key:\"popMissedReferenceStructsForObjects\",value:function(e){if(!e||0==e.length)return[];for(var t=[],r=[],n=e.map((function(e){return e.uuid})),i=n[0].length,a=0,o=Object.keys(this.missedReferences);a<o.length;a++){var s=o[a];n.includes(s.substring(0,i))&&(t.push(this.missedReferences[s]),r.push(s))}for(var u=0,c=r;u<c.length;u++){var l=c[u];delete this.missedReferences[l]}return t}},{key:\"resolveReferencesForItem\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e.errorDecrypting){var r=e.contentObject;if(e.updateLocalRelationships(),r.references){var n=r.references.slice(),i=n.map((function(e){return e.uuid})),a=!0,o=this.findItems(i,a),s=!0,u=!1,c=void 0;try{for(var l,f=o.entries()[Symbol.iterator]();!(s=(l=f.next()).done);s=!0){var h=p(l.value,2),d=h[0],y=h[1];if(y)e.addItemAsRelationship(y),t&&this.setItemDirty(y,!0);else{var v=i[d],g=this.missedReferenceBuildKey(v,e.uuid);if(!this.missedReferences[g]){var m={reference_uuid:v,for_item:e};this.missedReferences[g]=m}}}}catch(e){u=!0,c=e}finally{try{s||null==f.return||f.return()}finally{if(u)throw c}}}}}},{key:\"notifySyncObserversOfModels\",value:(u=v(regeneratorRuntime.mark((function e(t,r,n){var i,a,o,s,u,c,l,f=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=this.itemSyncObservers.sort((function(e,t){return e.priority<t.priority?-1:1})),a=!0,o=!1,s=void 0,e.prev=4,u=regeneratorRuntime.mark((function e(){var i,a,o,s,u,c,h,p,d,y;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(i=l.value,a=i.types.includes(\"*\")?t:t.filter((function(e){return i.types.includes(e.content_type)})),o=[],s=[],u=!0,c=!1,h=void 0,e.prev=6,p=a[Symbol.iterator]();!(u=(d=p.next()).done);u=!0)(y=d.value).deleted?s.push(y):o.push(y);e.next=14;break;case 10:e.prev=10,e.t0=e.catch(6),c=!0,h=e.t0;case 14:e.prev=14,e.prev=15,u||null==p.return||p.return();case 17:if(e.prev=17,!c){e.next=20;break}throw h;case 20:return e.finish(17);case 21:return e.finish(14);case 22:if(!(a.length>0)){e.next=25;break}return e.next=25,f._callSyncObserverCallbackWithTimeout(i,a,o,s,r,n);case 25:case\"end\":return e.stop()}}),e,null,[[6,10,14,22],[15,,17,21]])})),c=i[Symbol.iterator]();case 7:if(a=(l=c.next()).done){e.next=12;break}return e.delegateYield(u(),\"t0\",9);case 9:a=!0,e.next=7;break;case 12:e.next=18;break;case 14:e.prev=14,e.t1=e.catch(4),o=!0,s=e.t1;case 18:e.prev=18,e.prev=19,a||null==c.return||c.return();case 21:if(e.prev=21,!o){e.next=24;break}throw s;case 24:return e.finish(21);case 25:return e.finish(18);case 26:case\"end\":return e.stop()}}),e,this,[[4,14,18,26],[19,,21,25]])}))),function(e,t,r){return u.apply(this,arguments)})},{key:\"_callSyncObserverCallbackWithTimeout\",value:(s=v(regeneratorRuntime.mark((function e(t,r,n,i,a,o){var s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",new Promise((function(e,u){s.$timeout((function(){try{t.callback(r,n,i,a,o)}catch(e){console.error(\"Sync observer exception\",e)}finally{e()}}))})));case 1:case\"end\":return e.stop()}}),e)}))),function(e,t,r,n,i,a){return s.apply(this,arguments)})},{key:\"setItemDirty\",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;this.setItemsDirty([e],t,r,n,i)}},{key:\"setItemsDirty\",value:function(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,o=!0,s=!1,u=void 0;try{for(var c,l=t[Symbol.iterator]();!(o=(c=l.next()).done);o=!0){var f=c.value;f.setDirty(r,n)}}catch(e){s=!0,u=e}finally{try{o||null==l.return||l.return()}finally{if(s)throw u}}this.notifySyncObserversOfModels(t,i||e.MappingSourceLocalDirtied,a)}},{key:\"createItem\",value:function(t){var r=e.ContentTypeClassMapping&&e.ContentTypeClassMapping[t.content_type];return r||(r=P),new r(t)}},{key:\"createDuplicateItemFromResponseItem\",value:(o=v(regeneratorRuntime.mark((function e(t){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(\"function\"!=typeof t.setDirty){e.next=3;break}return console.error(\"Attempting to create conflicted copy of non-response item.\"),e.abrupt(\"return\",null);case 3:return r=JSON.parse(JSON.stringify(t)),e.next=6,SFJS.crypto.generateUUID();case 6:return r.uuid=e.sent,n=this.createItem(r),e.abrupt(\"return\",n);case 9:case\"end\":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:\"duplicateItemAndAddAsConflict\",value:function(e){return this.duplicateItemWithCustomContentAndAddAsConflict({content:e.content,duplicateOf:e})}},{key:\"duplicateItemWithCustomContentAndAddAsConflict\",value:function(e){var t=e.content,r=e.duplicateOf,n=this.duplicateItemWithCustomContent({content:t,duplicateOf:r});return this.addDuplicatedItemAsConflict({duplicate:n,duplicateOf:r}),n}},{key:\"addDuplicatedItemAsConflict\",value:function(e){var t=e.duplicate,r=e.duplicateOf;this.addDuplicatedItem(t,r),t.content.conflict_of=r.uuid}},{key:\"duplicateItemWithCustomContent\",value:function(e){var t=e.content,r=e.duplicateOf,n=new r.constructor({content:t});return n.created_at=r.created_at,n.content_type||(n.content_type=r.content_type),n}},{key:\"duplicateItemAndAdd\",value:function(e){var t=this.duplicateItemWithoutAdding(e);return this.addDuplicatedItem(t,e),t}},{key:\"duplicateItemWithoutAdding\",value:function(e){var t=new e.constructor({content:e.content});return t.created_at=e.created_at,t.content_type||(t.content_type=e.content_type),t}},{key:\"addDuplicatedItem\",value:function(e,t){this.addItem(e);var r=!0,n=!1,i=void 0;try{for(var a,o=t.referencingObjects[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var s=a.value;s.addItemAsRelationship(e),this.setItemDirty(s,!0)}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}this.resolveReferencesForItem(e),this.setItemDirty(e,!0)}},{key:\"addItem\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.addItems([e],t)}},{key:\"addItems\",value:function(e){var t=this;e.forEach((function(e){t.itemsHash[e.uuid]||(t.itemsHash[e.uuid]=e,t.items.push(e))}))}},{key:\"addItemSyncObserver\",value:function(e,t,r){this.addItemSyncObserverWithPriority({id:e,types:t,callback:r,priority:1})}},{key:\"addItemSyncObserverWithPriority\",value:function(e){var t=e.id,r=e.priority,n=e.types,i=e.callback;Array.isArray(n)||(n=[n]),this.itemSyncObservers.push({id:t,types:n,priority:r,callback:i})}},{key:\"removeItemSyncObserver\",value:function(e){_.remove(this.itemSyncObservers,_.find(this.itemSyncObservers,{id:e}))}},{key:\"getDirtyItems\",value:function(){return this.items.filter((function(e){return 1==e.dirty&&!e.dummy&&(!e.errorDecrypting||e.deleted)}))}},{key:\"clearDirtyItems\",value:function(e){var t=!0,r=!1,n=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0)i.value.setDirty(!1)}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}}},{key:\"removeAndDirtyAllRelationshipsForItem\",value:function(e){if(!e.errorDecrypting){var t=!0,r=!1,n=void 0;try{for(var i,a=e.content.references[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value,s=this.findItem(o.uuid);s&&(e.removeItemAsRelationship(s),s.hasRelationshipWithItem(e)&&(s.removeItemAsRelationship(e),this.setItemDirty(s,!0)))}}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}}var u=!0,c=!1,l=void 0;try{for(var f,h=e.referencingObjects[Symbol.iterator]();!(u=(f=h.next()).done);u=!0){var p=f.value;p.removeItemAsRelationship(e),this.setItemDirty(p,!0)}}catch(e){c=!0,l=e}finally{try{u||null==h.return||h.return()}finally{if(c)throw l}}e.referencingObjects=[]}},{key:\"setAllItemsDirty\",value:function(){var e=this.allItems;this.setItemsDirty(e,!0)}},{key:\"setItemToBeDeleted\",value:function(e){e.deleted=!0,e.dummy||this.setItemDirty(e,!0),this.removeAndDirtyAllRelationshipsForItem(e)}},{key:\"removeItemLocally\",value:(a=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:_.remove(this.items,{uuid:t.uuid}),delete this.itemsHash[t.uuid],t.isBeingRemovedLocally();case 3:case\"end\":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:\"allItemsMatchingTypes\",value:function(e){return this.allItems.filter((function(t){return(_.includes(e,t.content_type)||_.includes(e,\"*\"))&&!t.dummy}))}},{key:\"invalidItems\",value:function(){return this.allItems.filter((function(e){return e.errorDecrypting}))}},{key:\"validItemsForContentType\",value:function(e){return this.allItems.filter((function(t){return t.content_type==e&&!t.errorDecrypting}))}},{key:\"findItem\",value:function(e){return this.itemsHash[e]}},{key:\"findItems\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[],n=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value,c=this.itemsHash[u];(c||t)&&r.push(c)}}catch(e){i=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return r}},{key:\"itemsMatchingPredicate\",value:function(e){return this.itemsMatchingPredicates([e])}},{key:\"itemsMatchingPredicates\",value:function(e){return this.filterItemsWithPredicates(this.allItems,e)}},{key:\"filterItemsWithPredicates\",value:function(e,t){return e.filter((function(e){var r=!0,n=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var s=a.value;if(!e.satisfiesPredicate(s))return!1}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}return!0}))}},{key:\"importItems\",value:(i=v(regeneratorRuntime.mark((function t(r){var n,i,a,o,s,u,c,l,f,h,p,d,y,v,g,m,b,k,w,x,S,_,I,R,A,D,C;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=[],i={},a=!0,o=!1,s=void 0,t.prev=5,u=r[Symbol.iterator]();case 7:if(a=(c=u.next()).done){t.next=18;break}if(l=c.value,f=this.findItem(l.uuid)){t.next=13;break}return i[l.uuid]={},t.abrupt(\"continue\",15);case 13:h=this.duplicateItemWithoutAdding(f),i[l.uuid]={frozenValue:h,itemRef:f};case 15:a=!0,t.next=7;break;case 18:t.next=24;break;case 20:t.prev=20,t.t0=t.catch(5),o=!0,s=t.t0;case 24:t.prev=24,t.prev=25,a||null==u.return||u.return();case 27:if(t.prev=27,!o){t.next=30;break}throw s;case 30:return t.finish(27);case 31:return t.finish(24);case 32:p=!0,d=!1,y=void 0,t.prev=35,v=r[Symbol.iterator]();case 37:if(p=(g=v.next()).done){t.next=52;break}if(m=g.value,b=i[m.uuid],k=b.frozenValue,w=b.itemRef,!k||w.errorDecrypting){t.next=47;break}return t.next=43,this.createDuplicateItemFromResponseItem(m);case 43:x=t.sent,m.deleted||k.isItemContentEqualWith(x)||(this.addDuplicatedItemAsConflict({duplicate:x,duplicateOf:w}),n.push(x)),t.next=49;break;case 47:n.push(m),w&&w.errorDecrypting&&(w.errorDecrypting=!1);case 49:p=!0,t.next=37;break;case 52:t.next=58;break;case 54:t.prev=54,t.t1=t.catch(35),d=!0,y=t.t1;case 58:t.prev=58,t.prev=59,p||null==v.return||v.return();case 61:if(t.prev=61,!d){t.next=64;break}throw y;case 64:return t.finish(61);case 65:return t.finish(58);case 66:return t.next=68,this.mapResponseItemsToLocalModels(n,e.MappingSourceFileImport);case 68:for(S=t.sent,_=!0,I=!1,R=void 0,t.prev=72,A=S[Symbol.iterator]();!(_=(D=A.next()).done);_=!0)C=D.value,this.setItemDirty(C,!0,!1),C.deleted=!1;t.next=80;break;case 76:t.prev=76,t.t2=t.catch(72),I=!0,R=t.t2;case 80:t.prev=80,t.prev=81,_||null==A.return||A.return();case 83:if(t.prev=83,!I){t.next=86;break}throw R;case 86:return t.finish(83);case 87:return t.finish(80);case 88:return t.abrupt(\"return\",S);case 89:case\"end\":return t.stop()}}),t,this,[[5,20,24,32],[25,,27,31],[35,54,58,66],[59,,61,65],[72,76,80,88],[81,,83,87]])}))),function(e){return i.apply(this,arguments)})},{key:\"getAllItemsJSONData\",value:(n=v(regeneratorRuntime.mark((function e(t,r,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.getJSONDataForItems(this.allItems,t,r,n));case 1:case\"end\":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:\"getJSONDataForItems\",value:(r=v(regeneratorRuntime.mark((function e(t,r,n,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",Promise.all(t.map((function(e){return new B(e,r,n).paramsForExportFile()}))).then((function(e){if(i&&0==e.length)return null;var t={items:e};return r&&(t.auth_params=n),JSON.stringify(t,null,2)})));case 1:case\"end\":return e.stop()}}),e)}))),function(e,t,n,i){return r.apply(this,arguments)})},{key:\"computeDataIntegrityHash\",value:(t=v(regeneratorRuntime.mark((function e(){var t,r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=this.allNondummyItems.sort((function(e,t){return t.updated_at-e.updated_at})),r=t.map((function(e){return e.updatedAtTimestamp()})),n=r.join(\",\"),e.next=6,SFJS.crypto.sha256(n);case 6:return i=e.sent,e.abrupt(\"return\",i);case 10:return e.prev=10,e.t0=e.catch(0),console.error(\"Error computing data integrity hash\",e.t0),e.abrupt(\"return\",null);case 14:case\"end\":return e.stop()}}),e,this,[[0,10]])}))),function(){return t.apply(this,arguments)})},{key:\"allItems\",get:function(){return this.items.slice()}},{key:\"allNondummyItems\",get:function(){return this.items.filter((function(e){return!e.dummy}))}}]),e}();n.SFModelManager=R;var A=function(){function e(t,r,n){g(this,e),this.modelManager=t,this.syncManager=r,this.singletonManager=n,this.loadPrivileges(),e.CredentialAccountPassword=\"CredentialAccountPassword\",e.CredentialLocalPasscode=\"CredentialLocalPasscode\",e.ActionManageExtensions=\"ActionManageExtensions\",e.ActionManageBackups=\"ActionManageBackups\",e.ActionViewProtectedNotes=\"ActionViewProtectedNotes\",e.ActionManagePrivileges=\"ActionManagePrivileges\",e.ActionManagePasscode=\"ActionManagePasscode\",e.ActionDeleteNote=\"ActionDeleteNote\",e.SessionExpiresAtKey=\"SessionExpiresAtKey\",e.SessionLengthKey=\"SessionLengthKey\",e.SessionLengthNone=0,e.SessionLengthFiveMinutes=300,e.SessionLengthOneHour=3600,e.SessionLengthOneWeek=604800,this.availableActions=[e.ActionViewProtectedNotes,e.ActionDeleteNote,e.ActionManagePasscode,e.ActionManageBackups,e.ActionManageExtensions,e.ActionManagePrivileges],this.availableCredentials=[e.CredentialAccountPassword,e.CredentialLocalPasscode],this.sessionLengths=[e.SessionLengthNone,e.SessionLengthFiveMinutes,e.SessionLengthOneHour,e.SessionLengthOneWeek,e.SessionLengthIndefinite]}var t,r,n,i,a,o,s,u,c,l,f,h;return b(e,[{key:\"setDelegate\",value:function(e){this.delegate=e}},{key:\"getAvailableActions\",value:function(){return this.availableActions}},{key:\"getAvailableCredentials\",value:function(){return this.availableCredentials}},{key:\"netCredentialsForAction\",value:(h=v(regeneratorRuntime.mark((function t(r){var n,i,a,o,s,u,c,l;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getPrivileges();case 2:t.t0=r,n=t.sent.getCredentialsForAction(t.t0),i=[],a=!0,o=!1,s=void 0,t.prev=8,u=n[Symbol.iterator]();case 10:if(a=(c=u.next()).done){t.next=27;break}if((l=c.value)!=e.CredentialAccountPassword){t.next=19;break}return t.next=15,this.delegate.isOffline();case 15:t.sent||i.push(l),t.next=24;break;case 19:if(l!=e.CredentialLocalPasscode){t.next=24;break}return t.next=22,this.delegate.hasLocalPasscode();case 22:t.sent&&i.push(l);case 24:a=!0,t.next=10;break;case 27:t.next=33;break;case 29:t.prev=29,t.t1=t.catch(8),o=!0,s=t.t1;case 33:t.prev=33,t.prev=34,a||null==u.return||u.return();case 36:if(t.prev=36,!o){t.next=39;break}throw s;case 39:return t.finish(36);case 40:return t.finish(33);case 41:return t.abrupt(\"return\",i);case 42:case\"end\":return t.stop()}}),t,this,[[8,29,33,41],[34,,36,40]])}))),function(e){return h.apply(this,arguments)})},{key:\"loadPrivileges\",value:(f=v(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.loadPromise){e.next=2;break}return e.abrupt(\"return\",this.loadPromise);case 2:return this.loadPromise=new Promise((function(e,r){var n=T.contentType(),i=new j(\"content_type\",\"=\",n);t.singletonManager.registerSingleton([i],(function(r){t.privileges=r,e(r)}),function(){var r=v(regeneratorRuntime.mark((function r(i){var a;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(a=new T({content_type:n}),SFJS.crypto.generateUUIDSync){r.next=4;break}return r.next=4,a.initUUID();case 4:t.modelManager.addItem(a),t.modelManager.setItemDirty(a,!0),t.syncManager.sync(),i(a),e(a);case 9:case\"end\":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}())})),e.abrupt(\"return\",this.loadPromise);case 4:case\"end\":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:\"getPrivileges\",value:(l=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.privileges){e.next=4;break}return e.abrupt(\"return\",this.privileges);case 4:return e.abrupt(\"return\",this.loadPrivileges());case 5:case\"end\":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:\"displayInfoForCredential\",value:function(t){var r={};return r[e.CredentialAccountPassword]={label:\"Account Password\",prompt:\"Please enter your account password.\"},r[e.CredentialLocalPasscode]={label:\"Local Passcode\",prompt:\"Please enter your local passcode.\"},r[t]}},{key:\"displayInfoForAction\",value:function(t){var r={};return r[e.ActionManageExtensions]={label:\"Manage Extensions\"},r[e.ActionManageBackups]={label:\"Download/Import Backups\"},r[e.ActionViewProtectedNotes]={label:\"View Protected Notes\"},r[e.ActionManagePrivileges]={label:\"Manage Privileges\"},r[e.ActionManagePasscode]={label:\"Manage Passcode\"},r[e.ActionDeleteNote]={label:\"Delete Notes\"},r[t]}},{key:\"getSessionLengthOptions\",value:function(){return[{value:e.SessionLengthNone,label:\"Don't Remember\"},{value:e.SessionLengthFiveMinutes,label:\"5 Minutes\"},{value:e.SessionLengthOneHour,label:\"1 Hour\"},{value:e.SessionLengthOneWeek,label:\"1 Week\"}]}},{key:\"setSessionLength\",value:(c=v(regeneratorRuntime.mark((function t(r){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=r,a=void 0,(a=new Date).setSeconds(a.getSeconds()+i),n=a,t.abrupt(\"return\",Promise.all([this.delegate.saveToStorage(e.SessionExpiresAtKey,JSON.stringify(n)),this.delegate.saveToStorage(e.SessionLengthKey,JSON.stringify(r))]));case 3:case\"end\":return t.stop()}var i,a}),t,this)}))),function(e){return c.apply(this,arguments)})},{key:\"clearSession\",value:(u=v(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt(\"return\",this.setSessionLength(e.SessionLengthNone));case 1:case\"end\":return t.stop()}}),t,this)}))),function(){return u.apply(this,arguments)})},{key:\"getSelectedSessionLength\",value:(s=v(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionLengthKey);case 2:if(!(r=t.sent)){t.next=7;break}return t.abrupt(\"return\",JSON.parse(r));case 7:return t.abrupt(\"return\",e.SessionLengthNone);case 8:case\"end\":return t.stop()}}),t,this)}))),function(){return s.apply(this,arguments)})},{key:\"getSessionExpirey\",value:(o=v(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionExpiresAtKey);case 2:if(!(r=t.sent)){t.next=7;break}return t.abrupt(\"return\",new Date(JSON.parse(r)));case 7:return t.abrupt(\"return\",new Date);case 8:case\"end\":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:\"actionHasPrivilegesConfigured\",value:(a=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:return e.t0=e.sent.length,e.abrupt(\"return\",e.t0>0);case 4:case\"end\":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:\"actionRequiresPrivilege\",value:(i=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getSessionExpirey();case 2:if(!(e.sent>new Date)){e.next=5;break}return e.abrupt(\"return\",!1);case 5:return e.next=7,this.netCredentialsForAction(t);case 7:return r=e.sent,e.abrupt(\"return\",r.length>0);case 9:case\"end\":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:\"savePrivileges\",value:(n=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPrivileges();case 2:t=e.sent,this.modelManager.setItemDirty(t,!0),this.syncManager.sync();case 5:case\"end\":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:\"authenticateAction\",value:(r=v(regeneratorRuntime.mark((function e(t,r){var n,i,a,o,s,u,c,l,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:n=e.sent,i=[],a=[],o=!0,s=!1,u=void 0,e.prev=7,c=n[Symbol.iterator]();case 9:if(o=(l=c.next()).done){e.next=18;break}return f=l.value,e.next=13,this._verifyAuthenticationParameters(f,r[f]);case 13:e.sent?i.push(f):a.push(f);case 15:o=!0,e.next=9;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(7),s=!0,u=e.t0;case 24:e.prev=24,e.prev=25,o||null==c.return||c.return();case 27:if(e.prev=27,!s){e.next=30;break}throw u;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.abrupt(\"return\",{success:0==a.length,successfulCredentials:i,failedCredentials:a});case 33:case\"end\":return e.stop()}}),e,this,[[7,20,24,32],[25,,27,31]])}))),function(e,t){return r.apply(this,arguments)})},{key:\"_verifyAuthenticationParameters\",value:(t=v(regeneratorRuntime.mark((function t(r,n){var i,a,o=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=function(){var e=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",o.delegate.verifyAccountPassword(t));case 1:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),a=function(){var e=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",o.delegate.verifyLocalPasscode(t));case 1:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r!=e.CredentialAccountPassword){t.next=6;break}return t.abrupt(\"return\",i(n));case 6:if(r!=e.CredentialLocalPasscode){t.next=8;break}return t.abrupt(\"return\",a(n));case 8:case\"end\":return t.stop()}}),t)}))),function(e,r){return t.apply(this,arguments)})}]),e}();n.SFPrivilegesManager=A;var D=function(){function e(t,r,n,i,a){var o=this;g(this,e),this.modelManager=t,this.storageManager=r,this.$timeout=a||setTimeout.bind(window),this.keyRequestHandler=n,this.loadFromDisk().then((function(){o.modelManager.addItemSyncObserver(\"session-history\",i,(function(e,t,r,n,i){if(n!==R.MappingSourceLocalDirtied){var a=!0,s=!1,u=void 0;try{for(var c,l=e[Symbol.iterator]();!(a=(c=l.next()).done);a=!0){var f=c.value;try{o.addHistoryEntryForItem(f)}catch(e){console.log(\"Caught exception while trying to add item history entry\",e)}}}catch(e){s=!0,u=e}finally{try{a||null==l.return||l.return()}finally{if(s)throw u}}}}))}))}var t,r,n,i,a,o,s;return b(e,[{key:\"encryptionParams\",value:(s=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.keyRequestHandler());case 1:case\"end\":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:\"addHistoryEntryForItem\",value:function(e){var t=this,r={uuid:e.uuid,content_type:e.content_type,updated_at:e.updated_at,content:e.getContentCopy()},n=this.historySession.addEntryForItem(r);this.autoOptimize&&this.historySession.optimizeHistoryForItem(e),n&&this.diskEnabled&&(this.diskTimeout&&(this.$timeout.hasOwnProperty(\"cancel\")?this.$timeout.cancel(this.diskTimeout):clearTimeout(this.diskTimeout)),this.diskTimeout=this.$timeout((function(){t.saveToDisk()}),2e3))}},{key:\"historyForItem\",value:function(e){return this.historySession.historyForItem(e)}},{key:\"clearHistoryForItem\",value:(o=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearItemHistory(t),e.abrupt(\"return\",this.saveToDisk());case 2:case\"end\":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:\"clearAllHistory\",value:(a=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearAllHistory(),e.abrupt(\"return\",this.storageManager.removeItem(\"sessionHistory_revisions\"));case 2:case\"end\":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:\"toggleDiskSaving\",value:(i=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled=!this.diskEnabled,!this.diskEnabled){e.next=6;break}this.storageManager.setItem(\"sessionHistory_persist\",JSON.stringify(!0)),this.saveToDisk(),e.next=8;break;case 6:return this.storageManager.setItem(\"sessionHistory_persist\",JSON.stringify(!1)),e.abrupt(\"return\",this.storageManager.removeItem(\"sessionHistory_revisions\"));case 8:case\"end\":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:\"saveToDisk\",value:(n=v(regeneratorRuntime.mark((function e(){var t,r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled){e.next=2;break}return e.abrupt(\"return\");case 2:return e.next=4,this.encryptionParams();case 4:t=e.sent,new B(this.historySession,t.keys,t.auth_params).paramsForSync().then((function(e){r.storageManager.setItem(\"sessionHistory_revisions\",JSON.stringify(e))}));case 7:case\"end\":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:\"loadFromDisk\",value:(r=v(regeneratorRuntime.mark((function e(){var t,r,n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem(\"sessionHistory_persist\");case 2:return(t=e.sent)&&(this.diskEnabled=JSON.parse(t)),e.next=6,this.storageManager.getItem(\"sessionHistory_revisions\");case 6:if(!(r=e.sent)){e.next=18;break}return r=JSON.parse(r),e.next=11,this.encryptionParams();case 11:return n=e.sent,e.next=14,SFJS.itemTransformer.decryptItem(r,n.keys);case 14:i=new E(r),this.historySession=i,e.next=19;break;case 18:this.historySession=new E;case 19:return e.next=21,this.storageManager.getItem(\"sessionHistory_autoOptimize\");case 21:a=e.sent,this.autoOptimize=!a||JSON.parse(a);case 23:case\"end\":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:\"toggleAutoOptimize\",value:(t=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.autoOptimize=!this.autoOptimize,this.autoOptimize?this.storageManager.setItem(\"sessionHistory_autoOptimize\",JSON.stringify(!0)):this.storageManager.setItem(\"sessionHistory_autoOptimize\",JSON.stringify(!1));case 2:case\"end\":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}();n.SFSessionHistoryManager=D;var C=function(){function e(t,r){var n=this;g(this,e),this.syncManager=r,this.modelManager=t,this.singletonHandlers=[],t.addItemSyncObserverWithPriority({id:\"sf-singleton-manager\",types:\"*\",priority:-1,callback:function(e,r,i,a,o){a!==R.MappingSourceLocalDirtied&&n.resolveSingletons(t.allNondummyItems,null,!0)}}),r.addEventHandler((function(e,r){if(\"local-data-loaded\"==e)n.resolveSingletons(t.allNondummyItems,null,!0),n.initialDataLoaded=!0;else if(\"sync:completed\"==e){if(!n.initialDataLoaded)return;n.resolveSingletons(r.retrievedItems,r.savedItems)}})),t.addModelUuidChangeObserver(\"singleton-manager\",(function(e,t){var r=!0,i=!1,a=void 0;try{for(var o,s=n.singletonHandlers[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var u=o.value;u.singleton&&j.ItemSatisfiesPredicates(t,u.predicates)&&(u.singleton=null,n.resolveSingletons([t]))}}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}}))}return b(e,[{key:\"registerSingleton\",value:function(e,t,r){this.singletonHandlers.push({predicates:e,resolutionCallback:t,createBlock:r})}},{key:\"resolveSingletons\",value:function(e,t,r){var n=this;e=e||[],t=t||[];var i=!0,a=!1,o=void 0;try{for(var s,u=function(){var i=s.value,a=i.predicates.slice(),o=n.modelManager.filterItemsWithPredicates(e,a),u=function(){i.createBlock&&(i.pendingCreateBlockCallback=!0,i.createBlock((function(e){i.singleton=e,i.pendingCreateBlockCallback=!1,i.resolutionCallback&&i.resolutionCallback(e)})))},c=n.modelManager.filterItemsWithPredicates(t,a).length;if(o.length>0||c>0){var l=n.modelManager.itemsMatchingPredicates(a);if(l.length>=2){var f=l.sort((function(e,t){return e.errorDecrypting?1:t.errorDecrypting||e.created_at<t.created_at?-1:1})),h=f[0],p=f.slice(1,f.length),d=!0,y=!1,v=void 0;try{for(var g,m=p[Symbol.iterator]();!(d=(g=m.next()).done);d=!0){var b=g.value;n.modelManager.setItemToBeDeleted(b)}}catch(e){y=!0,v=e}finally{try{d||null==m.return||m.return()}finally{if(y)throw v}}n.syncManager.sync(),i.singleton=h,i.resolutionCallback&&i.resolutionCallback(h)}else if(1==l.length){var k=l[0];k.errorDecrypting?(n.modelManager.setItemToBeDeleted(k),u()):i.singleton&&i.singleton===k||(i.singleton=k,i.resolutionCallback&&i.resolutionCallback(k))}}else i.singleton||r||i.pendingCreateBlockCallback||u()},c=this.singletonHandlers[Symbol.iterator]();!(i=(s=c.next()).done);i=!0)u()}catch(e){a=!0,o=e}finally{try{i||null==c.return||c.return()}finally{if(a)throw o}}}}]),e}();n.SFSingletonManager=C;var M=function(){function e(){g(this,e)}var t,r,n,i,a,o,s,u,c,l;return b(e,[{key:\"setItem\",value:(l=v(regeneratorRuntime.mark((function e(t,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case\"end\":return e.stop()}}),e)}))),function(e,t){return l.apply(this,arguments)})},{key:\"getItem\",value:(c=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case\"end\":return e.stop()}}),e)}))),function(e){return c.apply(this,arguments)})},{key:\"removeItem\",value:(u=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case\"end\":return e.stop()}}),e)}))),function(e){return u.apply(this,arguments)})},{key:\"clear\",value:(s=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case\"end\":return e.stop()}}),e)}))),function(){return s.apply(this,arguments)})},{key:\"getAllModels\",value:(o=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case\"end\":return e.stop()}}),e)}))),function(){return o.apply(this,arguments)})},{key:\"saveModel\",value:(a=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.saveModels([t]));case 1:case\"end\":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:\"saveModels\",value:(i=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case\"end\":return e.stop()}}),e)}))),function(e){return i.apply(this,arguments)})},{key:\"deleteModel\",value:(n=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case\"end\":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:\"clearAllModels\",value:(r=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case\"end\":return e.stop()}}),e)}))),function(){return r.apply(this,arguments)})},{key:\"clearAllData\",value:(t=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",Promise.all([this.clear(),this.clearAllModels()]));case 1:case\"end\":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}();n.SFStorageManager=M;var F,O=function(){function e(t,r,n,i,a){g(this,e),e.KeyRequestLoadLocal=\"KeyRequestLoadLocal\",e.KeyRequestSaveLocal=\"KeyRequestSaveLocal\",e.KeyRequestLoadSaveAccount=\"KeyRequestLoadSaveAccount\",this.httpManager=n,this.modelManager=t,this.storageManager=r,this.$interval=a||setInterval.bind(window),this.$timeout=i||setTimeout.bind(window),this.syncStatus={},this.syncStatusObservers=[],this.eventHandlers=[],this.PerSyncItemUploadLimit=150,this.ServerItemDownloadLimit=150,this.MajorDataChangeThreshold=15,this.MaxDiscordanceBeforeOutOfSync=5,this.syncDiscordance=0,this.outOfSync=!1}var t,r,n,i,a,o,s,u,c,l,f,h,p,d,y,m,k,w,x,I,A,D,C;return b(e,[{key:\"handleServerIntegrityHash\",value:(C=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&0!=t.length){e.next=2;break}return e.abrupt(\"return\",!0);case 2:return e.next=4,this.modelManager.computeDataIntegrityHash();case 4:if(r=e.sent){e.next=7;break}return e.abrupt(\"return\",!0);case 7:if(r===t){e.next=13;break}return this.syncDiscordance++,this.syncDiscordance>=this.MaxDiscordanceBeforeOutOfSync&&(this.outOfSync||(this.outOfSync=!0,this.notifyEvent(\"enter-out-of-sync\"))),e.abrupt(\"return\",!1);case 13:return this.outOfSync&&(this.outOfSync=!1,this.notifyEvent(\"exit-out-of-sync\")),this.syncDiscordance=0,e.abrupt(\"return\",!0);case 16:case\"end\":return e.stop()}}),e,this)}))),function(e){return C.apply(this,arguments)})},{key:\"isOutOfSync\",value:function(){return this.outOfSync}},{key:\"getServerURL\",value:(D=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem(\"server\");case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=window._default_sf_server;case 5:return e.abrupt(\"return\",e.t0);case 6:case\"end\":return e.stop()}}),e,this)}))),function(){return D.apply(this,arguments)})},{key:\"getSyncURL\",value:(A=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getServerURL();case 2:return e.t0=e.sent,e.abrupt(\"return\",e.t0+\"/items/sync\");case 4:case\"end\":return e.stop()}}),e,this)}))),function(){return A.apply(this,arguments)})},{key:\"registerSyncStatusObserver\",value:function(e){var t={key:new Date,callback:e};return this.syncStatusObservers.push(t),t}},{key:\"removeSyncStatusObserver\",value:function(e){_.pull(this.syncStatusObservers,e)}},{key:\"syncStatusDidChange\",value:function(){var e=this;this.syncStatusObservers.forEach((function(t){t.callback(e.syncStatus)}))}},{key:\"addEventHandler\",value:function(e){return this.eventHandlers.push(e),e}},{key:\"removeEventHandler\",value:function(e){_.pull(this.eventHandlers,e)}},{key:\"notifyEvent\",value:function(e,t){var r=!0,n=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(r=(a=o.next()).done);r=!0)(0,a.value)(e,t||{})}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}}},{key:\"setKeyRequestHandler\",value:function(e){this.keyRequestHandler=e}},{key:\"getActiveKeyInfo\",value:(I=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.keyRequestHandler(t));case 1:case\"end\":return e.stop()}}),e,this)}))),function(e){return I.apply(this,arguments)})},{key:\"initialDataLoaded\",value:function(){return!0===this._initialDataLoaded}},{key:\"_sortLocalItems\",value:function(e){var t=this;return e.sort((function(e,r){var n=new Date(r.updated_at)-new Date(e.updated_at),i=t.contentTypeLoadPriority,a=0,o=0;return i&&(a=i.indexOf(e.content_type),o=i.indexOf(r.content_type),-1==a&&(a=i.length),-1==o&&(o=i.length)),a==o?n:a<o?-1:1}))}},{key:\"loadLocalItems\",value:(x=v(regeneratorRuntime.mark((function t(){var r,n,i,a,o,s=this,u=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=u.length>0&&void 0!==u[0]?u[0]:{},n=r.incrementalCallback,i=r.batchSize,!(a=r.options)||!a.simulateHighLatency){t.next=5;break}return o=a.simulatedLatency||1e3,t.next=5,this._awaitSleep(o);case 5:if(!this.loadLocalDataPromise){t.next=7;break}return t.abrupt(\"return\",this.loadLocalDataPromise);case 7:return i||(i=100),this.loadLocalDataPromise=this.storageManager.getAllModels().then((function(t){var r=(t=(t=s._sortLocalItems(t)).filter((function(e){var t=s.modelManager.findItem(e.uuid);return!t||new Date(e.dirtiedDate)>t.dirtiedDate}))).length,a=0,o=[],u=function(){var c=v(regeneratorRuntime.mark((function c(){var l,f;return regeneratorRuntime.wrap((function(c){for(;;)switch(c.prev=c.next){case 0:return l=t.slice(a,a+i),c.next=3,s.handleItemsResponse(l,null,R.MappingSourceLocalRetrieved,e.KeyRequestLoadLocal);case 3:if(f=c.sent,o.push(f),!((a+=l.length)<r)){c.next=10;break}return c.abrupt(\"return\",new Promise((function(e,t){s.$timeout((function(){s.notifyEvent(\"local-data-incremental-load\"),n&&n(a,r),u().then(e)}))})));case 10:s._initialDataLoaded=!0,s.notifyEvent(\"local-data-loaded\");case 12:case\"end\":return c.stop()}}),c)})));return function(){return c.apply(this,arguments)}}();return u()})),t.abrupt(\"return\",this.loadLocalDataPromise);case 10:case\"end\":return t.stop()}}),t,this)}))),function(){return x.apply(this,arguments)})},{key:\"writeItemsToLocalStorage\",value:(w=v(regeneratorRuntime.mark((function t(r,n){var i=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(0!=r.length){t.next=2;break}return t.abrupt(\"return\");case 2:return t.abrupt(\"return\",new Promise(function(){var t=v(regeneratorRuntime.mark((function t(a,o){var s,u,c,l,f,h,p,d,y,g;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(s=[],u=[],c=!0,l=!1,f=void 0,t.prev=4,h=r[Symbol.iterator]();!(c=(p=h.next()).done);c=!0)!0!==(d=p.value).deleted||d.dirty?s.push(d):u.push(d);t.next=12;break;case 8:t.prev=8,t.t0=t.catch(4),l=!0,f=t.t0;case 12:t.prev=12,t.prev=13,c||null==h.return||h.return();case 15:if(t.prev=15,!l){t.next=18;break}throw f;case 18:return t.finish(15);case 19:return t.finish(12);case 20:if(!(u.length>0)){t.next=23;break}return t.next=23,Promise.all(u.map(function(){var e=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",i.storageManager.deleteModel(t));case 1:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 23:return t.next=25,i.getActiveKeyInfo(e.KeyRequestSaveLocal);case 25:if(y=t.sent,!(s.length>0)){t.next=33;break}return t.next=29,Promise.all(s.map(function(){var e=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new B(t,y.keys,y.auth_params),e.next=3,r.paramsForLocalStorage();case 3:return r=e.sent,n&&delete r.dirty,e.abrupt(\"return\",r);case 6:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())).catch((function(e){return o(e)}));case 29:return g=t.sent,t.next=32,i.storageManager.saveModels(g).catch((function(e){console.error(\"Error writing items\",e),i.syncStatus.localError=e,i.syncStatusDidChange(),o()}));case 32:i.syncStatus.localError&&(i.syncStatus.localError=null,i.syncStatusDidChange());case 33:a();case 34:case\"end\":return t.stop()}}),t,null,[[4,8,12,20],[13,,15,19]])})));return function(e,r){return t.apply(this,arguments)}}()));case 3:case\"end\":return t.stop()}}),t)}))),function(e,t){return w.apply(this,arguments)})},{key:\"syncOffline\",value:(k=v(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=!0,n=!1,i=void 0,e.prev=3,a=t[Symbol.iterator]();!(r=(o=a.next()).done);r=!0)o.value.updated_at=new Date;e.next=11;break;case 7:e.prev=7,e.t0=e.catch(3),n=!0,i=e.t0;case 11:e.prev=11,e.prev=12,r||null==a.return||a.return();case 14:if(e.prev=14,!n){e.next=17;break}throw i;case 17:return e.finish(14);case 18:return e.finish(11);case 19:return e.abrupt(\"return\",this.writeItemsToLocalStorage(t,!0).then((function(e){var r=!0,n=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var u=a.value;u.deleted&&s.modelManager.removeItemLocally(u)}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}return s.modelManager.clearDirtyItems(t),s.modelManager.didSyncModelsOffline(t),s.notifyEvent(\"sync:completed\",{savedItems:t}),{saved_items:t}})));case 20:case\"end\":return e.stop()}}),e,this,[[3,7,11,19],[12,,14,18]])}))),function(e){return k.apply(this,arguments)})},{key:\"markAllItemsDirtyAndSaveOffline\",value:(m=v(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,u,c,l,f,h,p,d;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=28;break}r=this.modelManager.allNondummyItems.filter((function(e){return!e.errorDecrypting})).slice(),n=!0,i=!1,a=void 0,e.prev=5,o=r[Symbol.iterator]();case 7:if(n=(s=o.next()).done){e.next=14;break}return u=s.value,e.next=11,this.modelManager.alternateUUIDForItem(u);case 11:n=!0,e.next=7;break;case 14:e.next=20;break;case 16:e.prev=16,e.t0=e.catch(5),i=!0,a=e.t0;case 20:e.prev=20,e.prev=21,n||null==o.return||o.return();case 23:if(e.prev=23,!i){e.next=26;break}throw a;case 26:return e.finish(23);case 27:return e.finish(20);case 28:for(c=this.modelManager.allNondummyItems,l=!0,f=!1,h=void 0,e.prev=32,p=c[Symbol.iterator]();!(l=(d=p.next()).done);l=!0)d.value.setDirty(!0);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),f=!0,h=e.t1;case 40:e.prev=40,e.prev=41,l||null==p.return||p.return();case 43:if(e.prev=43,!f){e.next=46;break}throw h;case 46:return e.finish(43);case 47:return e.finish(40);case 48:return e.abrupt(\"return\",this.writeItemsToLocalStorage(c,!1));case 49:case\"end\":return e.stop()}}),e,this,[[5,16,20,28],[21,,23,27],[32,36,40,48],[41,,43,47]])}))),function(e){return m.apply(this,arguments)})},{key:\"setSyncToken\",value:(y=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=t,e.next=3,this.storageManager.setItem(\"syncToken\",t);case 3:case\"end\":return e.stop()}}),e,this)}))),function(e){return y.apply(this,arguments)})},{key:\"getSyncToken\",value:(d=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._syncToken){e.next=4;break}return e.next=3,this.storageManager.getItem(\"syncToken\");case 3:this._syncToken=e.sent;case 4:return e.abrupt(\"return\",this._syncToken);case 5:case\"end\":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:\"setCursorToken\",value:(p=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken=t,!t){e.next=6;break}return e.next=4,this.storageManager.setItem(\"cursorToken\",t);case 4:e.next=8;break;case 6:return e.next=8,this.storageManager.removeItem(\"cursorToken\");case 8:case\"end\":return e.stop()}}),e,this)}))),function(e){return p.apply(this,arguments)})},{key:\"getCursorToken\",value:(h=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken){e.next=4;break}return e.next=3,this.storageManager.getItem(\"cursorToken\");case 3:this._cursorToken=e.sent;case 4:return e.abrupt(\"return\",this._cursorToken);case 5:case\"end\":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:\"clearQueuedCallbacks\",value:function(){this._queuedCallbacks=[]}},{key:\"callQueuedCallbacks\",value:function(e){var t=this.queuedCallbacks;if(t.length){var r=!0,n=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0)(0,a.value)(e)}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}this.clearQueuedCallbacks()}}},{key:\"beginCheckingIfSyncIsTakingTooLong\",value:function(){this.syncStatus.checker&&this.stopCheckingIfSyncIsTakingTooLong(),this.syncStatus.checker=this.$interval(function(){(new Date-this.syncStatus.syncStart)/1e3>5&&(this.notifyEvent(\"sync:taking-too-long\"),this.stopCheckingIfSyncIsTakingTooLong())}.bind(this),500)}},{key:\"stopCheckingIfSyncIsTakingTooLong\",value:function(){this.$interval.hasOwnProperty(\"cancel\")?this.$interval.cancel(this.syncStatus.checker):clearInterval(this.syncStatus.checker),this.syncStatus.checker=null}},{key:\"lockSyncing\",value:function(){this.syncLocked=!0}},{key:\"unlockSyncing\",value:function(){this.syncLocked=!1}},{key:\"sync\",value:(f=v(regeneratorRuntime.mark((function t(){var r,n=this,i=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=i.length>0&&void 0!==i[0]?i[0]:{},!this.syncLocked){t.next=4;break}return console.log(\"Sync Locked, Returning;\"),t.abrupt(\"return\");case 4:return t.abrupt(\"return\",new Promise(function(){var t=v(regeneratorRuntime.mark((function t(i,a){var o,s,u,c,l,f,h,p,d,y,v,g,m,b;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r||(r={}),o=n.modelManager.getDirtyItems(),s=o.filter((function(e){return!n.lastDirtyItemsSave||e.dirtiedDate>n.lastDirtyItemsSave})),t.next=5,n.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 5:if(u=t.sent,c=n.syncStatus.syncOpInProgress,l=n.initialDataLoaded(),!c&&l){t.next=16;break}return n.performSyncAgainOnCompletion=!0,n.lastDirtyItemsSave=new Date,t.next=13,n.writeItemsToLocalStorage(s,!1);case 13:return c&&(n.queuedCallbacks.push(i),n.loggingEnabled&&console.warn(\"Attempting to sync while existing sync is in progress.\")),l||(n.loggingEnabled&&console.warn(\"(1) Attempting to perform online sync before local data has loaded\"),i()),t.abrupt(\"return\");case 16:if(n.syncStatus.syncOpInProgress=!0,!u.offline){t.next=19;break}return t.abrupt(\"return\",n.syncOffline(o).then((function(e){n.syncStatus.syncOpInProgress=!1,i(e)})).catch((function(e){n.notifyEvent(\"sync-exception\",e)})));case 19:if(n.initialDataLoaded()){t.next=22;break}return console.error(\"Attempting to perform online sync before local data has loaded\"),t.abrupt(\"return\");case 22:return n.loggingEnabled&&console.log(\"Syncing online user.\"),f=n.syncStatus.needsMoreSync,n.syncStatus.syncStart=new Date,n.beginCheckingIfSyncIsTakingTooLong(),h=n.PerSyncItemUploadLimit,(p=o.slice(0,h)).length<o.length?n.syncStatus.needsMoreSync=!0:n.syncStatus.needsMoreSync=!1,f||(n.syncStatus.total=o.length,n.syncStatus.current=0),n.syncStatus.current>n.syncStatus.total&&(n.syncStatus.total=n.syncStatus.current),n.syncStatusDidChange(),t.next=34,n.writeItemsToLocalStorage(s,!1);case 34:return n.lastDirtyItemsSave=new Date,r.onPreSyncSave&&r.onPreSyncSave(),n.allRetreivedItems||(n.allRetreivedItems=[]),n.allSavedItems||(n.allSavedItems=[]),(d={}).limit=n.ServerItemDownloadLimit,r.performIntegrityCheck&&(d.compute_integrity=!0),t.prev=41,t.next=44,Promise.all(p.map((function(e){var t=new B(e,u.keys,u.auth_params);return t.additionalFields=r.additionalFields,t.paramsForSync()}))).then((function(e){d.items=e}));case 44:t.next=49;break;case 46:t.prev=46,t.t0=t.catch(41),n.notifyEvent(\"sync-exception\",t.t0);case 49:for(y=!0,v=!1,g=void 0,t.prev=52,m=p[Symbol.iterator]();!(y=(b=m.next()).done);y=!0)b.value.dirtyCount=0;t.next=60;break;case 56:t.prev=56,t.t1=t.catch(52),v=!0,g=t.t1;case 60:t.prev=60,t.prev=61,y||null==m.return||m.return();case 63:if(t.prev=63,!v){t.next=66;break}throw g;case 66:return t.finish(63);case 67:return t.finish(60);case 68:return t.next=70,n.getSyncToken();case 70:return d.sync_token=t.sent,t.next=73,n.getCursorToken();case 73:return d.cursor_token=t.sent,d.api=S.getApiVersion(),n.loggingEnabled&&console.log(\"Syncing with params\",d),t.prev=76,t.t2=n.httpManager,t.next=80,n.getSyncURL();case 80:t.t3=t.sent,t.t4=d,t.t5=function(e){n.handleSyncSuccess(p,e,r).then((function(){i(e)})).catch((function(e){console.log(\"Caught sync success exception:\",e),n.handleSyncError(e,null,o).then((function(t){n.notifyEvent(\"sync-exception\",e),i(t)}))}))},t.t6=function(e,t){n.handleSyncError(e,t,o).then((function(e){i(e)}))},t.t2.postAuthenticatedAbsolute.call(t.t2,t.t3,t.t4,t.t5,t.t6),t.next=90;break;case 87:t.prev=87,t.t7=t.catch(76),console.log(\"Sync exception caught:\",t.t7);case 90:case\"end\":return t.stop()}}),t,null,[[41,46],[52,56,60,68],[61,,63,67],[76,87]])})));return function(e,r){return t.apply(this,arguments)}}()));case 5:case\"end\":return t.stop()}}),t,this)}))),function(){return f.apply(this,arguments)})},{key:\"_awaitSleep\",value:(l=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.warn(\"Simulating high latency sync request\",t),e.abrupt(\"return\",new Promise((function(e,r){setTimeout((function(){e()}),t)})));case 2:case\"end\":return e.stop()}}),e)}))),function(e){return l.apply(this,arguments)})},{key:\"handleSyncSuccess\",value:(c=v(regeneratorRuntime.mark((function t(r,n,i){var a,o,s,u,c,l,f,h,p,d,y,v,g,m,b,k,w=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!i.simulateHighLatency){t.next=4;break}return a=i.simulatedLatency||1e3,t.next=4,this._awaitSleep(a);case 4:for(this.syncStatus.error=null,this.loggingEnabled&&console.log(\"Sync response\",n),o=this.allSavedItems.map((function(e){return e.uuid})),s=n.saved_items.map((function(e){return e.uuid})),n.retrieved_items=n.retrieved_items.filter((function(e){var t=o.includes(e.uuid),r=s.includes(e.uuid);if(t||r)return!1;var n=w.modelManager.findItem(e.uuid);return!n||!n.dirty})),u=[],c=!0,l=!1,f=void 0,t.prev=13,h=r[Symbol.iterator]();!(c=(p=h.next()).done);c=!0)0==(d=p.value).dirtyCount&&u.push(d);t.next=21;break;case 17:t.prev=17,t.t0=t.catch(13),l=!0,f=t.t0;case 21:t.prev=21,t.prev=22,c||null==h.return||h.return();case 24:if(t.prev=24,!l){t.next=27;break}throw f;case 27:return t.finish(24);case 28:return t.finish(21);case 29:return this.modelManager.clearDirtyItems(u),t.next=32,this.handleItemsResponse(n.retrieved_items,null,R.MappingSourceRemoteRetrieved,e.KeyRequestLoadSaveAccount);case 32:return y=t.sent,this.allRetreivedItems=this.allRetreivedItems.concat(y),this.syncStatus.retrievedCount=this.allRetreivedItems.length,v=[\"content\",\"auth_hash\"],t.next=38,this.handleItemsResponse(n.saved_items,v,R.MappingSourceRemoteSaved,e.KeyRequestLoadSaveAccount);case 38:return g=t.sent,this.allSavedItems=this.allSavedItems.concat(g),m=n.unsaved,t.next=43,this.deprecated_handleUnsavedItemsResponse(m);case 43:return t.next=45,this.handleConflictsResponse(n.conflicts);case 45:if(b=t.sent,k=b&&b.length>0,!b){t.next=50;break}return t.next=50,this.writeItemsToLocalStorage(b,!1);case 50:return t.next=52,this.writeItemsToLocalStorage(g,!1);case 52:return t.next=54,this.writeItemsToLocalStorage(y,!1);case 54:if(!n.integrity_hash||n.cursor_token){t.next=59;break}return t.next=57,this.handleServerIntegrityHash(n.integrity_hash);case 57:t.sent||this.syncDiscordance<this.MaxDiscordanceBeforeOutOfSync&&(this.performSyncAgainOnCompletion=!0);case 59:return this.syncStatus.syncOpInProgress=!1,this.syncStatus.current+=r.length,this.syncStatusDidChange(),this.setSyncToken(n.sync_token),this.setCursorToken(n.cursor_token),this.stopCheckingIfSyncIsTakingTooLong(),t.next=67,this.getCursorToken();case 67:if(!t.sent&&!this.syncStatus.needsMoreSync){t.next=72;break}return t.abrupt(\"return\",new Promise((function(e,t){setTimeout(function(){this.sync(i).then(e)}.bind(w),10)})));case 72:if(!k){t.next=77;break}return this.performSyncAgainOnCompletion=!1,t.abrupt(\"return\",new Promise((function(e,t){setTimeout((function(){w.sync(i).then(e)}),10)})));case 77:return this.syncStatus.retrievedCount=0,this.syncStatus.current=0,this.syncStatus.total=0,this.syncStatusDidChange(),(this.allRetreivedItems.length>=this.majorDataChangeThreshold||g.length>=this.majorDataChangeThreshold||m&&m.length>=this.majorDataChangeThreshold||b&&b.length>=this.majorDataChangeThreshold)&&this.notifyEvent(\"major-data-change\"),this.callQueuedCallbacks(n),this.notifyEvent(\"sync:completed\",{retrievedItems:this.allRetreivedItems,savedItems:this.allSavedItems}),this.allRetreivedItems=[],this.allSavedItems=[],this.performSyncAgainOnCompletion&&(this.performSyncAgainOnCompletion=!1,setTimeout((function(){w.sync(i)}),10)),t.abrupt(\"return\",n);case 88:case\"end\":return t.stop()}}),t,this,[[13,17,21,29],[22,,24,28]])}))),function(e,t,r){return c.apply(this,arguments)})},{key:\"handleSyncError\",value:(u=v(regeneratorRuntime.mark((function e(t,r,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log(\"Sync error: \",t),401==r&&this.notifyEvent(\"sync-session-invalid\"),t?\"string\"==typeof t&&(t={error:{message:t}}):t={error:{message:\"Could not connect to server.\"}},this.syncStatus.syncOpInProgress=!1,this.syncStatus.error=t.error,this.syncStatusDidChange(),this.writeItemsToLocalStorage(n,!1),this.modelManager.didSyncModelsOffline(n),this.stopCheckingIfSyncIsTakingTooLong(),this.notifyEvent(\"sync:error\",t.error),this.callQueuedCallbacks({error:\"Sync error\"}),e.abrupt(\"return\",t);case 12:case\"end\":return e.stop()}}),e,this)}))),function(e,t,r){return u.apply(this,arguments)})},{key:\"handleItemsResponse\",value:(s=v(regeneratorRuntime.mark((function e(t,r,n,i){var a,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getActiveKeyInfo(i);case 2:return a=e.sent.keys,e.next=5,SFJS.itemTransformer.decryptMultipleItems(t,a);case 5:return e.next=7,this.modelManager.mapResponseItemsToLocalModelsOmittingFields(t,r,n);case 7:return o=e.sent,(s=o.filter((function(e){var t=e.errorDecryptingValueChanged;return e.errorDecryptingValueChanged=!1,t}))).length>0&&this.writeItemsToLocalStorage(s,!1),e.abrupt(\"return\",o);case 11:case\"end\":return e.stop()}}),e,this)}))),function(e,t,r,n){return s.apply(this,arguments)})},{key:\"refreshErroredItems\",value:(o=v(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!((r=this.modelManager.allNondummyItems.filter((function(e){return 1==e.errorDecrypting}))).length>0)){t.next=3;break}return t.abrupt(\"return\",this.handleItemsResponse(r,null,R.MappingSourceLocalRetrieved,e.KeyRequestLoadSaveAccount));case 3:case\"end\":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:\"handleConflictsResponse\",value:(a=v(regeneratorRuntime.mark((function t(r){var n,i,a,o,s,u,c,l,f,h,p,d,y,v,g,m,b,k,w,x,S,_,I,A,D,C,M,F,O,B,j;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r&&0!=r.length){t.next=2;break}return t.abrupt(\"return\");case 2:this.loggingEnabled&&console.log(\"Handle Conflicted Items:\",r),n={},i=!0,a=!1,o=void 0,t.prev=7,s=r[Symbol.iterator]();case 9:if(i=(u=s.next()).done){t.next=21;break}if(c=u.value,l=c.server_item||c.unsaved_item,f=this.modelManager.findItem(l.uuid)){t.next=16;break}return n[l.uuid]={},t.abrupt(\"continue\",18);case 16:h=f.getContentCopy(),n[l.uuid]={frozenContent:h,itemRef:f};case 18:i=!0,t.next=9;break;case 21:t.next=27;break;case 23:t.prev=23,t.t0=t.catch(7),a=!0,o=t.t0;case 27:t.prev=27,t.prev=28,i||null==s.return||s.return();case 30:if(t.prev=30,!a){t.next=33;break}throw o;case 33:return t.finish(30);case 34:return t.finish(27);case 35:p=[],d=!0,y=!1,v=void 0,t.prev=39,g=r[Symbol.iterator]();case 41:if(d=(m=g.next()).done){t.next=91;break}return b=m.value,k=b.server_item||b.unsaved_item,t.t1=SFJS.itemTransformer,t.t2=[k],t.next=48,this.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 48:return t.t3=t.sent.keys,t.next=51,t.t1.decryptMultipleItems.call(t.t1,t.t2,t.t3);case 51:if(w=n[k.uuid],x=w.frozenContent,S=w.itemRef){t.next=54;break}return t.abrupt(\"continue\",88);case 54:if(p.push(S),\"uuid_conflict\"!==b.type){t.next=62;break}return t.next=58,this.modelManager.alternateUUIDForItem(S);case 58:_=t.sent,p.push(_),t.next=88;break;case 62:if(\"sync_conflict\"!==b.type){t.next=86;break}return t.next=65,this.modelManager.createDuplicateItemFromResponseItem(k);case 65:if(I=t.sent,A=this.modelManager.duplicateItemWithCustomContent({content:x,duplicateOf:S}),D=!A.isItemContentEqualWith(I),C=!S.isItemContentEqualWith(I),M=!1,F=!1,O=!1,B=!1,k.deleted||S.deleted?B=!0:D?(new Date-S.client_updated_at)/1e3<20?(O=!0,F=!0):(M=!0,B=!0):C?P.AreItemContentsEqual({leftContent:S.content,rightContent:I.content,keysToIgnore:S.keysToIgnoreWhenCheckingContentEquality().concat([\"references\"]),appDataKeysToIgnore:S.appDataKeysToIgnoreWhenCheckingContentEquality()})?O=!0:(M=!0,B=!0):B=!0,!M){t.next=79;break}return t.next=77,this.modelManager.duplicateItemWithCustomContentAndAddAsConflict({content:x,duplicateOf:S});case 77:j=t.sent,p.push(j);case 79:if(F&&(this.modelManager.addDuplicatedItemAsConflict({duplicate:I,duplicateOf:S}),p.push(I)),!B){t.next=83;break}return t.next=83,this.modelManager.mapResponseItemsToLocalModelsOmittingFields([k],null,R.MappingSourceRemoteRetrieved);case 83:O&&(S.updated_at=I.updated_at,S.setDirty(!0)),t.next=88;break;case 86:return console.error(\"Unsupported conflict type\",b.type),t.abrupt(\"continue\",88);case 88:d=!0,t.next=41;break;case 91:t.next=97;break;case 93:t.prev=93,t.t4=t.catch(39),y=!0,v=t.t4;case 97:t.prev=97,t.prev=98,d||null==g.return||g.return();case 100:if(t.prev=100,!y){t.next=103;break}throw v;case 103:return t.finish(100);case 104:return t.finish(97);case 105:return t.abrupt(\"return\",p);case 106:case\"end\":return t.stop()}}),t,this,[[7,23,27,35],[28,,30,34],[39,93,97,105],[98,,100,104]])}))),function(e){return a.apply(this,arguments)})},{key:\"deprecated_handleUnsavedItemsResponse\",value:(i=v(regeneratorRuntime.mark((function t(r){var n,i,a,o,s,u,c,l,f,h;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r&&0!=r.length){t.next=2;break}return t.abrupt(\"return\");case 2:this.loggingEnabled&&console.log(\"Handle Unsaved Items:\",r),n=!0,i=!1,a=void 0,t.prev=6,o=r[Symbol.iterator]();case 8:if(n=(s=o.next()).done){t.next=35;break}return u=s.value,c=u.item,t.t0=SFJS.itemTransformer,t.t1=[c],t.next=15,this.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 15:return t.t2=t.sent.keys,t.next=18,t.t0.decryptMultipleItems.call(t.t0,t.t1,t.t2);case 18:if(l=this.modelManager.findItem(c.uuid)){t.next=21;break}return t.abrupt(\"continue\",32);case 21:if(\"uuid_conflict\"!==(f=u.error).tag){t.next=27;break}return t.next=25,this.modelManager.alternateUUIDForItem(l);case 25:t.next=32;break;case 27:if(\"sync_conflict\"!==f.tag){t.next=32;break}return t.next=30,this.modelManager.createDuplicateItemFromResponseItem(c);case 30:h=t.sent,c.deleted||l.isItemContentEqualWith(h)||this.modelManager.addDuplicatedItemAsConflict({duplicate:h,duplicateOf:l});case 32:n=!0,t.next=8;break;case 35:t.next=41;break;case 37:t.prev=37,t.t3=t.catch(6),i=!0,a=t.t3;case 41:t.prev=41,t.prev=42,n||null==o.return||o.return();case 44:if(t.prev=44,!i){t.next=47;break}throw a;case 47:return t.finish(44);case 48:return t.finish(41);case 49:case\"end\":return t.stop()}}),t,this,[[6,37,41,49],[42,,44,48]])}))),function(e){return i.apply(this,arguments)})},{key:\"stateless_downloadAllItems\",value:function(){var t=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise(function(){var n=v(regeneratorRuntime.mark((function n(i,a){var o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o={limit:r.limit||500,sync_token:r.syncToken,cursor_token:r.cursorToken,content_type:r.contentType,event:r.event,api:S.getApiVersion()},n.prev=1,n.t0=t.httpManager,n.next=5,t.getSyncURL();case 5:n.t1=n.sent,n.t2=o,n.t3=function(){var n=v(regeneratorRuntime.mark((function n(a){var o,s;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r.retrievedItems||(r.retrievedItems=[]),o=a.retrieved_items,n.next=4,t.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 4:return s=n.sent.keys,n.next=7,SFJS.itemTransformer.decryptMultipleItems(o,s);case 7:r.retrievedItems=r.retrievedItems.concat(o.map((function(e){return t.modelManager.createItem(e)}))),r.syncToken=a.sync_token,r.cursorToken=a.cursor_token,r.cursorToken?t.stateless_downloadAllItems(r).then(i):i(r.retrievedItems);case 11:case\"end\":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),n.t4=function(e,t){a(e)},n.t0.postAuthenticatedAbsolute.call(n.t0,n.t1,n.t2,n.t3,n.t4),n.next=16;break;case 12:n.prev=12,n.t5=n.catch(1),console.log(\"Download all items exception caught:\",n.t5),a(n.t5);case 16:case\"end\":return n.stop()}}),n,null,[[1,12]])})));return function(e,t){return n.apply(this,arguments)}}())}},{key:\"resolveOutOfSync\",value:(n=v(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.stateless_downloadAllItems({event:\"resolve-out-of-sync\"}).then(function(){var e=v(regeneratorRuntime.mark((function e(r){var n,i,a,o,s,u,c,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=[],i=!0,a=!1,o=void 0,e.prev=4,s=r[Symbol.iterator]();case 6:if(i=(u=s.next()).done){e.next=18;break}if(c=u.value,!(l=t.modelManager.findItem(c.uuid))){e.next=14;break}if(c.isItemContentEqualWith(l)){e.next=14;break}return e.next=14,t.modelManager.duplicateItemAndAddAsConflict(l);case 14:n.push(c);case 15:i=!0,e.next=6;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(4),a=!0,o=e.t0;case 24:e.prev=24,e.prev=25,i||null==s.return||s.return();case 27:if(e.prev=27,!a){e.next=30;break}throw o;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.next=34,t.modelManager.mapResponseItemsToLocalModelsWithOptions({items:n,source:R.MappingSourceRemoteRetrieved});case 34:return e.next=36,t.writeItemsToLocalStorage(t.modelManager.allNondummyItems);case 36:return e.abrupt(\"return\",t.sync({performIntegrityCheck:!0}));case 37:case\"end\":return e.stop()}}),e,null,[[4,20,24,32],[25,,27,31]])})));return function(t){return e.apply(this,arguments)}}()));case 1:case\"end\":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:\"handleSignout\",value:(r=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.outOfSync=!1,this.loadLocalDataPromise=null,this.performSyncAgainOnCompletion=!1,this.syncStatus.syncOpInProgress=!1,this._queuedCallbacks=[],this.syncStatus={},e.abrupt(\"return\",this.clearSyncToken());case 7:case\"end\":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:\"clearSyncToken\",value:(t=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=null,this._cursorToken=null,e.abrupt(\"return\",this.storageManager.removeItem(\"syncToken\"));case 3:case\"end\":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:\"__setLocalDataNotLoaded\",value:function(){this.loadLocalDataPromise=null,this._initialDataLoaded=!1}},{key:\"queuedCallbacks\",get:function(){return this._queuedCallbacks||(this._queuedCallbacks=[]),this._queuedCallbacks}}]),e}();n.SFSyncManager=O;var P=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};g(this,e),this.content={},this.referencingObjects=[],this.updateFromJSON(t),this.uuid||\"undefined\"!=typeof SFJS&&SFJS.crypto.generateUUIDSync&&(this.uuid=SFJS.crypto.generateUUIDSync()),\"object\"!==d(this.content)||this.content.references||(this.content.references=[])}var t;return b(e,[{key:\"initUUID\",value:(t=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.uuid){e.next=4;break}return e.next=3,SFJS.crypto.generateUUID();case 3:this.uuid=e.sent;case 4:case\"end\":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:\"updateFromJSON\",value:function(t){if(t){this.deleted=t.deleted,this.uuid=t.uuid,this.enc_item_key=t.enc_item_key,this.auth_hash=t.auth_hash,this.auth_params=t.auth_params;for(var r=0,n=[\"errorDecrypting\",\"dirty\",\"dirtyCount\",\"dirtiedDate\",\"dummy\"];r<n.length;r++){var i=n[r];void 0!==t[i]&&(this[i]=t[i])}if(this.dirtiedDate&&\"string\"==typeof this.dirtiedDate&&(this.dirtiedDate=new Date(this.dirtiedDate)),this.content_type||(this.content_type=t.content_type),t.errorDecrypting)this.content=t.content;else try{var a=\"string\"==typeof t.content?JSON.parse(t.content):t.content;e.deepMerge(this.contentObject,a)}catch(e){console.log(\"Error while updating item from json\",e)}t.created_at&&(this.created_at=t.created_at),t.updated_at&&(this.updated_at=t.updated_at),this.created_at?this.created_at=new Date(this.created_at):this.created_at=new Date,this.updated_at?this.updated_at=new Date(this.updated_at):this.updated_at=new Date(0),this._client_updated_at=null,t.content?this.mapContentToLocalProperties(this.contentObject):1==t.deleted&&this.handleDeletedContent()}}},{key:\"mapContentToLocalProperties\",value:function(e){}},{key:\"createContentJSONFromProperties\",value:function(){var t=this.structureParams();return e.deepMerge(this.contentObject,t),t}},{key:\"structureParams\",value:function(){return this.getContentCopy()}},{key:\"handleDeletedContent\",value:function(){}},{key:\"setDirty\",value:function(e,t){this.dirty=e,this.dirtyCount||(this.dirtyCount=0),e?this.dirtyCount++:this.dirtyCount=0,this.dirtiedDate=new Date,e&&t?this.client_updated_at=new Date:this.hasRawClientUpdatedAtValue()||(this.client_updated_at=new Date(this.updated_at))}},{key:\"updateLocalRelationships\",value:function(){}},{key:\"addItemAsRelationship\",value:function(e){if(e.setIsBeingReferencedBy(this),!this.hasRelationshipWithItem(e)){var t=this.content.references||[];t.push({uuid:e.uuid,content_type:e.content_type}),this.content.references=t}}},{key:\"removeItemAsRelationship\",value:function(e){e.setIsNoLongerBeingReferencedBy(this),this.removeReferenceWithUuid(e.uuid)}},{key:\"setIsBeingReferencedBy\",value:function(e){_.find(this.referencingObjects,{uuid:e.uuid})||this.referencingObjects.push(e)}},{key:\"setIsNoLongerBeingReferencedBy\",value:function(e){_.remove(this.referencingObjects,{uuid:e.uuid}),this.hasRelationshipWithItem(e)&&(this.removeReferenceWithUuid(e.uuid),this.setDirty(!0))}},{key:\"removeReferenceWithUuid\",value:function(e){var t=this.content.references||[];t=t.filter((function(t){return t.uuid!=e})),this.content.references=t}},{key:\"hasRelationshipWithItem\",value:function(e){return null!=this.content.references.find((function(t){return t.uuid==e.uuid}))}},{key:\"isBeingRemovedLocally\",value:function(){}},{key:\"didFinishSyncing\",value:function(){}},{key:\"informReferencesOfUUIDChange\",value:function(e,t){}},{key:\"potentialItemOfInterestHasChangedItsUUID\",value:function(e,t,r){if(!this.errorDecrypting){var n=!0,i=!1,a=void 0;try{for(var o,s=this.content.references[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;u.uuid==t&&(u.uuid=r,this.setDirty(!0))}}catch(e){i=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}}}},{key:\"doNotEncrypt\",value:function(){return!1}},{key:\"setDomainDataItem\",value:function(e,t,r){if(r){if(!this.errorDecrypting){this.content.appData||(this.content.appData={});var n=this.content.appData[r];n||(n={}),n[e]=t,this.content.appData[r]=n}}else console.error(\"SFItem.AppDomain needs to be set.\")}},{key:\"getDomainDataItem\",value:function(e,t){if(t){if(!this.errorDecrypting){this.content.appData||(this.content.appData={});var r=this.content.appData[t];return r?r[e]:null}}else console.error(\"SFItem.AppDomain needs to be set.\")}},{key:\"setAppDataItem\",value:function(t,r){this.setDomainDataItem(t,r,e.AppDomain)}},{key:\"getAppDataItem\",value:function(t){return this.getDomainDataItem(t,e.AppDomain)}},{key:\"hasRawClientUpdatedAtValue\",value:function(){return null!=this.getAppDataItem(\"client_updated_at\")}},{key:\"keysToIgnoreWhenCheckingContentEquality\",value:function(){return[]}},{key:\"appDataKeysToIgnoreWhenCheckingContentEquality\",value:function(){return[\"client_updated_at\"]}},{key:\"getContentCopy\",value:function(){return JSON.parse(JSON.stringify(this.content))}},{key:\"isItemContentEqualWith\",value:function(t){return e.AreItemContentsEqual({leftContent:this.content,rightContent:t.content,keysToIgnore:this.keysToIgnoreWhenCheckingContentEquality(),appDataKeysToIgnore:this.appDataKeysToIgnoreWhenCheckingContentEquality()})}},{key:\"satisfiesPredicate\",value:function(e){return j.ItemSatisfiesPredicate(this,e)}},{key:\"createdAtString\",value:function(){return this.dateToLocalizedString(this.created_at)}},{key:\"updatedAtString\",value:function(){return this.dateToLocalizedString(this.client_updated_at)}},{key:\"updatedAtTimestamp\",value:function(){return this.updated_at.getTime()}},{key:\"dateToLocalizedString\",value:function(e){if(\"undefined\"!=typeof Intl&&Intl.DateTimeFormat){if(!F){var t=navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.language;F=new Intl.DateTimeFormat(t,{year:\"numeric\",month:\"short\",day:\"2-digit\",weekday:\"long\",hour:\"2-digit\",minute:\"2-digit\"})}return F.format(e)}return e.toDateString()+\" \"+e.toLocaleTimeString()}},{key:\"contentObject\",get:function(){if(this.errorDecrypting)return this.content;if(!this.content)return this.content={},this.content;if(null!==this.content&&\"object\"===d(this.content))return this.content;try{var e=JSON.parse(this.content);return this.content=e,this.content}catch(e){return console.log(\"Error parsing json\",e,this),this.content={},this.content}}},{key:\"pinned\",get:function(){return this.getAppDataItem(\"pinned\")}},{key:\"archived\",get:function(){return this.getAppDataItem(\"archived\")}},{key:\"locked\",get:function(){return this.getAppDataItem(\"locked\")}},{key:\"displayName\",get:function(){return\"Item\"}},{key:\"client_updated_at\",get:function(){if(!this._client_updated_at){var e=this.getAppDataItem(\"client_updated_at\");this._client_updated_at=e?new Date(e):new Date(this.updated_at)}return this._client_updated_at},set:function(e){this._client_updated_at=e,this.setAppDataItem(\"client_updated_at\",e)}}],[{key:\"deepMerge\",value:function(e,t){return _.mergeWith(e,t,(function(e,t){if(_.isArray(e))return t})),e}},{key:\"AreItemContentsEqual\",value:function(t){var r=t.leftContent,n=t.rightContent,i=t.keysToIgnore,a=t.appDataKeysToIgnore,o=function(e,t){if(!e)return e;var r=!0,n=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0)delete e[a.value]}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}return e};return(r=JSON.parse(JSON.stringify(r))).appData&&o(r.appData[e.AppDomain],a),r=o(r,i),(n=JSON.parse(JSON.stringify(n))).appData&&o(n.appData[e.AppDomain],a),n=o(n,i),JSON.stringify(r)===JSON.stringify(n)}}]),e}();n.SFItem=P;var B=function(){function e(t,r,n){if(g(this,e),this.item=t,this.keys=r,this.auth_params=n,this.keys&&!this.auth_params)throw\"SFItemParams.auth_params must be supplied if supplying keys.\";if(this.auth_params&&!this.auth_params.version)throw\"SFItemParams.auth_params is missing version\"}var t,r,n,i,a;return b(e,[{key:\"paramsForExportFile\",value:(a=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.forExportFile=!0,!t){e.next=5;break}return e.abrupt(\"return\",this.__params());case 5:return e.next=7,this.__params();case 7:return r=e.sent,e.abrupt(\"return\",_.omit(r,[\"deleted\"]));case 9:case\"end\":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:\"paramsForExtension\",value:(i=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.paramsForExportFile());case 1:case\"end\":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:\"paramsForLocalStorage\",value:(n=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.additionalFields=[\"dirty\",\"dirtiedDate\",\"errorDecrypting\"],this.forExportFile=!0,e.abrupt(\"return\",this.__params());case 3:case\"end\":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:\"paramsForSync\",value:(r=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.__params());case 1:case\"end\":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:\"__params\",value:(t=v(regeneratorRuntime.mark((function e(){var t,r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t={uuid:this.item.uuid,content_type:this.item.content_type,deleted:this.item.deleted,created_at:this.item.created_at,updated_at:this.item.updated_at},this.item.errorDecrypting){e.next=23;break}if(r=this.item.doNotEncrypt()&&!this.forExportFile,!this.keys||r){e.next=11;break}return e.next=6,SFJS.itemTransformer.encryptItem(this.item,this.keys,this.auth_params);case 6:n=e.sent,_.merge(t,n),\"001\"!==this.auth_params.version&&(t.auth_hash=null),e.next=21;break;case 11:if(!this.forExportFile){e.next=15;break}e.t0=this.item.createContentJSONFromProperties(),e.next=19;break;case 15:return e.next=17,SFJS.crypto.base64(JSON.stringify(this.item.createContentJSONFromProperties()));case 17:e.t1=e.sent,e.t0=\"000\"+e.t1;case 19:t.content=e.t0,this.forExportFile||(t.enc_item_key=null,t.auth_hash=null);case 21:e.next=26;break;case 23:t.content=this.item.content,t.enc_item_key=this.item.enc_item_key,t.auth_hash=this.item.auth_hash;case 26:return this.additionalFields&&_.merge(t,_.pick(this.item,this.additionalFields)),e.abrupt(\"return\",t);case 28:case\"end\":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}();n.SFItemParams=B;var j=function(){function e(t,r,n){g(this,e),this.keypath=t,this.operator=r,this.value=n,e.IsRecursiveOperator(this.operator)&&(this.value=this.value.map(e.fromArray))}return b(e,null,[{key:\"fromArray\",value:function(t){return new e(t[0],t[1],t[2])}},{key:\"ObjectSatisfiesPredicate\",value:function(t,r){if(Array.isArray(r)&&(r=this.fromArray(r)),e.IsRecursiveOperator(r.operator)){if(\"and\"===r.operator){var n=!0,i=!1,a=void 0;try{for(var o,s=r.value[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;if(!this.ObjectSatisfiesPredicate(t,u))return!1}}catch(e){i=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return!0}if(\"or\"===r.operator){var c=!0,l=!1,f=void 0;try{for(var h,p=r.value[Symbol.iterator]();!(c=(h=p.next()).done);c=!0)if(u=h.value,this.ObjectSatisfiesPredicate(t,u))return!0}catch(e){l=!0,f=e}finally{try{c||null==p.return||p.return()}finally{if(l)throw f}}return!1}}var d=r.value;\"string\"==typeof d&&d.includes(\".ago\")&&(d=this.DateFromString(d));var y=r.keypath.split(\".\").reduce((function(e,t){return e&&e[t]}),t),v=[!1,\"\",null,void 0,NaN];return null==y?\"!=\"==r.operator?!v.includes(r.value):v.includes(r.value):\"=\"==r.operator?Array.isArray(y)?JSON.stringify(y)==JSON.stringify(d):y==d:\"!=\"==r.operator?Array.isArray(y)?JSON.stringify(y)!=JSON.stringify(d):y!==d:\"<\"==r.operator?y<d:\">\"==r.operator?y>d:\"<=\"==r.operator?y<=d:\">=\"==r.operator?y>=d:\"startsWith\"==r.operator?y.startsWith(d):\"in\"==r.operator?-1!=d.indexOf(y):\"includes\"==r.operator?this.resolveIncludesPredicate(y,d):\"matches\"==r.operator&&new RegExp(d).test(y)}},{key:\"resolveIncludesPredicate\",value:function(t,r){if(\"string\"==typeof r)return t.includes(r);var n;n=Array.isArray(r)?e.fromArray(r):r;var i=!0,a=!1,o=void 0;try{for(var s,u=t[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value;if(this.ObjectSatisfiesPredicate(c,n))return!0}}catch(e){a=!0,o=e}finally{try{i||null==u.return||u.return()}finally{if(a)throw o}}return!1}},{key:\"ItemSatisfiesPredicate\",value:function(t,r){return Array.isArray(r)&&(r=e.fromArray(r)),this.ObjectSatisfiesPredicate(t,r)}},{key:\"ItemSatisfiesPredicates\",value:function(e,t){var r=!0,n=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var s=a.value;if(!this.ItemSatisfiesPredicate(e,s))return!1}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}return!0}},{key:\"DateFromString\",value:function(e){var t=e.split(\".\"),r=t[1],n=new Date,i=parseInt(t[0]);return\"days\"==r?n.setDate(n.getDate()-i):\"hours\"==r&&n.setHours(n.getHours()-i),n}},{key:\"IsRecursiveOperator\",value:function(e){return[\"and\",\"or\"].includes(e)}}]),e}();n.SFPredicate=j;var T=function(e){function t(e){var r;return g(this,t),(r=c(this,l(t).call(this,e))).content.desktopPrivileges||(r.content.desktopPrivileges={}),r}return f(t,e),b(t,null,[{key:\"contentType\",value:function(){return\"SN|Privileges\"}}]),b(t,[{key:\"setCredentialsForAction\",value:function(e,t){this.content.desktopPrivileges[e]=t}},{key:\"getCredentialsForAction\",value:function(e){return this.content.desktopPrivileges[e]||[]}},{key:\"toggleCredentialForAction\",value:function(e,t){this.isCredentialRequiredForAction(e,t)?this.removeCredentialForAction(e,t):this.addCredentialForAction(e,t)}},{key:\"removeCredentialForAction\",value:function(e,t){_.pull(this.content.desktopPrivileges[e],t)}},{key:\"addCredentialForAction\",value:function(e,t){var r=this.getCredentialsForAction(e);r.push(t),this.setCredentialsForAction(e,r)}},{key:\"isCredentialRequiredForAction\",value:function(e,t){return this.getCredentialsForAction(e).includes(t)}}]),t}(P);n.SFPrivileges=T;var E=function(e){function t(e){var r;return g(this,t),(r=c(this,l(t).call(this,e))).content.itemUUIDToItemHistoryMapping||(r.content.itemUUIDToItemHistoryMapping={}),Object.keys(r.content.itemUUIDToItemHistoryMapping).forEach((function(e){var t=r.content.itemUUIDToItemHistoryMapping[e];r.content.itemUUIDToItemHistoryMapping[e]=new L(t)})),r}return f(t,e),b(t,[{key:\"addEntryForItem\",value:function(e){return this.historyForItem(e).addHistoryEntryForItem(e)}},{key:\"historyForItem\",value:function(e){var t=this.content.itemUUIDToItemHistoryMapping[e.uuid];return t||(t=this.content.itemUUIDToItemHistoryMapping[e.uuid]=new L),t}},{key:\"clearItemHistory\",value:function(e){this.historyForItem(e).clear()}},{key:\"clearAllHistory\",value:function(){this.content.itemUUIDToItemHistoryMapping={}}},{key:\"optimizeHistoryForItem\",value:function(e){var r=this.historyForItem(e);r.entries.length>t.LargeItemEntryAmountThreshold&&r.optimize()}}]),t}(P);n.SFHistorySession=E,E.LargeItemEntryAmountThreshold=60;var L=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(g(this,e),this.entries||(this.entries=[]),t.entries){var r=!0,n=!1,i=void 0;try{for(var a,o=t.entries[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var s=a.value,u=this.createEntryForItem(s.item);u.setPreviousEntry(this.getLastEntry()),this.entries.push(u)}}catch(e){n=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw i}}}}return b(e,[{key:\"createEntryForItem\",value:function(t){var r=e.HistoryEntryClassMapping&&e.HistoryEntryClassMapping[t.content_type];return r||(r=H),new r(t)}},{key:\"getLastEntry\",value:function(){return this.entries[this.entries.length-1]}},{key:\"addHistoryEntryForItem\",value:function(e){var t=this.createEntryForItem(e),r=this.getLastEntry();if(t.setPreviousEntry(r),!t.isSameAsEntry(r))return this.entries.push(t),t}},{key:\"clear\",value:function(){this.entries.length=0}},{key:\"optimize\",value:function(){var t=this,r=[],n=function(t){return t.deltaSize()>e.LargeEntryDeltaThreshold},i=function(e,i,a){if(a?r.push(e):-1!==(i=r.indexOf(e))&&r.splice(i,1),a&&n(e)&&-1==e.operationVector()){var o=t.entries[i-1];o&&r.push(o)}};this.entries.forEach((function(e,r){if(0==r||r==t.entries.length-1)i(e,r,!0);else{var a=n(e);i(e,r,a)}})),this.entries=this.entries.filter((function(e,t){return-1!==r.indexOf(e)}))}}]),e}();n.SFItemHistory=L,L.LargeEntryDeltaThreshold=15;var H=function(){function e(t){g(this,e),this.item=P.deepMerge({},t),this.defaultContentKeyToDiffOn=\"text\",this.textCharDiffLength=0,\"string\"==typeof this.item.updated_at&&(this.item.updated_at=new Date(this.item.updated_at))}return b(e,[{key:\"setPreviousEntry\",value:function(e){this.hasPreviousEntry=null!=e,this.item.content[this.defaultContentKeyToDiffOn]&&(this.textCharDiffLength=e?this.item.content[this.defaultContentKeyToDiffOn].length-e.item.content[this.defaultContentKeyToDiffOn].length:this.item.content[this.defaultContentKeyToDiffOn].length)}},{key:\"operationVector\",value:function(){return null!=this.textCharDiffLength?this.hasPreviousEntry&&0!=this.textCharDiffLength?this.textCharDiffLength<0?-1:1:0:1}},{key:\"deltaSize\",value:function(){return null!=this.textCharDiffLength?Math.abs(this.textCharDiffLength):1}},{key:\"isSameAsEntry\",value:function(e){if(!e)return!1;var t=new P(this.item),r=new P(e.item);return t.isItemContentEqualWith(r)}}]),e}();n.SFItemHistoryEntry=H,x=\"undefined\"!=typeof window?window:void 0!==e?e:null;var U=function(){function e(){g(this,e),this.DefaultPBKDF2Length=768}var t,r,n,i,a,o,s,c,l,f,h,p,d,y,m;return b(e,[{key:\"generateUUIDSync\",value:function(){var e=x.crypto||x.msCrypto;if(e){var t=new Uint32Array(4);e.getRandomValues(t);var r=-1;return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,(function(e){r++;var n=t[r>>3]>>r%8*4&15;return(\"x\"==e?n:3&n|8).toString(16)}))}var n=(new Date).getTime();return x.performance&&\"function\"==typeof x.performance.now&&(n+=performance.now()),\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,(function(e){var t=(n+16*Math.random())%16|0;return n=Math.floor(n/16),(\"x\"==e?t:3&t|8).toString(16)}))}},{key:\"generateUUID\",value:(m=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.generateUUIDSync());case 1:case\"end\":return e.stop()}}),e,this)}))),function(){return m.apply(this,arguments)})},{key:\"timingSafeEqual\",value:function(e,t){var r=String(e),n=String(t),i=r.length,a=0;i!==n.length&&(n=r,a=1);for(var o=0;o<i;o++)a|=r.charCodeAt(o)^n.charCodeAt(o);return 0===a}},{key:\"decryptText\",value:(y=v(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,c,l,f,h,p=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=p.length>0&&void 0!==p[0]?p[0]:{},r=t.ciphertextToAuth,n=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,!(p.length>1?p[1]:void 0)||o){e.next=5;break}return console.error(\"Auth hash is required.\"),e.abrupt(\"return\");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(r,s);case 8:if(c=e.sent,!1!==this.timingSafeEqual(o,c)){e.next=12;break}return console.error(\"Auth hash does not match, returning null.\"),e.abrupt(\"return\",null);case 12:return l=u.enc.Hex.parse(i),f=u.enc.Hex.parse(a||\"\"),h=u.AES.decrypt(n,l,{iv:f,mode:u.mode.CBC,padding:u.pad.Pkcs7}),e.abrupt(\"return\",h.toString(u.enc.Utf8));case 16:case\"end\":return e.stop()}}),e,this)}))),function(){return y.apply(this,arguments)})},{key:\"encryptText\",value:(d=v(regeneratorRuntime.mark((function e(t,r,n){var i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=u.enc.Hex.parse(r),a=u.enc.Hex.parse(n||\"\"),o=u.AES.encrypt(t,i,{iv:a,mode:u.mode.CBC,padding:u.pad.Pkcs7}),e.abrupt(\"return\",o.toString());case 4:case\"end\":return e.stop()}}),e)}))),function(e,t,r){return d.apply(this,arguments)})},{key:\"generateRandomKey\",value:(p=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",u.lib.WordArray.random(t/8).toString());case 1:case\"end\":return e.stop()}}),e)}))),function(e){return p.apply(this,arguments)})},{key:\"generateItemEncryptionKey\",value:(h=v(regeneratorRuntime.mark((function e(){var t,r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=512,r=1,e.next=4,this.generateRandomKey(t);case 4:return n=e.sent,e.next=7,this.generateRandomKey(t);case 7:return i=e.sent,e.abrupt(\"return\",this.pbkdf2(i,n,r,t));case 9:case\"end\":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:\"firstHalfOfKey\",value:(f=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",t.substring(0,t.length/2));case 1:case\"end\":return e.stop()}}),e)}))),function(e){return f.apply(this,arguments)})},{key:\"secondHalfOfKey\",value:(l=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",t.substring(t.length/2,t.length));case 1:case\"end\":return e.stop()}}),e)}))),function(e){return l.apply(this,arguments)})},{key:\"base64\",value:(c=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",x.btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode(\"0x\"+t)}))));case 1:case\"end\":return e.stop()}}),e)}))),function(e){return c.apply(this,arguments)})},{key:\"base64Decode\",value:(s=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",x.atob(t));case 1:case\"end\":return e.stop()}}),e)}))),function(e){return s.apply(this,arguments)})},{key:\"sha256\",value:(o=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",u.SHA256(t).toString());case 1:case\"end\":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:\"hmac256\",value:(a=v(regeneratorRuntime.mark((function e(t,r){var n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=u.enc.Hex.parse(r),i=u.enc.Utf8.parse(t),a=u.HmacSHA256(i,n).toString(),e.abrupt(\"return\",a);case 4:case\"end\":return e.stop()}}),e)}))),function(e,t){return a.apply(this,arguments)})},{key:\"generateSalt\",value:(i=v(regeneratorRuntime.mark((function e(t,r,n,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sha256([t,\"SF\",r,n,i].join(\":\"));case 2:return a=e.sent,e.abrupt(\"return\",a);case 4:case\"end\":return e.stop()}}),e,this)}))),function(e,t,r,n){return i.apply(this,arguments)})},{key:\"generateSymmetricKeyPair\",value:(n=v(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,u,c,l,f=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=f.length>0&&void 0!==f[0]?f[0]:{},r=t.password,n=t.pw_salt,i=t.pw_cost,e.next=3,this.pbkdf2(r,n,i,this.DefaultPBKDF2Length);case 3:return a=e.sent,o=a.length,s=o/3,u=a.slice(0,s),c=a.slice(s,2*s),l=a.slice(2*s,3*s),e.abrupt(\"return\",[u,c,l]);case 10:case\"end\":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:\"computeEncryptionKeysForUser\",value:(r=v(regeneratorRuntime.mark((function e(t,r){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(\"003\"!=r.version){e.next=9;break}if(r.identifier){e.next=4;break}return console.error(\"authParams is missing identifier.\"),e.abrupt(\"return\");case 4:return e.next=6,this.generateSalt(r.identifier,r.version,r.pw_cost,r.pw_nonce);case 6:n=e.sent,e.next=10;break;case 9:n=r.pw_salt;case 10:return e.abrupt(\"return\",this.generateSymmetricKeyPair({password:t,pw_salt:n,pw_cost:r.pw_cost}).then((function(e){return{pw:e[0],mk:e[1],ak:e[2]}})));case 11:case\"end\":return e.stop()}}),e,this)}))),function(e,t){return r.apply(this,arguments)})},{key:\"generateInitialKeysAndAuthParamsForUser\",value:(t=v(regeneratorRuntime.mark((function e(t,r){var n,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.SFJS.version,i=this.SFJS.defaultPasswordGenerationCost,e.next=4,this.generateRandomKey(256);case 4:return a=e.sent,e.next=7,this.generateSalt(t,n,i,a);case 7:return o=e.sent,e.abrupt(\"return\",this.generateSymmetricKeyPair({password:r,pw_salt:o,pw_cost:i}).then((function(e){var r={pw_nonce:a,pw_cost:i,identifier:t,version:n};return{keys:{pw:e[0],mk:e[1],ak:e[2]},authParams:r}})));case 9:case\"end\":return e.stop()}}),e,this)}))),function(e,r){return t.apply(this,arguments)})}]),e}();n.SFAbstractCrypto=U;var N=function(e){function t(){return g(this,t),c(this,l(t).apply(this,arguments))}var r;return f(t,e),b(t,[{key:\"pbkdf2\",value:(r=v(regeneratorRuntime.mark((function e(t,r,n,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a={keySize:i/32,hasher:u.algo.SHA512,iterations:n},e.abrupt(\"return\",u.PBKDF2(t,r,a).toString());case 2:case\"end\":return e.stop()}}),e)}))),function(e,t,n,i){return r.apply(this,arguments)})}]),t}(U);n.SFCryptoJS=N;var z=(x=\"undefined\"!=typeof window?window:void 0!==e?e:null).crypto?x.crypto.subtle:null,K=function(e){function t(){return g(this,t),c(this,l(t).apply(this,arguments))}var r,n,i,a,o,s,u,h,p,d,y,m,k,w;return f(t,e),b(t,[{key:\"pbkdf2\",value:(w=v(regeneratorRuntime.mark((function e(t,r,n,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.webCryptoImportKey(t,\"PBKDF2\",[\"deriveBits\"]);case 2:if(a=e.sent){e.next=6;break}return console.log(\"Key is null, unable to continue\"),e.abrupt(\"return\",null);case 6:return e.abrupt(\"return\",this.webCryptoDeriveBits(a,r,n,i));case 7:case\"end\":return e.stop()}}),e,this)}))),function(e,t,r,n){return w.apply(this,arguments)})},{key:\"generateRandomKey\",value:(k=v(regeneratorRuntime.mark((function e(t){var r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",z.generateKey({name:\"AES-CBC\",length:t},!0,[\"encrypt\",\"decrypt\"]).then((function(e){return z.exportKey(\"raw\",e).then(function(){var e=v(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.arrayBufferToHexString(new Uint8Array(t));case 2:return n=e.sent,e.abrupt(\"return\",n);case 4:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error(\"Error exporting key\",e)}))})).catch((function(e){console.error(\"Error generating key\",e)})));case 2:case\"end\":return e.stop()}}),e)}))),function(e){return k.apply(this,arguments)})},{key:\"generateItemEncryptionKey\",value:(m=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",Promise.all([this.generateRandomKey(256),this.generateRandomKey(256)]).then((function(e){return e.join(\"\")})));case 2:case\"end\":return e.stop()}}),e,this)}))),function(){return m.apply(this,arguments)})},{key:\"encryptText\",value:(y=v(regeneratorRuntime.mark((function e(t,r,n){var i,a,o,s,u,c=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=6;break}return e.next=3,this.hexStringToArrayBuffer(n);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=new ArrayBuffer(16);case 7:return i=e.t0,a={name:\"AES-CBC\",iv:i},e.next=11,this.hexStringToArrayBuffer(r);case 11:return o=e.sent,e.next=14,this.webCryptoImportKey(o,a.name,[\"encrypt\"]);case 14:return s=e.sent,e.next=17,this.stringToArrayBuffer(t);case 17:return u=e.sent,e.abrupt(\"return\",crypto.subtle.encrypt(a,s,u).then(function(){var e=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,c.arrayBufferToBase64(t);case 2:return r=e.sent,e.abrupt(\"return\",r);case 4:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 19:case\"end\":return e.stop()}}),e,this)}))),function(e,t,r){return y.apply(this,arguments)})},{key:\"decryptText\",value:(d=v(regeneratorRuntime.mark((function e(){var t,r,n,i,a,o,s,u,c,l,f,h,p,d=this,y=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=y.length>0&&void 0!==y[0]?y[0]:{},r=t.ciphertextToAuth,n=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,!(y.length>1?y[1]:void 0)||o){e.next=5;break}return console.error(\"Auth hash is required.\"),e.abrupt(\"return\");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(r,s);case 8:if(u=e.sent,!1!==this.timingSafeEqual(o,u)){e.next=12;break}return console.error(\"Auth hash does not match, returning null. \".concat(o,\" != \").concat(u)),e.abrupt(\"return\",null);case 12:if(!a){e.next=18;break}return e.next=15,this.hexStringToArrayBuffer(a);case 15:e.t0=e.sent,e.next=19;break;case 18:e.t0=new ArrayBuffer(16);case 19:return c=e.t0,l={name:\"AES-CBC\",iv:c},e.next=23,this.hexStringToArrayBuffer(i);case 23:return f=e.sent,e.next=26,this.webCryptoImportKey(f,l.name,[\"decrypt\"]);case 26:return h=e.sent,e.next=29,this.base64ToArrayBuffer(n);case 29:return p=e.sent,e.abrupt(\"return\",crypto.subtle.decrypt(l,h,p).then(function(){var e=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d.arrayBufferToString(t);case 2:return r=e.sent,e.abrupt(\"return\",r);case 4:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error(\"Error decrypting:\",e)})));case 31:case\"end\":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:\"hmac256\",value:(p=v(regeneratorRuntime.mark((function e(t,r){var n,i,a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.hexStringToArrayBuffer(r);case 2:return n=e.sent,e.next=5,this.webCryptoImportKey(n,\"HMAC\",[\"sign\"],{name:\"SHA-256\"});case 5:return i=e.sent,e.next=8,this.stringToArrayBuffer(t);case 8:return a=e.sent,e.abrupt(\"return\",crypto.subtle.sign({name:\"HMAC\"},i,a).then(function(){var e=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(t);case 2:return r=e.sent,e.abrupt(\"return\",r);case 4:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error(\"Error computing hmac\",e)})));case 10:case\"end\":return e.stop()}}),e,this)}))),function(e,t){return p.apply(this,arguments)})},{key:\"webCryptoImportKey\",value:(h=v(regeneratorRuntime.mark((function e(t,r,n,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(\"string\"!=typeof t){e.next=6;break}return e.next=3,this.stringToArrayBuffer(t);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=t;case 7:return a=e.t0,e.abrupt(\"return\",z.importKey(\"raw\",a,{name:r,hash:i},!1,n).then((function(e){return e})).catch((function(e){return console.error(e),null})));case 9:case\"end\":return e.stop()}}),e,this)}))),function(e,t,r,n){return h.apply(this,arguments)})},{key:\"webCryptoDeriveBits\",value:(u=v(regeneratorRuntime.mark((function e(t,r,n,i){var a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.stringToArrayBuffer(r);case 2:return e.t0=e.sent,e.t1=n,e.t2={name:\"SHA-512\"},a={name:\"PBKDF2\",salt:e.t0,iterations:e.t1,hash:e.t2},e.abrupt(\"return\",z.deriveBits(a,t,i).then(function(){var e=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(new Uint8Array(t));case 2:return r=e.sent,e.abrupt(\"return\",r);case 4:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){return console.error(e),null})));case 7:case\"end\":return e.stop()}}),e,this)}))),function(e,t,r,n){return u.apply(this,arguments)})},{key:\"stringToArrayBuffer\",value:(s=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",new Promise((function(e,r){var n=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsArrayBuffer(n)})));case 1:case\"end\":return e.stop()}}),e)}))),function(e){return s.apply(this,arguments)})},{key:\"arrayBufferToString\",value:(o=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",new Promise((function(e,r){var n=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsText(n)})));case 1:case\"end\":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:\"arrayBufferToHexString\",value:(a=v(regeneratorRuntime.mark((function e(t){var r,n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=new Uint8Array(t),n=\"\",a=0;a<r.byteLength;a++)(i=r[a].toString(16)).length<2&&(i=\"0\"+i),n+=i;return e.abrupt(\"return\",n);case 4:case\"end\":return e.stop()}}),e)}))),function(e){return a.apply(this,arguments)})},{key:\"hexStringToArrayBuffer\",value:(i=v(regeneratorRuntime.mark((function e(t){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=[],n=0;n<t.length;n+=2)r.push(parseInt(t.substr(n,2),16));return e.abrupt(\"return\",new Uint8Array(r));case 2:case\"end\":return e.stop()}}),e)}))),function(e){return i.apply(this,arguments)})},{key:\"base64ToArrayBuffer\",value:(n=v(regeneratorRuntime.mark((function e(t){var r,n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.base64Decode(t);case 2:for(r=e.sent,n=r.length,i=new Uint8Array(n),a=0;a<n;a++)i[a]=r.charCodeAt(a);return e.abrupt(\"return\",i.buffer);case 7:case\"end\":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:\"arrayBufferToBase64\",value:(r=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",new Promise((function(e,r){var n=new Blob([t],{type:\"application/octet-binary\"}),i=new FileReader;i.onload=function(t){var r=t.target.result;e(r.substr(r.indexOf(\",\")+1))},i.readAsDataURL(n)})));case 1:case\"end\":return e.stop()}}),e)}))),function(e){return r.apply(this,arguments)})}]),t}(U);n.SFCryptoWeb=K;var W=function(){function e(t){g(this,e),this.crypto=t}var t,r,n,i;return b(e,[{key:\"_private_encryptString\",value:(i=v(regeneratorRuntime.mark((function e(t,r,n,i,a){var o,s,u,c,l,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(\"001\"!==a.version){e.next=7;break}return e.next=3,this.crypto.encryptText(t,r,null);case 3:s=e.sent,o=a.version+s,e.next=21;break;case 7:return e.next=9,this.crypto.generateRandomKey(128);case 9:return u=e.sent,e.next=12,this.crypto.encryptText(t,r,u);case 12:return s=e.sent,c=[a.version,i,u,s].join(\":\"),e.next=16,this.crypto.hmac256(c,n);case 16:return l=e.sent,e.next=19,this.crypto.base64(JSON.stringify(a));case 19:f=e.sent,o=[a.version,l,i,u,s,f].join(\":\");case 21:return e.abrupt(\"return\",o);case 22:case\"end\":return e.stop()}}),e,this)}))),function(e,t,r,n,a){return i.apply(this,arguments)})},{key:\"encryptItem\",value:(n=v(regeneratorRuntime.mark((function e(t,r,n){var i,a,o,s,u,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i={},e.next=3,this.crypto.generateItemEncryptionKey();case 3:if(a=e.sent,\"001\"!==n.version){e.next=10;break}return e.next=7,this.crypto.encryptText(a,r.mk,null);case 7:i.enc_item_key=e.sent,e.next=13;break;case 10:return e.next=12,this._private_encryptString(a,r.mk,r.ak,t.uuid,n);case 12:i.enc_item_key=e.sent;case 13:return e.next=15,this.crypto.firstHalfOfKey(a);case 15:return o=e.sent,e.next=18,this.crypto.secondHalfOfKey(a);case 18:return s=e.sent,e.next=21,this._private_encryptString(JSON.stringify(t.createContentJSONFromProperties()),o,s,t.uuid,n);case 21:if(u=e.sent,\"001\"!==n.version){e.next=27;break}return e.next=25,this.crypto.hmac256(u,s);case 25:c=e.sent,i.auth_hash=c;case 27:return i.content=u,e.abrupt(\"return\",i);case 29:case\"end\":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:\"encryptionComponentsFromString\",value:function(e,t,r){var n=e.substring(0,3);if(\"001\"===n)return{contentCiphertext:e.substring(3,e.length),encryptionVersion:n,ciphertextToAuth:e,iv:null,authHash:null,encryptionKey:t,authKey:r};var i=e.split(\":\");return{encryptionVersion:i[0],authHash:i[1],uuid:i[2],iv:i[3],contentCiphertext:i[4],authParams:i[5],ciphertextToAuth:[i[0],i[2],i[3],i[4]].join(\":\"),encryptionKey:t,authKey:r}}},{key:\"decryptItem\",value:(r=v(regeneratorRuntime.mark((function e(t,r){var n,i,a,o,s,u,c,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(\"string\"==typeof t.content){e.next=2;break}return e.abrupt(\"return\");case 2:if(!t.content.startsWith(\"000\")){e.next=14;break}return e.prev=3,e.t0=JSON,e.next=7,this.crypto.base64Decode(t.content.substring(3,t.content.length));case 7:e.t1=e.sent,t.content=e.t0.parse.call(e.t0,e.t1),e.next=13;break;case 11:e.prev=11,e.t2=e.catch(3);case 13:return e.abrupt(\"return\");case 14:if(t.enc_item_key){e.next=17;break}return console.log(\"Missing item encryption key, skipping decryption.\"),e.abrupt(\"return\");case 17:if(n=t.enc_item_key,i=!0,n.startsWith(\"002\")||n.startsWith(\"003\")||(n=\"001\"+n,i=!1),!(a=this.encryptionComponentsFromString(n,r.mk,r.ak)).uuid||a.uuid===t.uuid){e.next=26;break}return console.error(\"Item key params UUID does not match item UUID\"),t.errorDecrypting||(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!0,e.abrupt(\"return\");case 26:return e.next=28,this.crypto.decryptText(a,i);case 28:if(o=e.sent){e.next=34;break}return console.log(\"Error decrypting item\",t),t.errorDecrypting||(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!0,e.abrupt(\"return\");case 34:return e.next=36,this.crypto.firstHalfOfKey(o);case 36:return s=e.sent,e.next=39,this.crypto.secondHalfOfKey(o);case 39:return u=e.sent,c=this.encryptionComponentsFromString(t.content,s,u),e.prev=41,e.t3=JSON,e.next=45,this.crypto.base64Decode(c.authParams);case 45:e.t4=e.sent,t.auth_params=e.t3.parse.call(e.t3,e.t4),e.next=51;break;case 49:e.prev=49,e.t5=e.catch(41);case 51:if(!c.uuid||c.uuid===t.uuid){e.next=55;break}return t.errorDecrypting||(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!0,e.abrupt(\"return\");case 55:return c.authHash||(c.authHash=t.auth_hash),e.next=58,this.crypto.decryptText(c,!0);case 58:(l=e.sent)?(1==t.errorDecrypting&&(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!1,t.content=l):(t.errorDecrypting||(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!0);case 60:case\"end\":return e.stop()}}),e,this,[[3,11],[41,49]])}))),function(e,t){return r.apply(this,arguments)})},{key:\"decryptMultipleItems\",value:(t=v(regeneratorRuntime.mark((function e(t,r,n){var i,a=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=function(){var e=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt(\"return\");case 2:if(1!=t.deleted||null!=t.content){e.next=4;break}return e.abrupt(\"return\");case 4:if(!(\"string\"==typeof t.content||t.content instanceof String)){e.next=19;break}return e.prev=6,e.next=9,a.decryptItem(t,r);case 9:e.next=19;break;case 11:if(e.prev=11,e.t0=e.catch(6),t.errorDecrypting||(t.errorDecryptingValueChanged=!0),t.errorDecrypting=!0,!n){e.next=17;break}throw e.t0;case 17:return console.error(\"Error decrypting item\",t,e.t0),e.abrupt(\"return\");case 19:case\"end\":return e.stop()}}),e,null,[[6,11]])})));return function(t){return e.apply(this,arguments)}}(),e.abrupt(\"return\",Promise.all(t.map((function(e){return i(e)}))));case 2:case\"end\":return e.stop()}}),e)}))),function(e,r,n){return t.apply(this,arguments)})}]),e}();n.SFItemTransformer=W,x=\"undefined\"!=typeof window?window:void 0!==e?e:null;var J=function(){function e(t){g(this,e),x&&(\"undefined\"!=typeof document&&document.documentMode||/Edge/.test(navigator.userAgent)||!x.crypto||!x.crypto.subtle?this.crypto=new N:this.crypto=new K),t&&(this.crypto=t),this.itemTransformer=new W(this.crypto),this.crypto.SFJS={version:this.version(),defaultPasswordGenerationCost:this.defaultPasswordGenerationCost()}}return b(e,[{key:\"version\",value:function(){return\"003\"}},{key:\"supportsPasswordDerivationCost\",value:function(e){return!(e>5e3)||this.crypto instanceof K}},{key:\"supportedVersions\",value:function(){return[\"001\",\"002\",\"003\"]}},{key:\"isVersionNewerThanLibraryVersion\",value:function(e){var t=this.version();return parseInt(e)>parseInt(t)}},{key:\"isProtocolVersionOutdated\",value:function(e){var t={\"001\":Date.parse(\"2018-01-01\"),\"002\":Date.parse(\"2020-01-01\")}[e];return!!t&&new Date>t}},{key:\"costMinimumForVersion\",value:function(e){return{\"001\":3e3,\"002\":3e3,\"003\":11e4}[e]}},{key:\"defaultPasswordGenerationCost\",value:function(){return this.costMinimumForVersion(this.version())}}]),e}();if(n.StandardFile=J,x)try{x.StandardFile=J,x.SFJS=new J,x.SFCryptoWeb=K,x.SFCryptoJS=N,x.SFItemTransformer=W,x.SFModelManager=R,x.SFItem=P,x.SFItemParams=B,x.SFHttpManager=S,x.SFStorageManager=M,x.SFSyncManager=O,x.SFAuthManager=w,x.SFMigrationManager=I,x.SFAlertManager=k,x.SFPredicate=j,x.SFHistorySession=E,x.SFSessionHistoryManager=D,x.SFItemHistory=L,x.SFItemHistoryEntry=H,x.SFPrivilegesManager=A,x.SFPrivileges=T,x.SFSingletonManager=C}catch(e){console.log(\"Exception while exporting window variables\",e)}}).call(this,void 0!==t?t:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[1])(1)}).call(this,r(2))},function(e,t){!function(t){\"use strict\";var r=Object.prototype,n=r.hasOwnProperty,i=\"function\"==typeof Symbol?Symbol:{},a=i.iterator||\"@@iterator\",o=i.asyncIterator||\"@@asyncIterator\",s=i.toStringTag||\"@@toStringTag\",u=\"object\"==typeof e,c=t.regeneratorRuntime;if(c)u&&(e.exports=c);else{(c=t.regeneratorRuntime=u?e.exports:{}).wrap=y;var l={},f={};f[a]=function(){return this};var h=Object.getPrototypeOf,p=h&&h(h(R([])));p&&p!==r&&n.call(p,a)&&(f=p);var d=b.prototype=g.prototype=Object.create(f);m.prototype=d.constructor=b,b.constructor=m,b[s]=m.displayName=\"GeneratorFunction\",c.isGeneratorFunction=function(e){var t=\"function\"==typeof e&&e.constructor;return!!t&&(t===m||\"GeneratorFunction\"===(t.displayName||t.name))},c.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,s in e||(e[s]=\"GeneratorFunction\")),e.prototype=Object.create(d),e},c.awrap=function(e){return{__await:e}},k(w.prototype),w.prototype[o]=function(){return this},c.AsyncIterator=w,c.async=function(e,t,r,n){var i=new w(y(e,t,r,n));return c.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},k(d),d[s]=\"Generator\",d[a]=function(){return this},d.toString=function(){return\"[object Generator]\"},c.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},c.values=R,I.prototype={constructor:I,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)\"t\"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if(\"throw\"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(r,n){return o.type=\"throw\",o.arg=e,t.next=r,n&&(t.method=\"next\",t.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if(\"root\"===a.tryLoc)return r(\"end\");if(a.tryLoc<=this.prev){var s=n.call(a,\"catchLoc\"),u=n.call(a,\"finallyLoc\");if(s&&u){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!u)throw new Error(\"try statement without catch or finally\");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,\"finallyLoc\")&&this.prev<i.finallyLoc){var a=i;break}}a&&(\"break\"===e||\"continue\"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var o=a?a.completion:{};return o.type=e,o.arg=t,a?(this.method=\"next\",this.next=a.finallyLoc,l):this.complete(o)},complete:function(e,t){if(\"throw\"===e.type)throw e.arg;return\"break\"===e.type||\"continue\"===e.type?this.next=e.arg:\"return\"===e.type?(this.rval=this.arg=e.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===e.type&&t&&(this.next=t),l},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if(\"throw\"===n.type){var i=n.arg;_(r)}return i}}throw new Error(\"illegal catch attempt\")},delegateYield:function(e,t,r){return this.delegate={iterator:R(e),resultName:t,nextLoc:r},\"next\"===this.method&&(this.arg=void 0),l}}}function y(e,t,r,n){var i=t&&t.prototype instanceof g?t:g,a=Object.create(i.prototype),o=new I(n||[]);return a._invoke=function(e,t,r){var n=\"suspendedStart\";return function(i,a){if(\"executing\"===n)throw new Error(\"Generator is already running\");if(\"completed\"===n){if(\"throw\"===i)throw a;return A()}for(r.method=i,r.arg=a;;){var o=r.delegate;if(o){var s=x(o,r);if(s){if(s===l)continue;return s}}if(\"next\"===r.method)r.sent=r._sent=r.arg;else if(\"throw\"===r.method){if(\"suspendedStart\"===n)throw n=\"completed\",r.arg;r.dispatchException(r.arg)}else\"return\"===r.method&&r.abrupt(\"return\",r.arg);n=\"executing\";var u=v(e,t,r);if(\"normal\"===u.type){if(n=r.done?\"completed\":\"suspendedYield\",u.arg===l)continue;return{value:u.arg,done:r.done}}\"throw\"===u.type&&(n=\"completed\",r.method=\"throw\",r.arg=u.arg)}}}(e,r,o),a}function v(e,t,r){try{return{type:\"normal\",arg:e.call(t,r)}}catch(e){return{type:\"throw\",arg:e}}}function g(){}function m(){}function b(){}function k(e){[\"next\",\"throw\",\"return\"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function w(e){var t;this._invoke=function(r,i){function a(){return new Promise((function(t,a){!function t(r,i,a,o){var s=v(e[r],e,i);if(\"throw\"!==s.type){var u=s.arg,c=u.value;return c&&\"object\"==typeof c&&n.call(c,\"__await\")?Promise.resolve(c.__await).then((function(e){t(\"next\",e,a,o)}),(function(e){t(\"throw\",e,a,o)})):Promise.resolve(c).then((function(e){u.value=e,a(u)}),o)}o(s.arg)}(r,i,t,a)}))}return t=t?t.then(a,a):a()}}function x(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,\"throw\"===t.method){if(e.iterator.return&&(t.method=\"return\",t.arg=void 0,x(e,t),\"throw\"===t.method))return l;t.method=\"throw\",t.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return l}var n=v(r,e.iterator,t.arg);if(\"throw\"===n.type)return t.method=\"throw\",t.arg=n.arg,t.delegate=null,l;var i=n.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,\"return\"!==t.method&&(t.method=\"next\",t.arg=void 0),t.delegate=null,l):i:(t.method=\"throw\",t.arg=new TypeError(\"iterator result is not an object\"),t.delegate=null,l)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type=\"normal\",delete t.arg,e.completion=t}function I(e){this.tryEntries=[{tryLoc:\"root\"}],e.forEach(S,this),this.reset(!0)}function R(e){if(e){var t=e[a];if(t)return t.call(e);if(\"function\"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r<e.length;)if(n.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:A}}function A(){return{value:void 0,done:!0}}}(function(){return this}()||Function(\"return this\")())},function(e,t){var r;r=function(){return this}();try{r=r||new Function(\"return this\")()}catch(e){\"object\"==typeof window&&(r=window)}e.exports=r},function(e,t,r){(function(e,n){var i;\n/**\n * @license\n * Lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE\n * Build: `lodash include=\"includes,merge,filter,map,remove,find,omit,pull,cloneDeep,pick,uniq,sortedIndexBy,mergeWith\"`\n */(function(){function a(e,t){return e.set(t[0],t[1]),e}function o(e,t){return e.add(t),e}function s(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function u(e,t){for(var r=-1,n=null==e?0:e.length,i=0,a=[];++r<n;){var o=e[r];t(o,r,e)&&(a[i++]=o)}return a}function c(e,t){return!(null==e||!e.length)&&-1<y(e,t,0)}function l(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}function f(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}function h(e,t,r){for(var n=-1,i=null==e?0:e.length;++n<i;)r=t(r,e[n],n,e);return r}function p(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function d(e,t,r){var n=e.length;for(r+=-1;++r<n;)if(t(e[r],r,e))return r;return-1}function y(e,t,r){if(t==t)e:{--r;for(var n=e.length;++r<n;)if(e[r]===t){e=r;break e}e=-1}else e=d(e,v,r);return e}function v(e){return e!=e}function g(e,t){return e.has(t)}function m(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}function b(e){var t=Object;return function(r){return e(t(r))}}function k(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}function w(){}function x(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function S(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function _(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function I(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new _;++t<r;)this.add(e[t])}function R(e){this.size=(this.__data__=new S(e)).size}function A(e,t){var r=xr(e),n=!r&&wr(e),i=!r&&!n&&Sr(e),a=!r&&!n&&!i&&_r(e);if(r=r||n||i||a){n=e.length;for(var o=String,s=-1,u=Array(n);++s<n;)u[s]=o(s);n=u}else n=[];var c;o=n.length;for(c in e)!t&&!Rt.call(e,c)||r&&(\"length\"==c||i&&(\"offset\"==c||\"parent\"==c)||a&&(\"buffer\"==c||\"byteLength\"==c||\"byteOffset\"==c)||le(c,o))||n.push(c);return n}function D(e,t,r){(r===Ge||xe(e[t],r))&&(r!==Ge||t in e)||F(e,t,r)}function C(e,t,r){var n=e[t];Rt.call(e,t)&&xe(n,r)&&(r!==Ge||t in e)||F(e,t,r)}function M(e,t){for(var r=e.length;r--;)if(xe(e[r][0],t))return r;return-1}function F(e,t,r){\"__proto__\"==t&&Nt?Nt(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function O(e,t,r,n,i,a){var o,s=1&t,u=2&t,c=4&t;if(r&&(o=i?r(e,n,i,a):r(e)),o!==Ge)return o;if(!Ae(e))return e;if(n=xr(e)){if(o=function(e){var t=e.length,r=e.constructor(t);return t&&\"string\"==typeof e[0]&&Rt.call(e,\"index\")&&(r.index=e.index,r.input=e.input),r}(e),!s)return X(e,o)}else{var l=vr(e),f=\"[object Function]\"==l||\"[object GeneratorFunction]\"==l;if(Sr(e))return V(e,s);if(\"[object Object]\"==l||\"[object Arguments]\"==l||f&&!i){if(o=u||f?{}:se(e),!s)return u?function(e,t){return Y(e,yr(e),t)}(e,function(e,t){return e&&Y(t,Ue(t),e)}(o,e)):function(e,t){return Y(e,dr(e),t)}(e,function(e,t){return e&&Y(t,He(t),e)}(o,e))}else{if(!ft[l])return i?e:{};o=ue(e,l,O,s)}}if(a||(a=new R),i=a.get(e))return i;a.set(e,o);u=c?u?ne:re:u?Ue:He;var h=n?Ge:u(e);return function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););}(h||e,(function(n,i){h&&(n=e[i=n]),C(o,i,O(n,t,r,i,e,a))})),o}function P(e,t){var r=[];return lr(e,(function(e,n,i){t(e,n,i)&&r.push(e)})),r}function B(e,t){for(var r=0,n=(t=q(t,e)).length;null!=e&&r<n;)e=e[ye(t[r++])];return r&&r==n?e:Ge}function j(e,t,r){return t=t(e),xr(e)?t:f(t,r(e))}function T(e){if(null==e)e=e===Ge?\"[object Undefined]\":\"[object Null]\";else if(Ut&&Ut in Object(e)){var t=Rt.call(e,Ut),r=e[Ut];try{e[Ut]=Ge;var n=!0}catch(e){}var i=Dt.call(e);n&&(t?e[Ut]=r:delete e[Ut]),e=i}else e=Dt.call(e);return e}function E(e){return De(e)&&\"[object Arguments]\"==T(e)}function L(e,t,r,n,i){if(e===t)t=!0;else if(null==e||null==t||!De(e)&&!De(t))t=e!=e&&t!=t;else e:{var a,o,s=xr(e),u=xr(t),c=\"[object Object]\"==(a=\"[object Arguments]\"==(a=s?\"[object Array]\":vr(e))?\"[object Object]\":a);u=\"[object Object]\"==(o=\"[object Arguments]\"==(o=u?\"[object Array]\":vr(t))?\"[object Object]\":o);if((o=a==o)&&Sr(e)){if(!Sr(t)){t=!1;break e}s=!0,c=!1}if(o&&!c)i||(i=new R),t=s||_r(e)?ee(e,t,r,n,L,i):function(e,t,r,n,i,a,o){switch(r){case\"[object DataView]\":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case\"[object ArrayBuffer]\":if(e.byteLength!=t.byteLength||!a(new Pt(e),new Pt(t)))break;return!0;case\"[object Boolean]\":case\"[object Date]\":case\"[object Number]\":return xe(+e,+t);case\"[object Error]\":return e.name==t.name&&e.message==t.message;case\"[object RegExp]\":case\"[object String]\":return e==t+\"\";case\"[object Map]\":var s=m;case\"[object Set]\":if(s||(s=k),e.size!=t.size&&!(1&n))break;return(r=o.get(e))?r==t:(n|=2,o.set(e,t),t=ee(s(e),s(t),n,i,a,o),o.delete(e),t);case\"[object Symbol]\":if(sr)return sr.call(e)==sr.call(t)}return!1}(e,t,a,r,n,L,i);else{if(!(1&r)&&(s=c&&Rt.call(e,\"__wrapped__\"),a=u&&Rt.call(t,\"__wrapped__\"),s||a)){e=s?e.value():e,t=a?t.value():t,i||(i=new R),t=L(e,t,r,n,i);break e}if(o)t:if(i||(i=new R),s=1&r,a=re(e),u=a.length,o=re(t).length,u==o||s){for(c=u;c--;){var l=a[c];if(!(s?l in t:Rt.call(t,l))){t=!1;break t}}if((o=i.get(e))&&i.get(t))t=o==t;else{o=!0,i.set(e,t),i.set(t,e);for(var f=s;++c<u;){var h=e[l=a[c]],p=t[l];if(n)var d=s?n(p,h,l,t,e,i):n(h,p,l,e,t,i);if(d===Ge?h!==p&&!L(h,p,r,n,i):!d){o=!1;break}f||(f=\"constructor\"==l)}o&&!f&&((r=e.constructor)!=(n=t.constructor)&&\"constructor\"in e&&\"constructor\"in t&&!(\"function\"==typeof r&&r instanceof r&&\"function\"==typeof n&&n instanceof n)&&(o=!1)),i.delete(e),i.delete(t),t=o}}else t=!1;else t=!1}}return t}function H(e){return\"function\"==typeof e?e:null==e?Ke:\"object\"==typeof e?xr(e)?function(e,t){return fe(e)&&t==t&&!Ae(t)?pe(ye(e),t):function(r){var n=Ee(r,e);return n===Ge&&n===t?Le(r,e):L(t,n,3)}}(e[0],e[1]):function(e){var t=function(e){for(var t=He(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,i==i&&!Ae(i)]}return t}(e);return 1==t.length&&t[0][2]?pe(t[0][0],t[0][1]):function(r){return r===e||function(e,t){var r=t.length,n=r;if(null==e)return!n;for(e=Object(e);r--;){if((i=t[r])[2]?i[1]!==e[i[0]]:!(i[0]in e))return!1}for(;++r<n;){var i,a=(i=t[r])[0],o=e[a],s=i[1];if(i[2]){if(o===Ge&&!(a in e))return!1}else if(!L(s,o,3,void 0,i=new R))return!1}return!0}(r,t)}}(e):qe(e)}function U(e,t){var r=-1,n=Se(e)?Array(e.length):[];return lr(e,(function(e,i,a){n[++r]=t(e,i,a)})),n}function N(e,t,r,n,i){e!==t&&fr(t,(function(a,o){if(Ae(a)){i||(i=new R);var s=i,u=e[o],c=t[o];if(d=s.get(c))D(e,o,d);else{var l=(d=n?n(u,c,o+\"\",e,t,s):Ge)===Ge;if(l){var f=xr(c),h=!f&&Sr(c),p=!f&&!h&&_r(c),d=c;f||h||p?xr(u)?d=u:_e(u)?d=X(u):h?(l=!1,d=V(c,!0)):p?(l=!1,d=G(c,!0)):d=[]:Ce(c)||wr(c)?(d=u,wr(u)?d=je(u):(!Ae(u)||r&&Ie(u))&&(d=se(c))):l=!1}l&&(s.set(c,d),N(d,c,r,n,s),s.delete(c)),D(e,o,d)}}else(s=n?n(e[o],a,o+\"\",e,t,i):Ge)===Ge&&(s=a),D(e,o,s)}),Ue)}function z(e,t){return function(e,t,r){for(var n=-1,i=t.length,a={};++n<i;){var o=t[n],s=B(e,o);if(r(s,o)){var u=a;o=q(o,e);if(Ae(u)){o=q(o,u);for(var c=-1,l=o.length,f=l-1;null!=u&&++c<l;){var h=ye(o[c]),p=s;if(c!=f){var d=u[h];(p=Ge)===Ge&&(p=Ae(d)?d:le(o[c+1])?[]:{})}C(u,h,p),u=u[h]}}}}return a}(e,t,(function(t,r){return Le(e,r)}))}function K(e){return gr(de(e,void 0,Ke),e+\"\")}function W(e){if(\"string\"==typeof e)return e;if(xr(e))return l(e,W)+\"\";if(Fe(e))return ur?ur.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-Xe?\"-0\":t}function J(e,t){var r;if(2>(t=q(t,e)).length)r=e;else{var n=0,i=-1,a=-1,o=(r=t).length;for(0>n&&(n=-n>o?0:o+n),0>(i=i>o?o:i)&&(i+=o),o=n>i?0:i-n>>>0,n>>>=0,i=Array(o);++a<o;)i[a]=r[a+n];r=B(e,i)}null==(e=r)||delete e[ye(be(t))]}function q(e,t){return xr(e)?e:fe(e,t)?[e]:mr(Te(e))}function V(e,t){if(t)return e.slice();var r=e.length;r=Bt?Bt(r):new e.constructor(r);return e.copy(r),r}function $(e){var t=new e.constructor(e.byteLength);return new Pt(t).set(new Pt(e)),t}function G(e,t){return new e.constructor(t?$(e.buffer):e.buffer,e.byteOffset,e.length)}function X(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}function Y(e,t,r){var n=!r;r||(r={});for(var i=-1,a=t.length;++i<a;){var o=t[i],s=Ge;s===Ge&&(s=e[o]),n?F(r,o,s):C(r,o,s)}return r}function Q(e){return K((function(t,r){var n,i=-1,a=r.length,o=1<a?r[a-1]:Ge,s=2<a?r[2]:Ge;o=3<e.length&&\"function\"==typeof o?(a--,o):Ge;if(n=s){n=r[0];var u=r[1];if(Ae(s)){var c=typeof u;n=!!(\"number\"==c?Se(s)&&le(u,s.length):\"string\"==c&&u in s)&&xe(s[u],n)}else n=!1}for(n&&(o=3>a?Ge:o,a=1),t=Object(t);++i<a;)(s=r[i])&&e(t,s,i,o);return t}))}function Z(e){return Ce(e)?Ge:e}function ee(e,t,r,n,i,a){var o=1&r,s=e.length;if(s!=(u=t.length)&&!(o&&u>s))return!1;if((u=a.get(e))&&a.get(t))return u==t;var u=-1,c=!0,l=2&r?new I:Ge;for(a.set(e,t),a.set(t,e);++u<s;){var f=e[u],h=t[u];if(n)var d=o?n(h,f,u,t,e,a):n(f,h,u,e,t,a);if(d!==Ge){if(d)continue;c=!1;break}if(l){if(!p(t,(function(e,t){if(!g(l,t)&&(f===e||i(f,e,r,n,a)))return l.push(t)}))){c=!1;break}}else if(f!==h&&!i(f,h,r,n,a)){c=!1;break}}return a.delete(e),a.delete(t),c}function te(e){return gr(de(e,Ge,me),e+\"\")}function re(e){return j(e,He,dr)}function ne(e){return j(e,Ue,yr)}function ie(){var e=(e=w.iteratee||We)===We?H:e;return arguments.length?e(arguments[0],arguments[1]):e}function ae(e,t){var r=e.__data__,n=typeof t;return(\"string\"==n||\"number\"==n||\"symbol\"==n||\"boolean\"==n?\"__proto__\"!==t:null===t)?r[\"string\"==typeof t?\"string\":\"hash\"]:r.map}function oe(e,t){var r=null==e?Ge:e[t];return!Ae(r)||At&&At in r||!(Ie(r)?Mt:st).test(ve(r))?Ge:r}function se(e){return\"function\"!=typeof e.constructor||he(e)?{}:cr(jt(e))}function ue(e,t,r,n){var i=e.constructor;switch(t){case\"[object ArrayBuffer]\":return $(e);case\"[object Boolean]\":case\"[object Date]\":return new i(+e);case\"[object DataView]\":return t=n?$(e.buffer):e.buffer,new e.constructor(t,e.byteOffset,e.byteLength);case\"[object Float32Array]\":case\"[object Float64Array]\":case\"[object Int8Array]\":case\"[object Int16Array]\":case\"[object Int32Array]\":case\"[object Uint8Array]\":case\"[object Uint8ClampedArray]\":case\"[object Uint16Array]\":case\"[object Uint32Array]\":return G(e,n);case\"[object Map]\":return h(t=n?r(m(e),1):m(e),a,new e.constructor);case\"[object Number]\":case\"[object String]\":return new i(e);case\"[object RegExp]\":return(t=new e.constructor(e.source,it.exec(e))).lastIndex=e.lastIndex,t;case\"[object Set]\":return h(t=n?r(k(e),1):k(e),o,new e.constructor);case\"[object Symbol]\":return sr?Object(sr.call(e)):{}}}function ce(e){return xr(e)||wr(e)||!!(Ht&&e&&e[Ht])}function le(e,t){return!!(t=null==t?9007199254740991:t)&&(\"number\"==typeof e||ct.test(e))&&-1<e&&0==e%1&&e<t}function fe(e,t){if(xr(e))return!1;var r=typeof e;return!(\"number\"!=r&&\"symbol\"!=r&&\"boolean\"!=r&&null!=e&&!Fe(e))||Ze.test(e)||!Qe.test(e)||null!=t&&e in Object(t)}function he(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||St)}function pe(e,t){return function(r){return null!=r&&r[e]===t&&(t!==Ge||e in Object(r))}}function de(e,t,r){return t=qt(t===Ge?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=qt(n.length-t,0),o=Array(a);++i<a;)o[i]=n[t+i];for(i=-1,a=Array(t+1);++i<t;)a[i]=n[i];return a[t]=r(o),s(e,this,a)}}function ye(e){if(\"string\"==typeof e||Fe(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-Xe?\"-0\":t}function ve(e){if(null!=e){try{return It.call(e)}catch(e){}return e+\"\"}return\"\"}function ge(e,t,r){var n=null==e?0:e.length;return n?(0>(r=null==r?0:Pe(r))&&(r=qt(n+r,0)),d(e,ie(t,3),r)):-1}function me(e){return null!=e&&e.length?function e(t,r,n,i,a){var o=-1,s=t.length;for(n||(n=ce),a||(a=[]);++o<s;){var u=t[o];0<r&&n(u)?1<r?e(u,r-1,n,i,a):f(a,u):i||(a[a.length]=u)}return a}(e,1):[]}function be(e){var t=null==e?0:e.length;return t?e[t-1]:Ge}function ke(e,t){var r;if(e&&e.length&&t&&t.length){var n=y,i=-1,a=(r=t).length;for(e===r&&(r=X(r));++i<a;)for(var o=0,s=r[i];-1<(o=n(e,s,o,void 0));)e!=e&&Lt.call(e,o,1),Lt.call(e,o,1);r=e}else r=e;return r}function we(e,t){function r(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;return a.has(i)?a.get(i):(n=e.apply(this,n),r.cache=a.set(i,n)||a,n)}if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new TypeError(\"Expected a function\");return r.cache=new(we.Cache||_),r}function xe(e,t){return e===t||e!=e&&t!=t}function Se(e){return null!=e&&Re(e.length)&&!Ie(e)}function _e(e){return De(e)&&Se(e)}function Ie(e){return!!Ae(e)&&(\"[object Function]\"==(e=T(e))||\"[object GeneratorFunction]\"==e||\"[object AsyncFunction]\"==e||\"[object Proxy]\"==e)}function Re(e){return\"number\"==typeof e&&-1<e&&0==e%1&&9007199254740991>=e}function Ae(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function De(e){return null!=e&&\"object\"==typeof e}function Ce(e){return!(!De(e)||\"[object Object]\"!=T(e))&&(null===(e=jt(e))||\"function\"==typeof(e=Rt.call(e,\"constructor\")&&e.constructor)&&e instanceof e&&It.call(e)==Ct)}function Me(e){return\"string\"==typeof e||!xr(e)&&De(e)&&\"[object String]\"==T(e)}function Fe(e){return\"symbol\"==typeof e||De(e)&&\"[object Symbol]\"==T(e)}function Oe(e){return e?(e=Be(e))===Xe||e===-Xe?17976931348623157e292*(0>e?-1:1):e==e?e:0:0===e?e:0}function Pe(e){var t=(e=Oe(e))%1;return e==e?t?e-t:e:0}function Be(e){if(\"number\"==typeof e)return e;if(Fe(e))return Ye;if(Ae(e)&&(e=Ae(e=\"function\"==typeof e.valueOf?e.valueOf():e)?e+\"\":e),\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(rt,\"\");var t=ot.test(e);return t||ut.test(e)?pt(e.slice(2),t?2:8):at.test(e)?Ye:+e}function je(e){return Y(e,Ue(e))}function Te(e){return null==e?\"\":W(e)}function Ee(e,t,r){return(e=null==e?Ge:B(e,t))===Ge?r:e}function Le(e,t){var r;if(r=null!=e){for(var n,i=-1,a=(n=q(t,r=e)).length,o=!1;++i<a;){var s=ye(n[i]);if(!(o=null!=r&&null!=r&&s in Object(r)))break;r=r[s]}o||++i!=a?r=o:r=!!(a=null==r?0:r.length)&&Re(a)&&le(s,a)&&(xr(r)||wr(r))}return r}function He(e){if(Se(e))e=A(e);else if(he(e)){var t,r=[];for(t in Object(e))Rt.call(e,t)&&\"constructor\"!=t&&r.push(t);e=r}else e=Jt(e);return e}function Ue(e){if(Se(e))e=A(e,!0);else if(Ae(e)){var t,r=he(e),n=[];for(t in e)(\"constructor\"!=t||!r&&Rt.call(e,t))&&n.push(t);e=n}else{if(t=[],null!=e)for(r in Object(e))t.push(r);e=t}return e}function Ne(e){return null==e?[]:function(e,t){return l(t,(function(t){return e[t]}))}(e,He(e))}function ze(e){return function(){return e}}function Ke(e){return e}function We(e){return H(\"function\"==typeof e?e:O(e,1))}function Je(){}function qe(e){return fe(e)?function(e){return function(t){return null==t?Ge:t[e]}}(ye(e)):function(e){return function(t){return B(t,e)}}(e)}function Ve(){return[]}function $e(){return!1}var Ge,Xe=1/0,Ye=NaN,Qe=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,Ze=/^\\w*$/,et=/^\\./,tt=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,rt=/^\\s+|\\s+$/g,nt=/\\\\(\\\\)?/g,it=/\\w*$/,at=/^[-+]0x[0-9a-f]+$/i,ot=/^0b[01]+$/i,st=/^\\[object .+?Constructor\\]$/,ut=/^0o[0-7]+$/i,ct=/^(?:0|[1-9]\\d*)$/,lt={};lt[\"[object Float32Array]\"]=lt[\"[object Float64Array]\"]=lt[\"[object Int8Array]\"]=lt[\"[object Int16Array]\"]=lt[\"[object Int32Array]\"]=lt[\"[object Uint8Array]\"]=lt[\"[object Uint8ClampedArray]\"]=lt[\"[object Uint16Array]\"]=lt[\"[object Uint32Array]\"]=!0,lt[\"[object Arguments]\"]=lt[\"[object Array]\"]=lt[\"[object ArrayBuffer]\"]=lt[\"[object Boolean]\"]=lt[\"[object DataView]\"]=lt[\"[object Date]\"]=lt[\"[object Error]\"]=lt[\"[object Function]\"]=lt[\"[object Map]\"]=lt[\"[object Number]\"]=lt[\"[object Object]\"]=lt[\"[object RegExp]\"]=lt[\"[object Set]\"]=lt[\"[object String]\"]=lt[\"[object WeakMap]\"]=!1;var ft={};ft[\"[object Arguments]\"]=ft[\"[object Array]\"]=ft[\"[object ArrayBuffer]\"]=ft[\"[object DataView]\"]=ft[\"[object Boolean]\"]=ft[\"[object Date]\"]=ft[\"[object Float32Array]\"]=ft[\"[object Float64Array]\"]=ft[\"[object Int8Array]\"]=ft[\"[object Int16Array]\"]=ft[\"[object Int32Array]\"]=ft[\"[object Map]\"]=ft[\"[object Number]\"]=ft[\"[object Object]\"]=ft[\"[object RegExp]\"]=ft[\"[object Set]\"]=ft[\"[object String]\"]=ft[\"[object Symbol]\"]=ft[\"[object Uint8Array]\"]=ft[\"[object Uint8ClampedArray]\"]=ft[\"[object Uint16Array]\"]=ft[\"[object Uint32Array]\"]=!0,ft[\"[object Error]\"]=ft[\"[object Function]\"]=ft[\"[object WeakMap]\"]=!1;var ht,pt=parseInt,dt=\"object\"==typeof e&&e&&e.Object===Object&&e,yt=\"object\"==typeof self&&self&&self.Object===Object&&self,vt=dt||yt||Function(\"return this\")(),gt=t&&!t.nodeType&&t,mt=gt&&\"object\"==typeof n&&n&&!n.nodeType&&n,bt=mt&&mt.exports===gt,kt=bt&&dt.process;e:{try{ht=kt&&kt.binding&&kt.binding(\"util\");break e}catch(a){}ht=void 0}var wt=ht&&ht.isTypedArray,xt=Array.prototype,St=Object.prototype,_t=vt[\"__core-js_shared__\"],It=Function.prototype.toString,Rt=St.hasOwnProperty,At=function(){var e=/[^.]+$/.exec(_t&&_t.keys&&_t.keys.IE_PROTO||\"\");return e?\"Symbol(src)_1.\"+e:\"\"}(),Dt=St.toString,Ct=It.call(Object),Mt=RegExp(\"^\"+It.call(Rt).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),Ft=bt?vt.Buffer:Ge,Ot=vt.Symbol,Pt=vt.Uint8Array,Bt=Ft?Ft.a:Ge,jt=b(Object.getPrototypeOf),Tt=Object.create,Et=St.propertyIsEnumerable,Lt=xt.splice,Ht=Ot?Ot.isConcatSpreadable:Ge,Ut=Ot?Ot.toStringTag:Ge,Nt=function(){try{var e=oe(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}(),zt=Math.floor,Kt=Object.getOwnPropertySymbols,Wt=Ft?Ft.isBuffer:Ge,Jt=b(Object.keys),qt=Math.max,Vt=Math.min,$t=Date.now,Gt=oe(vt,\"DataView\"),Xt=oe(vt,\"Map\"),Yt=oe(vt,\"Promise\"),Qt=oe(vt,\"Set\"),Zt=oe(vt,\"WeakMap\"),er=oe(Object,\"create\"),tr=ve(Gt),rr=ve(Xt),nr=ve(Yt),ir=ve(Qt),ar=ve(Zt),or=Ot?Ot.prototype:Ge,sr=or?or.valueOf:Ge,ur=or?or.toString:Ge,cr=function(){function e(){}return function(t){return Ae(t)?Tt?Tt(t):(e.prototype=t,t=new e,e.prototype=Ge,t):{}}}();x.prototype.clear=function(){this.__data__=er?er(null):{},this.size=0},x.prototype.delete=function(e){return e=this.has(e)&&delete this.__data__[e],this.size-=e?1:0,e},x.prototype.get=function(e){var t=this.__data__;return er?\"__lodash_hash_undefined__\"===(e=t[e])?Ge:e:Rt.call(t,e)?t[e]:Ge},x.prototype.has=function(e){var t=this.__data__;return er?t[e]!==Ge:Rt.call(t,e)},x.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=er&&t===Ge?\"__lodash_hash_undefined__\":t,this},S.prototype.clear=function(){this.__data__=[],this.size=0},S.prototype.delete=function(e){var t=this.__data__;return!(0>(e=M(t,e))||(e==t.length-1?t.pop():Lt.call(t,e,1),--this.size,0))},S.prototype.get=function(e){var t=this.__data__;return 0>(e=M(t,e))?Ge:t[e][1]},S.prototype.has=function(e){return-1<M(this.__data__,e)},S.prototype.set=function(e,t){var r=this.__data__,n=M(r,e);return 0>n?(++this.size,r.push([e,t])):r[n][1]=t,this},_.prototype.clear=function(){this.size=0,this.__data__={hash:new x,map:new(Xt||S),string:new x}},_.prototype.delete=function(e){return e=ae(this,e).delete(e),this.size-=e?1:0,e},_.prototype.get=function(e){return ae(this,e).get(e)},_.prototype.has=function(e){return ae(this,e).has(e)},_.prototype.set=function(e,t){var r=ae(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},I.prototype.add=I.prototype.push=function(e){return this.__data__.set(e,\"__lodash_hash_undefined__\"),this},I.prototype.has=function(e){return this.__data__.has(e)},R.prototype.clear=function(){this.__data__=new S,this.size=0},R.prototype.delete=function(e){var t=this.__data__;return e=t.delete(e),this.size=t.size,e},R.prototype.get=function(e){return this.__data__.get(e)},R.prototype.has=function(e){return this.__data__.has(e)},R.prototype.set=function(e,t){var r=this.__data__;if(r instanceof S){var n=r.__data__;if(!Xt||199>n.length)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new _(n)}return r.set(e,t),this.size=r.size,this};var lr=function(e,t){if(null==e)return e;if(!Se(e))return function(e,t){return e&&fr(e,t,He)}(e,t);for(var r=e.length,n=-1,i=Object(e);++n<r&&!1!==t(i[n],n,i););return e},fr=function(e,t,r){for(var n=-1,i=Object(e),a=(r=r(e)).length;a--;){var o=r[++n];if(!1===t(i[o],o,i))break}return e},hr=Nt?function(e,t){return Nt(e,\"toString\",{configurable:!0,enumerable:!1,value:ze(t),writable:!0})}:Ke,pr=Qt&&1/k(new Qt([,-0]))[1]==Xe?function(e){return new Qt(e)}:Je,dr=Kt?function(e){return null==e?[]:(e=Object(e),u(Kt(e),(function(t){return Et.call(e,t)})))}:Ve,yr=Kt?function(e){for(var t=[];e;)f(t,dr(e)),e=jt(e);return t}:Ve,vr=T;(Gt&&\"[object DataView]\"!=vr(new Gt(new ArrayBuffer(1)))||Xt&&\"[object Map]\"!=vr(new Xt)||Yt&&\"[object Promise]\"!=vr(Yt.resolve())||Qt&&\"[object Set]\"!=vr(new Qt)||Zt&&\"[object WeakMap]\"!=vr(new Zt))&&(vr=function(e){var t=T(e);if(e=(e=\"[object Object]\"==t?e.constructor:Ge)?ve(e):\"\")switch(e){case tr:return\"[object DataView]\";case rr:return\"[object Map]\";case nr:return\"[object Promise]\";case ir:return\"[object Set]\";case ar:return\"[object WeakMap]\"}return t});var gr=function(e){var t=0,r=0;return function(){var n=$t(),i=16-(n-r);if(r=n,0<i){if(800<=++t)return arguments[0]}else t=0;return e.apply(Ge,arguments)}}(hr),mr=function(e){var t=(e=we(e,(function(e){return 500===t.size&&t.clear(),e}))).cache;return e}((function(e){var t=[];return et.test(e)&&t.push(\"\"),e.replace(tt,(function(e,r,n,i){t.push(n?i.replace(nt,\"$1\"):r||e)})),t})),br=K(ke),kr=function(e){return function(t,r,n){var i=Object(t);if(!Se(t)){var a=ie(r,3);t=He(t),r=function(e){return a(i[e],e,i)}}return-1<(r=e(t,r,n))?i[a?t[r]:r]:Ge}}(ge);we.Cache=_;var wr=E(function(){return arguments}())?E:function(e){return De(e)&&Rt.call(e,\"callee\")&&!Et.call(e,\"callee\")},xr=Array.isArray,Sr=Wt||$e,_r=wt?function(e){return function(t){return e(t)}}(wt):function(e){return De(e)&&Re(e.length)&&!!lt[T(e)]},Ir=Q((function(e,t,r){N(e,t,r)})),Rr=Q((function(e,t,r,n){N(e,t,r,n)})),Ar=te((function(e,t){var r={};if(null==e)return r;var n=!1;t=l(t,(function(t){return t=q(t,e),n||(n=1<t.length),t})),Y(e,ne(e),r),n&&(r=O(r,7,Z));for(var i=t.length;i--;)J(r,t[i]);return r})),Dr=te((function(e,t){return null==e?{}:z(e,t)}));w.constant=ze,w.filter=function(e,t){return(xr(e)?u:P)(e,ie(t,3))},w.flatten=me,w.iteratee=We,w.keys=He,w.keysIn=Ue,w.map=function(e,t){return(xr(e)?l:U)(e,ie(t,3))},w.memoize=we,w.merge=Ir,w.mergeWith=Rr,w.omit=Ar,w.pick=Dr,w.property=qe,w.pull=br,w.pullAll=ke,w.remove=function(e,t){var r=[];if(!e||!e.length)return r;var n=-1,i=[],a=e.length;for(t=ie(t,3);++n<a;){var o=e[n];t(o,n,e)&&(r.push(o),i.push(n))}for(a=(n=e?i.length:0)-1;n--;)if(o=i[n],n==a||o!==s){var s=o;le(o)?Lt.call(e,o,1):J(e,o)}return r},w.toPlainObject=je,w.uniq=function(e){if(e&&e.length)e:{var t=-1,r=c,n=e.length,i=!0,a=[],o=a;if(200<=n){if(r=pr(e)){e=k(r);break e}i=!1,r=g,o=new I}else o=a;t:for(;++t<n;){var s=u=e[t],u=0!==u?u:0;if(i&&s==s){for(var l=o.length;l--;)if(o[l]===s)continue t;a.push(u)}else r(o,s,void 0)||(o!==a&&o.push(s),a.push(u))}e=a}else e=[];return e},w.values=Ne,w.cloneDeep=function(e){return O(e,5)},w.eq=xe,w.find=kr,w.findIndex=ge,w.get=Ee,w.hasIn=Le,w.identity=Ke,w.includes=function(e,t,r,n){return e=Se(e)?e:Ne(e),r=r&&!n?Pe(r):0,n=e.length,0>r&&(r=qt(n+r,0)),Me(e)?r<=n&&-1<e.indexOf(t,r):!!n&&-1<y(e,t,r)},w.isArguments=wr,w.isArray=xr,w.isArrayLike=Se,w.isArrayLikeObject=_e,w.isBuffer=Sr,w.isFunction=Ie,w.isLength=Re,w.isObject=Ae,w.isObjectLike=De,w.isPlainObject=Ce,w.isString=Me,w.isSymbol=Fe,w.isTypedArray=_r,w.last=be,w.stubArray=Ve,w.stubFalse=$e,w.noop=Je,w.sortedIndexBy=function(e,t,r){t=(r=ie(r,2))(t);for(var n=0,i=null==e?0:e.length,a=t!=t,o=null===t,s=Fe(t),u=t===Ge;n<i;){var c=zt((n+i)/2),l=r(e[c]),f=l!==Ge,h=null===l,p=l==l,d=Fe(l);(a?p:u?p&&f:o?p&&f&&!h:s?p&&f&&!h&&!d:!h&&!d&&l<t)?n=c+1:i=c}return Vt(i,4294967294)},w.toFinite=Oe,w.toInteger=Pe,w.toNumber=Be,w.toString=Te,w.VERSION=\"4.17.4\",vt._=w,void 0===(i=function(){return w}.call(t,r,t,n))||(n.exports=i)}).call(this)}).call(this,r(2),r(4)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,\"loaded\",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,\"id\",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,r){\"use strict\";r.r(t),r.d(t,\"default\",(function(){return U}));r(1),r(3);var n=r(0);function i(e,t,r,n,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}function a(e){return function(){var t=this,r=arguments;return new Promise((function(n,a){var o=e.apply(t,r);function s(e){i(o,n,a,s,u,\"next\",e)}function u(e){i(o,n,a,s,u,\"throw\",e)}s(void 0)}))}}function o(e,t){var r;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if(\"string\"==typeof e)return s(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===r&&e.constructor&&(r=e.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(e);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return s(e,t)}(e))||t&&e&&\"number\"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,o=!0,u=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(u)throw a}}}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function u(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var l=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.componentManager=t,this.updateObservers=[],this.items=[]}var t,r,i,s,c,l;return t=e,(r=[{key:\"getPlatform\",value:function(){return this.componentManager.platform}},{key:\"getEnvironment\",value:function(){return this.componentManager.environment}},{key:\"isMobile\",value:function(){return\"mobile\"==this.getEnvironment()}},{key:\"addEventHandler\",value:function(e){var t={id:Math.random,callback:e};return this.updateObservers.push(t),t}},{key:\"removeUpdateObserver\",value:function(e){this.updateObservers.splice(this.updateObservers.indexOf(e),1)}},{key:\"notifyObserversOfEvent\",value:function(e){var t,r=o(this.updateObservers);try{for(r.s();!(t=r.n()).done;)t.value.callback(e)}catch(e){r.e(e)}finally{r.f()}}},{key:\"filterItems\",value:function(e){return this.items.filter((function(t){return t.content_type==e}))}},{key:\"getFileDescriptors\",value:function(){return this.filterItems(e.FileDescriptorContentTypeKey)}},{key:\"beginStreamingFiles\",value:function(){var t=this,r=[e.FileDescriptorContentTypeKey,e.FileSafeCredentialsContentType,e.FileSafeIntegrationContentTypeKey];this.componentManager.streamItems(r,(function(e){t.handleStreamItemsMessage(e)}))}},{key:\"handleStreamItemsMessage\",value:(l=a(regeneratorRuntime.mark((function t(r){var i,a,s,u;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:i=o(r),t.prev=1,i.s();case 3:if((a=i.n()).done){t.next=15;break}if(s=a.value,!(s=new n.SFItem(s)).deleted){t.next=9;break}return this.removeItemFromItems(s),t.abrupt(\"continue\",13);case 9:if(!s.isMetadataUpdate){t.next=11;break}return t.abrupt(\"continue\",13);case 11:(u=this.indexOfItem(s))>=0?this.items[u]=s:this.items.push(s);case 13:t.next=3;break;case 15:t.next=20;break;case 17:t.prev=17,t.t0=t.catch(1),i.e(t.t0);case 20:return t.prev=20,i.f(),t.finish(20);case 23:this.notifyObserversOfEvent(e.BridgeEventReceivedItems);case 24:case\"end\":return t.stop()}}),t,this,[[1,17,20,23]])}))),function(e){return l.apply(this,arguments)})},{key:\"indexOfItem\",value:function(e){for(var t in this.items)if(this.items[t].uuid==e.uuid)return t;return-1}},{key:\"removeItemFromItems\",value:function(e){this.items=this.items.filter((function(t){return t.uuid!==e.uuid}))}},{key:\"createItem\",value:function(e,t){this.createItems([e],t)}},{key:\"createItems\",value:function(e,t){this.componentManager.createItems(e,(function(e){t&&t(e.map((function(e){return new n.SFItem(e)})))}))}},{key:\"saveItem\",value:(c=a(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.saveItems([t]));case 1:case\"end\":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:\"saveItems\",value:(s=a(regeneratorRuntime.mark((function t(r){var n=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt(\"return\",new Promise((function(t,i){n.componentManager.saveItems(r,(function(r){t(r),n.notifyObserversOfEvent(e.BridgeEventSavedItem)}))})));case 1:case\"end\":return t.stop()}}),t)}))),function(e){return s.apply(this,arguments)})},{key:\"indexOfItem\",value:function(e){for(var t in this.items)if(this.items[t].uuid==e.uuid)return t;return-1}},{key:\"deleteItem\",value:function(e,t){this.deleteItems([e],t)}},{key:\"deleteItems\",value:function(e,t){this.componentManager.deleteItems(e,t)}},{key:\"removeItemFromItems\",value:function(e){this.items=this.items.filter((function(t){return t.uuid!==e.uuid}))}}])&&u(t.prototype,r),i&&u(t,i),e}();function f(e,t,r,n,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}function h(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var a=e.apply(t,r);function o(e){f(a,n,i,o,s,\"next\",e)}function s(e){f(a,n,i,o,s,\"throw\",e)}o(void 0)}))}}function p(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}c(l,\"FileItemContentTypeKey\",\"SN|FileSafe|File\"),c(l,\"FileSafeCredentialsContentType\",\"SN|FileSafe|Credentials\"),c(l,\"FileDescriptorContentTypeKey\",\"SN|FileSafe|FileMetadata\"),c(l,\"FileSafeIntegrationContentTypeKey\",\"SN|FileSafe|Integration\"),c(l,\"BridgeEventLoadedCredentials\",\"BridgeEventLoadedCredentials\"),c(l,\"BridgeEventReceivedItems\",\"BridgeEventReceivedItems\"),c(l,\"BridgeEventSavedItem\",\"BridgeEventSavedItem\");var d=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.httpManger=new n.SFHttpManager,this.httpManger.setJWTRequestHandler((function(){}))}var t,r,i,a,o,s;return t=e,(r=[{key:\"setCredentials\",value:function(e){this.credentials=e}},{key:\"uploadFile\",value:(s=h(regeneratorRuntime.mark((function e(t,r,n){var i,a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=\"\".concat(n.content.relayUrl,\"/integrations/save-item\"),a={file:{name:t,item:r},source:n.content.source,authorization:n.content.authorization},e.abrupt(\"return\",new Promise((function(e,t){o.httpManger.postAbsolute(i,a,(function(t){e(t.metadata)}),(function(e){var r=e.error;r||(r={message:\"File upload failed.\"}),console.log(\"Upload error response\",r),t(r)}))})));case 3:case\"end\":return e.stop()}}),e)}))),function(e,t,r){return s.apply(this,arguments)})},{key:\"downloadFile\",value:(o=h(regeneratorRuntime.mark((function e(t,r){var n,i,a=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=\"\".concat(r.content.relayUrl,\"/integrations/download-item\"),i={metadata:t.content.serverMetadata,authorization:r.content.authorization},e.abrupt(\"return\",new Promise((function(e,t){a.httpManger.postAbsolute(n,i,(function(t){e(t)}),(function(e){var r=e.error;console.log(\"Download error response\",e),t(r)}))})));case 3:case\"end\":return e.stop()}}),e)}))),function(e,t){return o.apply(this,arguments)})},{key:\"deleteFile\",value:(a=h(regeneratorRuntime.mark((function e(t,r){var n,i,a=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=\"\".concat(r.content.relayUrl,\"/integrations/delete-item\"),i={metadata:t.content.serverMetadata,authorization:r.content.authorization},e.abrupt(\"return\",new Promise((function(e,t){a.httpManger.postAbsolute(n,i,(function(t){e(t)}),(function(e){var r=e.error;console.log(\"Download error response\",e),t(r)}))})));case 3:case\"end\":return e.stop()}}),e)}))),function(e,t){return a.apply(this,arguments)})}])&&p(t.prototype,r),i&&p(t,i),e}();function y(e,t){var r;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if(\"string\"==typeof e)return v(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===r&&e.constructor&&(r=e.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(e);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return v(e,t)}(e))||t&&e&&\"number\"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,o=!0,s=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function g(e,t,r,n,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}function m(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var b=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.extensionBridge=t}var t,r,i,a,o;return t=e,(r=[{key:\"integrationForFileDescriptor\",value:function(e){return this.integrations.find((function(t){return e.content.serverMetadata&&t.content.source==e.content.serverMetadata.source}))}},{key:\"parseIntegrationCode\",value:function(e){var t=atob(e),r=JSON.parse(t);return r.rawCode=e,r}},{key:\"saveIntegrationFromCode\",value:(a=regeneratorRuntime.mark((function e(t){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.parseIntegrationCode(t),0==this.integrations.length&&(r.isDefaultUploadSource=!0),n=this.createAndSaveIntegrationObject(r),e.abrupt(\"return\",n);case 4:case\"end\":return e.stop()}}),e,this)})),o=function(){var e=this,t=arguments;return new Promise((function(r,n){var i=a.apply(e,t);function o(e){g(i,r,n,o,s,\"next\",e)}function s(e){g(i,r,n,o,s,\"throw\",e)}o(void 0)}))},function(e){return o.apply(this,arguments)})},{key:\"createAndSaveIntegrationObject\",value:function(e){var t=new n.SFItem({content_type:l.FileSafeIntegrationContentTypeKey,content:e});return this.extensionBridge.createItems([t]),t}},{key:\"getDefaultIntegration\",value:function(){return this.integrations.find((function(e){return e.content.isDefaultUploadSource}))}},{key:\"setIntegrationAsDefault\",value:function(e){var t=[e],r=this.getDefaultIntegration();r&&(r.content.isDefaultUploadSource=!1,t.push(r)),e.content.isDefaultUploadSource=!0,this.extensionBridge.saveItems(t)}},{key:\"displayStringForIntegration\",value:function(e){var t,r,n=e.content.source.split(\"_\"),i=\"\",a=0,o=y(n);try{for(o.s();!(t=o.n()).done;){var s=t.value;i+=(r=s).charAt(0).toUpperCase()+r.slice(1),a<n.length-1&&(i+=\" \"),a++}}catch(e){o.e(e)}finally{o.f()}return i}},{key:\"deleteIntegration\",value:function(e){var t=this,r=e.content.isDefaultUploadSource;this.extensionBridge.deleteItem(e,(function(n){if(n.deleted&&r&&t.integrations.length>0){var i,a=y(t.integrations);try{for(a.s();!(i=a.n()).done;){var o=i.value;if(o!=e){t.setIntegrationAsDefault(o);break}}}catch(e){a.e(e)}finally{a.f()}}}))}},{key:\"integrations\",get:function(){return this.extensionBridge.filterItems(l.FileSafeIntegrationContentTypeKey)}}])&&m(t.prototype,r),i&&m(t,i),e}();function k(e,t,r,n,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}function w(e,t){var r;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if(\"string\"==typeof e)return x(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===r&&e.constructor&&(r=e.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(e);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return x(e,t)}(e))||t&&e&&\"number\"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,o=!0,s=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function S(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var I=function(){function e(t){var r=this,n=t.extensionBridge,i=t.onCredentialLoad;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),_(this,\"getDefaultCredentials\",(function(){var e=r.credentials.find((function(e){return e.content.isDefault}));return!e&&r.credentials.length>0&&(e=r.credentials[0]),e})),_(this,\"setCredentialAsDefault\",(function(e){var t=r.getDefaultCredentials();t&&(t.content.isDefault=!1),e.content.isDefault=!0,r.extensionBridge.saveItems([t,e])})),_(this,\"deleteCredential\",(function(e){r.extensionBridge.deleteItem(e)})),this.extensionBridge=n,this.onCredentialLoad=i,this.credentials=[],this.extensionBridge.addEventHandler((function(e){e==l.BridgeEventReceivedItems&&r.reloadCredentials()}))}var t,r,i,a,o;return t=e,(r=[{key:\"reloadCredentials\",value:function(){var e=this;this.credentials=[];var t=this.extensionBridge.filterItems(l.FileSafeCredentialsContentType);if(0!=t.length){var r,n=w(t);try{var i=function(){var t=r.value;e.credentials.find((function(e){e.uuid,t.uuid}))||e.credentials.push(t)};for(n.s();!(r=n.n()).done;)i()}catch(e){n.e(e)}finally{n.f()}this.onCredentialLoad(),this.credentials.length>0&&this.didLoadCredentials()}}},{key:\"createNewCredentials\",value:(a=regeneratorRuntime.mark((function e(){var t,r,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=256,e.next=3,SFJS.crypto.generateRandomKey(t);case 3:return r=e.sent,e.next=6,SFJS.crypto.generateRandomKey(t);case 6:return i=e.sent,e.next=9,SFJS.crypto.generateInitialKeysAndAuthParamsForUser(r,i);case 9:return(a=e.sent).isDefault=0==this.credentials.length,o=new n.SFItem({content_type:l.FileSafeCredentialsContentType,content:a}),this.extensionBridge.saveItem(o),this.didLoadCredentials(),e.abrupt(\"return\",o);case 15:case\"end\":return e.stop()}}),e,this)})),o=function(){var e=this,t=arguments;return new Promise((function(r,n){var i=a.apply(e,t);function o(e){k(i,r,n,o,s,\"next\",e)}function s(e){k(i,r,n,o,s,\"throw\",e)}o(void 0)}))},function(){return o.apply(this,arguments)})},{key:\"didLoadCredentials\",value:function(){this.extensionBridge.notifyObserversOfEvent(l.BridgeEventLoadedCredentials)}},{key:\"credentialForFileDescriptor\",value:function(e){return this.credentials.find((function(t){return e.content.references.find((function(e){return e.uuid==t.uuid}))}))}},{key:\"getAllCredentials\",value:function(){return this.credentials}},{key:\"saveCredential\",value:function(e){this.extensionBridge.saveItem(e)}}])&&S(t.prototype,r),i&&S(t,i),e}(),R=function(){return new Worker(r.p+\"filesafe-js/EncryptionWorker.js\")};function A(e,t,r,n,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}function D(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var a=e.apply(t,r);function o(e){A(a,n,i,o,s,\"next\",e)}function s(e){A(a,n,i,o,s,\"throw\",e)}o(void 0)}))}}function C(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function M(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var F=function(){function e(t,r,n,i){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.extensionBridge=t,this.relayManager=r,this.integrationManager=n,this.credentialManager=i}var t,r,i,a,o,s,u,c;return t=e,(r=[{key:\"getAllFileDescriptors\",value:function(){return this.extensionBridge.getFileDescriptors()}},{key:\"fileDescriptorsForNote\",value:function(e){return e?this.extensionBridge.getFileDescriptors().filter((function(t){return t.hasRelationshipWithItem(e)})):[]}},{key:\"findFileDescriptor\",value:function(e){return this.extensionBridge.getFileDescriptors().find((function(t){return t.uuid==e}))}},{key:\"fileDescriptorsEncryptedWithCredential\",value:function(e){return this.extensionBridge.getFileDescriptors().filter((function(t){return t.content.references.find((function(t){return t.uuid==e.uuid}))}))}},{key:\"deleteFileFromDescriptor\",value:(c=D(regeneratorRuntime.mark((function e(t){var r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",new Promise((function(e,n){r.extensionBridge.deleteItems([t],(function(n){if(n.deleted){var i=r.integrationManager.integrationForFileDescriptor(t);i&&r.relayManager.deleteFile(t,i).then((function(t){e()}))}else e(n)}))})));case 1:case\"end\":return e.stop()}}),e)}))),function(e){return c.apply(this,arguments)})},{key:\"uploadFile\",value:(u=D(regeneratorRuntime.mark((function e(t){var r,i,a,o,s,u,c,f=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.fileItem,i=t.inputFileName,a=t.fileType,o=t.credential,s=t.note,u=this.integrationManager.getDefaultIntegration(),i.split(\".\")[1],c=\"\".concat(r.uuid,\".sf.json\"),e.abrupt(\"return\",new Promise((function(e,t){var h=new R;h.addEventListener(\"message\",(function(r){var u=r.data;if(u.error)return console.log(\"Error uploading file\",u.error),void t(u.error);var c=new n.SFItem({content_type:l.FileDescriptorContentTypeKey,content:{serverMetadata:r.data.metadata,fileName:i,fileType:a}});s&&c.addItemAsRelationship(s),c.addItemAsRelationship(o),f.extensionBridge.createItem(c,(function(t){e(t[0])}))}));var p={outputFileName:c,fileItem:r,integration:u,operation:\"upload\",credentials:f.credentialManager.getDefaultCredentials()};h.postMessage(p)})));case 5:case\"end\":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:\"downloadFileFromDescriptor\",value:(s=D(regeneratorRuntime.mark((function e(t){var r,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.integrationManager.integrationForFileDescriptor(t)){e.next=6;break}throw(n=t.content.serverMetadata)?alert(\"Unable to find integration named '\".concat(n.source,\"'.\")):alert(\"Unable to find integration for this file.\"),\"Unable to find integration\";case 6:return e.abrupt(\"return\",this.relayManager.downloadFile(t,r).then((function(e){return e.items[0]})));case 7:case\"end\":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:\"encryptFile\",value:(o=D(regeneratorRuntime.mark((function e(t){var r,n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.data,n=t.inputFileName,i=t.fileType,a=t.credential,e.abrupt(\"return\",new Promise((function(e,t){var o=new R;o.addEventListener(\"message\",(function(t){e(t.data.fileItem)})),o.postMessage({operation:\"encrypt\",keys:a.content.keys,authParams:a.content.authParams,contentType:l.FileItemContentTypeKey,fileData:r,fileName:n,fileType:i})})));case 2:case\"end\":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:\"decryptFile\",value:(a=D(regeneratorRuntime.mark((function e(t){var r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.fileDescriptor,n=t.fileItem,(i=t.credential)||(i=this.credentialManager.credentialForFileDescriptor(r)),e.abrupt(\"return\",new Promise((function(e,t){var r=new R;r.addEventListener(\"message\",(function(r){var n=r.data;n.error?t(n.error):e(n)})),r.postMessage({operation:\"decrypt\",keys:i.content.keys,item:n})})));case 3:case\"end\":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})}])&&C(t.prototype,r),i&&C(t,i),e}();function O(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}M(F,\"FileItemContentTypeKey\",\"SN|FileSafe|File\"),M(F,\"FileDescriptorContentTypeKey\",\"SN|FileSafe|FileMetadata\");var P=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e)}var t,r,n;return t=e,n=[{key:\"base64toBinary\",value:function(e){for(var t=atob(e),r=[],n=0;n<t.length;n++)r.push(t.charCodeAt(n));return new Uint8Array(r)}},{key:\"downloadData\",value:function(e,t,r){var n=this,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=document.createElement(\"a\");a.setAttribute(\"download\",t);var o=this.tempUrlForData(e,r);a.href=o,a.setAttribute(\"target\",\"_blank\"),i?window.location.href=a.href:(document.body.appendChild(a),a.click(),a.remove()),setTimeout((function(){n.revokeTempUrl(o)}),500)}},{key:\"tempUrlForData\",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t||\"text/json\"}))}},{key:\"revokeTempUrl\",value:function(e){window.URL.revokeObjectURL(e)}},{key:\"copyTextToClipboard\",value:function(e){if(window.clipboardData&&window.clipboardData.setData)return clipboardData.setData(\"Text\",e);var t;if(document.queryCommandSupported&&document.queryCommandSupported(\"copy\"))try{(t=document.createElement(\"textarea\")).setAttribute(\"readonly\",!0),t.setAttribute(\"contenteditable\",!0),t.style.position=\"fixed\",t.value=e,document.body.appendChild(t),t.focus(),t.select();var r=document.createRange();r.selectNodeContents(t);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),t.setSelectionRange(0,t.value.length),document.execCommand(\"copy\")}catch(e){console.error(e)}finally{document.body.removeChild(t)}}}],(r=null)&&O(t.prototype,r),n&&O(t,n),e}();function B(e,t,r,n,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}function j(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var a=e.apply(t,r);function o(e){B(a,n,i,o,s,\"next\",e)}function s(e){B(a,n,i,o,s,\"throw\",e)}o(void 0)}))}}function T(e,t){var r;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if(\"string\"==typeof e)return E(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===r&&e.constructor&&(r=e.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(e);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return E(e,t)}(e))||t&&e&&\"number\"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,o=!0,s=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function L(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function H(e,t,r){return t&&L(e.prototype,t),r&&L(e,r),e}var U=function(){function e(t){var r=this,n=t.componentManager;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.dataChangeObservers=[],this.newFileDescriptorHandlers=[],this.extensionBridge=new l(n),this.extensionBridge.addEventHandler((function(e){r.notifyObservers()})),this.relayManager=new d,this.integrationManager=new b(this.extensionBridge),this.credentialManager=new I({extensionBridge:this.extensionBridge,onCredentialLoad:function(){r.relayManager.setCredentials(r.credentialManager.getDefaultCredentials())}}),this.fileManager=new F(this.extensionBridge,this.relayManager,this.integrationManager,this.credentialManager),this.extensionBridge.beginStreamingFiles()}var t,r,i,a,o,s,u,c;return H(e,null,[{key:\"getSFItemClass\",value:function(){return n.SFItem}}]),H(e,[{key:\"addNewFileDescriptorHandler\",value:function(e){this.newFileDescriptorHandlers.push(e)}},{key:\"notifyObservers\",value:function(){var e,t=T(this.dataChangeObservers);try{for(t.s();!(e=t.n()).done;){(0,e.value)()}}catch(e){t.e(e)}finally{t.f()}}},{key:\"addDataChangeObserver\",value:function(e){return this.dataChangeObservers.push(e),e}},{key:\"removeDataChangeObserver\",value:function(e){this.dataChangeObservers=this.dataChangeObservers.filter((function(e){}))}},{key:\"setCurrentNote\",value:function(e){this.currentNote=e,this.notifyObservers()}},{key:\"getAllFileDescriptors\",value:function(){return this.fileManager.getAllFileDescriptors()}},{key:\"findFileDescriptor\",value:function(e){return this.fileManager.findFileDescriptor(e)}},{key:\"fileDescriptorsForCurrentNote\",value:function(){return this.fileManager.fileDescriptorsForNote(this.currentNote)}},{key:\"fileDescriptorsForNote\",value:function(e){return this.fileManager.fileDescriptorsForNote(e)}},{key:\"fileDescriptorsEncryptedWithCredential\",value:function(e){return this.fileManager.fileDescriptorsEncryptedWithCredential(e)}},{key:\"deleteFileFromDescriptor\",value:(c=j(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.fileManager.deleteFileFromDescriptor(t));case 1:case\"end\":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:\"uploadFile\",value:(u=j(regeneratorRuntime.mark((function e(t){var r,n,i,a,o,s,u,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.fileItem,n=t.inputFileName,i=t.fileType,a=t.credential,(o=t.note)||(o=this.currentNote),e.next=4,this.fileManager.uploadFile({fileItem:r,inputFileName:n,fileType:i,credential:a,note:o});case 4:if(s=e.sent){u=T(this.newFileDescriptorHandlers);try{for(u.s();!(c=u.n()).done;)(0,c.value)(s)}catch(e){u.e(e)}finally{u.f()}}return e.abrupt(\"return\",s);case 7:case\"end\":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:\"encryptAndUploadJavaScriptFileObject\",value:(s=j(regeneratorRuntime.mark((function e(t){var r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",new Promise((function(e,n){var i=new FileReader;i.onload=function(){var n=j(regeneratorRuntime.mark((function n(i){var a,o,s,u;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return a=i.target.result,o=a,n.next=4,SFJS.crypto.arrayBufferToBase64(o);case 4:return s=n.sent,n.next=7,r.encryptAndUploadData({base64Data:s,inputFileName:t.name,fileType:t.type});case 7:u=n.sent,e(u);case 9:case\"end\":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),i.readAsArrayBuffer(t)})));case 1:case\"end\":return e.stop()}}),e)}))),function(e){return s.apply(this,arguments)})},{key:\"encryptAndUploadData\",value:(o=j(regeneratorRuntime.mark((function e(t){var r,n,i,a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.base64Data,n=t.inputFileName,i=t.fileType,a=this.getDefaultCredentials(),e.abrupt(\"return\",this.encryptFile({data:r,inputFileName:n,fileType:i,credential:a}).then(function(){var e=j(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",o.uploadFile({fileItem:t,inputFileName:n,fileType:i,credential:a}).catch((function(e){console.error(\"filesafe-js | error uploading file:\",e)})));case 1:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 3:case\"end\":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:\"downloadFileFromDescriptor\",value:(a=j(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.fileManager.downloadFileFromDescriptor(t));case 1:case\"end\":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:\"encryptFile\",value:(i=j(regeneratorRuntime.mark((function e(t){var r,n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.data,n=t.inputFileName,i=t.fileType,a=t.credential,e.abrupt(\"return\",this.fileManager.encryptFile({data:r,inputFileName:n,fileType:i,credential:a}));case 2:case\"end\":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:\"decryptFile\",value:(r=j(regeneratorRuntime.mark((function e(t){var r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.fileDescriptor,n=t.fileItem,i=t.credential,e.abrupt(\"return\",this.fileManager.decryptFile({fileDescriptor:r,fileItem:n,credential:i}));case 2:case\"end\":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:\"downloadBase64Data\",value:function(e){var t=e.base64Data,r=e.fileName,n=e.fileType;P.downloadData(P.base64toBinary(t),r,n)}},{key:\"createTemporaryFileUrl\",value:function(e){var t=e.base64Data,r=e.dataType;return P.tempUrlForData(P.base64toBinary(t),r)}},{key:\"revokeTempUrl\",value:function(e){P.revokeTempUrl(e)}},{key:\"createNewCredentials\",value:(t=j(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",this.credentialManager.createNewCredentials());case 1:case\"end\":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:\"numberOfFilesEncryptedWithCredential\",value:function(e){return this.fileManager.fileDescriptorsEncryptedWithCredential(e).length}},{key:\"credentialForFileDescriptor\",value:function(e){return this.credentialManager.credentialForFileDescriptor(e)}},{key:\"getAllCredentials\",value:function(){return this.credentialManager.getAllCredentials()}},{key:\"getDefaultCredentials\",value:function(){return this.credentialManager.getDefaultCredentials()}},{key:\"setCredentialAsDefault\",value:function(e){return this.credentialManager.setCredentialAsDefault(e)}},{key:\"deleteCredential\",value:function(e){return this.credentialManager.deleteCredential(e)}},{key:\"saveCredential\",value:function(e){return this.credentialManager.saveCredential(e)}},{key:\"getAllIntegrations\",value:function(){return this.integrationManager.integrations}},{key:\"integrationForFileDescriptor\",value:function(e){return this.integrationManager.integrationForFileDescriptor(e)}},{key:\"saveIntegrationFromCode\",value:function(e){return this.integrationManager.saveIntegrationFromCode(e)}},{key:\"getDefaultIntegration\",value:function(){return this.integrationManager.getDefaultIntegration()}},{key:\"setIntegrationAsDefault\",value:function(e){return this.integrationManager.setIntegrationAsDefault(e)}},{key:\"deleteIntegration\",value:function(e){return this.integrationManager.deleteIntegration(e)}},{key:\"displayStringForIntegration\",value:function(e){return this.integrationManager.displayStringForIntegration(e)}},{key:\"base64toBinary\",value:function(e){return P.base64toBinary(e)}},{key:\"isMobile\",value:function(){return this.extensionBridge.isMobile()}},{key:\"getEnvironment\",value:function(){return this.extensionBridge.getEnvironment()}},{key:\"getPlatform\",value:function(){return this.extensionBridge.getPlatform()}},{key:\"copyTextToClipboard\",value:function(e){return P.copyTextToClipboard(e)}},{key:\"hasLegacyAccess\",value:function(){var e=Boolean(this.getAllCredentials().length>0&&this.getAllIntegrations().length>0),t=Boolean(this.getAllFileDescriptors().length>0);return e||t}}]),e}()}]);\n//# sourceMappingURL=filesafe.js.map","import { memo } from 'react';\nimport PropTypes, { InferProps } from 'prop-types';\n\nexport const enum SplitViewDirection {\n Horizontal = 'horizontal',\n Vertical = 'vertical',\n}\n\nconst enum SplitViewType {\n Row = 'row',\n Column = 'column',\n}\n\nconst propTypes = {\n split: PropTypes.bool.isRequired,\n direction: PropTypes.oneOf([\n SplitViewDirection.Horizontal,\n SplitViewDirection.Vertical,\n ]).isRequired,\n children: PropTypes.arrayOf(PropTypes.element).isRequired,\n};\n\ntype SplitViewProps = InferProps<typeof propTypes>;\n\nconst SplitView: React.FC<SplitViewProps> = ({\n children,\n split,\n direction,\n}) => {\n const childClassName =\n direction === SplitViewDirection.Horizontal\n ? SplitViewType.Column\n : SplitViewType.Row;\n\n return (\n <div className={`container ${direction}`}>\n <div className={`${childClassName} ${split ? 'half' : 'full'}`}>\n {children[0]}\n </div>\n {split && (\n <>\n <div className=\"separator\" />\n <div className={`${childClassName} half`}>{children[1]}</div>\n </>\n )}\n </div>\n );\n};\n\nSplitView.propTypes = propTypes;\n\nexport default memo(SplitView);\n","import {\n WrapInBulletList,\n WrapInOrderedList,\n LiftListItem,\n SinkListItem,\n InsertImage,\n WrapInBlockquote,\n InsertHr,\n} from '@milkdown/preset-commonmark';\nimport { TurnIntoTaskList, InsertTable } from '@milkdown/preset-gfm';\nimport {\n EditorView,\n liftListItem,\n sinkListItem,\n wrapIn,\n} from '@milkdown/prose';\nimport { ButtonConfig } from './button';\nimport { SelectConfig } from './select';\n\nexport type MenuCommonConfig = {\n disabled?: (view: EditorView) => boolean;\n};\n\nexport type MenuConfigItem = SelectConfig | ButtonConfig;\nexport type MenuConfig = Array<Array<MenuConfigItem>>;\n\nexport const menuConfig: any = [\n [\n {\n type: 'button',\n icon: 'bulletList',\n key: WrapInBulletList,\n disabled: (view: EditorView) => {\n const { state } = view;\n return !wrapIn(state.schema.nodes.bullet_list)(state);\n },\n },\n {\n type: 'button',\n icon: 'orderedList',\n key: WrapInOrderedList,\n disabled: (view: EditorView) => {\n const { state } = view;\n return !wrapIn(state.schema.nodes.ordered_list)(state);\n },\n },\n {\n type: 'button',\n icon: 'taskList',\n key: TurnIntoTaskList,\n disabled: (view: EditorView) => {\n const { state } = view;\n return !wrapIn(state.schema.nodes.task_list_item)(state);\n },\n },\n {\n type: 'button',\n icon: 'liftList',\n key: LiftListItem,\n disabled: (view: EditorView) => {\n const { state } = view;\n return !liftListItem(state.schema.nodes.list_item)(state);\n },\n },\n {\n type: 'button',\n icon: 'sinkList',\n key: SinkListItem,\n disabled: (view: EditorView) => {\n const { state } = view;\n return !sinkListItem(state.schema.nodes.list_item)(state);\n },\n },\n ],\n [\n {\n type: 'button',\n icon: 'image',\n key: InsertImage,\n },\n {\n type: 'button',\n icon: 'table',\n key: InsertTable,\n },\n ],\n [\n {\n type: 'button',\n icon: 'quote',\n key: WrapInBlockquote,\n },\n {\n type: 'button',\n icon: 'divider',\n key: InsertHr,\n },\n ],\n];\n","/* Copyright 2021, Milkdown by Mirone. */\n\nimport { Ctx } from '@milkdown/core';\nimport { EditorView } from '@milkdown/prose';\nimport { Utils } from '@milkdown/utils';\n\nimport { button, ButtonConfig } from './button';\nimport { MenuConfig, MenuConfigItem } from './config';\nimport { divider, DividerConfig } from './divider';\nimport { select, SelectConfig } from './select';\nimport { MenuBar } from './menuBar';\n\ntype InnerConfig = (MenuConfigItem | DividerConfig) & { $: HTMLElement };\n\nexport type ManagerOptions = {\n enabled: boolean;\n};\n\nexport class Manager {\n private config: InnerConfig[];\n\n constructor(\n originalConfig: MenuConfig,\n private utils: Utils,\n private ctx: Ctx,\n view: EditorView,\n private options: ManagerOptions\n ) {\n this.config = originalConfig\n .map((xs) =>\n xs.map((x) => ({\n ...x,\n $: this.$create(x, view),\n }))\n )\n .map((xs, i): Array<InnerConfig> => {\n if (i === originalConfig.length - 1) {\n return xs;\n }\n const dividerConfig: DividerConfig = {\n type: 'divider',\n group: xs.map((x) => x.$),\n };\n return [\n ...xs,\n {\n ...dividerConfig,\n $: this.$create(dividerConfig, view),\n },\n ];\n })\n .flat();\n\n const menu = MenuBar(utils, view);\n this.config.forEach((x) => menu.appendChild(x.$));\n }\n\n public update(view: EditorView) {\n const { enabled } = this.options;\n\n this.config.forEach((config) => {\n switch (config.type) {\n case 'button': {\n if (config.active) {\n const active = config.active(view);\n if (active) {\n config.$.classList.add('active');\n } else {\n config.$.classList.remove('active');\n }\n }\n\n if (config.alwaysVisible) {\n config.$.removeAttribute('disabled');\n return;\n }\n\n const disabled =\n !enabled || (config.disabled && config.disabled(view));\n if (disabled) {\n config.$.setAttribute('disabled', 'true');\n } else {\n config.$.removeAttribute('disabled');\n }\n break;\n }\n\n case 'select': {\n if (config.alwaysVisible) {\n config.$.removeAttribute('disabled');\n return;\n }\n\n const disabled =\n !enabled || (config.disabled && config.disabled(view));\n if (disabled) {\n config.$.classList.add('disabled');\n config.$.children[0].setAttribute('disabled', 'true');\n } else {\n config.$.classList.remove('disabled');\n config.$.children[0].removeAttribute('disabled');\n }\n break;\n }\n\n case 'divider': {\n const disabled = config.group.every(\n (x) =>\n x.getAttribute('disabled') || x.classList.contains('disabled')\n );\n if (disabled) {\n config.$.classList.add('disabled');\n } else {\n config.$.classList.remove('disabled');\n }\n break;\n }\n }\n });\n }\n\n private $create(\n item: ButtonConfig | DividerConfig | SelectConfig,\n view: EditorView\n ): HTMLElement {\n const { utils, ctx } = this;\n\n switch (item.type) {\n case 'button': {\n const $ = button(utils, item, ctx, view, this.options);\n return $;\n }\n case 'select': {\n const $ = select(utils, item, ctx, view, this.options);\n return $;\n }\n case 'divider': {\n const $ = divider(utils, item);\n return $;\n }\n default:\n throw new Error();\n }\n }\n}\n","/* Copyright 2021, Milkdown by Mirone. */\n\nimport { css } from '@emotion/css';\nimport { EditorView } from '@milkdown/prose';\nimport { Utils } from '@milkdown/utils';\n\nexport const MenuBar = (utils: Utils, view: EditorView) => {\n const editorWrapperStyle = utils.getStyle((themeTool) => {\n return themeTool.mixin.scrollbar('y');\n });\n\n const menuStyle = utils.getStyle((themeTool) => {\n const border = themeTool.mixin.border();\n const scrollbar = themeTool.mixin.scrollbar('x');\n const style = css`\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-wrap: nowrap;\n overflow-x: auto;\n ${border};\n ${scrollbar};\n background: ${themeTool.palette('surface')};\n\n -webkit-overflow-scrolling: auto;\n\n .disabled {\n display: none;\n }\n `;\n return style;\n });\n\n const menuWrapper = document.createElement('div');\n const menu = document.createElement('div');\n\n menu.classList.add('milkdown-menu');\n menuWrapper.appendChild(menu);\n menuWrapper.classList.add('milkdown-menu-wrapper');\n\n if (menuStyle) {\n menuStyle.split(' ').forEach((x) => menu.classList.add(x));\n }\n\n const editorDom = view.dom;\n if (editorWrapperStyle) {\n editorDom.classList.add(editorWrapperStyle);\n }\n\n const milkdown = editorDom.parentElement;\n if (!milkdown) {\n throw new Error('No parent node found');\n }\n\n const root = milkdown.parentElement;\n if (!root) {\n throw new Error('No root node found');\n }\n root.replaceChild(menuWrapper, milkdown);\n menuWrapper.appendChild(milkdown);\n\n return menu;\n};\n","/* Copyright 2021, Milkdown by Mirone. */\n\nimport { css } from '@emotion/css';\nimport { CmdKey, commandsCtx, Ctx } from '@milkdown/core';\nimport type { Icon } from '@milkdown/design-system';\nimport type { EditorView } from '@milkdown/prose';\nimport type { Utils } from '@milkdown/utils';\n\nimport type { MenuCommonConfig } from './config';\nimport { ManagerOptions } from './manager';\n\ntype RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<\n T,\n Exclude<keyof T, Keys>\n> &\n {\n [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;\n }[Keys];\n\ntype Config<T = any> = {\n type: 'button';\n icon: Icon;\n key?: CmdKey<T>;\n callback?: () => void;\n options?: T;\n active?: (view?: EditorView) => boolean;\n alwaysVisible: boolean;\n} & MenuCommonConfig;\n\nexport type ButtonConfig = RequireAtLeastOne<Config, 'key' | 'callback'>;\n\nexport const button = (\n utils: Utils,\n config: Config,\n ctx: Ctx,\n view: EditorView,\n options: ManagerOptions\n) => {\n const buttonStyle = utils.getStyle((themeTool) => {\n return css`\n border: 0;\n box-sizing: unset;\n width: 1.5rem;\n height: 1.5rem;\n padding: 0.25rem;\n margin: 0.5rem;\n flex-shrink: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: ${themeTool.palette('surface')};\n color: ${themeTool.palette('solid')};\n transition: all 0.4s ease-in-out;\n cursor: pointer;\n &.active,\n &:hover {\n background-color: ${themeTool.palette('secondary', 0.12)};\n color: ${themeTool.palette('primary')};\n }\n &:disabled {\n display: none;\n }\n `;\n });\n\n const $button = document.createElement('button');\n $button.setAttribute('type', 'button');\n $button.classList.add('button');\n\n if (buttonStyle) {\n $button.classList.add(buttonStyle);\n }\n\n const $label = utils.themeTool.slots.label(config.icon);\n if ($label) {\n $button.setAttribute('aria-label', $label);\n $button.setAttribute('title', $label);\n }\n\n const $icon = utils.themeTool.slots.icon(config.icon);\n $button.appendChild($icon);\n $button.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n\n config.callback && config.callback();\n config.key && ctx.get(commandsCtx).call(config.key, config.options);\n });\n\n if (config.active) {\n const active = config.active();\n if (active) {\n $button.classList.add('active');\n } else {\n $button.classList.remove('active');\n }\n }\n\n if (config.alwaysVisible) {\n $button.removeAttribute('disabled');\n return $button;\n }\n\n const disabled =\n !options.enabled || (config.disabled && config.disabled(view));\n if (disabled) {\n $button.setAttribute('disabled', 'true');\n } else {\n $button.removeAttribute('disabled');\n }\n\n return $button;\n};\n","/* Copyright 2021, Milkdown by Mirone. */\n\nimport { css } from '@emotion/css';\nimport { CmdKey, commandsCtx, Ctx } from '@milkdown/core';\nimport { EditorView } from '@milkdown/prose';\nimport { Utils } from '@milkdown/utils';\n\nimport type { MenuCommonConfig } from './config';\nimport { ManagerOptions } from './manager';\n\ntype SelectOptions = {\n id: string;\n text: string;\n};\n\nexport type SelectConfig<T = any> = {\n type: 'select';\n text: string;\n options: SelectOptions[];\n active?: (view: EditorView) => string;\n onSelect: (id: string, view: EditorView) => [key: CmdKey<T>, info?: T];\n alwaysVisible: boolean;\n} & MenuCommonConfig;\n\nexport const select = (\n utils: Utils,\n config: SelectConfig,\n ctx: Ctx,\n view: EditorView,\n options: ManagerOptions\n) => {\n const selectStyle = utils.getStyle((themeTool) => {\n return css`\n flex-shrink: 0;\n font-weight: 500;\n font-size: 0.875rem;\n ${themeTool.mixin.border('right')};\n ${themeTool.mixin.border('left')};\n .menu-selector {\n border: 0;\n box-sizing: unset;\n cursor: pointer;\n font: inherit;\n text-align: left;\n justify-content: space-between;\n align-items: center;\n color: ${themeTool.palette('neutral', 0.87)};\n display: flex;\n padding: 0.25rem 0.5rem;\n margin: 0.5rem;\n background: ${themeTool.palette('secondary', 0.12)};\n width: 10.375rem;\n &:disabled {\n display: none;\n }\n }\n .menu-selector-value {\n flex: 1;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n .menu-selector-list {\n width: calc(12.375rem);\n position: absolute;\n top: 3rem;\n background: ${themeTool.palette('surface')};\n ${themeTool.mixin.border()};\n ${themeTool.mixin.shadow()};\n border-bottom-left-radius: ${themeTool.size.radius};\n border-bottom-right-radius: ${themeTool.size.radius};\n z-index: 3;\n }\n .menu-selector-list-item {\n background-color: transparent;\n border: 0;\n cursor: pointer;\n display: block;\n font: inherit;\n text-align: left;\n padding: 0.75rem 1rem;\n line-height: 1.5rem;\n width: 100%;\n color: ${themeTool.palette('neutral', 0.87)};\n &:hover {\n background: ${themeTool.palette('secondary', 0.12)};\n color: ${themeTool.palette('primary')};\n }\n }\n &.fold {\n border-color: transparent;\n .menu-selector {\n background: unset;\n }\n .menu-selector-list {\n display: none;\n }\n }\n `;\n });\n\n const selectorWrapper = document.createElement('div');\n selectorWrapper.classList.add('menu-selector-wrapper', 'fold');\n\n const selector = document.createElement('button');\n selector.setAttribute('type', 'button');\n selector.classList.add('menu-selector', 'fold');\n selector.addEventListener('mousedown', (e) => {\n e.preventDefault();\n e.stopPropagation();\n selectorWrapper.classList.toggle('fold');\n selectorList.style.left = `${\n selectorWrapper.getBoundingClientRect().left -\n view.dom.getBoundingClientRect().left\n }px`;\n });\n view.dom.addEventListener('click', () => {\n selectorWrapper.classList.add('fold');\n });\n\n const selectorValue = document.createElement('span');\n selectorValue.classList.add('menu-selector-value');\n selectorValue.textContent = config.text;\n\n const selectorButton = utils.themeTool.slots.icon('downArrow');\n selectorButton.setAttribute('aria-hidden', 'true');\n\n selectorWrapper.appendChild(selector);\n selector.appendChild(selectorValue);\n selector.appendChild(selectorButton);\n\n const selectorList = document.createElement('div');\n selectorList.classList.add('menu-selector-list');\n config.options.forEach((option) => {\n const selectorListItem = document.createElement('button');\n selectorListItem.setAttribute('type', 'button');\n selectorListItem.dataset.id = option.id;\n selectorListItem.textContent = option.text;\n selectorListItem.classList.add('menu-selector-list-item');\n selectorList.appendChild(selectorListItem);\n });\n\n selectorList.addEventListener('mousedown', (e) => {\n const { target } = e;\n if (target instanceof HTMLButtonElement && target.dataset.id) {\n ctx.get(commandsCtx).call(...config.onSelect(target.dataset.id, view));\n selectorWrapper.classList.add('fold');\n }\n });\n\n selectorWrapper.appendChild(selectorList);\n\n if (selectStyle) {\n selectorWrapper.classList.add(selectStyle);\n }\n\n if (config.alwaysVisible) {\n selector.removeAttribute('disabled');\n return selectorWrapper;\n }\n\n const disabled =\n !options.enabled || (config.disabled && config.disabled(view));\n if (disabled) {\n selector.classList.add('disabled');\n selector.children[0].setAttribute('disabled', 'true');\n } else {\n selector.classList.remove('disabled');\n selector.children[0].removeAttribute('disabled');\n }\n\n return selectorWrapper;\n};\n","/* Copyright 2021, Milkdown by Mirone. */\n\nimport { css } from '@emotion/css';\nimport { Utils } from '@milkdown/utils';\n\nexport type DividerConfig = {\n type: 'divider';\n group: HTMLElement[];\n};\n\nexport const divider = (utils: Utils, config: DividerConfig) => {\n const dividerStyle = utils.getStyle((themeTool) => {\n return css`\n flex-shrink: 0;\n width: ${themeTool.size.lineWidth};\n background-color: ${themeTool.palette('line')};\n margin: 0.75rem 1rem;\n `;\n });\n\n const $divider = document.createElement('div');\n $divider.classList.add('divider');\n\n if (dividerStyle) {\n $divider.classList.add(dividerStyle);\n }\n\n const disabled = config.group.every(\n (x) => x.getAttribute('disabled') || x.classList.contains('disabled')\n );\n\n if (disabled) {\n $divider.classList.add('disabled');\n } else {\n $divider.classList.remove('disabled');\n }\n\n return $divider;\n};\n","/* Copyright 2021, Milkdown by Mirone. */\n\nimport { createCmd, createCmdKey } from '@milkdown/core';\nimport { Plugin, PluginKey, selectParentNode } from '@milkdown/prose';\nimport { createPlugin } from '@milkdown/utils';\n\nimport { MenuConfig, menuConfig } from './config';\nimport { Manager } from './manager';\n\nexport type Options = {\n config: MenuConfig;\n enabled: boolean;\n};\n\nexport { menuConfig } from './config';\n\nexport const menu = createPlugin<string, Options>((utils, options) => {\n const config = options?.config ?? menuConfig;\n const enabled = options?.enabled ?? true;\n\n const SelectParent = createCmdKey();\n\n return {\n commands: () => [createCmd(SelectParent, () => selectParentNode)],\n prosePlugins: (_, ctx) => {\n const plugin = new Plugin({\n key: new PluginKey('milkdown-advanced-menu'),\n view: (editorView) => {\n const manager = new Manager(config, utils, ctx, editorView, {\n enabled,\n });\n\n return {\n update: (view) => manager.update(view),\n };\n },\n });\n\n return [plugin];\n },\n };\n});\n","import './styles.scss';\n\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { EditorRef, ReactEditor, useEditor } from '@milkdown/react';\nimport { editorViewCtx, parserCtx } from '@milkdown/core';\nimport { Slice } from '@milkdown/prose';\n\nimport { createEditor, CreateEditorParams } from './editor';\nimport { MenuConfig } from './plugins/advanced-menu/config';\n\nexport type MilkdownRef = {\n update: (markdown: string) => void;\n};\n\ntype MilkdownProps = {\n onChange: CreateEditorParams['onChange'];\n value?: CreateEditorParams['value'];\n menuConfig: MenuConfig;\n editable: CreateEditorParams['editable'];\n spellcheck: CreateEditorParams['spellcheck'];\n};\n\nconst Milkdown = (\n { onChange, value, menuConfig, editable, spellcheck }: MilkdownProps,\n ref: React.ForwardedRef<MilkdownRef>\n) => {\n const editorRef = useRef<EditorRef>(null);\n\n useImperativeHandle(ref, () => ({\n update: (markdown: string) => {\n if (!editable || !editorRef.current) {\n return;\n }\n\n const editor = editorRef.current.get();\n if (!editor) {\n return;\n }\n\n editor.action((ctx) => {\n const view = ctx.get(editorViewCtx);\n const parser = ctx.get(parserCtx);\n const document = parser(markdown);\n if (!document) {\n return;\n }\n\n const state = view.state;\n view.dispatch(\n state.tr\n .replace(\n 0,\n state.doc.content.size,\n new Slice(document.content, 0, 0)\n )\n .setMeta('addToHistory', false)\n );\n });\n },\n }));\n\n const editor = useEditor(\n (root) => {\n return createEditor({\n root,\n onChange,\n value,\n menuConfig,\n editable,\n spellcheck,\n });\n },\n [value, onChange, value, menuConfig, editable, spellcheck]\n );\n\n return (\n <div className=\"milkdown-container\">\n <ReactEditor ref={editorRef} editor={editor} />\n </div>\n );\n};\n\nexport default forwardRef<MilkdownRef, MilkdownProps>(Milkdown);\n","import {\n defaultValueCtx,\n Editor,\n rootCtx,\n editorViewOptionsCtx,\n} from '@milkdown/core';\nimport { clipboard } from '@milkdown/plugin-clipboard';\nimport { listenerCtx, listener } from '@milkdown/plugin-listener';\nimport { math } from '@milkdown/plugin-math';\nimport { prism } from '@milkdown/plugin-prism';\nimport { slash } from '@milkdown/plugin-slash';\nimport { tooltip } from '@milkdown/plugin-tooltip';\nimport { gfm } from '@milkdown/preset-gfm';\nimport { nord } from '@milkdown/theme-nord';\nimport { indent } from '@milkdown/plugin-indent';\nimport { diagram } from '@milkdown/plugin-diagram';\nimport { cursor } from '@milkdown/plugin-cursor';\nimport { history } from '@milkdown/plugin-history';\n\nimport { menu } from './plugins/advanced-menu';\nimport { MenuConfig } from './plugins/advanced-menu/config';\n\nexport type CreateEditorParams = {\n root: HTMLElement | null;\n onChange: (text: string) => void;\n value?: string;\n menuConfig: MenuConfig;\n editable: boolean;\n spellcheck: boolean;\n};\n\nexport const createEditor = ({\n root,\n onChange,\n value,\n menuConfig,\n editable,\n spellcheck,\n}: CreateEditorParams) => {\n const editor = Editor.make()\n .config((ctx) => {\n ctx.set(rootCtx, root);\n\n ctx.get(listenerCtx).markdownUpdated((_, markdown) => {\n onChange(markdown);\n });\n\n ctx.set(editorViewOptionsCtx, {\n editable: () => editable,\n });\n\n root?.setAttribute('spellcheck', JSON.stringify(spellcheck));\n\n value && ctx.set(defaultValueCtx, value);\n })\n .use(nord)\n .use(clipboard)\n .use(gfm)\n .use(listener)\n .use(math)\n .use(indent)\n .use(prism)\n .use(slash)\n .use(tooltip)\n .use(diagram)\n .use(cursor)\n .use(history)\n .use(\n menu({\n config: menuConfig,\n enabled: editable,\n })\n );\n\n return editor;\n};\n","import './styles.scss';\n\nimport { forwardRef, useImperativeHandle, useRef, useState } from 'react';\nimport { basicSetup } from '@codemirror/basic-setup';\nimport { markdown } from '@codemirror/lang-markdown';\nimport CodeMirrorReact, {\n EditorView,\n ReactCodeMirrorRef,\n} from '@uiw/react-codemirror';\n\nexport type CodeMirrorRef = {\n update: (markdown: string) => void;\n};\n\ntype CodeMirrorProps = {\n onChange: (text: string) => void;\n value?: string;\n editable: boolean;\n spellcheck: boolean;\n};\n\nconst CodeMirror = (\n { onChange, value, editable, spellcheck }: CodeMirrorProps,\n ref: React.ForwardedRef<CodeMirrorRef>\n) => {\n const [hasFocus, setFocus] = useState(false);\n const editorRef = useRef<ReactCodeMirrorRef>(null);\n const extensions = [\n basicSetup,\n markdown(),\n EditorView.lineWrapping,\n EditorView.updateListener.of((update) => {\n if (update.focusChanged) {\n setFocus(update.view.hasFocus);\n }\n\n if (update.docChanged) {\n const text = update.state.doc.toString();\n onChange(text);\n }\n }),\n ];\n\n useImperativeHandle(ref, () => ({\n update: (markdown: string) => {\n /**\n * This will prevent the CodeMirror editor from being updated again when an update\n * is sent back from the Milkdown editor.\n */\n if (hasFocus) {\n return;\n }\n\n if (!editable || !editorRef.current) {\n return;\n }\n\n const view = editorRef.current.view;\n if (!view) {\n return;\n }\n\n const { state } = view;\n if (!state) {\n return;\n }\n\n const document = state.doc;\n if (!document) {\n return;\n }\n\n view.dispatch({\n changes: {\n from: 0,\n to: document.toString().length,\n insert: markdown,\n },\n });\n },\n }));\n\n return (\n <div className=\"codemirror-container\">\n <CodeMirrorReact\n ref={editorRef}\n extensions={extensions}\n value={value}\n editable={editable}\n spellCheck={spellcheck}\n indentWithTab\n />\n </div>\n );\n};\n\nexport default forwardRef<CodeMirrorRef, CodeMirrorProps>(CodeMirror);\n","import './stylesheets/main.scss';\n\nimport { Component, createRef, StrictMode } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport MilkdownEditor, { MilkdownRef } from './components/Milkdown';\nimport CodeMirrorEditor, { CodeMirrorRef } from './components/CodeMirror';\nimport SplitView, { SplitViewDirection } from './components/SplitView';\n\nimport EditorKit, { EditorKitDelegate } from '@standardnotes/editor-kit';\nimport { marked } from 'marked';\n\nimport {\n MenuConfig,\n menuConfig,\n} from './components/Milkdown/plugins/advanced-menu/config';\n\nenum TextChangeSource {\n Milkdown = 'milkdown',\n CodeMirror = 'codemirror',\n}\n\ntype AppProps = {};\ntype AppState = {\n splitView: boolean;\n editable: boolean;\n spellcheck: boolean;\n isLoading: boolean;\n};\n\nclass AppWrapper extends Component<AppProps, AppState> {\n private editorKit?: EditorKit;\n private prevText: string = '';\n\n private milkdownRef = createRef<MilkdownRef>();\n private codeMirrorRef = createRef<CodeMirrorRef>();\n\n constructor(props: AppProps) {\n super(props);\n\n this.state = {\n splitView: false,\n editable: true,\n spellcheck: true,\n isLoading: true,\n };\n }\n\n componentDidMount() {\n this.configureEditorKit();\n }\n\n private configureEditorKit() {\n const editorKitDelegate: EditorKitDelegate = {\n setEditorRawText: (text: string) => {\n this.prevText = text.trim();\n\n this.updateMilkdownText(this.prevText);\n this.updateCodeMirrorText(this.prevText);\n\n this.setState({\n isLoading: false,\n });\n },\n generateCustomPreview: (text: string) => {\n const htmlPreview = marked.parse(text);\n const tmpElement = document.createElement('div');\n tmpElement.innerHTML = htmlPreview;\n\n const preview = tmpElement.textContent || tmpElement.innerText || '';\n\n return {\n plain: this.truncateString(preview).trim(),\n };\n },\n onNoteValueChange: async (note: any) => {\n const editable =\n !note.content.appData['org.standardnotes.sn'].locked ?? true;\n const spellcheck = note.content.spellcheck;\n\n this.setState({\n editable,\n spellcheck,\n });\n },\n onNoteLockToggle: (locked: boolean) => {\n const editable = !locked;\n\n this.setState({\n editable,\n });\n },\n };\n\n this.editorKit = new EditorKit(editorKitDelegate, {\n mode: 'markdown',\n supportsFileSafe: false,\n });\n }\n\n private updateMilkdownText(text: string) {\n const { current } = this.milkdownRef;\n if (current) {\n current.update(text);\n }\n }\n\n private updateCodeMirrorText(text: string) {\n const { current } = this.codeMirrorRef;\n if (current) {\n current.update(text);\n }\n }\n\n private onTextChange = (text: string, source = TextChangeSource.Milkdown) => {\n if (this.prevText === text.trim()) {\n return;\n }\n\n this.prevText = text.trim();\n this.editorKit!.onEditorValueChanged(text);\n\n /**\n * Bi-directional text update:\n *\n * - Codemirror <- Milkdown\n * - Milkdown -> Codemirror\n */\n switch (source) {\n case TextChangeSource.CodeMirror:\n this.updateMilkdownText(this.prevText);\n break;\n case TextChangeSource.Milkdown:\n default:\n this.updateCodeMirrorText(this.prevText);\n break;\n }\n };\n\n private toggleSplitView = () => {\n const { splitView } = this.state;\n\n this.setState({\n splitView: !splitView,\n });\n };\n\n private getSplitViewDirection = (environment: string): SplitViewDirection => {\n const environmentDirectionMap: Record<string, SplitViewDirection> = {\n web: SplitViewDirection.Horizontal,\n desktop: SplitViewDirection.Horizontal,\n mobile: SplitViewDirection.Vertical,\n };\n return environmentDirectionMap[environment];\n };\n\n private truncateString(text: string, limit = 90) {\n if (text.length <= limit) {\n return text;\n }\n return text.substring(0, limit) + '...';\n }\n\n render() {\n const { splitView, editable, spellcheck, isLoading } = this.state;\n\n if (isLoading) {\n return null;\n }\n\n const environment = this.editorKit?.environment ?? 'web';\n const splitViewDirection = this.getSplitViewDirection(environment);\n\n const customMenu: MenuConfig = [\n ...menuConfig,\n [\n {\n type: 'button',\n icon: 'code',\n active: () => splitView,\n callback: this.toggleSplitView,\n alwaysVisible: true,\n },\n ],\n ];\n\n return (\n <SplitView split={splitView} direction={splitViewDirection}>\n <MilkdownEditor\n ref={this.milkdownRef}\n onChange={this.onTextChange}\n value={this.prevText}\n menuConfig={customMenu}\n editable={editable}\n spellcheck={spellcheck}\n />\n <CodeMirrorEditor\n ref={this.codeMirrorRef}\n onChange={(text) =>\n this.onTextChange(text, TextChangeSource.CodeMirror)\n }\n value={this.prevText}\n editable={editable}\n spellcheck={spellcheck}\n />\n </SplitView>\n );\n }\n}\n\nReactDOM.render(\n <StrictMode>\n <AppWrapper />\n </StrictMode>,\n document.getElementById('root')\n);\n"],"sourceRoot":""}