From 14f468632b7e0dac241371746127abd8fab71e82 Mon Sep 17 00:00:00 2001 From: SeedList Date: Fri, 7 Mar 2025 22:23:38 +0800 Subject: [PATCH] vault backup: 2025-03-07 22:23:38 --- .obsidian | 1 + .obsidian/app.json | 10 - .obsidian/appearance.json | 6 - .obsidian/community-plugins.json | 10 - .obsidian/core-plugins.json | 31 - .obsidian/file-recovery.json | 4 - .obsidian/graph.json | 37 - .obsidian/hotkeys.json | 140 - .obsidian/plugins/better-export-pdf/data.json | 29 - .obsidian/plugins/better-export-pdf/main.js | 21276 ---------------- .../plugins/better-export-pdf/manifest.json | 11 - .../plugins/better-export-pdf/styles.css | 61 - .../data.json | 16 - .../consistent-attachments-and-links/main.js | 151 - .../manifest.json | 11 - .../plugins/easy-typing-obsidian/data.json | 63 - .../plugins/easy-typing-obsidian/main.js | 4940 ---- .../easy-typing-obsidian/manifest.json | 11 - .../plugins/easy-typing-obsidian/styles.css | 17 - .../file-explorer-note-count/data.json | 8 - .../plugins/file-explorer-note-count/main.js | 970 - .../file-explorer-note-count/manifest.json | 10 - .../file-explorer-note-count/styles.css | 34 - .../plugins/hidden-folder-obsidian/data.json | 4 - .../plugins/hidden-folder-obsidian/main.js | 248 - .../hidden-folder-obsidian/manifest.json | 9 - .../plugins/hidden-folder-obsidian/styles.css | 3 - .obsidian/plugins/nuke-orphans/data.json | 11 - .obsidian/plugins/nuke-orphans/main.js | 314 - .obsidian/plugins/nuke-orphans/manifest.json | 10 - .obsidian/plugins/nuke-orphans/styles.css | 33 - .obsidian/plugins/obsidian-git/data.json | 59 - .../obsidian-git/git_credentials_input | 1 - .../git_credentials_input.response | 0 .obsidian/plugins/obsidian-git/main.js | 414 - .obsidian/plugins/obsidian-git/manifest.json | 10 - .../plugins/obsidian-git/obsidian_askpass.sh | 23 - .obsidian/plugins/obsidian-git/styles.css | 576 - .../plugins/update-relative-links/main.js | 174 - .../update-relative-links/manifest.json | 10 - .obsidian/themes/ITS Theme/manifest.json | 7 - .obsidian/themes/ITS Theme/theme.css | 14453 ----------- .obsidian/workspace.json | 227 - 43 files changed, 1 insertion(+), 44432 deletions(-) create mode 120000 .obsidian delete mode 100644 .obsidian/app.json delete mode 100644 .obsidian/appearance.json delete mode 100644 .obsidian/community-plugins.json delete mode 100644 .obsidian/core-plugins.json delete mode 100644 .obsidian/file-recovery.json delete mode 100644 .obsidian/graph.json delete mode 100644 .obsidian/hotkeys.json delete mode 100644 .obsidian/plugins/better-export-pdf/data.json delete mode 100644 .obsidian/plugins/better-export-pdf/main.js delete mode 100644 .obsidian/plugins/better-export-pdf/manifest.json delete mode 100644 .obsidian/plugins/better-export-pdf/styles.css delete mode 100644 .obsidian/plugins/consistent-attachments-and-links/data.json delete mode 100644 .obsidian/plugins/consistent-attachments-and-links/main.js delete mode 100644 .obsidian/plugins/consistent-attachments-and-links/manifest.json delete mode 100644 .obsidian/plugins/easy-typing-obsidian/data.json delete mode 100644 .obsidian/plugins/easy-typing-obsidian/main.js delete mode 100644 .obsidian/plugins/easy-typing-obsidian/manifest.json delete mode 100644 .obsidian/plugins/easy-typing-obsidian/styles.css delete mode 100644 .obsidian/plugins/file-explorer-note-count/data.json delete mode 100644 .obsidian/plugins/file-explorer-note-count/main.js delete mode 100644 .obsidian/plugins/file-explorer-note-count/manifest.json delete mode 100644 .obsidian/plugins/file-explorer-note-count/styles.css delete mode 100644 .obsidian/plugins/hidden-folder-obsidian/data.json delete mode 100644 .obsidian/plugins/hidden-folder-obsidian/main.js delete mode 100644 .obsidian/plugins/hidden-folder-obsidian/manifest.json delete mode 100644 .obsidian/plugins/hidden-folder-obsidian/styles.css delete mode 100644 .obsidian/plugins/nuke-orphans/data.json delete mode 100644 .obsidian/plugins/nuke-orphans/main.js delete mode 100644 .obsidian/plugins/nuke-orphans/manifest.json delete mode 100644 .obsidian/plugins/nuke-orphans/styles.css delete mode 100644 .obsidian/plugins/obsidian-git/data.json delete mode 100644 .obsidian/plugins/obsidian-git/git_credentials_input delete mode 100644 .obsidian/plugins/obsidian-git/git_credentials_input.response delete mode 100644 .obsidian/plugins/obsidian-git/main.js delete mode 100644 .obsidian/plugins/obsidian-git/manifest.json delete mode 100644 .obsidian/plugins/obsidian-git/obsidian_askpass.sh delete mode 100644 .obsidian/plugins/obsidian-git/styles.css delete mode 100644 .obsidian/plugins/update-relative-links/main.js delete mode 100644 .obsidian/plugins/update-relative-links/manifest.json delete mode 100644 .obsidian/themes/ITS Theme/manifest.json delete mode 100644 .obsidian/themes/ITS Theme/theme.css delete mode 100644 .obsidian/workspace.json diff --git a/.obsidian b/.obsidian new file mode 120000 index 00000000..65f7fc50 --- /dev/null +++ b/.obsidian @@ -0,0 +1 @@ +E:/learning materials/My Programming Learning Notes/.obsidian \ No newline at end of file diff --git a/.obsidian/app.json b/.obsidian/app.json deleted file mode 100644 index c1865248..00000000 --- a/.obsidian/app.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "newFileLocation": "current", - "newLinkFormat": "relative", - "attachmentFolderPath": "./assets", - "strictLineBreaks": true, - "useMarkdownLinks": true, - "showLineNumber": false, - "trashOption": "local", - "alwaysUpdateLinks": true -} \ No newline at end of file diff --git a/.obsidian/appearance.json b/.obsidian/appearance.json deleted file mode 100644 index 6e8bec3b..00000000 --- a/.obsidian/appearance.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "nativeMenus": true, - "cssTheme": "ITS Theme", - "accentColor": "", - "theme": "obsidian" -} \ No newline at end of file diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json deleted file mode 100644 index 909a1cfe..00000000 --- a/.obsidian/community-plugins.json +++ /dev/null @@ -1,10 +0,0 @@ -[ - "consistent-attachments-and-links", - "nuke-orphans", - "hidden-folder-obsidian", - "update-relative-links", - "better-export-pdf", - "easy-typing-obsidian", - "file-explorer-note-count", - "obsidian-git" -] \ No newline at end of file diff --git a/.obsidian/core-plugins.json b/.obsidian/core-plugins.json deleted file mode 100644 index 74eb0941..00000000 --- a/.obsidian/core-plugins.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "file-explorer": true, - "global-search": true, - "switcher": true, - "graph": true, - "backlink": true, - "canvas": false, - "outgoing-link": true, - "tag-pane": false, - "properties": false, - "page-preview": true, - "daily-notes": true, - "templates": false, - "note-composer": true, - "command-palette": true, - "slash-command": false, - "editor-status": true, - "bookmarks": true, - "markdown-importer": false, - "zk-prefixer": false, - "random-note": false, - "outline": true, - "word-count": true, - "slides": false, - "audio-recorder": false, - "workspaces": false, - "file-recovery": true, - "publish": false, - "sync": false, - "webviewer": false -} \ No newline at end of file diff --git a/.obsidian/file-recovery.json b/.obsidian/file-recovery.json deleted file mode 100644 index f0964529..00000000 --- a/.obsidian/file-recovery.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "intervalMinutes": 20, - "keepDays": 7 -} \ No newline at end of file diff --git a/.obsidian/graph.json b/.obsidian/graph.json deleted file mode 100644 index 478e38da..00000000 --- a/.obsidian/graph.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "collapse-filter": false, - "search": "path:SanPinPLM ", - "showTags": false, - "showAttachments": false, - "hideUnresolved": false, - "showOrphans": true, - "collapse-color-groups": false, - "colorGroups": [ - { - "query": "path:KMmpm ", - "color": { - "a": 1, - "rgb": 14701138 - } - }, - { - "query": "path:SanPinPLM ", - "color": { - "a": 1, - "rgb": 14725458 - } - } - ], - "collapse-display": true, - "showArrow": false, - "textFadeMultiplier": 0, - "nodeSizeMultiplier": 1, - "lineSizeMultiplier": 1, - "collapse-forces": true, - "centerStrength": 0.518713248970312, - "repelStrength": 10, - "linkStrength": 1, - "linkDistance": 250, - "scale": 0.7514342322277586, - "close": true -} \ No newline at end of file diff --git a/.obsidian/hotkeys.json b/.obsidian/hotkeys.json deleted file mode 100644 index a768832e..00000000 --- a/.obsidian/hotkeys.json +++ /dev/null @@ -1,140 +0,0 @@ -{ - "update-relative-links:update-all-relative-links": [ - { - "modifiers": [ - "Alt", - "Mod" - ], - "key": "U" - } - ], - "better-export-pdf:export-current-file-to-pdf": [ - { - "modifiers": [ - "Mod", - "Shift" - ], - "key": "P" - } - ], - "nuke-orphans:nuke-orphaned": [ - { - "modifiers": [ - "Alt", - "Mod" - ], - "key": "D" - } - ], - "workspace:goto-tab-1": [], - "workspace:goto-tab-2": [], - "workspace:goto-tab-3": [], - "workspace:goto-tab-4": [], - "workspace:goto-tab-5": [], - "workspace:goto-tab-6": [], - "workspace:goto-tab-7": [], - "workspace:goto-tab-8": [], - "workspace:goto-last-tab": [], - "editor:set-heading-1": [ - { - "modifiers": [ - "Mod" - ], - "key": "1" - } - ], - "editor:set-heading-2": [ - { - "modifiers": [ - "Mod" - ], - "key": "2" - } - ], - "editor:set-heading-3": [ - { - "modifiers": [ - "Mod" - ], - "key": "3" - } - ], - "editor:set-heading-4": [ - { - "modifiers": [ - "Mod" - ], - "key": "4" - } - ], - "editor:set-heading-5": [ - { - "modifiers": [ - "Mod" - ], - "key": "5" - } - ], - "editor:set-heading-6": [ - { - "modifiers": [ - "Mod" - ], - "key": "6" - } - ], - "open-with-default-app:open": [ - { - "modifiers": [ - "Alt", - "Mod" - ], - "key": "L" - } - ], - "editor:insert-codeblock": [ - { - "modifiers": [ - "Mod", - "Shift" - ], - "key": "K" - } - ], - "editor:toggle-blockquote": [ - { - "modifiers": [ - "Mod", - "Shift" - ], - "key": "Q" - } - ], - "editor:toggle-highlight": [ - { - "modifiers": [ - "Alt", - "Mod" - ], - "key": "H" - } - ], - "editor:toggle-bullet-list": [ - { - "modifiers": [ - "Mod", - "Shift" - ], - "key": "]" - } - ], - "editor:toggle-numbered-list": [ - { - "modifiers": [ - "Mod", - "Shift" - ], - "key": "[" - } - ] -} \ No newline at end of file diff --git a/.obsidian/plugins/better-export-pdf/data.json b/.obsidian/plugins/better-export-pdf/data.json deleted file mode 100644 index a02018c0..00000000 --- a/.obsidian/plugins/better-export-pdf/data.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "showTitle": false, - "maxLevel": "6", - "displayHeader": true, - "displayFooter": true, - "headerTemplate": "
", - "footerTemplate": "
/
", - "printBackground": false, - "generateTaggedPDF": false, - "displayMetadata": false, - "debug": false, - "isTimestamp": false, - "enabledCss": false, - "prevConfig": { - "pageSize": "A4", - "marginType": "1", - "showTitle": true, - "open": false, - "scale": 100, - "landscape": false, - "marginTop": "10", - "marginBottom": "10", - "marginLeft": "10", - "marginRight": "10", - "displayHeader": true, - "displayFooter": true, - "cssSnippet": "0" - } -} \ No newline at end of file diff --git a/.obsidian/plugins/better-export-pdf/main.js b/.obsidian/plugins/better-export-pdf/main.js deleted file mode 100644 index 49782061..00000000 --- a/.obsidian/plugins/better-export-pdf/main.js +++ /dev/null @@ -1,21276 +0,0 @@ -/* -THIS IS A GENERATED/BUNDLED FILE BY ESBUILD -if you want to view the source, please visit the github repository of this plugin -*/ - -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// node_modules/.pnpm/deepmerge@4.3.1/node_modules/deepmerge/dist/cjs.js -var require_cjs = __commonJS({ - "node_modules/.pnpm/deepmerge@4.3.1/node_modules/deepmerge/dist/cjs.js"(exports, module2) { - "use strict"; - var isMergeableObject = function isMergeableObject2(value) { - return isNonNullObject(value) && !isSpecial(value); - }; - function isNonNullObject(value) { - return !!value && typeof value === "object"; - } - function isSpecial(value) { - var stringValue = Object.prototype.toString.call(value); - return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value); - } - var canUseSymbol = typeof Symbol === "function" && Symbol.for; - var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for("react.element") : 60103; - function isReactElement(value) { - return value.$$typeof === REACT_ELEMENT_TYPE; - } - function emptyTarget(val) { - return Array.isArray(val) ? [] : {}; - } - function cloneUnlessOtherwiseSpecified(value, options) { - return options.clone !== false && options.isMergeableObject(value) ? deepmerge(emptyTarget(value), value, options) : value; - } - function defaultArrayMerge(target, source, options) { - return target.concat(source).map(function(element) { - return cloneUnlessOtherwiseSpecified(element, options); - }); - } - function getMergeFunction(key, options) { - if (!options.customMerge) { - return deepmerge; - } - var customMerge = options.customMerge(key); - return typeof customMerge === "function" ? customMerge : deepmerge; - } - function getEnumerableOwnPropertySymbols(target) { - return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) { - return Object.propertyIsEnumerable.call(target, symbol); - }) : []; - } - function getKeys(target) { - return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target)); - } - function propertyIsOnObject(object, property) { - try { - return property in object; - } catch (_) { - return false; - } - } - function propertyIsUnsafe(target, key) { - return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key)); - } - function mergeObject(target, source, options) { - var destination = {}; - if (options.isMergeableObject(target)) { - getKeys(target).forEach(function(key) { - destination[key] = cloneUnlessOtherwiseSpecified(target[key], options); - }); - } - getKeys(source).forEach(function(key) { - if (propertyIsUnsafe(target, key)) { - return; - } - if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) { - destination[key] = getMergeFunction(key, options)(target[key], source[key], options); - } else { - destination[key] = cloneUnlessOtherwiseSpecified(source[key], options); - } - }); - return destination; - } - function deepmerge(target, source, options) { - options = options || {}; - options.arrayMerge = options.arrayMerge || defaultArrayMerge; - options.isMergeableObject = options.isMergeableObject || isMergeableObject; - options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified; - var sourceIsArray = Array.isArray(source); - var targetIsArray = Array.isArray(target); - var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray; - if (!sourceAndTargetTypesMatch) { - return cloneUnlessOtherwiseSpecified(source, options); - } else if (sourceIsArray) { - return options.arrayMerge(target, source, options); - } else { - return mergeObject(target, source, options); - } - } - deepmerge.all = function deepmergeAll(array, options) { - if (!Array.isArray(array)) { - throw new Error("first argument should be an array"); - } - return array.reduce(function(prev, next) { - return deepmerge(prev, next, options); - }, {}); - }; - var deepmerge_1 = deepmerge; - module2.exports = deepmerge_1; - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/utils/common.js -var require_common = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/utils/common.js"(exports) { - "use strict"; - var TYPED_OK = typeof Uint8Array !== "undefined" && typeof Uint16Array !== "undefined" && typeof Int32Array !== "undefined"; - function _has(obj, key) { - return Object.prototype.hasOwnProperty.call(obj, key); - } - exports.assign = function(obj) { - var sources = Array.prototype.slice.call(arguments, 1); - while (sources.length) { - var source = sources.shift(); - if (!source) { - continue; - } - if (typeof source !== "object") { - throw new TypeError(source + "must be non-object"); - } - for (var p in source) { - if (_has(source, p)) { - obj[p] = source[p]; - } - } - } - return obj; - }; - exports.shrinkBuf = function(buf, size) { - if (buf.length === size) { - return buf; - } - if (buf.subarray) { - return buf.subarray(0, size); - } - buf.length = size; - return buf; - }; - var fnTyped = { - arraySet: function(dest, src, src_offs, len, dest_offs) { - if (src.subarray && dest.subarray) { - dest.set(src.subarray(src_offs, src_offs + len), dest_offs); - return; - } - for (var i = 0; i < len; i++) { - dest[dest_offs + i] = src[src_offs + i]; - } - }, - // Join array of chunks to single array. - flattenChunks: function(chunks) { - var i, l, len, pos, chunk, result; - len = 0; - for (i = 0, l = chunks.length; i < l; i++) { - len += chunks[i].length; - } - result = new Uint8Array(len); - pos = 0; - for (i = 0, l = chunks.length; i < l; i++) { - chunk = chunks[i]; - result.set(chunk, pos); - pos += chunk.length; - } - return result; - } - }; - var fnUntyped = { - arraySet: function(dest, src, src_offs, len, dest_offs) { - for (var i = 0; i < len; i++) { - dest[dest_offs + i] = src[src_offs + i]; - } - }, - // Join array of chunks to single array. - flattenChunks: function(chunks) { - return [].concat.apply([], chunks); - } - }; - exports.setTyped = function(on) { - if (on) { - exports.Buf8 = Uint8Array; - exports.Buf16 = Uint16Array; - exports.Buf32 = Int32Array; - exports.assign(exports, fnTyped); - } else { - exports.Buf8 = Array; - exports.Buf16 = Array; - exports.Buf32 = Array; - exports.assign(exports, fnUntyped); - } - }; - exports.setTyped(TYPED_OK); - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/trees.js -var require_trees = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/trees.js"(exports) { - "use strict"; - var utils = require_common(); - var Z_FIXED = 4; - var Z_BINARY = 0; - var Z_TEXT = 1; - var Z_UNKNOWN = 2; - function zero(buf) { - var len = buf.length; - while (--len >= 0) { - buf[len] = 0; - } - } - var STORED_BLOCK = 0; - var STATIC_TREES = 1; - var DYN_TREES = 2; - var MIN_MATCH = 3; - var MAX_MATCH = 258; - var LENGTH_CODES = 29; - var LITERALS = 256; - var L_CODES = LITERALS + 1 + LENGTH_CODES; - var D_CODES = 30; - var BL_CODES = 19; - var HEAP_SIZE = 2 * L_CODES + 1; - var MAX_BITS = 15; - var Buf_size = 16; - var MAX_BL_BITS = 7; - var END_BLOCK = 256; - var REP_3_6 = 16; - var REPZ_3_10 = 17; - var REPZ_11_138 = 18; - var extra_lbits = ( - /* extra bits for each length code */ - [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0] - ); - var extra_dbits = ( - /* extra bits for each distance code */ - [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13] - ); - var extra_blbits = ( - /* extra bits for each bit length code */ - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7] - ); - var bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; - var DIST_CODE_LEN = 512; - var static_ltree = new Array((L_CODES + 2) * 2); - zero(static_ltree); - var static_dtree = new Array(D_CODES * 2); - zero(static_dtree); - var _dist_code = new Array(DIST_CODE_LEN); - zero(_dist_code); - var _length_code = new Array(MAX_MATCH - MIN_MATCH + 1); - zero(_length_code); - var base_length = new Array(LENGTH_CODES); - zero(base_length); - var base_dist = new Array(D_CODES); - zero(base_dist); - function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) { - this.static_tree = static_tree; - this.extra_bits = extra_bits; - this.extra_base = extra_base; - this.elems = elems; - this.max_length = max_length; - this.has_stree = static_tree && static_tree.length; - } - var static_l_desc; - var static_d_desc; - var static_bl_desc; - function TreeDesc(dyn_tree, stat_desc) { - this.dyn_tree = dyn_tree; - this.max_code = 0; - this.stat_desc = stat_desc; - } - function d_code(dist) { - return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)]; - } - function put_short(s, w) { - s.pending_buf[s.pending++] = w & 255; - s.pending_buf[s.pending++] = w >>> 8 & 255; - } - function send_bits(s, value, length) { - if (s.bi_valid > Buf_size - length) { - s.bi_buf |= value << s.bi_valid & 65535; - put_short(s, s.bi_buf); - s.bi_buf = value >> Buf_size - s.bi_valid; - s.bi_valid += length - Buf_size; - } else { - s.bi_buf |= value << s.bi_valid & 65535; - s.bi_valid += length; - } - } - function send_code(s, c, tree) { - send_bits( - s, - tree[c * 2], - tree[c * 2 + 1] - /*.Len*/ - ); - } - function bi_reverse(code, len) { - var res = 0; - do { - res |= code & 1; - code >>>= 1; - res <<= 1; - } while (--len > 0); - return res >>> 1; - } - function bi_flush(s) { - if (s.bi_valid === 16) { - put_short(s, s.bi_buf); - s.bi_buf = 0; - s.bi_valid = 0; - } else if (s.bi_valid >= 8) { - s.pending_buf[s.pending++] = s.bi_buf & 255; - s.bi_buf >>= 8; - s.bi_valid -= 8; - } - } - function gen_bitlen(s, desc) { - var tree = desc.dyn_tree; - var max_code = desc.max_code; - var stree = desc.stat_desc.static_tree; - var has_stree = desc.stat_desc.has_stree; - var extra = desc.stat_desc.extra_bits; - var base = desc.stat_desc.extra_base; - var max_length = desc.stat_desc.max_length; - var h; - var n, m; - var bits; - var xbits; - var f; - var overflow = 0; - for (bits = 0; bits <= MAX_BITS; bits++) { - s.bl_count[bits] = 0; - } - tree[s.heap[s.heap_max] * 2 + 1] = 0; - for (h = s.heap_max + 1; h < HEAP_SIZE; h++) { - n = s.heap[h]; - bits = tree[tree[n * 2 + 1] * 2 + 1] + 1; - if (bits > max_length) { - bits = max_length; - overflow++; - } - tree[n * 2 + 1] = bits; - if (n > max_code) { - continue; - } - s.bl_count[bits]++; - xbits = 0; - if (n >= base) { - xbits = extra[n - base]; - } - f = tree[n * 2]; - s.opt_len += f * (bits + xbits); - if (has_stree) { - s.static_len += f * (stree[n * 2 + 1] + xbits); - } - } - if (overflow === 0) { - return; - } - do { - bits = max_length - 1; - while (s.bl_count[bits] === 0) { - bits--; - } - s.bl_count[bits]--; - s.bl_count[bits + 1] += 2; - s.bl_count[max_length]--; - overflow -= 2; - } while (overflow > 0); - for (bits = max_length; bits !== 0; bits--) { - n = s.bl_count[bits]; - while (n !== 0) { - m = s.heap[--h]; - if (m > max_code) { - continue; - } - if (tree[m * 2 + 1] !== bits) { - s.opt_len += (bits - tree[m * 2 + 1]) * tree[m * 2]; - tree[m * 2 + 1] = bits; - } - n--; - } - } - } - function gen_codes(tree, max_code, bl_count) { - var next_code = new Array(MAX_BITS + 1); - var code = 0; - var bits; - var n; - for (bits = 1; bits <= MAX_BITS; bits++) { - next_code[bits] = code = code + bl_count[bits - 1] << 1; - } - for (n = 0; n <= max_code; n++) { - var len = tree[n * 2 + 1]; - if (len === 0) { - continue; - } - tree[n * 2] = bi_reverse(next_code[len]++, len); - } - } - function tr_static_init() { - var n; - var bits; - var length; - var code; - var dist; - var bl_count = new Array(MAX_BITS + 1); - length = 0; - for (code = 0; code < LENGTH_CODES - 1; code++) { - base_length[code] = length; - for (n = 0; n < 1 << extra_lbits[code]; n++) { - _length_code[length++] = code; - } - } - _length_code[length - 1] = code; - dist = 0; - for (code = 0; code < 16; code++) { - base_dist[code] = dist; - for (n = 0; n < 1 << extra_dbits[code]; n++) { - _dist_code[dist++] = code; - } - } - dist >>= 7; - for (; code < D_CODES; code++) { - base_dist[code] = dist << 7; - for (n = 0; n < 1 << extra_dbits[code] - 7; n++) { - _dist_code[256 + dist++] = code; - } - } - for (bits = 0; bits <= MAX_BITS; bits++) { - bl_count[bits] = 0; - } - n = 0; - while (n <= 143) { - static_ltree[n * 2 + 1] = 8; - n++; - bl_count[8]++; - } - while (n <= 255) { - static_ltree[n * 2 + 1] = 9; - n++; - bl_count[9]++; - } - while (n <= 279) { - static_ltree[n * 2 + 1] = 7; - n++; - bl_count[7]++; - } - while (n <= 287) { - static_ltree[n * 2 + 1] = 8; - n++; - bl_count[8]++; - } - gen_codes(static_ltree, L_CODES + 1, bl_count); - for (n = 0; n < D_CODES; n++) { - static_dtree[n * 2 + 1] = 5; - static_dtree[n * 2] = bi_reverse(n, 5); - } - static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS); - static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS); - static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS); - } - function init_block(s) { - var n; - for (n = 0; n < L_CODES; n++) { - s.dyn_ltree[n * 2] = 0; - } - for (n = 0; n < D_CODES; n++) { - s.dyn_dtree[n * 2] = 0; - } - for (n = 0; n < BL_CODES; n++) { - s.bl_tree[n * 2] = 0; - } - s.dyn_ltree[END_BLOCK * 2] = 1; - s.opt_len = s.static_len = 0; - s.last_lit = s.matches = 0; - } - function bi_windup(s) { - if (s.bi_valid > 8) { - put_short(s, s.bi_buf); - } else if (s.bi_valid > 0) { - s.pending_buf[s.pending++] = s.bi_buf; - } - s.bi_buf = 0; - s.bi_valid = 0; - } - function copy_block(s, buf, len, header) { - bi_windup(s); - if (header) { - put_short(s, len); - put_short(s, ~len); - } - utils.arraySet(s.pending_buf, s.window, buf, len, s.pending); - s.pending += len; - } - function smaller(tree, n, m, depth) { - var _n2 = n * 2; - var _m2 = m * 2; - return tree[_n2] < tree[_m2] || tree[_n2] === tree[_m2] && depth[n] <= depth[m]; - } - function pqdownheap(s, tree, k) { - var v = s.heap[k]; - var j = k << 1; - while (j <= s.heap_len) { - if (j < s.heap_len && smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) { - j++; - } - if (smaller(tree, v, s.heap[j], s.depth)) { - break; - } - s.heap[k] = s.heap[j]; - k = j; - j <<= 1; - } - s.heap[k] = v; - } - function compress_block(s, ltree, dtree) { - var dist; - var lc; - var lx = 0; - var code; - var extra; - if (s.last_lit !== 0) { - do { - dist = s.pending_buf[s.d_buf + lx * 2] << 8 | s.pending_buf[s.d_buf + lx * 2 + 1]; - lc = s.pending_buf[s.l_buf + lx]; - lx++; - if (dist === 0) { - send_code(s, lc, ltree); - } else { - code = _length_code[lc]; - send_code(s, code + LITERALS + 1, ltree); - extra = extra_lbits[code]; - if (extra !== 0) { - lc -= base_length[code]; - send_bits(s, lc, extra); - } - dist--; - code = d_code(dist); - send_code(s, code, dtree); - extra = extra_dbits[code]; - if (extra !== 0) { - dist -= base_dist[code]; - send_bits(s, dist, extra); - } - } - } while (lx < s.last_lit); - } - send_code(s, END_BLOCK, ltree); - } - function build_tree(s, desc) { - var tree = desc.dyn_tree; - var stree = desc.stat_desc.static_tree; - var has_stree = desc.stat_desc.has_stree; - var elems = desc.stat_desc.elems; - var n, m; - var max_code = -1; - var node; - s.heap_len = 0; - s.heap_max = HEAP_SIZE; - for (n = 0; n < elems; n++) { - if (tree[n * 2] !== 0) { - s.heap[++s.heap_len] = max_code = n; - s.depth[n] = 0; - } else { - tree[n * 2 + 1] = 0; - } - } - while (s.heap_len < 2) { - node = s.heap[++s.heap_len] = max_code < 2 ? ++max_code : 0; - tree[node * 2] = 1; - s.depth[node] = 0; - s.opt_len--; - if (has_stree) { - s.static_len -= stree[node * 2 + 1]; - } - } - desc.max_code = max_code; - for (n = s.heap_len >> 1; n >= 1; n--) { - pqdownheap(s, tree, n); - } - node = elems; - do { - n = s.heap[ - 1 - /*SMALLEST*/ - ]; - s.heap[ - 1 - /*SMALLEST*/ - ] = s.heap[s.heap_len--]; - pqdownheap( - s, - tree, - 1 - /*SMALLEST*/ - ); - m = s.heap[ - 1 - /*SMALLEST*/ - ]; - s.heap[--s.heap_max] = n; - s.heap[--s.heap_max] = m; - tree[node * 2] = tree[n * 2] + tree[m * 2]; - s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1; - tree[n * 2 + 1] = tree[m * 2 + 1] = node; - s.heap[ - 1 - /*SMALLEST*/ - ] = node++; - pqdownheap( - s, - tree, - 1 - /*SMALLEST*/ - ); - } while (s.heap_len >= 2); - s.heap[--s.heap_max] = s.heap[ - 1 - /*SMALLEST*/ - ]; - gen_bitlen(s, desc); - gen_codes(tree, max_code, s.bl_count); - } - function scan_tree(s, tree, max_code) { - var n; - var prevlen = -1; - var curlen; - var nextlen = tree[0 * 2 + 1]; - var count = 0; - var max_count = 7; - var min_count = 4; - if (nextlen === 0) { - max_count = 138; - min_count = 3; - } - tree[(max_code + 1) * 2 + 1] = 65535; - for (n = 0; n <= max_code; n++) { - curlen = nextlen; - nextlen = tree[(n + 1) * 2 + 1]; - if (++count < max_count && curlen === nextlen) { - continue; - } else if (count < min_count) { - s.bl_tree[curlen * 2] += count; - } else if (curlen !== 0) { - if (curlen !== prevlen) { - s.bl_tree[curlen * 2]++; - } - s.bl_tree[REP_3_6 * 2]++; - } else if (count <= 10) { - s.bl_tree[REPZ_3_10 * 2]++; - } else { - s.bl_tree[REPZ_11_138 * 2]++; - } - count = 0; - prevlen = curlen; - if (nextlen === 0) { - max_count = 138; - min_count = 3; - } else if (curlen === nextlen) { - max_count = 6; - min_count = 3; - } else { - max_count = 7; - min_count = 4; - } - } - } - function send_tree(s, tree, max_code) { - var n; - var prevlen = -1; - var curlen; - var nextlen = tree[0 * 2 + 1]; - var count = 0; - var max_count = 7; - var min_count = 4; - if (nextlen === 0) { - max_count = 138; - min_count = 3; - } - for (n = 0; n <= max_code; n++) { - curlen = nextlen; - nextlen = tree[(n + 1) * 2 + 1]; - if (++count < max_count && curlen === nextlen) { - continue; - } else if (count < min_count) { - do { - send_code(s, curlen, s.bl_tree); - } while (--count !== 0); - } else if (curlen !== 0) { - if (curlen !== prevlen) { - send_code(s, curlen, s.bl_tree); - count--; - } - send_code(s, REP_3_6, s.bl_tree); - send_bits(s, count - 3, 2); - } else if (count <= 10) { - send_code(s, REPZ_3_10, s.bl_tree); - send_bits(s, count - 3, 3); - } else { - send_code(s, REPZ_11_138, s.bl_tree); - send_bits(s, count - 11, 7); - } - count = 0; - prevlen = curlen; - if (nextlen === 0) { - max_count = 138; - min_count = 3; - } else if (curlen === nextlen) { - max_count = 6; - min_count = 3; - } else { - max_count = 7; - min_count = 4; - } - } - } - function build_bl_tree(s) { - var max_blindex; - scan_tree(s, s.dyn_ltree, s.l_desc.max_code); - scan_tree(s, s.dyn_dtree, s.d_desc.max_code); - build_tree(s, s.bl_desc); - for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) { - if (s.bl_tree[bl_order[max_blindex] * 2 + 1] !== 0) { - break; - } - } - s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4; - return max_blindex; - } - function send_all_trees(s, lcodes, dcodes, blcodes) { - var rank; - send_bits(s, lcodes - 257, 5); - send_bits(s, dcodes - 1, 5); - send_bits(s, blcodes - 4, 4); - for (rank = 0; rank < blcodes; rank++) { - send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1], 3); - } - send_tree(s, s.dyn_ltree, lcodes - 1); - send_tree(s, s.dyn_dtree, dcodes - 1); - } - function detect_data_type(s) { - var black_mask = 4093624447; - var n; - for (n = 0; n <= 31; n++, black_mask >>>= 1) { - if (black_mask & 1 && s.dyn_ltree[n * 2] !== 0) { - return Z_BINARY; - } - } - if (s.dyn_ltree[9 * 2] !== 0 || s.dyn_ltree[10 * 2] !== 0 || s.dyn_ltree[13 * 2] !== 0) { - return Z_TEXT; - } - for (n = 32; n < LITERALS; n++) { - if (s.dyn_ltree[n * 2] !== 0) { - return Z_TEXT; - } - } - return Z_BINARY; - } - var static_init_done = false; - function _tr_init(s) { - if (!static_init_done) { - tr_static_init(); - static_init_done = true; - } - s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc); - s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc); - s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc); - s.bi_buf = 0; - s.bi_valid = 0; - init_block(s); - } - function _tr_stored_block(s, buf, stored_len, last2) { - send_bits(s, (STORED_BLOCK << 1) + (last2 ? 1 : 0), 3); - copy_block(s, buf, stored_len, true); - } - function _tr_align(s) { - send_bits(s, STATIC_TREES << 1, 3); - send_code(s, END_BLOCK, static_ltree); - bi_flush(s); - } - function _tr_flush_block(s, buf, stored_len, last2) { - var opt_lenb, static_lenb; - var max_blindex = 0; - if (s.level > 0) { - if (s.strm.data_type === Z_UNKNOWN) { - s.strm.data_type = detect_data_type(s); - } - build_tree(s, s.l_desc); - build_tree(s, s.d_desc); - max_blindex = build_bl_tree(s); - opt_lenb = s.opt_len + 3 + 7 >>> 3; - static_lenb = s.static_len + 3 + 7 >>> 3; - if (static_lenb <= opt_lenb) { - opt_lenb = static_lenb; - } - } else { - opt_lenb = static_lenb = stored_len + 5; - } - if (stored_len + 4 <= opt_lenb && buf !== -1) { - _tr_stored_block(s, buf, stored_len, last2); - } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) { - send_bits(s, (STATIC_TREES << 1) + (last2 ? 1 : 0), 3); - compress_block(s, static_ltree, static_dtree); - } else { - send_bits(s, (DYN_TREES << 1) + (last2 ? 1 : 0), 3); - send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1); - compress_block(s, s.dyn_ltree, s.dyn_dtree); - } - init_block(s); - if (last2) { - bi_windup(s); - } - } - function _tr_tally(s, dist, lc) { - s.pending_buf[s.d_buf + s.last_lit * 2] = dist >>> 8 & 255; - s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 255; - s.pending_buf[s.l_buf + s.last_lit] = lc & 255; - s.last_lit++; - if (dist === 0) { - s.dyn_ltree[lc * 2]++; - } else { - s.matches++; - dist--; - s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]++; - s.dyn_dtree[d_code(dist) * 2]++; - } - return s.last_lit === s.lit_bufsize - 1; - } - exports._tr_init = _tr_init; - exports._tr_stored_block = _tr_stored_block; - exports._tr_flush_block = _tr_flush_block; - exports._tr_tally = _tr_tally; - exports._tr_align = _tr_align; - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/adler32.js -var require_adler32 = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/adler32.js"(exports, module2) { - "use strict"; - function adler32(adler, buf, len, pos) { - var s1 = adler & 65535 | 0, s2 = adler >>> 16 & 65535 | 0, n = 0; - while (len !== 0) { - n = len > 2e3 ? 2e3 : len; - len -= n; - do { - s1 = s1 + buf[pos++] | 0; - s2 = s2 + s1 | 0; - } while (--n); - s1 %= 65521; - s2 %= 65521; - } - return s1 | s2 << 16 | 0; - } - module2.exports = adler32; - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/crc32.js -var require_crc32 = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/crc32.js"(exports, module2) { - "use strict"; - function makeTable() { - var c, table = []; - for (var n = 0; n < 256; n++) { - c = n; - for (var k = 0; k < 8; k++) { - c = c & 1 ? 3988292384 ^ c >>> 1 : c >>> 1; - } - table[n] = c; - } - return table; - } - var crcTable = makeTable(); - function crc32(crc, buf, len, pos) { - var t = crcTable, end = pos + len; - crc ^= -1; - for (var i = pos; i < end; i++) { - crc = crc >>> 8 ^ t[(crc ^ buf[i]) & 255]; - } - return crc ^ -1; - } - module2.exports = crc32; - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/messages.js -var require_messages = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/messages.js"(exports, module2) { - "use strict"; - module2.exports = { - 2: "need dictionary", - /* Z_NEED_DICT 2 */ - 1: "stream end", - /* Z_STREAM_END 1 */ - 0: "", - /* Z_OK 0 */ - "-1": "file error", - /* Z_ERRNO (-1) */ - "-2": "stream error", - /* Z_STREAM_ERROR (-2) */ - "-3": "data error", - /* Z_DATA_ERROR (-3) */ - "-4": "insufficient memory", - /* Z_MEM_ERROR (-4) */ - "-5": "buffer error", - /* Z_BUF_ERROR (-5) */ - "-6": "incompatible version" - /* Z_VERSION_ERROR (-6) */ - }; - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/deflate.js -var require_deflate = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/deflate.js"(exports) { - "use strict"; - var utils = require_common(); - var trees = require_trees(); - var adler32 = require_adler32(); - var crc32 = require_crc32(); - var msg = require_messages(); - var Z_NO_FLUSH = 0; - var Z_PARTIAL_FLUSH = 1; - var Z_FULL_FLUSH = 3; - var Z_FINISH = 4; - var Z_BLOCK = 5; - var Z_OK = 0; - var Z_STREAM_END = 1; - var Z_STREAM_ERROR = -2; - var Z_DATA_ERROR = -3; - var Z_BUF_ERROR = -5; - var Z_DEFAULT_COMPRESSION = -1; - var Z_FILTERED = 1; - var Z_HUFFMAN_ONLY = 2; - var Z_RLE = 3; - var Z_FIXED = 4; - var Z_DEFAULT_STRATEGY = 0; - var Z_UNKNOWN = 2; - var Z_DEFLATED = 8; - var MAX_MEM_LEVEL = 9; - var MAX_WBITS = 15; - var DEF_MEM_LEVEL = 8; - var LENGTH_CODES = 29; - var LITERALS = 256; - var L_CODES = LITERALS + 1 + LENGTH_CODES; - var D_CODES = 30; - var BL_CODES = 19; - var HEAP_SIZE = 2 * L_CODES + 1; - var MAX_BITS = 15; - var MIN_MATCH = 3; - var MAX_MATCH = 258; - var MIN_LOOKAHEAD = MAX_MATCH + MIN_MATCH + 1; - var PRESET_DICT = 32; - var INIT_STATE = 42; - var EXTRA_STATE = 69; - var NAME_STATE = 73; - var COMMENT_STATE = 91; - var HCRC_STATE = 103; - var BUSY_STATE = 113; - var FINISH_STATE = 666; - var BS_NEED_MORE = 1; - var BS_BLOCK_DONE = 2; - var BS_FINISH_STARTED = 3; - var BS_FINISH_DONE = 4; - var OS_CODE = 3; - function err(strm, errorCode) { - strm.msg = msg[errorCode]; - return errorCode; - } - function rank(f) { - return (f << 1) - (f > 4 ? 9 : 0); - } - function zero(buf) { - var len = buf.length; - while (--len >= 0) { - buf[len] = 0; - } - } - function flush_pending(strm) { - var s = strm.state; - var len = s.pending; - if (len > strm.avail_out) { - len = strm.avail_out; - } - if (len === 0) { - return; - } - utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out); - strm.next_out += len; - s.pending_out += len; - strm.total_out += len; - strm.avail_out -= len; - s.pending -= len; - if (s.pending === 0) { - s.pending_out = 0; - } - } - function flush_block_only(s, last2) { - trees._tr_flush_block(s, s.block_start >= 0 ? s.block_start : -1, s.strstart - s.block_start, last2); - s.block_start = s.strstart; - flush_pending(s.strm); - } - function put_byte(s, b) { - s.pending_buf[s.pending++] = b; - } - function putShortMSB(s, b) { - s.pending_buf[s.pending++] = b >>> 8 & 255; - s.pending_buf[s.pending++] = b & 255; - } - function read_buf(strm, buf, start, size) { - var len = strm.avail_in; - if (len > size) { - len = size; - } - if (len === 0) { - return 0; - } - strm.avail_in -= len; - utils.arraySet(buf, strm.input, strm.next_in, len, start); - if (strm.state.wrap === 1) { - strm.adler = adler32(strm.adler, buf, len, start); - } else if (strm.state.wrap === 2) { - strm.adler = crc32(strm.adler, buf, len, start); - } - strm.next_in += len; - strm.total_in += len; - return len; - } - function longest_match(s, cur_match) { - var chain_length = s.max_chain_length; - var scan = s.strstart; - var match; - var len; - var best_len = s.prev_length; - var nice_match = s.nice_match; - var limit = s.strstart > s.w_size - MIN_LOOKAHEAD ? s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0; - var _win = s.window; - var wmask = s.w_mask; - var prev = s.prev; - var strend = s.strstart + MAX_MATCH; - var scan_end1 = _win[scan + best_len - 1]; - var scan_end = _win[scan + best_len]; - if (s.prev_length >= s.good_match) { - chain_length >>= 2; - } - if (nice_match > s.lookahead) { - nice_match = s.lookahead; - } - do { - match = cur_match; - if (_win[match + best_len] !== scan_end || _win[match + best_len - 1] !== scan_end1 || _win[match] !== _win[scan] || _win[++match] !== _win[scan + 1]) { - continue; - } - scan += 2; - match++; - do { - } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && scan < strend); - len = MAX_MATCH - (strend - scan); - scan = strend - MAX_MATCH; - if (len > best_len) { - s.match_start = cur_match; - best_len = len; - if (len >= nice_match) { - break; - } - scan_end1 = _win[scan + best_len - 1]; - scan_end = _win[scan + best_len]; - } - } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0); - if (best_len <= s.lookahead) { - return best_len; - } - return s.lookahead; - } - function fill_window(s) { - var _w_size = s.w_size; - var p, n, m, more, str; - do { - more = s.window_size - s.lookahead - s.strstart; - if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) { - utils.arraySet(s.window, s.window, _w_size, _w_size, 0); - s.match_start -= _w_size; - s.strstart -= _w_size; - s.block_start -= _w_size; - n = s.hash_size; - p = n; - do { - m = s.head[--p]; - s.head[p] = m >= _w_size ? m - _w_size : 0; - } while (--n); - n = _w_size; - p = n; - do { - m = s.prev[--p]; - s.prev[p] = m >= _w_size ? m - _w_size : 0; - } while (--n); - more += _w_size; - } - if (s.strm.avail_in === 0) { - break; - } - n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more); - s.lookahead += n; - if (s.lookahead + s.insert >= MIN_MATCH) { - str = s.strstart - s.insert; - s.ins_h = s.window[str]; - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + 1]) & s.hash_mask; - while (s.insert) { - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask; - s.prev[str & s.w_mask] = s.head[s.ins_h]; - s.head[s.ins_h] = str; - str++; - s.insert--; - if (s.lookahead + s.insert < MIN_MATCH) { - break; - } - } - } - } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0); - } - function deflate_stored(s, flush) { - var max_block_size = 65535; - if (max_block_size > s.pending_buf_size - 5) { - max_block_size = s.pending_buf_size - 5; - } - for (; ; ) { - if (s.lookahead <= 1) { - fill_window(s); - if (s.lookahead === 0 && flush === Z_NO_FLUSH) { - return BS_NEED_MORE; - } - if (s.lookahead === 0) { - break; - } - } - s.strstart += s.lookahead; - s.lookahead = 0; - var max_start = s.block_start + max_block_size; - if (s.strstart === 0 || s.strstart >= max_start) { - s.lookahead = s.strstart - max_start; - s.strstart = max_start; - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - if (s.strstart - s.block_start >= s.w_size - MIN_LOOKAHEAD) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - } - s.insert = 0; - if (flush === Z_FINISH) { - flush_block_only(s, true); - if (s.strm.avail_out === 0) { - return BS_FINISH_STARTED; - } - return BS_FINISH_DONE; - } - if (s.strstart > s.block_start) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - return BS_NEED_MORE; - } - function deflate_fast(s, flush) { - var hash_head; - var bflush; - for (; ; ) { - if (s.lookahead < MIN_LOOKAHEAD) { - fill_window(s); - if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) { - return BS_NEED_MORE; - } - if (s.lookahead === 0) { - break; - } - } - hash_head = 0; - if (s.lookahead >= MIN_MATCH) { - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask; - hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; - s.head[s.ins_h] = s.strstart; - } - if (hash_head !== 0 && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD) { - s.match_length = longest_match(s, hash_head); - } - if (s.match_length >= MIN_MATCH) { - bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH); - s.lookahead -= s.match_length; - if (s.match_length <= s.max_lazy_match && s.lookahead >= MIN_MATCH) { - s.match_length--; - do { - s.strstart++; - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask; - hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; - s.head[s.ins_h] = s.strstart; - } while (--s.match_length !== 0); - s.strstart++; - } else { - s.strstart += s.match_length; - s.match_length = 0; - s.ins_h = s.window[s.strstart]; - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + 1]) & s.hash_mask; - } - } else { - bflush = trees._tr_tally(s, 0, s.window[s.strstart]); - s.lookahead--; - s.strstart++; - } - if (bflush) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - } - s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1; - if (flush === Z_FINISH) { - flush_block_only(s, true); - if (s.strm.avail_out === 0) { - return BS_FINISH_STARTED; - } - return BS_FINISH_DONE; - } - if (s.last_lit) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - return BS_BLOCK_DONE; - } - function deflate_slow(s, flush) { - var hash_head; - var bflush; - var max_insert; - for (; ; ) { - if (s.lookahead < MIN_LOOKAHEAD) { - fill_window(s); - if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) { - return BS_NEED_MORE; - } - if (s.lookahead === 0) { - break; - } - } - hash_head = 0; - if (s.lookahead >= MIN_MATCH) { - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask; - hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; - s.head[s.ins_h] = s.strstart; - } - s.prev_length = s.match_length; - s.prev_match = s.match_start; - s.match_length = MIN_MATCH - 1; - if (hash_head !== 0 && s.prev_length < s.max_lazy_match && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD) { - s.match_length = longest_match(s, hash_head); - if (s.match_length <= 5 && (s.strategy === Z_FILTERED || s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096)) { - s.match_length = MIN_MATCH - 1; - } - } - if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) { - max_insert = s.strstart + s.lookahead - MIN_MATCH; - bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH); - s.lookahead -= s.prev_length - 1; - s.prev_length -= 2; - do { - if (++s.strstart <= max_insert) { - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask; - hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; - s.head[s.ins_h] = s.strstart; - } - } while (--s.prev_length !== 0); - s.match_available = 0; - s.match_length = MIN_MATCH - 1; - s.strstart++; - if (bflush) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - } else if (s.match_available) { - bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]); - if (bflush) { - flush_block_only(s, false); - } - s.strstart++; - s.lookahead--; - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } else { - s.match_available = 1; - s.strstart++; - s.lookahead--; - } - } - if (s.match_available) { - bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]); - s.match_available = 0; - } - s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1; - if (flush === Z_FINISH) { - flush_block_only(s, true); - if (s.strm.avail_out === 0) { - return BS_FINISH_STARTED; - } - return BS_FINISH_DONE; - } - if (s.last_lit) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - return BS_BLOCK_DONE; - } - function deflate_rle(s, flush) { - var bflush; - var prev; - var scan, strend; - var _win = s.window; - for (; ; ) { - if (s.lookahead <= MAX_MATCH) { - fill_window(s); - if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) { - return BS_NEED_MORE; - } - if (s.lookahead === 0) { - break; - } - } - s.match_length = 0; - if (s.lookahead >= MIN_MATCH && s.strstart > 0) { - scan = s.strstart - 1; - prev = _win[scan]; - if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) { - strend = s.strstart + MAX_MATCH; - do { - } while (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && scan < strend); - s.match_length = MAX_MATCH - (strend - scan); - if (s.match_length > s.lookahead) { - s.match_length = s.lookahead; - } - } - } - if (s.match_length >= MIN_MATCH) { - bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH); - s.lookahead -= s.match_length; - s.strstart += s.match_length; - s.match_length = 0; - } else { - bflush = trees._tr_tally(s, 0, s.window[s.strstart]); - s.lookahead--; - s.strstart++; - } - if (bflush) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - } - s.insert = 0; - if (flush === Z_FINISH) { - flush_block_only(s, true); - if (s.strm.avail_out === 0) { - return BS_FINISH_STARTED; - } - return BS_FINISH_DONE; - } - if (s.last_lit) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - return BS_BLOCK_DONE; - } - function deflate_huff(s, flush) { - var bflush; - for (; ; ) { - if (s.lookahead === 0) { - fill_window(s); - if (s.lookahead === 0) { - if (flush === Z_NO_FLUSH) { - return BS_NEED_MORE; - } - break; - } - } - s.match_length = 0; - bflush = trees._tr_tally(s, 0, s.window[s.strstart]); - s.lookahead--; - s.strstart++; - if (bflush) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - } - s.insert = 0; - if (flush === Z_FINISH) { - flush_block_only(s, true); - if (s.strm.avail_out === 0) { - return BS_FINISH_STARTED; - } - return BS_FINISH_DONE; - } - if (s.last_lit) { - flush_block_only(s, false); - if (s.strm.avail_out === 0) { - return BS_NEED_MORE; - } - } - return BS_BLOCK_DONE; - } - function Config(good_length, max_lazy, nice_length, max_chain, func) { - this.good_length = good_length; - this.max_lazy = max_lazy; - this.nice_length = nice_length; - this.max_chain = max_chain; - this.func = func; - } - var configuration_table; - configuration_table = [ - /* good lazy nice chain */ - new Config(0, 0, 0, 0, deflate_stored), - /* 0 store only */ - new Config(4, 4, 8, 4, deflate_fast), - /* 1 max speed, no lazy matches */ - new Config(4, 5, 16, 8, deflate_fast), - /* 2 */ - new Config(4, 6, 32, 32, deflate_fast), - /* 3 */ - new Config(4, 4, 16, 16, deflate_slow), - /* 4 lazy matches */ - new Config(8, 16, 32, 32, deflate_slow), - /* 5 */ - new Config(8, 16, 128, 128, deflate_slow), - /* 6 */ - new Config(8, 32, 128, 256, deflate_slow), - /* 7 */ - new Config(32, 128, 258, 1024, deflate_slow), - /* 8 */ - new Config(32, 258, 258, 4096, deflate_slow) - /* 9 max compression */ - ]; - function lm_init(s) { - s.window_size = 2 * s.w_size; - zero(s.head); - s.max_lazy_match = configuration_table[s.level].max_lazy; - s.good_match = configuration_table[s.level].good_length; - s.nice_match = configuration_table[s.level].nice_length; - s.max_chain_length = configuration_table[s.level].max_chain; - s.strstart = 0; - s.block_start = 0; - s.lookahead = 0; - s.insert = 0; - s.match_length = s.prev_length = MIN_MATCH - 1; - s.match_available = 0; - s.ins_h = 0; - } - function DeflateState() { - this.strm = null; - this.status = 0; - this.pending_buf = null; - this.pending_buf_size = 0; - this.pending_out = 0; - this.pending = 0; - this.wrap = 0; - this.gzhead = null; - this.gzindex = 0; - this.method = Z_DEFLATED; - this.last_flush = -1; - this.w_size = 0; - this.w_bits = 0; - this.w_mask = 0; - this.window = null; - this.window_size = 0; - this.prev = null; - this.head = null; - this.ins_h = 0; - this.hash_size = 0; - this.hash_bits = 0; - this.hash_mask = 0; - this.hash_shift = 0; - this.block_start = 0; - this.match_length = 0; - this.prev_match = 0; - this.match_available = 0; - this.strstart = 0; - this.match_start = 0; - this.lookahead = 0; - this.prev_length = 0; - this.max_chain_length = 0; - this.max_lazy_match = 0; - this.level = 0; - this.strategy = 0; - this.good_match = 0; - this.nice_match = 0; - this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2); - this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2); - this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2); - zero(this.dyn_ltree); - zero(this.dyn_dtree); - zero(this.bl_tree); - this.l_desc = null; - this.d_desc = null; - this.bl_desc = null; - this.bl_count = new utils.Buf16(MAX_BITS + 1); - this.heap = new utils.Buf16(2 * L_CODES + 1); - zero(this.heap); - this.heap_len = 0; - this.heap_max = 0; - this.depth = new utils.Buf16(2 * L_CODES + 1); - zero(this.depth); - this.l_buf = 0; - this.lit_bufsize = 0; - this.last_lit = 0; - this.d_buf = 0; - this.opt_len = 0; - this.static_len = 0; - this.matches = 0; - this.insert = 0; - this.bi_buf = 0; - this.bi_valid = 0; - } - function deflateResetKeep(strm) { - var s; - if (!strm || !strm.state) { - return err(strm, Z_STREAM_ERROR); - } - strm.total_in = strm.total_out = 0; - strm.data_type = Z_UNKNOWN; - s = strm.state; - s.pending = 0; - s.pending_out = 0; - if (s.wrap < 0) { - s.wrap = -s.wrap; - } - s.status = s.wrap ? INIT_STATE : BUSY_STATE; - strm.adler = s.wrap === 2 ? 0 : 1; - s.last_flush = Z_NO_FLUSH; - trees._tr_init(s); - return Z_OK; - } - function deflateReset(strm) { - var ret = deflateResetKeep(strm); - if (ret === Z_OK) { - lm_init(strm.state); - } - return ret; - } - function deflateSetHeader(strm, head) { - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - if (strm.state.wrap !== 2) { - return Z_STREAM_ERROR; - } - strm.state.gzhead = head; - return Z_OK; - } - function deflateInit2(strm, level, method, windowBits, memLevel, strategy) { - if (!strm) { - return Z_STREAM_ERROR; - } - var wrap = 1; - if (level === Z_DEFAULT_COMPRESSION) { - level = 6; - } - if (windowBits < 0) { - wrap = 0; - windowBits = -windowBits; - } else if (windowBits > 15) { - wrap = 2; - windowBits -= 16; - } - if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED) { - return err(strm, Z_STREAM_ERROR); - } - if (windowBits === 8) { - windowBits = 9; - } - var s = new DeflateState(); - strm.state = s; - s.strm = strm; - s.wrap = wrap; - s.gzhead = null; - s.w_bits = windowBits; - s.w_size = 1 << s.w_bits; - s.w_mask = s.w_size - 1; - s.hash_bits = memLevel + 7; - s.hash_size = 1 << s.hash_bits; - s.hash_mask = s.hash_size - 1; - s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH); - s.window = new utils.Buf8(s.w_size * 2); - s.head = new utils.Buf16(s.hash_size); - s.prev = new utils.Buf16(s.w_size); - s.lit_bufsize = 1 << memLevel + 6; - s.pending_buf_size = s.lit_bufsize * 4; - s.pending_buf = new utils.Buf8(s.pending_buf_size); - s.d_buf = 1 * s.lit_bufsize; - s.l_buf = (1 + 2) * s.lit_bufsize; - s.level = level; - s.strategy = strategy; - s.method = method; - return deflateReset(strm); - } - function deflateInit(strm, level) { - return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY); - } - function deflate(strm, flush) { - var old_flush, s; - var beg, val; - if (!strm || !strm.state || flush > Z_BLOCK || flush < 0) { - return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR; - } - s = strm.state; - if (!strm.output || !strm.input && strm.avail_in !== 0 || s.status === FINISH_STATE && flush !== Z_FINISH) { - return err(strm, strm.avail_out === 0 ? Z_BUF_ERROR : Z_STREAM_ERROR); - } - s.strm = strm; - old_flush = s.last_flush; - s.last_flush = flush; - if (s.status === INIT_STATE) { - if (s.wrap === 2) { - strm.adler = 0; - put_byte(s, 31); - put_byte(s, 139); - put_byte(s, 8); - if (!s.gzhead) { - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, s.level === 9 ? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ? 4 : 0); - put_byte(s, OS_CODE); - s.status = BUSY_STATE; - } else { - put_byte( - s, - (s.gzhead.text ? 1 : 0) + (s.gzhead.hcrc ? 2 : 0) + (!s.gzhead.extra ? 0 : 4) + (!s.gzhead.name ? 0 : 8) + (!s.gzhead.comment ? 0 : 16) - ); - put_byte(s, s.gzhead.time & 255); - put_byte(s, s.gzhead.time >> 8 & 255); - put_byte(s, s.gzhead.time >> 16 & 255); - put_byte(s, s.gzhead.time >> 24 & 255); - put_byte(s, s.level === 9 ? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ? 4 : 0); - put_byte(s, s.gzhead.os & 255); - if (s.gzhead.extra && s.gzhead.extra.length) { - put_byte(s, s.gzhead.extra.length & 255); - put_byte(s, s.gzhead.extra.length >> 8 & 255); - } - if (s.gzhead.hcrc) { - strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0); - } - s.gzindex = 0; - s.status = EXTRA_STATE; - } - } else { - var header = Z_DEFLATED + (s.w_bits - 8 << 4) << 8; - var level_flags = -1; - if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) { - level_flags = 0; - } else if (s.level < 6) { - level_flags = 1; - } else if (s.level === 6) { - level_flags = 2; - } else { - level_flags = 3; - } - header |= level_flags << 6; - if (s.strstart !== 0) { - header |= PRESET_DICT; - } - header += 31 - header % 31; - s.status = BUSY_STATE; - putShortMSB(s, header); - if (s.strstart !== 0) { - putShortMSB(s, strm.adler >>> 16); - putShortMSB(s, strm.adler & 65535); - } - strm.adler = 1; - } - } - if (s.status === EXTRA_STATE) { - if (s.gzhead.extra) { - beg = s.pending; - while (s.gzindex < (s.gzhead.extra.length & 65535)) { - if (s.pending === s.pending_buf_size) { - if (s.gzhead.hcrc && s.pending > beg) { - strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); - } - flush_pending(strm); - beg = s.pending; - if (s.pending === s.pending_buf_size) { - break; - } - } - put_byte(s, s.gzhead.extra[s.gzindex] & 255); - s.gzindex++; - } - if (s.gzhead.hcrc && s.pending > beg) { - strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); - } - if (s.gzindex === s.gzhead.extra.length) { - s.gzindex = 0; - s.status = NAME_STATE; - } - } else { - s.status = NAME_STATE; - } - } - if (s.status === NAME_STATE) { - if (s.gzhead.name) { - beg = s.pending; - do { - if (s.pending === s.pending_buf_size) { - if (s.gzhead.hcrc && s.pending > beg) { - strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); - } - flush_pending(strm); - beg = s.pending; - if (s.pending === s.pending_buf_size) { - val = 1; - break; - } - } - if (s.gzindex < s.gzhead.name.length) { - val = s.gzhead.name.charCodeAt(s.gzindex++) & 255; - } else { - val = 0; - } - put_byte(s, val); - } while (val !== 0); - if (s.gzhead.hcrc && s.pending > beg) { - strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); - } - if (val === 0) { - s.gzindex = 0; - s.status = COMMENT_STATE; - } - } else { - s.status = COMMENT_STATE; - } - } - if (s.status === COMMENT_STATE) { - if (s.gzhead.comment) { - beg = s.pending; - do { - if (s.pending === s.pending_buf_size) { - if (s.gzhead.hcrc && s.pending > beg) { - strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); - } - flush_pending(strm); - beg = s.pending; - if (s.pending === s.pending_buf_size) { - val = 1; - break; - } - } - if (s.gzindex < s.gzhead.comment.length) { - val = s.gzhead.comment.charCodeAt(s.gzindex++) & 255; - } else { - val = 0; - } - put_byte(s, val); - } while (val !== 0); - if (s.gzhead.hcrc && s.pending > beg) { - strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg); - } - if (val === 0) { - s.status = HCRC_STATE; - } - } else { - s.status = HCRC_STATE; - } - } - if (s.status === HCRC_STATE) { - if (s.gzhead.hcrc) { - if (s.pending + 2 > s.pending_buf_size) { - flush_pending(strm); - } - if (s.pending + 2 <= s.pending_buf_size) { - put_byte(s, strm.adler & 255); - put_byte(s, strm.adler >> 8 & 255); - strm.adler = 0; - s.status = BUSY_STATE; - } - } else { - s.status = BUSY_STATE; - } - } - if (s.pending !== 0) { - flush_pending(strm); - if (strm.avail_out === 0) { - s.last_flush = -1; - return Z_OK; - } - } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) && flush !== Z_FINISH) { - return err(strm, Z_BUF_ERROR); - } - if (s.status === FINISH_STATE && strm.avail_in !== 0) { - return err(strm, Z_BUF_ERROR); - } - if (strm.avail_in !== 0 || s.lookahead !== 0 || flush !== Z_NO_FLUSH && s.status !== FINISH_STATE) { - var bstate = s.strategy === Z_HUFFMAN_ONLY ? deflate_huff(s, flush) : s.strategy === Z_RLE ? deflate_rle(s, flush) : configuration_table[s.level].func(s, flush); - if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) { - s.status = FINISH_STATE; - } - if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) { - if (strm.avail_out === 0) { - s.last_flush = -1; - } - return Z_OK; - } - if (bstate === BS_BLOCK_DONE) { - if (flush === Z_PARTIAL_FLUSH) { - trees._tr_align(s); - } else if (flush !== Z_BLOCK) { - trees._tr_stored_block(s, 0, 0, false); - if (flush === Z_FULL_FLUSH) { - zero(s.head); - if (s.lookahead === 0) { - s.strstart = 0; - s.block_start = 0; - s.insert = 0; - } - } - } - flush_pending(strm); - if (strm.avail_out === 0) { - s.last_flush = -1; - return Z_OK; - } - } - } - if (flush !== Z_FINISH) { - return Z_OK; - } - if (s.wrap <= 0) { - return Z_STREAM_END; - } - if (s.wrap === 2) { - put_byte(s, strm.adler & 255); - put_byte(s, strm.adler >> 8 & 255); - put_byte(s, strm.adler >> 16 & 255); - put_byte(s, strm.adler >> 24 & 255); - put_byte(s, strm.total_in & 255); - put_byte(s, strm.total_in >> 8 & 255); - put_byte(s, strm.total_in >> 16 & 255); - put_byte(s, strm.total_in >> 24 & 255); - } else { - putShortMSB(s, strm.adler >>> 16); - putShortMSB(s, strm.adler & 65535); - } - flush_pending(strm); - if (s.wrap > 0) { - s.wrap = -s.wrap; - } - return s.pending !== 0 ? Z_OK : Z_STREAM_END; - } - function deflateEnd(strm) { - var status; - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - status = strm.state.status; - if (status !== INIT_STATE && status !== EXTRA_STATE && status !== NAME_STATE && status !== COMMENT_STATE && status !== HCRC_STATE && status !== BUSY_STATE && status !== FINISH_STATE) { - return err(strm, Z_STREAM_ERROR); - } - strm.state = null; - return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK; - } - function deflateSetDictionary(strm, dictionary) { - var dictLength = dictionary.length; - var s; - var str, n; - var wrap; - var avail; - var next; - var input; - var tmpDict; - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - s = strm.state; - wrap = s.wrap; - if (wrap === 2 || wrap === 1 && s.status !== INIT_STATE || s.lookahead) { - return Z_STREAM_ERROR; - } - if (wrap === 1) { - strm.adler = adler32(strm.adler, dictionary, dictLength, 0); - } - s.wrap = 0; - if (dictLength >= s.w_size) { - if (wrap === 0) { - zero(s.head); - s.strstart = 0; - s.block_start = 0; - s.insert = 0; - } - tmpDict = new utils.Buf8(s.w_size); - utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0); - dictionary = tmpDict; - dictLength = s.w_size; - } - avail = strm.avail_in; - next = strm.next_in; - input = strm.input; - strm.avail_in = dictLength; - strm.next_in = 0; - strm.input = dictionary; - fill_window(s); - while (s.lookahead >= MIN_MATCH) { - str = s.strstart; - n = s.lookahead - (MIN_MATCH - 1); - do { - s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask; - s.prev[str & s.w_mask] = s.head[s.ins_h]; - s.head[s.ins_h] = str; - str++; - } while (--n); - s.strstart = str; - s.lookahead = MIN_MATCH - 1; - fill_window(s); - } - s.strstart += s.lookahead; - s.block_start = s.strstart; - s.insert = s.lookahead; - s.lookahead = 0; - s.match_length = s.prev_length = MIN_MATCH - 1; - s.match_available = 0; - strm.next_in = next; - strm.input = input; - strm.avail_in = avail; - s.wrap = wrap; - return Z_OK; - } - exports.deflateInit = deflateInit; - exports.deflateInit2 = deflateInit2; - exports.deflateReset = deflateReset; - exports.deflateResetKeep = deflateResetKeep; - exports.deflateSetHeader = deflateSetHeader; - exports.deflate = deflate; - exports.deflateEnd = deflateEnd; - exports.deflateSetDictionary = deflateSetDictionary; - exports.deflateInfo = "pako deflate (from Nodeca project)"; - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/utils/strings.js -var require_strings = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/utils/strings.js"(exports) { - "use strict"; - var utils = require_common(); - var STR_APPLY_OK = true; - var STR_APPLY_UIA_OK = true; - try { - String.fromCharCode.apply(null, [0]); - } catch (__) { - STR_APPLY_OK = false; - } - try { - String.fromCharCode.apply(null, new Uint8Array(1)); - } catch (__) { - STR_APPLY_UIA_OK = false; - } - var _utf8len = new utils.Buf8(256); - for (q = 0; q < 256; q++) { - _utf8len[q] = q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1; - } - var q; - _utf8len[254] = _utf8len[254] = 1; - exports.string2buf = function(str) { - var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0; - for (m_pos = 0; m_pos < str_len; m_pos++) { - c = str.charCodeAt(m_pos); - if ((c & 64512) === 55296 && m_pos + 1 < str_len) { - c2 = str.charCodeAt(m_pos + 1); - if ((c2 & 64512) === 56320) { - c = 65536 + (c - 55296 << 10) + (c2 - 56320); - m_pos++; - } - } - buf_len += c < 128 ? 1 : c < 2048 ? 2 : c < 65536 ? 3 : 4; - } - buf = new utils.Buf8(buf_len); - for (i = 0, m_pos = 0; i < buf_len; m_pos++) { - c = str.charCodeAt(m_pos); - if ((c & 64512) === 55296 && m_pos + 1 < str_len) { - c2 = str.charCodeAt(m_pos + 1); - if ((c2 & 64512) === 56320) { - c = 65536 + (c - 55296 << 10) + (c2 - 56320); - m_pos++; - } - } - if (c < 128) { - buf[i++] = c; - } else if (c < 2048) { - buf[i++] = 192 | c >>> 6; - buf[i++] = 128 | c & 63; - } else if (c < 65536) { - buf[i++] = 224 | c >>> 12; - buf[i++] = 128 | c >>> 6 & 63; - buf[i++] = 128 | c & 63; - } else { - buf[i++] = 240 | c >>> 18; - buf[i++] = 128 | c >>> 12 & 63; - buf[i++] = 128 | c >>> 6 & 63; - buf[i++] = 128 | c & 63; - } - } - return buf; - }; - function buf2binstring(buf, len) { - if (len < 65534) { - if (buf.subarray && STR_APPLY_UIA_OK || !buf.subarray && STR_APPLY_OK) { - return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len)); - } - } - var result = ""; - for (var i = 0; i < len; i++) { - result += String.fromCharCode(buf[i]); - } - return result; - } - exports.buf2binstring = function(buf) { - return buf2binstring(buf, buf.length); - }; - exports.binstring2buf = function(str) { - var buf = new utils.Buf8(str.length); - for (var i = 0, len = buf.length; i < len; i++) { - buf[i] = str.charCodeAt(i); - } - return buf; - }; - exports.buf2string = function(buf, max) { - var i, out, c, c_len; - var len = max || buf.length; - var utf16buf = new Array(len * 2); - for (out = 0, i = 0; i < len; ) { - c = buf[i++]; - if (c < 128) { - utf16buf[out++] = c; - continue; - } - c_len = _utf8len[c]; - if (c_len > 4) { - utf16buf[out++] = 65533; - i += c_len - 1; - continue; - } - c &= c_len === 2 ? 31 : c_len === 3 ? 15 : 7; - while (c_len > 1 && i < len) { - c = c << 6 | buf[i++] & 63; - c_len--; - } - if (c_len > 1) { - utf16buf[out++] = 65533; - continue; - } - if (c < 65536) { - utf16buf[out++] = c; - } else { - c -= 65536; - utf16buf[out++] = 55296 | c >> 10 & 1023; - utf16buf[out++] = 56320 | c & 1023; - } - } - return buf2binstring(utf16buf, out); - }; - exports.utf8border = function(buf, max) { - var pos; - max = max || buf.length; - if (max > buf.length) { - max = buf.length; - } - pos = max - 1; - while (pos >= 0 && (buf[pos] & 192) === 128) { - pos--; - } - if (pos < 0) { - return max; - } - if (pos === 0) { - return max; - } - return pos + _utf8len[buf[pos]] > max ? pos : max; - }; - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/zstream.js -var require_zstream = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/zstream.js"(exports, module2) { - "use strict"; - function ZStream() { - this.input = null; - this.next_in = 0; - this.avail_in = 0; - this.total_in = 0; - this.output = null; - this.next_out = 0; - this.avail_out = 0; - this.total_out = 0; - this.msg = ""; - this.state = null; - this.data_type = 2; - this.adler = 0; - } - module2.exports = ZStream; - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/deflate.js -var require_deflate2 = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/deflate.js"(exports) { - "use strict"; - var zlib_deflate = require_deflate(); - var utils = require_common(); - var strings = require_strings(); - var msg = require_messages(); - var ZStream = require_zstream(); - var toString = Object.prototype.toString; - var Z_NO_FLUSH = 0; - var Z_FINISH = 4; - var Z_OK = 0; - var Z_STREAM_END = 1; - var Z_SYNC_FLUSH = 2; - var Z_DEFAULT_COMPRESSION = -1; - var Z_DEFAULT_STRATEGY = 0; - var Z_DEFLATED = 8; - function Deflate(options) { - if (!(this instanceof Deflate)) return new Deflate(options); - this.options = utils.assign({ - level: Z_DEFAULT_COMPRESSION, - method: Z_DEFLATED, - chunkSize: 16384, - windowBits: 15, - memLevel: 8, - strategy: Z_DEFAULT_STRATEGY, - to: "" - }, options || {}); - var opt = this.options; - if (opt.raw && opt.windowBits > 0) { - opt.windowBits = -opt.windowBits; - } else if (opt.gzip && opt.windowBits > 0 && opt.windowBits < 16) { - opt.windowBits += 16; - } - this.err = 0; - this.msg = ""; - this.ended = false; - this.chunks = []; - this.strm = new ZStream(); - this.strm.avail_out = 0; - var status = zlib_deflate.deflateInit2( - this.strm, - opt.level, - opt.method, - opt.windowBits, - opt.memLevel, - opt.strategy - ); - if (status !== Z_OK) { - throw new Error(msg[status]); - } - if (opt.header) { - zlib_deflate.deflateSetHeader(this.strm, opt.header); - } - if (opt.dictionary) { - var dict; - if (typeof opt.dictionary === "string") { - dict = strings.string2buf(opt.dictionary); - } else if (toString.call(opt.dictionary) === "[object ArrayBuffer]") { - dict = new Uint8Array(opt.dictionary); - } else { - dict = opt.dictionary; - } - status = zlib_deflate.deflateSetDictionary(this.strm, dict); - if (status !== Z_OK) { - throw new Error(msg[status]); - } - this._dict_set = true; - } - } - Deflate.prototype.push = function(data, mode) { - var strm = this.strm; - var chunkSize = this.options.chunkSize; - var status, _mode; - if (this.ended) { - return false; - } - _mode = mode === ~~mode ? mode : mode === true ? Z_FINISH : Z_NO_FLUSH; - if (typeof data === "string") { - strm.input = strings.string2buf(data); - } else if (toString.call(data) === "[object ArrayBuffer]") { - strm.input = new Uint8Array(data); - } else { - strm.input = data; - } - strm.next_in = 0; - strm.avail_in = strm.input.length; - do { - if (strm.avail_out === 0) { - strm.output = new utils.Buf8(chunkSize); - strm.next_out = 0; - strm.avail_out = chunkSize; - } - status = zlib_deflate.deflate(strm, _mode); - if (status !== Z_STREAM_END && status !== Z_OK) { - this.onEnd(status); - this.ended = true; - return false; - } - if (strm.avail_out === 0 || strm.avail_in === 0 && (_mode === Z_FINISH || _mode === Z_SYNC_FLUSH)) { - if (this.options.to === "string") { - this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output, strm.next_out))); - } else { - this.onData(utils.shrinkBuf(strm.output, strm.next_out)); - } - } - } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END); - if (_mode === Z_FINISH) { - status = zlib_deflate.deflateEnd(this.strm); - this.onEnd(status); - this.ended = true; - return status === Z_OK; - } - if (_mode === Z_SYNC_FLUSH) { - this.onEnd(Z_OK); - strm.avail_out = 0; - return true; - } - return true; - }; - Deflate.prototype.onData = function(chunk) { - this.chunks.push(chunk); - }; - Deflate.prototype.onEnd = function(status) { - if (status === Z_OK) { - if (this.options.to === "string") { - this.result = this.chunks.join(""); - } else { - this.result = utils.flattenChunks(this.chunks); - } - } - this.chunks = []; - this.err = status; - this.msg = this.strm.msg; - }; - function deflate(input, options) { - var deflator = new Deflate(options); - deflator.push(input, true); - if (deflator.err) { - throw deflator.msg || msg[deflator.err]; - } - return deflator.result; - } - function deflateRaw(input, options) { - options = options || {}; - options.raw = true; - return deflate(input, options); - } - function gzip(input, options) { - options = options || {}; - options.gzip = true; - return deflate(input, options); - } - exports.Deflate = Deflate; - exports.deflate = deflate; - exports.deflateRaw = deflateRaw; - exports.gzip = gzip; - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inffast.js -var require_inffast = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inffast.js"(exports, module2) { - "use strict"; - var BAD = 30; - var TYPE = 12; - module2.exports = function inflate_fast(strm, start) { - var state; - var _in; - var last2; - var _out; - var beg; - var end; - var dmax; - var wsize; - var whave; - var wnext; - var s_window; - var hold; - var bits; - var lcode; - var dcode; - var lmask; - var dmask; - var here; - var op; - var len; - var dist; - var from; - var from_source; - var input, output; - state = strm.state; - _in = strm.next_in; - input = strm.input; - last2 = _in + (strm.avail_in - 5); - _out = strm.next_out; - output = strm.output; - beg = _out - (start - strm.avail_out); - end = _out + (strm.avail_out - 257); - dmax = state.dmax; - wsize = state.wsize; - whave = state.whave; - wnext = state.wnext; - s_window = state.window; - hold = state.hold; - bits = state.bits; - lcode = state.lencode; - dcode = state.distcode; - lmask = (1 << state.lenbits) - 1; - dmask = (1 << state.distbits) - 1; - top: - do { - if (bits < 15) { - hold += input[_in++] << bits; - bits += 8; - hold += input[_in++] << bits; - bits += 8; - } - here = lcode[hold & lmask]; - dolen: - for (; ; ) { - op = here >>> 24; - hold >>>= op; - bits -= op; - op = here >>> 16 & 255; - if (op === 0) { - output[_out++] = here & 65535; - } else if (op & 16) { - len = here & 65535; - op &= 15; - if (op) { - if (bits < op) { - hold += input[_in++] << bits; - bits += 8; - } - len += hold & (1 << op) - 1; - hold >>>= op; - bits -= op; - } - if (bits < 15) { - hold += input[_in++] << bits; - bits += 8; - hold += input[_in++] << bits; - bits += 8; - } - here = dcode[hold & dmask]; - dodist: - for (; ; ) { - op = here >>> 24; - hold >>>= op; - bits -= op; - op = here >>> 16 & 255; - if (op & 16) { - dist = here & 65535; - op &= 15; - if (bits < op) { - hold += input[_in++] << bits; - bits += 8; - if (bits < op) { - hold += input[_in++] << bits; - bits += 8; - } - } - dist += hold & (1 << op) - 1; - if (dist > dmax) { - strm.msg = "invalid distance too far back"; - state.mode = BAD; - break top; - } - hold >>>= op; - bits -= op; - op = _out - beg; - if (dist > op) { - op = dist - op; - if (op > whave) { - if (state.sane) { - strm.msg = "invalid distance too far back"; - state.mode = BAD; - break top; - } - } - from = 0; - from_source = s_window; - if (wnext === 0) { - from += wsize - op; - if (op < len) { - len -= op; - do { - output[_out++] = s_window[from++]; - } while (--op); - from = _out - dist; - from_source = output; - } - } else if (wnext < op) { - from += wsize + wnext - op; - op -= wnext; - if (op < len) { - len -= op; - do { - output[_out++] = s_window[from++]; - } while (--op); - from = 0; - if (wnext < len) { - op = wnext; - len -= op; - do { - output[_out++] = s_window[from++]; - } while (--op); - from = _out - dist; - from_source = output; - } - } - } else { - from += wnext - op; - if (op < len) { - len -= op; - do { - output[_out++] = s_window[from++]; - } while (--op); - from = _out - dist; - from_source = output; - } - } - while (len > 2) { - output[_out++] = from_source[from++]; - output[_out++] = from_source[from++]; - output[_out++] = from_source[from++]; - len -= 3; - } - if (len) { - output[_out++] = from_source[from++]; - if (len > 1) { - output[_out++] = from_source[from++]; - } - } - } else { - from = _out - dist; - do { - output[_out++] = output[from++]; - output[_out++] = output[from++]; - output[_out++] = output[from++]; - len -= 3; - } while (len > 2); - if (len) { - output[_out++] = output[from++]; - if (len > 1) { - output[_out++] = output[from++]; - } - } - } - } else if ((op & 64) === 0) { - here = dcode[(here & 65535) + (hold & (1 << op) - 1)]; - continue dodist; - } else { - strm.msg = "invalid distance code"; - state.mode = BAD; - break top; - } - break; - } - } else if ((op & 64) === 0) { - here = lcode[(here & 65535) + (hold & (1 << op) - 1)]; - continue dolen; - } else if (op & 32) { - state.mode = TYPE; - break top; - } else { - strm.msg = "invalid literal/length code"; - state.mode = BAD; - break top; - } - break; - } - } while (_in < last2 && _out < end); - len = bits >> 3; - _in -= len; - bits -= len << 3; - hold &= (1 << bits) - 1; - strm.next_in = _in; - strm.next_out = _out; - strm.avail_in = _in < last2 ? 5 + (last2 - _in) : 5 - (_in - last2); - strm.avail_out = _out < end ? 257 + (end - _out) : 257 - (_out - end); - state.hold = hold; - state.bits = bits; - return; - }; - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inftrees.js -var require_inftrees = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inftrees.js"(exports, module2) { - "use strict"; - var utils = require_common(); - var MAXBITS = 15; - var ENOUGH_LENS = 852; - var ENOUGH_DISTS = 592; - var CODES = 0; - var LENS = 1; - var DISTS = 2; - var lbase = [ - /* Length codes 257..285 base */ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 13, - 15, - 17, - 19, - 23, - 27, - 31, - 35, - 43, - 51, - 59, - 67, - 83, - 99, - 115, - 131, - 163, - 195, - 227, - 258, - 0, - 0 - ]; - var lext = [ - /* Length codes 257..285 extra */ - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 16, - 17, - 17, - 17, - 17, - 18, - 18, - 18, - 18, - 19, - 19, - 19, - 19, - 20, - 20, - 20, - 20, - 21, - 21, - 21, - 21, - 16, - 72, - 78 - ]; - var dbase = [ - /* Distance codes 0..29 base */ - 1, - 2, - 3, - 4, - 5, - 7, - 9, - 13, - 17, - 25, - 33, - 49, - 65, - 97, - 129, - 193, - 257, - 385, - 513, - 769, - 1025, - 1537, - 2049, - 3073, - 4097, - 6145, - 8193, - 12289, - 16385, - 24577, - 0, - 0 - ]; - var dext = [ - /* Distance codes 0..29 extra */ - 16, - 16, - 16, - 16, - 17, - 17, - 18, - 18, - 19, - 19, - 20, - 20, - 21, - 21, - 22, - 22, - 23, - 23, - 24, - 24, - 25, - 25, - 26, - 26, - 27, - 27, - 28, - 28, - 29, - 29, - 64, - 64 - ]; - module2.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) { - var bits = opts.bits; - var len = 0; - var sym = 0; - var min = 0, max = 0; - var root = 0; - var curr = 0; - var drop = 0; - var left = 0; - var used = 0; - var huff = 0; - var incr; - var fill2; - var low; - var mask; - var next; - var base = null; - var base_index = 0; - var end; - var count = new utils.Buf16(MAXBITS + 1); - var offs = new utils.Buf16(MAXBITS + 1); - var extra = null; - var extra_index = 0; - var here_bits, here_op, here_val; - for (len = 0; len <= MAXBITS; len++) { - count[len] = 0; - } - for (sym = 0; sym < codes; sym++) { - count[lens[lens_index + sym]]++; - } - root = bits; - for (max = MAXBITS; max >= 1; max--) { - if (count[max] !== 0) { - break; - } - } - if (root > max) { - root = max; - } - if (max === 0) { - table[table_index++] = 1 << 24 | 64 << 16 | 0; - table[table_index++] = 1 << 24 | 64 << 16 | 0; - opts.bits = 1; - return 0; - } - for (min = 1; min < max; min++) { - if (count[min] !== 0) { - break; - } - } - if (root < min) { - root = min; - } - left = 1; - for (len = 1; len <= MAXBITS; len++) { - left <<= 1; - left -= count[len]; - if (left < 0) { - return -1; - } - } - if (left > 0 && (type === CODES || max !== 1)) { - return -1; - } - offs[1] = 0; - for (len = 1; len < MAXBITS; len++) { - offs[len + 1] = offs[len] + count[len]; - } - for (sym = 0; sym < codes; sym++) { - if (lens[lens_index + sym] !== 0) { - work[offs[lens[lens_index + sym]]++] = sym; - } - } - if (type === CODES) { - base = extra = work; - end = 19; - } else if (type === LENS) { - base = lbase; - base_index -= 257; - extra = lext; - extra_index -= 257; - end = 256; - } else { - base = dbase; - extra = dext; - end = -1; - } - huff = 0; - sym = 0; - len = min; - next = table_index; - curr = root; - drop = 0; - low = -1; - used = 1 << root; - mask = used - 1; - if (type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS) { - return 1; - } - for (; ; ) { - here_bits = len - drop; - if (work[sym] < end) { - here_op = 0; - here_val = work[sym]; - } else if (work[sym] > end) { - here_op = extra[extra_index + work[sym]]; - here_val = base[base_index + work[sym]]; - } else { - here_op = 32 + 64; - here_val = 0; - } - incr = 1 << len - drop; - fill2 = 1 << curr; - min = fill2; - do { - fill2 -= incr; - table[next + (huff >> drop) + fill2] = here_bits << 24 | here_op << 16 | here_val | 0; - } while (fill2 !== 0); - incr = 1 << len - 1; - while (huff & incr) { - incr >>= 1; - } - if (incr !== 0) { - huff &= incr - 1; - huff += incr; - } else { - huff = 0; - } - sym++; - if (--count[len] === 0) { - if (len === max) { - break; - } - len = lens[lens_index + work[sym]]; - } - if (len > root && (huff & mask) !== low) { - if (drop === 0) { - drop = root; - } - next += min; - curr = len - drop; - left = 1 << curr; - while (curr + drop < max) { - left -= count[curr + drop]; - if (left <= 0) { - break; - } - curr++; - left <<= 1; - } - used += 1 << curr; - if (type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS) { - return 1; - } - low = huff & mask; - table[low] = root << 24 | curr << 16 | next - table_index | 0; - } - } - if (huff !== 0) { - table[next + huff] = len - drop << 24 | 64 << 16 | 0; - } - opts.bits = root; - return 0; - }; - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inflate.js -var require_inflate = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inflate.js"(exports) { - "use strict"; - var utils = require_common(); - var adler32 = require_adler32(); - var crc32 = require_crc32(); - var inflate_fast = require_inffast(); - var inflate_table = require_inftrees(); - var CODES = 0; - var LENS = 1; - var DISTS = 2; - var Z_FINISH = 4; - var Z_BLOCK = 5; - var Z_TREES = 6; - var Z_OK = 0; - var Z_STREAM_END = 1; - var Z_NEED_DICT = 2; - var Z_STREAM_ERROR = -2; - var Z_DATA_ERROR = -3; - var Z_MEM_ERROR = -4; - var Z_BUF_ERROR = -5; - var Z_DEFLATED = 8; - var HEAD = 1; - var FLAGS = 2; - var TIME = 3; - var OS = 4; - var EXLEN = 5; - var EXTRA = 6; - var NAME = 7; - var COMMENT = 8; - var HCRC = 9; - var DICTID = 10; - var DICT = 11; - var TYPE = 12; - var TYPEDO = 13; - var STORED = 14; - var COPY_ = 15; - var COPY = 16; - var TABLE = 17; - var LENLENS = 18; - var CODELENS = 19; - var LEN_ = 20; - var LEN = 21; - var LENEXT = 22; - var DIST = 23; - var DISTEXT = 24; - var MATCH = 25; - var LIT = 26; - var CHECK = 27; - var LENGTH = 28; - var DONE = 29; - var BAD = 30; - var MEM = 31; - var SYNC = 32; - var ENOUGH_LENS = 852; - var ENOUGH_DISTS = 592; - var MAX_WBITS = 15; - var DEF_WBITS = MAX_WBITS; - function zswap32(q) { - return (q >>> 24 & 255) + (q >>> 8 & 65280) + ((q & 65280) << 8) + ((q & 255) << 24); - } - function InflateState() { - this.mode = 0; - this.last = false; - this.wrap = 0; - this.havedict = false; - this.flags = 0; - this.dmax = 0; - this.check = 0; - this.total = 0; - this.head = null; - this.wbits = 0; - this.wsize = 0; - this.whave = 0; - this.wnext = 0; - this.window = null; - this.hold = 0; - this.bits = 0; - this.length = 0; - this.offset = 0; - this.extra = 0; - this.lencode = null; - this.distcode = null; - this.lenbits = 0; - this.distbits = 0; - this.ncode = 0; - this.nlen = 0; - this.ndist = 0; - this.have = 0; - this.next = null; - this.lens = new utils.Buf16(320); - this.work = new utils.Buf16(288); - this.lendyn = null; - this.distdyn = null; - this.sane = 0; - this.back = 0; - this.was = 0; - } - function inflateResetKeep(strm) { - var state; - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - state = strm.state; - strm.total_in = strm.total_out = state.total = 0; - strm.msg = ""; - if (state.wrap) { - strm.adler = state.wrap & 1; - } - state.mode = HEAD; - state.last = 0; - state.havedict = 0; - state.dmax = 32768; - state.head = null; - state.hold = 0; - state.bits = 0; - state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS); - state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS); - state.sane = 1; - state.back = -1; - return Z_OK; - } - function inflateReset(strm) { - var state; - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - state = strm.state; - state.wsize = 0; - state.whave = 0; - state.wnext = 0; - return inflateResetKeep(strm); - } - function inflateReset2(strm, windowBits) { - var wrap; - var state; - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - state = strm.state; - if (windowBits < 0) { - wrap = 0; - windowBits = -windowBits; - } else { - wrap = (windowBits >> 4) + 1; - if (windowBits < 48) { - windowBits &= 15; - } - } - if (windowBits && (windowBits < 8 || windowBits > 15)) { - return Z_STREAM_ERROR; - } - if (state.window !== null && state.wbits !== windowBits) { - state.window = null; - } - state.wrap = wrap; - state.wbits = windowBits; - return inflateReset(strm); - } - function inflateInit2(strm, windowBits) { - var ret; - var state; - if (!strm) { - return Z_STREAM_ERROR; - } - state = new InflateState(); - strm.state = state; - state.window = null; - ret = inflateReset2(strm, windowBits); - if (ret !== Z_OK) { - strm.state = null; - } - return ret; - } - function inflateInit(strm) { - return inflateInit2(strm, DEF_WBITS); - } - var virgin = true; - var lenfix; - var distfix; - function fixedtables(state) { - if (virgin) { - var sym; - lenfix = new utils.Buf32(512); - distfix = new utils.Buf32(32); - sym = 0; - while (sym < 144) { - state.lens[sym++] = 8; - } - while (sym < 256) { - state.lens[sym++] = 9; - } - while (sym < 280) { - state.lens[sym++] = 7; - } - while (sym < 288) { - state.lens[sym++] = 8; - } - inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 }); - sym = 0; - while (sym < 32) { - state.lens[sym++] = 5; - } - inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 }); - virgin = false; - } - state.lencode = lenfix; - state.lenbits = 9; - state.distcode = distfix; - state.distbits = 5; - } - function updatewindow(strm, src, end, copy) { - var dist; - var state = strm.state; - if (state.window === null) { - state.wsize = 1 << state.wbits; - state.wnext = 0; - state.whave = 0; - state.window = new utils.Buf8(state.wsize); - } - if (copy >= state.wsize) { - utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0); - state.wnext = 0; - state.whave = state.wsize; - } else { - dist = state.wsize - state.wnext; - if (dist > copy) { - dist = copy; - } - utils.arraySet(state.window, src, end - copy, dist, state.wnext); - copy -= dist; - if (copy) { - utils.arraySet(state.window, src, end - copy, copy, 0); - state.wnext = copy; - state.whave = state.wsize; - } else { - state.wnext += dist; - if (state.wnext === state.wsize) { - state.wnext = 0; - } - if (state.whave < state.wsize) { - state.whave += dist; - } - } - } - return 0; - } - function inflate(strm, flush) { - var state; - var input, output; - var next; - var put; - var have, left; - var hold; - var bits; - var _in, _out; - var copy; - var from; - var from_source; - var here = 0; - var here_bits, here_op, here_val; - var last_bits, last_op, last_val; - var len; - var ret; - var hbuf = new utils.Buf8(4); - var opts; - var n; - var order = ( - /* permutation of code lengths */ - [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15] - ); - if (!strm || !strm.state || !strm.output || !strm.input && strm.avail_in !== 0) { - return Z_STREAM_ERROR; - } - state = strm.state; - if (state.mode === TYPE) { - state.mode = TYPEDO; - } - put = strm.next_out; - output = strm.output; - left = strm.avail_out; - next = strm.next_in; - input = strm.input; - have = strm.avail_in; - hold = state.hold; - bits = state.bits; - _in = have; - _out = left; - ret = Z_OK; - inf_leave: - for (; ; ) { - switch (state.mode) { - case HEAD: - if (state.wrap === 0) { - state.mode = TYPEDO; - break; - } - while (bits < 16) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if (state.wrap & 2 && hold === 35615) { - state.check = 0; - hbuf[0] = hold & 255; - hbuf[1] = hold >>> 8 & 255; - state.check = crc32(state.check, hbuf, 2, 0); - hold = 0; - bits = 0; - state.mode = FLAGS; - break; - } - state.flags = 0; - if (state.head) { - state.head.done = false; - } - if (!(state.wrap & 1) || /* check if zlib header allowed */ - (((hold & 255) << 8) + (hold >> 8)) % 31) { - strm.msg = "incorrect header check"; - state.mode = BAD; - break; - } - if ((hold & 15) !== Z_DEFLATED) { - strm.msg = "unknown compression method"; - state.mode = BAD; - break; - } - hold >>>= 4; - bits -= 4; - len = (hold & 15) + 8; - if (state.wbits === 0) { - state.wbits = len; - } else if (len > state.wbits) { - strm.msg = "invalid window size"; - state.mode = BAD; - break; - } - state.dmax = 1 << len; - strm.adler = state.check = 1; - state.mode = hold & 512 ? DICTID : TYPE; - hold = 0; - bits = 0; - break; - case FLAGS: - while (bits < 16) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - state.flags = hold; - if ((state.flags & 255) !== Z_DEFLATED) { - strm.msg = "unknown compression method"; - state.mode = BAD; - break; - } - if (state.flags & 57344) { - strm.msg = "unknown header flags set"; - state.mode = BAD; - break; - } - if (state.head) { - state.head.text = hold >> 8 & 1; - } - if (state.flags & 512) { - hbuf[0] = hold & 255; - hbuf[1] = hold >>> 8 & 255; - state.check = crc32(state.check, hbuf, 2, 0); - } - hold = 0; - bits = 0; - state.mode = TIME; - case TIME: - while (bits < 32) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if (state.head) { - state.head.time = hold; - } - if (state.flags & 512) { - hbuf[0] = hold & 255; - hbuf[1] = hold >>> 8 & 255; - hbuf[2] = hold >>> 16 & 255; - hbuf[3] = hold >>> 24 & 255; - state.check = crc32(state.check, hbuf, 4, 0); - } - hold = 0; - bits = 0; - state.mode = OS; - case OS: - while (bits < 16) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if (state.head) { - state.head.xflags = hold & 255; - state.head.os = hold >> 8; - } - if (state.flags & 512) { - hbuf[0] = hold & 255; - hbuf[1] = hold >>> 8 & 255; - state.check = crc32(state.check, hbuf, 2, 0); - } - hold = 0; - bits = 0; - state.mode = EXLEN; - case EXLEN: - if (state.flags & 1024) { - while (bits < 16) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - state.length = hold; - if (state.head) { - state.head.extra_len = hold; - } - if (state.flags & 512) { - hbuf[0] = hold & 255; - hbuf[1] = hold >>> 8 & 255; - state.check = crc32(state.check, hbuf, 2, 0); - } - hold = 0; - bits = 0; - } else if (state.head) { - state.head.extra = null; - } - state.mode = EXTRA; - case EXTRA: - if (state.flags & 1024) { - copy = state.length; - if (copy > have) { - copy = have; - } - if (copy) { - if (state.head) { - len = state.head.extra_len - state.length; - if (!state.head.extra) { - state.head.extra = new Array(state.head.extra_len); - } - utils.arraySet( - state.head.extra, - input, - next, - // extra field is limited to 65536 bytes - // - no need for additional size check - copy, - /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/ - len - ); - } - if (state.flags & 512) { - state.check = crc32(state.check, input, copy, next); - } - have -= copy; - next += copy; - state.length -= copy; - } - if (state.length) { - break inf_leave; - } - } - state.length = 0; - state.mode = NAME; - case NAME: - if (state.flags & 2048) { - if (have === 0) { - break inf_leave; - } - copy = 0; - do { - len = input[next + copy++]; - if (state.head && len && state.length < 65536) { - state.head.name += String.fromCharCode(len); - } - } while (len && copy < have); - if (state.flags & 512) { - state.check = crc32(state.check, input, copy, next); - } - have -= copy; - next += copy; - if (len) { - break inf_leave; - } - } else if (state.head) { - state.head.name = null; - } - state.length = 0; - state.mode = COMMENT; - case COMMENT: - if (state.flags & 4096) { - if (have === 0) { - break inf_leave; - } - copy = 0; - do { - len = input[next + copy++]; - if (state.head && len && state.length < 65536) { - state.head.comment += String.fromCharCode(len); - } - } while (len && copy < have); - if (state.flags & 512) { - state.check = crc32(state.check, input, copy, next); - } - have -= copy; - next += copy; - if (len) { - break inf_leave; - } - } else if (state.head) { - state.head.comment = null; - } - state.mode = HCRC; - case HCRC: - if (state.flags & 512) { - while (bits < 16) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if (hold !== (state.check & 65535)) { - strm.msg = "header crc mismatch"; - state.mode = BAD; - break; - } - hold = 0; - bits = 0; - } - if (state.head) { - state.head.hcrc = state.flags >> 9 & 1; - state.head.done = true; - } - strm.adler = state.check = 0; - state.mode = TYPE; - break; - case DICTID: - while (bits < 32) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - strm.adler = state.check = zswap32(hold); - hold = 0; - bits = 0; - state.mode = DICT; - case DICT: - if (state.havedict === 0) { - strm.next_out = put; - strm.avail_out = left; - strm.next_in = next; - strm.avail_in = have; - state.hold = hold; - state.bits = bits; - return Z_NEED_DICT; - } - strm.adler = state.check = 1; - state.mode = TYPE; - case TYPE: - if (flush === Z_BLOCK || flush === Z_TREES) { - break inf_leave; - } - case TYPEDO: - if (state.last) { - hold >>>= bits & 7; - bits -= bits & 7; - state.mode = CHECK; - break; - } - while (bits < 3) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - state.last = hold & 1; - hold >>>= 1; - bits -= 1; - switch (hold & 3) { - case 0: - state.mode = STORED; - break; - case 1: - fixedtables(state); - state.mode = LEN_; - if (flush === Z_TREES) { - hold >>>= 2; - bits -= 2; - break inf_leave; - } - break; - case 2: - state.mode = TABLE; - break; - case 3: - strm.msg = "invalid block type"; - state.mode = BAD; - } - hold >>>= 2; - bits -= 2; - break; - case STORED: - hold >>>= bits & 7; - bits -= bits & 7; - while (bits < 32) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if ((hold & 65535) !== (hold >>> 16 ^ 65535)) { - strm.msg = "invalid stored block lengths"; - state.mode = BAD; - break; - } - state.length = hold & 65535; - hold = 0; - bits = 0; - state.mode = COPY_; - if (flush === Z_TREES) { - break inf_leave; - } - case COPY_: - state.mode = COPY; - case COPY: - copy = state.length; - if (copy) { - if (copy > have) { - copy = have; - } - if (copy > left) { - copy = left; - } - if (copy === 0) { - break inf_leave; - } - utils.arraySet(output, input, next, copy, put); - have -= copy; - next += copy; - left -= copy; - put += copy; - state.length -= copy; - break; - } - state.mode = TYPE; - break; - case TABLE: - while (bits < 14) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - state.nlen = (hold & 31) + 257; - hold >>>= 5; - bits -= 5; - state.ndist = (hold & 31) + 1; - hold >>>= 5; - bits -= 5; - state.ncode = (hold & 15) + 4; - hold >>>= 4; - bits -= 4; - if (state.nlen > 286 || state.ndist > 30) { - strm.msg = "too many length or distance symbols"; - state.mode = BAD; - break; - } - state.have = 0; - state.mode = LENLENS; - case LENLENS: - while (state.have < state.ncode) { - while (bits < 3) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - state.lens[order[state.have++]] = hold & 7; - hold >>>= 3; - bits -= 3; - } - while (state.have < 19) { - state.lens[order[state.have++]] = 0; - } - state.lencode = state.lendyn; - state.lenbits = 7; - opts = { bits: state.lenbits }; - ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts); - state.lenbits = opts.bits; - if (ret) { - strm.msg = "invalid code lengths set"; - state.mode = BAD; - break; - } - state.have = 0; - state.mode = CODELENS; - case CODELENS: - while (state.have < state.nlen + state.ndist) { - for (; ; ) { - here = state.lencode[hold & (1 << state.lenbits) - 1]; - here_bits = here >>> 24; - here_op = here >>> 16 & 255; - here_val = here & 65535; - if (here_bits <= bits) { - break; - } - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if (here_val < 16) { - hold >>>= here_bits; - bits -= here_bits; - state.lens[state.have++] = here_val; - } else { - if (here_val === 16) { - n = here_bits + 2; - while (bits < n) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - hold >>>= here_bits; - bits -= here_bits; - if (state.have === 0) { - strm.msg = "invalid bit length repeat"; - state.mode = BAD; - break; - } - len = state.lens[state.have - 1]; - copy = 3 + (hold & 3); - hold >>>= 2; - bits -= 2; - } else if (here_val === 17) { - n = here_bits + 3; - while (bits < n) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - hold >>>= here_bits; - bits -= here_bits; - len = 0; - copy = 3 + (hold & 7); - hold >>>= 3; - bits -= 3; - } else { - n = here_bits + 7; - while (bits < n) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - hold >>>= here_bits; - bits -= here_bits; - len = 0; - copy = 11 + (hold & 127); - hold >>>= 7; - bits -= 7; - } - if (state.have + copy > state.nlen + state.ndist) { - strm.msg = "invalid bit length repeat"; - state.mode = BAD; - break; - } - while (copy--) { - state.lens[state.have++] = len; - } - } - } - if (state.mode === BAD) { - break; - } - if (state.lens[256] === 0) { - strm.msg = "invalid code -- missing end-of-block"; - state.mode = BAD; - break; - } - state.lenbits = 9; - opts = { bits: state.lenbits }; - ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts); - state.lenbits = opts.bits; - if (ret) { - strm.msg = "invalid literal/lengths set"; - state.mode = BAD; - break; - } - state.distbits = 6; - state.distcode = state.distdyn; - opts = { bits: state.distbits }; - ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts); - state.distbits = opts.bits; - if (ret) { - strm.msg = "invalid distances set"; - state.mode = BAD; - break; - } - state.mode = LEN_; - if (flush === Z_TREES) { - break inf_leave; - } - case LEN_: - state.mode = LEN; - case LEN: - if (have >= 6 && left >= 258) { - strm.next_out = put; - strm.avail_out = left; - strm.next_in = next; - strm.avail_in = have; - state.hold = hold; - state.bits = bits; - inflate_fast(strm, _out); - put = strm.next_out; - output = strm.output; - left = strm.avail_out; - next = strm.next_in; - input = strm.input; - have = strm.avail_in; - hold = state.hold; - bits = state.bits; - if (state.mode === TYPE) { - state.back = -1; - } - break; - } - state.back = 0; - for (; ; ) { - here = state.lencode[hold & (1 << state.lenbits) - 1]; - here_bits = here >>> 24; - here_op = here >>> 16 & 255; - here_val = here & 65535; - if (here_bits <= bits) { - break; - } - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if (here_op && (here_op & 240) === 0) { - last_bits = here_bits; - last_op = here_op; - last_val = here_val; - for (; ; ) { - here = state.lencode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)]; - here_bits = here >>> 24; - here_op = here >>> 16 & 255; - here_val = here & 65535; - if (last_bits + here_bits <= bits) { - break; - } - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - hold >>>= last_bits; - bits -= last_bits; - state.back += last_bits; - } - hold >>>= here_bits; - bits -= here_bits; - state.back += here_bits; - state.length = here_val; - if (here_op === 0) { - state.mode = LIT; - break; - } - if (here_op & 32) { - state.back = -1; - state.mode = TYPE; - break; - } - if (here_op & 64) { - strm.msg = "invalid literal/length code"; - state.mode = BAD; - break; - } - state.extra = here_op & 15; - state.mode = LENEXT; - case LENEXT: - if (state.extra) { - n = state.extra; - while (bits < n) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - state.length += hold & (1 << state.extra) - 1; - hold >>>= state.extra; - bits -= state.extra; - state.back += state.extra; - } - state.was = state.length; - state.mode = DIST; - case DIST: - for (; ; ) { - here = state.distcode[hold & (1 << state.distbits) - 1]; - here_bits = here >>> 24; - here_op = here >>> 16 & 255; - here_val = here & 65535; - if (here_bits <= bits) { - break; - } - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if ((here_op & 240) === 0) { - last_bits = here_bits; - last_op = here_op; - last_val = here_val; - for (; ; ) { - here = state.distcode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)]; - here_bits = here >>> 24; - here_op = here >>> 16 & 255; - here_val = here & 65535; - if (last_bits + here_bits <= bits) { - break; - } - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - hold >>>= last_bits; - bits -= last_bits; - state.back += last_bits; - } - hold >>>= here_bits; - bits -= here_bits; - state.back += here_bits; - if (here_op & 64) { - strm.msg = "invalid distance code"; - state.mode = BAD; - break; - } - state.offset = here_val; - state.extra = here_op & 15; - state.mode = DISTEXT; - case DISTEXT: - if (state.extra) { - n = state.extra; - while (bits < n) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - state.offset += hold & (1 << state.extra) - 1; - hold >>>= state.extra; - bits -= state.extra; - state.back += state.extra; - } - if (state.offset > state.dmax) { - strm.msg = "invalid distance too far back"; - state.mode = BAD; - break; - } - state.mode = MATCH; - case MATCH: - if (left === 0) { - break inf_leave; - } - copy = _out - left; - if (state.offset > copy) { - copy = state.offset - copy; - if (copy > state.whave) { - if (state.sane) { - strm.msg = "invalid distance too far back"; - state.mode = BAD; - break; - } - } - if (copy > state.wnext) { - copy -= state.wnext; - from = state.wsize - copy; - } else { - from = state.wnext - copy; - } - if (copy > state.length) { - copy = state.length; - } - from_source = state.window; - } else { - from_source = output; - from = put - state.offset; - copy = state.length; - } - if (copy > left) { - copy = left; - } - left -= copy; - state.length -= copy; - do { - output[put++] = from_source[from++]; - } while (--copy); - if (state.length === 0) { - state.mode = LEN; - } - break; - case LIT: - if (left === 0) { - break inf_leave; - } - output[put++] = state.length; - left--; - state.mode = LEN; - break; - case CHECK: - if (state.wrap) { - while (bits < 32) { - if (have === 0) { - break inf_leave; - } - have--; - hold |= input[next++] << bits; - bits += 8; - } - _out -= left; - strm.total_out += _out; - state.total += _out; - if (_out) { - strm.adler = state.check = /*UPDATE(state.check, put - _out, _out);*/ - state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out); - } - _out = left; - if ((state.flags ? hold : zswap32(hold)) !== state.check) { - strm.msg = "incorrect data check"; - state.mode = BAD; - break; - } - hold = 0; - bits = 0; - } - state.mode = LENGTH; - case LENGTH: - if (state.wrap && state.flags) { - while (bits < 32) { - if (have === 0) { - break inf_leave; - } - have--; - hold += input[next++] << bits; - bits += 8; - } - if (hold !== (state.total & 4294967295)) { - strm.msg = "incorrect length check"; - state.mode = BAD; - break; - } - hold = 0; - bits = 0; - } - state.mode = DONE; - case DONE: - ret = Z_STREAM_END; - break inf_leave; - case BAD: - ret = Z_DATA_ERROR; - break inf_leave; - case MEM: - return Z_MEM_ERROR; - case SYNC: - default: - return Z_STREAM_ERROR; - } - } - strm.next_out = put; - strm.avail_out = left; - strm.next_in = next; - strm.avail_in = have; - state.hold = hold; - state.bits = bits; - if (state.wsize || _out !== strm.avail_out && state.mode < BAD && (state.mode < CHECK || flush !== Z_FINISH)) { - if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) { - state.mode = MEM; - return Z_MEM_ERROR; - } - } - _in -= strm.avail_in; - _out -= strm.avail_out; - strm.total_in += _in; - strm.total_out += _out; - state.total += _out; - if (state.wrap && _out) { - strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/ - state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out); - } - strm.data_type = state.bits + (state.last ? 64 : 0) + (state.mode === TYPE ? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0); - if ((_in === 0 && _out === 0 || flush === Z_FINISH) && ret === Z_OK) { - ret = Z_BUF_ERROR; - } - return ret; - } - function inflateEnd(strm) { - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - var state = strm.state; - if (state.window) { - state.window = null; - } - strm.state = null; - return Z_OK; - } - function inflateGetHeader(strm, head) { - var state; - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - state = strm.state; - if ((state.wrap & 2) === 0) { - return Z_STREAM_ERROR; - } - state.head = head; - head.done = false; - return Z_OK; - } - function inflateSetDictionary(strm, dictionary) { - var dictLength = dictionary.length; - var state; - var dictid; - var ret; - if (!strm || !strm.state) { - return Z_STREAM_ERROR; - } - state = strm.state; - if (state.wrap !== 0 && state.mode !== DICT) { - return Z_STREAM_ERROR; - } - if (state.mode === DICT) { - dictid = 1; - dictid = adler32(dictid, dictionary, dictLength, 0); - if (dictid !== state.check) { - return Z_DATA_ERROR; - } - } - ret = updatewindow(strm, dictionary, dictLength, dictLength); - if (ret) { - state.mode = MEM; - return Z_MEM_ERROR; - } - state.havedict = 1; - return Z_OK; - } - exports.inflateReset = inflateReset; - exports.inflateReset2 = inflateReset2; - exports.inflateResetKeep = inflateResetKeep; - exports.inflateInit = inflateInit; - exports.inflateInit2 = inflateInit2; - exports.inflate = inflate; - exports.inflateEnd = inflateEnd; - exports.inflateGetHeader = inflateGetHeader; - exports.inflateSetDictionary = inflateSetDictionary; - exports.inflateInfo = "pako inflate (from Nodeca project)"; - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/constants.js -var require_constants = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/constants.js"(exports, module2) { - "use strict"; - module2.exports = { - /* Allowed flush values; see deflate() and inflate() below for details */ - Z_NO_FLUSH: 0, - Z_PARTIAL_FLUSH: 1, - Z_SYNC_FLUSH: 2, - Z_FULL_FLUSH: 3, - Z_FINISH: 4, - Z_BLOCK: 5, - Z_TREES: 6, - /* Return codes for the compression/decompression functions. Negative values - * are errors, positive values are used for special but normal events. - */ - Z_OK: 0, - Z_STREAM_END: 1, - Z_NEED_DICT: 2, - Z_ERRNO: -1, - Z_STREAM_ERROR: -2, - Z_DATA_ERROR: -3, - //Z_MEM_ERROR: -4, - Z_BUF_ERROR: -5, - //Z_VERSION_ERROR: -6, - /* compression levels */ - Z_NO_COMPRESSION: 0, - Z_BEST_SPEED: 1, - Z_BEST_COMPRESSION: 9, - Z_DEFAULT_COMPRESSION: -1, - Z_FILTERED: 1, - Z_HUFFMAN_ONLY: 2, - Z_RLE: 3, - Z_FIXED: 4, - Z_DEFAULT_STRATEGY: 0, - /* Possible values of the data_type field (though see inflate()) */ - Z_BINARY: 0, - Z_TEXT: 1, - //Z_ASCII: 1, // = Z_TEXT (deprecated) - Z_UNKNOWN: 2, - /* The deflate compression method */ - Z_DEFLATED: 8 - //Z_NULL: null // Use -1 or null inline, depending on var type - }; - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/gzheader.js -var require_gzheader = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/gzheader.js"(exports, module2) { - "use strict"; - function GZheader() { - this.text = 0; - this.time = 0; - this.xflags = 0; - this.os = 0; - this.extra = null; - this.extra_len = 0; - this.name = ""; - this.comment = ""; - this.hcrc = 0; - this.done = false; - } - module2.exports = GZheader; - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/inflate.js -var require_inflate2 = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/inflate.js"(exports) { - "use strict"; - var zlib_inflate = require_inflate(); - var utils = require_common(); - var strings = require_strings(); - var c = require_constants(); - var msg = require_messages(); - var ZStream = require_zstream(); - var GZheader = require_gzheader(); - var toString = Object.prototype.toString; - function Inflate(options) { - if (!(this instanceof Inflate)) return new Inflate(options); - this.options = utils.assign({ - chunkSize: 16384, - windowBits: 0, - to: "" - }, options || {}); - var opt = this.options; - if (opt.raw && opt.windowBits >= 0 && opt.windowBits < 16) { - opt.windowBits = -opt.windowBits; - if (opt.windowBits === 0) { - opt.windowBits = -15; - } - } - if (opt.windowBits >= 0 && opt.windowBits < 16 && !(options && options.windowBits)) { - opt.windowBits += 32; - } - if (opt.windowBits > 15 && opt.windowBits < 48) { - if ((opt.windowBits & 15) === 0) { - opt.windowBits |= 15; - } - } - this.err = 0; - this.msg = ""; - this.ended = false; - this.chunks = []; - this.strm = new ZStream(); - this.strm.avail_out = 0; - var status = zlib_inflate.inflateInit2( - this.strm, - opt.windowBits - ); - if (status !== c.Z_OK) { - throw new Error(msg[status]); - } - this.header = new GZheader(); - zlib_inflate.inflateGetHeader(this.strm, this.header); - if (opt.dictionary) { - if (typeof opt.dictionary === "string") { - opt.dictionary = strings.string2buf(opt.dictionary); - } else if (toString.call(opt.dictionary) === "[object ArrayBuffer]") { - opt.dictionary = new Uint8Array(opt.dictionary); - } - if (opt.raw) { - status = zlib_inflate.inflateSetDictionary(this.strm, opt.dictionary); - if (status !== c.Z_OK) { - throw new Error(msg[status]); - } - } - } - } - Inflate.prototype.push = function(data, mode) { - var strm = this.strm; - var chunkSize = this.options.chunkSize; - var dictionary = this.options.dictionary; - var status, _mode; - var next_out_utf8, tail, utf8str; - var allowBufError = false; - if (this.ended) { - return false; - } - _mode = mode === ~~mode ? mode : mode === true ? c.Z_FINISH : c.Z_NO_FLUSH; - if (typeof data === "string") { - strm.input = strings.binstring2buf(data); - } else if (toString.call(data) === "[object ArrayBuffer]") { - strm.input = new Uint8Array(data); - } else { - strm.input = data; - } - strm.next_in = 0; - strm.avail_in = strm.input.length; - do { - if (strm.avail_out === 0) { - strm.output = new utils.Buf8(chunkSize); - strm.next_out = 0; - strm.avail_out = chunkSize; - } - status = zlib_inflate.inflate(strm, c.Z_NO_FLUSH); - if (status === c.Z_NEED_DICT && dictionary) { - status = zlib_inflate.inflateSetDictionary(this.strm, dictionary); - } - if (status === c.Z_BUF_ERROR && allowBufError === true) { - status = c.Z_OK; - allowBufError = false; - } - if (status !== c.Z_STREAM_END && status !== c.Z_OK) { - this.onEnd(status); - this.ended = true; - return false; - } - if (strm.next_out) { - if (strm.avail_out === 0 || status === c.Z_STREAM_END || strm.avail_in === 0 && (_mode === c.Z_FINISH || _mode === c.Z_SYNC_FLUSH)) { - if (this.options.to === "string") { - next_out_utf8 = strings.utf8border(strm.output, strm.next_out); - tail = strm.next_out - next_out_utf8; - utf8str = strings.buf2string(strm.output, next_out_utf8); - strm.next_out = tail; - strm.avail_out = chunkSize - tail; - if (tail) { - utils.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); - } - this.onData(utf8str); - } else { - this.onData(utils.shrinkBuf(strm.output, strm.next_out)); - } - } - } - if (strm.avail_in === 0 && strm.avail_out === 0) { - allowBufError = true; - } - } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== c.Z_STREAM_END); - if (status === c.Z_STREAM_END) { - _mode = c.Z_FINISH; - } - if (_mode === c.Z_FINISH) { - status = zlib_inflate.inflateEnd(this.strm); - this.onEnd(status); - this.ended = true; - return status === c.Z_OK; - } - if (_mode === c.Z_SYNC_FLUSH) { - this.onEnd(c.Z_OK); - strm.avail_out = 0; - return true; - } - return true; - }; - Inflate.prototype.onData = function(chunk) { - this.chunks.push(chunk); - }; - Inflate.prototype.onEnd = function(status) { - if (status === c.Z_OK) { - if (this.options.to === "string") { - this.result = this.chunks.join(""); - } else { - this.result = utils.flattenChunks(this.chunks); - } - } - this.chunks = []; - this.err = status; - this.msg = this.strm.msg; - }; - function inflate(input, options) { - var inflator = new Inflate(options); - inflator.push(input, true); - if (inflator.err) { - throw inflator.msg || msg[inflator.err]; - } - return inflator.result; - } - function inflateRaw(input, options) { - options = options || {}; - options.raw = true; - return inflate(input, options); - } - exports.Inflate = Inflate; - exports.inflate = inflate; - exports.inflateRaw = inflateRaw; - exports.ungzip = inflate; - } -}); - -// node_modules/.pnpm/pako@1.0.11/node_modules/pako/index.js -var require_pako = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/index.js"(exports, module2) { - "use strict"; - var assign = require_common().assign; - var deflate = require_deflate2(); - var inflate = require_inflate2(); - var constants = require_constants(); - var pako5 = {}; - assign(pako5, deflate, inflate, constants); - module2.exports = pako5; - } -}); - -// src/main.ts -var main_exports = {}; -__export(main_exports, { - default: () => BetterExportPdfPlugin -}); -module.exports = __toCommonJS(main_exports); -var import_obsidian5 = require("obsidian"); - -// src/i18n/index.ts -var import_deepmerge = __toESM(require_cjs()); - -// src/i18n/en.ts -var en_default = { - exportCurrentFile: "Export current file to PDF", - exportCurrentFileWithPrevious: "Export to PDF with previous Settings", - exportDialog: { - filenameAsTitle: "Include file name as title", - pageSize: "Page Size", - margin: "Margin", - downscalePercent: "Downscale Percent", - landscape: "Landscape", - displayHeader: "Display Header", - displayFooter: "Display Footer", - openAfterExport: "Open after export", - cssSnippets: "CSS snippets" - }, - settings: { - showTitle: "Add file name as title", - displayHeader: "Display headers", - displayFooter: "Display footer", - printBackground: "Print background", - maxLevel: "Max headings level of the outline", - displayMetadata: "PDF metadata", - headerTemplate: "Header Template", - footerTemplate: "Footer Template", - isTimestamp: "Add timestamp", - enabledCss: "Enable select css snippets", - debugMode: "Debug Mode" - } -}; - -// src/i18n/zh.ts -var zh_default = { - exportCurrentFile: "\u5BFC\u51FA\u5F53\u524D\u6587\u4EF6\u4E3APDF", - exportCurrentFileWithPrevious: "\u4F7F\u7528\u4E0A\u4E00\u6B21\u8BBE\u7F6E\u5BFC\u51FA\u4E3APDF", - exportDialog: { - filenameAsTitle: "\u5C06\u7B14\u8BB0\u540D\u4F5C\u4E3A\u6807\u9898", - pageSize: "\u7EB8\u5F20\u5C3A\u5BF8", - margin: "\u9875\u8FB9\u8DDD", - downscalePercent: "\u7F29\u653E", - landscape: "\u6A2A\u5411\u6253\u5370", - displayHeader: "\u9875\u7709", - displayFooter: "\u9875\u811A", - openAfterExport: "\u5BFC\u51FA\u540E\u6253\u5F00", - cssSnippets: "CSS\u4EE3\u7801\u7247\u6BB5" - }, - settings: { - showTitle: "\u5C06\u7B14\u8BB0\u540D\u4F5C\u4E3A\u6807\u9898", - displayHeader: "\u663E\u793A\u9875\u7709", - displayFooter: "\u663E\u793A\u9875\u811A", - printBackground: "\u6253\u5370\u80CC\u666F", - maxLevel: "\u6700\u5927\u6807\u9898\u7EA7\u522B", - displayMetadata: "PDF\u5143\u6570\u636E", - headerTemplate: "\u9875\u7709\u6A21\u677F", - footerTemplate: "\u9875\u811A\u6A21\u677F", - isTimestamp: "\u6587\u4EF6\u540D\u6DFB\u52A0\u65F6\u95F4\u6233", - enabledCss: "\u542F\u7528CSS\u7247\u6BB5\u9009\u62E9", - debugMode: "\u8C03\u8BD5\u6A21\u5F0F" - } -}; - -// src/i18n/index.ts -var i18n_default = { - i18n: { - en: en_default, - zh: zh_default - }, - get current() { - var _a, _b; - const lang = (_a = window.localStorage.getItem("language")) != null ? _a : "en"; - return (0, import_deepmerge.default)(this.i18n.en, (_b = this.i18n[lang]) != null ? _b : {}); - } -}; - -// src/modal.ts -var fs2 = __toESM(require("fs/promises")); -var import_obsidian3 = require("obsidian"); -var import_path = __toESM(require("path")); - -// src/constant.ts -var PageSize = { - A0: [841, 1189], - A1: [594, 841], - A2: [420, 594], - A3: [297, 420], - A4: [210, 297], - A5: [148, 210], - A6: [105, 148], - Legal: [216, 356], - Letter: [216, 279], - Tabloid: [279, 432], - Ledger: [432, 279] -}; - -// src/pdf.ts -var import_electron = __toESM(require("electron")); -var fs = __toESM(require("fs/promises")); - -// node_modules/.pnpm/tslib@1.14.1/node_modules/tslib/tslib.es6.js -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { - d2.__proto__ = b2; - } || function(d2, b2) { - for (var p in b2) if (b2.hasOwnProperty(p)) d2[p] = b2[p]; - }; - return extendStatics(d, b); -}; -function __extends(d, b) { - extendStatics(d, b); - function __() { - this.constructor = d; - } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} -var __assign = function() { - __assign = Object.assign || function __assign2(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); -}; -function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} -function __awaiter(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} -function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { - return this; - }), g; - function verb(n) { - return function(v) { - return step([n, v]); - }; - } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: - case 1: - t = op; - break; - case 4: - _.label++; - return { value: op[1], done: false }; - case 5: - _.label++; - y = op[1]; - op = [0]; - continue; - case 7: - op = _.ops.pop(); - _.trys.pop(); - continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { - _ = 0; - continue; - } - if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { - _.label = op[1]; - break; - } - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; - } - if (t && _.label < t[2]) { - _.label = t[2]; - _.ops.push(op); - break; - } - if (t[2]) _.ops.pop(); - _.trys.pop(); - continue; - } - op = body.call(thisArg, _); - } catch (e) { - op = [6, e]; - y = 0; - } finally { - f = t = 0; - } - if (op[0] & 5) throw op[1]; - return { value: op[0] ? op[1] : void 0, done: true }; - } -} -function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/utils/base64.js -var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; -var lookup = new Uint8Array(256); -for (i = 0; i < chars.length; i++) { - lookup[chars.charCodeAt(i)] = i; -} -var i; -var encodeToBase64 = function(bytes) { - var base64 = ""; - var len = bytes.length; - for (var i = 0; i < len; i += 3) { - base64 += chars[bytes[i] >> 2]; - base64 += chars[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4]; - base64 += chars[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6]; - base64 += chars[bytes[i + 2] & 63]; - } - if (len % 3 === 2) { - base64 = base64.substring(0, base64.length - 1) + "="; - } else if (len % 3 === 1) { - base64 = base64.substring(0, base64.length - 2) + "=="; - } - return base64; -}; -var decodeFromBase64 = function(base64) { - var bufferLength = base64.length * 0.75; - var len = base64.length; - var i; - var p = 0; - var encoded1; - var encoded2; - var encoded3; - var encoded4; - if (base64[base64.length - 1] === "=") { - bufferLength--; - if (base64[base64.length - 2] === "=") { - bufferLength--; - } - } - var bytes = new Uint8Array(bufferLength); - for (i = 0; i < len; i += 4) { - encoded1 = lookup[base64.charCodeAt(i)]; - encoded2 = lookup[base64.charCodeAt(i + 1)]; - encoded3 = lookup[base64.charCodeAt(i + 2)]; - encoded4 = lookup[base64.charCodeAt(i + 3)]; - bytes[p++] = encoded1 << 2 | encoded2 >> 4; - bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2; - bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63; - } - return bytes; -}; -var DATA_URI_PREFIX_REGEX = /^(data)?:?([\w\/\+]+)?;?(charset=[\w-]+|base64)?.*,/i; -var decodeFromBase64DataUri = function(dataUri) { - var trimmedUri = dataUri.trim(); - var prefix = trimmedUri.substring(0, 100); - var res = prefix.match(DATA_URI_PREFIX_REGEX); - if (!res) - return decodeFromBase64(trimmedUri); - var fullMatch = res[0]; - var data = trimmedUri.substring(fullMatch.length); - return decodeFromBase64(data); -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/utils/strings.js -var toCharCode = function(character) { - return character.charCodeAt(0); -}; -var toCodePoint = function(character) { - return character.codePointAt(0); -}; -var toHexStringOfMinLength = function(num, minLength) { - return padStart(num.toString(16), minLength, "0").toUpperCase(); -}; -var toHexString = function(num) { - return toHexStringOfMinLength(num, 2); -}; -var charFromCode = function(code) { - return String.fromCharCode(code); -}; -var charFromHexCode = function(hex) { - return charFromCode(parseInt(hex, 16)); -}; -var padStart = function(value, length, padChar) { - var padding = ""; - for (var idx = 0, len = length - value.length; idx < len; idx++) { - padding += padChar; - } - return padding + value; -}; -var copyStringIntoBuffer = function(str, buffer, offset) { - var length = str.length; - for (var idx = 0; idx < length; idx++) { - buffer[offset++] = str.charCodeAt(idx); - } - return length; -}; -var escapeRegExp = function(str) { - return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); -}; -var cleanText = function(text) { - return text.replace(/\t|\u0085|\u2028|\u2029/g, " ").replace(/[\b\v]/g, ""); -}; -var escapedNewlineChars = ["\\n", "\\f", "\\r", "\\u000B"]; -var isNewlineChar = function(text) { - return /^[\n\f\r\u000B]$/.test(text); -}; -var lineSplit = function(text) { - return text.split(/[\n\f\r\u000B]/); -}; -var mergeLines = function(text) { - return text.replace(/[\n\f\r\u000B]/g, " "); -}; -var charAtIndex = function(text, index) { - var cuFirst = text.charCodeAt(index); - var cuSecond; - var nextIndex = index + 1; - var length = 1; - if ( - // Check if it's the start of a surrogate pair. - cuFirst >= 55296 && cuFirst <= 56319 && // high surrogate - text.length > nextIndex - ) { - cuSecond = text.charCodeAt(nextIndex); - if (cuSecond >= 56320 && cuSecond <= 57343) - length = 2; - } - return [text.slice(index, index + length), length]; -}; -var charSplit = function(text) { - var chars3 = []; - for (var idx = 0, len = text.length; idx < len; ) { - var _a = charAtIndex(text, idx), c = _a[0], cLen = _a[1]; - chars3.push(c); - idx += cLen; - } - return chars3; -}; -var buildWordBreakRegex = function(wordBreaks) { - var newlineCharUnion = escapedNewlineChars.join("|"); - var escapedRules = ["$"]; - for (var idx = 0, len = wordBreaks.length; idx < len; idx++) { - var wordBreak = wordBreaks[idx]; - if (isNewlineChar(wordBreak)) { - throw new TypeError("`wordBreak` must not include " + newlineCharUnion); - } - escapedRules.push(wordBreak === "" ? "." : escapeRegExp(wordBreak)); - } - var breakRules = escapedRules.join("|"); - return new RegExp("(" + newlineCharUnion + ")|((.*?)(" + breakRules + "))", "gm"); -}; -var breakTextIntoLines = function(text, wordBreaks, maxWidth, computeWidthOfText) { - var regex = buildWordBreakRegex(wordBreaks); - var words = cleanText(text).match(regex); - var currLine = ""; - var currWidth = 0; - var lines = []; - var pushCurrLine = function() { - if (currLine !== "") - lines.push(currLine); - currLine = ""; - currWidth = 0; - }; - for (var idx = 0, len = words.length; idx < len; idx++) { - var word = words[idx]; - if (isNewlineChar(word)) { - pushCurrLine(); - } else { - var width = computeWidthOfText(word); - if (currWidth + width > maxWidth) - pushCurrLine(); - currLine += word; - currWidth += width; - } - } - pushCurrLine(); - return lines; -}; -var dateRegex = /^D:(\d\d\d\d)(\d\d)?(\d\d)?(\d\d)?(\d\d)?(\d\d)?([+\-Z])?(\d\d)?'?(\d\d)?'?$/; -var parseDate = function(dateStr) { - var match = dateStr.match(dateRegex); - if (!match) - return void 0; - var year = match[1], _a = match[2], month = _a === void 0 ? "01" : _a, _b = match[3], day = _b === void 0 ? "01" : _b, _c = match[4], hours = _c === void 0 ? "00" : _c, _d = match[5], mins = _d === void 0 ? "00" : _d, _e = match[6], secs = _e === void 0 ? "00" : _e, _f = match[7], offsetSign = _f === void 0 ? "Z" : _f, _g = match[8], offsetHours = _g === void 0 ? "00" : _g, _h = match[9], offsetMins = _h === void 0 ? "00" : _h; - var tzOffset = offsetSign === "Z" ? "Z" : "" + offsetSign + offsetHours + ":" + offsetMins; - var date = /* @__PURE__ */ new Date(year + "-" + month + "-" + day + "T" + hours + ":" + mins + ":" + secs + tzOffset); - return date; -}; -var findLastMatch = function(value, regex) { - var _a; - var position = 0; - var lastMatch; - while (position < value.length) { - var match = value.substring(position).match(regex); - if (!match) - return { match: lastMatch, pos: position }; - lastMatch = match; - position += ((_a = match.index) !== null && _a !== void 0 ? _a : 0) + match[0].length; - } - return { match: lastMatch, pos: position }; -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/utils/arrays.js -var last = function(array) { - return array[array.length - 1]; -}; -var typedArrayFor = function(value) { - if (value instanceof Uint8Array) - return value; - var length = value.length; - var typedArray = new Uint8Array(length); - for (var idx = 0; idx < length; idx++) { - typedArray[idx] = value.charCodeAt(idx); - } - return typedArray; -}; -var mergeIntoTypedArray = function() { - var arrays = []; - for (var _i = 0; _i < arguments.length; _i++) { - arrays[_i] = arguments[_i]; - } - var arrayCount = arrays.length; - var typedArrays = []; - for (var idx = 0; idx < arrayCount; idx++) { - var element = arrays[idx]; - typedArrays[idx] = element instanceof Uint8Array ? element : typedArrayFor(element); - } - var totalSize = 0; - for (var idx = 0; idx < arrayCount; idx++) { - totalSize += arrays[idx].length; - } - var merged = new Uint8Array(totalSize); - var offset = 0; - for (var arrIdx = 0; arrIdx < arrayCount; arrIdx++) { - var arr = typedArrays[arrIdx]; - for (var byteIdx = 0, arrLen = arr.length; byteIdx < arrLen; byteIdx++) { - merged[offset++] = arr[byteIdx]; - } - } - return merged; -}; -var mergeUint8Arrays = function(arrays) { - var totalSize = 0; - for (var idx = 0, len = arrays.length; idx < len; idx++) { - totalSize += arrays[idx].length; - } - var mergedBuffer = new Uint8Array(totalSize); - var offset = 0; - for (var idx = 0, len = arrays.length; idx < len; idx++) { - var array = arrays[idx]; - mergedBuffer.set(array, offset); - offset += array.length; - } - return mergedBuffer; -}; -var arrayAsString = function(array) { - var str = ""; - for (var idx = 0, len = array.length; idx < len; idx++) { - str += charFromCode(array[idx]); - } - return str; -}; -var byAscendingId = function(a, b) { - return a.id - b.id; -}; -var sortedUniq = function(array, indexer) { - var uniq = []; - for (var idx = 0, len = array.length; idx < len; idx++) { - var curr = array[idx]; - var prev = array[idx - 1]; - if (idx === 0 || indexer(curr) !== indexer(prev)) { - uniq.push(curr); - } - } - return uniq; -}; -var reverseArray = function(array) { - var arrayLen = array.length; - for (var idx = 0, len = Math.floor(arrayLen / 2); idx < len; idx++) { - var leftIdx = idx; - var rightIdx = arrayLen - idx - 1; - var temp = array[idx]; - array[leftIdx] = array[rightIdx]; - array[rightIdx] = temp; - } - return array; -}; -var sum = function(array) { - var total = 0; - for (var idx = 0, len = array.length; idx < len; idx++) { - total += array[idx]; - } - return total; -}; -var range = function(start, end) { - var arr = new Array(end - start); - for (var idx = 0, len = arr.length; idx < len; idx++) { - arr[idx] = start + idx; - } - return arr; -}; -var pluckIndices = function(arr, indices) { - var plucked = new Array(indices.length); - for (var idx = 0, len = indices.length; idx < len; idx++) { - plucked[idx] = arr[indices[idx]]; - } - return plucked; -}; -var canBeConvertedToUint8Array = function(input) { - return input instanceof Uint8Array || input instanceof ArrayBuffer || typeof input === "string"; -}; -var toUint8Array = function(input) { - if (typeof input === "string") { - return decodeFromBase64DataUri(input); - } else if (input instanceof ArrayBuffer) { - return new Uint8Array(input); - } else if (input instanceof Uint8Array) { - return input; - } else { - throw new TypeError("`input` must be one of `string | ArrayBuffer | Uint8Array`"); - } -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/utils/async.js -var waitForTick = function() { - return new Promise(function(resolve) { - setTimeout(function() { - return resolve(); - }, 0); - }); -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/utils/unicode.js -var utf16Encode = function(input, byteOrderMark) { - if (byteOrderMark === void 0) { - byteOrderMark = true; - } - var encoded = []; - if (byteOrderMark) - encoded.push(65279); - for (var idx = 0, len = input.length; idx < len; ) { - var codePoint = input.codePointAt(idx); - if (codePoint < 65536) { - encoded.push(codePoint); - idx += 1; - } else if (codePoint < 1114112) { - encoded.push(highSurrogate(codePoint), lowSurrogate(codePoint)); - idx += 2; - } else - throw new Error("Invalid code point: 0x" + toHexString(codePoint)); - } - return new Uint16Array(encoded); -}; -var isWithinBMP = function(codePoint) { - return codePoint >= 0 && codePoint <= 65535; -}; -var hasSurrogates = function(codePoint) { - return codePoint >= 65536 && codePoint <= 1114111; -}; -var highSurrogate = function(codePoint) { - return Math.floor((codePoint - 65536) / 1024) + 55296; -}; -var lowSurrogate = function(codePoint) { - return (codePoint - 65536) % 1024 + 56320; -}; -var ByteOrder; -(function(ByteOrder2) { - ByteOrder2["BigEndian"] = "BigEndian"; - ByteOrder2["LittleEndian"] = "LittleEndian"; -})(ByteOrder || (ByteOrder = {})); -var REPLACEMENT = "\uFFFD".codePointAt(0); -var utf16Decode = function(input, byteOrderMark) { - if (byteOrderMark === void 0) { - byteOrderMark = true; - } - if (input.length <= 1) - return String.fromCodePoint(REPLACEMENT); - var byteOrder = byteOrderMark ? readBOM(input) : ByteOrder.BigEndian; - var idx = byteOrderMark ? 2 : 0; - var codePoints = []; - while (input.length - idx >= 2) { - var first = decodeValues(input[idx++], input[idx++], byteOrder); - if (isHighSurrogate(first)) { - if (input.length - idx < 2) { - codePoints.push(REPLACEMENT); - } else { - var second = decodeValues(input[idx++], input[idx++], byteOrder); - if (isLowSurrogate(second)) { - codePoints.push(first, second); - } else { - codePoints.push(REPLACEMENT); - } - } - } else if (isLowSurrogate(first)) { - idx += 2; - codePoints.push(REPLACEMENT); - } else { - codePoints.push(first); - } - } - if (idx < input.length) - codePoints.push(REPLACEMENT); - return String.fromCodePoint.apply(String, codePoints); -}; -var isHighSurrogate = function(codePoint) { - return codePoint >= 55296 && codePoint <= 56319; -}; -var isLowSurrogate = function(codePoint) { - return codePoint >= 56320 && codePoint <= 57343; -}; -var decodeValues = function(first, second, byteOrder) { - if (byteOrder === ByteOrder.LittleEndian) - return second << 8 | first; - if (byteOrder === ByteOrder.BigEndian) - return first << 8 | second; - throw new Error("Invalid byteOrder: " + byteOrder); -}; -var readBOM = function(bytes) { - return hasUtf16BigEndianBOM(bytes) ? ByteOrder.BigEndian : hasUtf16LittleEndianBOM(bytes) ? ByteOrder.LittleEndian : ByteOrder.BigEndian; -}; -var hasUtf16BigEndianBOM = function(bytes) { - return bytes[0] === 254 && bytes[1] === 255; -}; -var hasUtf16LittleEndianBOM = function(bytes) { - return bytes[0] === 255 && bytes[1] === 254; -}; -var hasUtf16BOM = function(bytes) { - return hasUtf16BigEndianBOM(bytes) || hasUtf16LittleEndianBOM(bytes); -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/utils/numbers.js -var numberToString = function(num) { - var numStr = String(num); - if (Math.abs(num) < 1) { - var e = parseInt(num.toString().split("e-")[1]); - if (e) { - var negative = num < 0; - if (negative) - num *= -1; - num *= Math.pow(10, e - 1); - numStr = "0." + new Array(e).join("0") + num.toString().substring(2); - if (negative) - numStr = "-" + numStr; - } - } else { - var e = parseInt(num.toString().split("+")[1]); - if (e > 20) { - e -= 20; - num /= Math.pow(10, e); - numStr = num.toString() + new Array(e + 1).join("0"); - } - } - return numStr; -}; -var sizeInBytes = function(n) { - return Math.ceil(n.toString(2).length / 8); -}; -var bytesFor = function(n) { - var bytes = new Uint8Array(sizeInBytes(n)); - for (var i = 1; i <= bytes.length; i++) { - bytes[i - 1] = n >> (bytes.length - i) * 8; - } - return bytes; -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/utils/errors.js -var error = function(msg) { - throw new Error(msg); -}; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/utils.js -var import_pako = __toESM(require_pako()); -var chars2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; -var lookup2 = new Uint8Array(256); -for (i = 0; i < chars2.length; i++) { - lookup2[chars2.charCodeAt(i)] = i; -} -var i; -var decodeFromBase642 = function(base64) { - var bufferLength = base64.length * 0.75; - var len = base64.length; - var i; - var p = 0; - var encoded1; - var encoded2; - var encoded3; - var encoded4; - if (base64[base64.length - 1] === "=") { - bufferLength--; - if (base64[base64.length - 2] === "=") { - bufferLength--; - } - } - var bytes = new Uint8Array(bufferLength); - for (i = 0; i < len; i += 4) { - encoded1 = lookup2[base64.charCodeAt(i)]; - encoded2 = lookup2[base64.charCodeAt(i + 1)]; - encoded3 = lookup2[base64.charCodeAt(i + 2)]; - encoded4 = lookup2[base64.charCodeAt(i + 3)]; - bytes[p++] = encoded1 << 2 | encoded2 >> 4; - bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2; - bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63; - } - return bytes; -}; -var arrayToString = function(array) { - var str = ""; - for (var i = 0; i < array.length; i++) { - str += String.fromCharCode(array[i]); - } - return str; -}; -var decompressJson = function(compressedJson) { - return arrayToString(import_pako.default.inflate(decodeFromBase642(compressedJson))); -}; -var padStart2 = function(value, length, padChar) { - var padding = ""; - for (var idx = 0, len = length - value.length; idx < len; idx++) { - padding += padChar; - } - return padding + value; -}; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/Courier-Bold.compressed.json -var Courier_Bold_compressed_default = "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"; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/Courier-BoldOblique.compressed.json -var Courier_BoldOblique_compressed_default = "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"; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/Courier-Oblique.compressed.json -var Courier_Oblique_compressed_default = "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"; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/Courier.compressed.json -var Courier_compressed_default = "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"; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Bold.compressed.json -var Helvetica_Bold_compressed_default = "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"; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/Helvetica-BoldOblique.compressed.json -var Helvetica_BoldOblique_compressed_default = "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"; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Oblique.compressed.json -var Helvetica_Oblique_compressed_default = "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"; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/Helvetica.compressed.json -var Helvetica_compressed_default = "eJyNnVtzG8mxrf+KAk/nRGh8eBWleZPnItsaj0ZXWNvhB5BsUdgE0TLAFgjt2P/9AI2uzJUrV7X8olB/q4CuyspaVX0p8H8mP7V3d83yfvLj5MPfu/Xspnl0enH05Nmjs6dHz84mjye/tsv732d3za7AX5rF1+Z+fjXb426xUHh2N19shTBt5jef92f5e3M97+525K/3s8X86vnyZrEre7Q7Xv86f2iu/5jfX32e/Hi/6prHk58+z1azq/tm9bbZf/aXh/tmed1cv2nvZsuhbn/+c/sw+fGfPxw/efL4h5OT88fHR0dHj5+dHv/r8eT9rvBqMV82f7Tr+f28XU5+/GEng/Du8/zqdtms15Mfz3f8Q7Na98UmR0cnf9p90e4kv7e7Juyb81P7Zbvat+LR/7n6v4+Onz09f7z/96L/99n+32dH/b8Xj55ft5fNo7fb9X1zt3701+VVu/rSrmb3zfWfHj16vlg8erP/nvWjN826WX3dUQvVo/n60ezR/Wp23dzNVreP2k+Pfpsv2/vtl+aHXaHFo+cvHs2W1/+vXT2a775g3V2u59fz2WrerP+0q+wvu1Ndz5c3b68+N30f9DV5e7/7yGx1XdRdwZ9mX/4ydMnF8dPHk3+Uo/OT08eT5+urfaBXg/hzY8c/nBxdPJ68vb/+y3QnPun/+2H336dPD7319+Z+Nb/ahfOf/zOZ/mPy48nFTvh9V5H1l9kuiv/7mHDzcLWY3Rk/PT8/8H937S5alwtTzs+fHJRld3e576abZdau28VitjL+dNctPf/SrK72SV6EJ08uDsLsbietd9Hxmp2cQA36/vbanZ4O3zdbNctF86km0cdKNWbr/Teub73iT8+GTy26dQ7O1W5szvIpPm+/fG6WufiuKfP2OvP1Yrb+nIP1rVm1mbbLJsP7jSh5/3nViLKf2m4l6PyrKLuePwjYfG1E3zYhpp4O86VIq6t20YoIrZu7eZSsBxZ7E0i0+Xc3W2R8s2p2g1k0899ds+6NpijHR8dDRs9E+j3P6M+GLkom/pTRz/mDvzg6Pj6gX/2DJQIv8nf9Jcfpr96yvV3u0d/yGV/m9v/mY69k69/zGX/P9XqVv/6PXOp1/q43+YNvcyTe5Q++zx/8YOjZ2dDT01zqHxl9zGf8rxzVy91cdtvcB99wcafFgcqfi6Zy9sRM5Wo+v5qvrrq73B/d3rXXu+kHxkgwuFAZ+9gso8ucElfCgMW4zQ36lEvdZPQ5V3me0X/net3mUouclyJawnWE730Rwz6b9CrXSzi8iH2XP/g1Z+8ml3rIaJvRN6jqmedXTISTJ0clK1eV8jEbzRn7bLyfL66bHJLDXH/dbkScw/TsU8F9v0zz5DguI+7Tfl2IRmuf2arJ49OiXc0FXzeVb7nqVrt5/MoDePzsGIbNet6vW1MTy7JFD6ubbr5T7tp7vXTYy/0Xf0em0Jee/TQXTCygdis5uR64nt3cqDntwHEtRiuOfd81qwbG/umFLYZmN6vZFz/b6XnJrN0FRAMZF1ypb+blbD0S4XF1pRcL1gFR7y8ZDrFZLOZf1vO1kHZtvf/cdmGxaG5f5v2Q3N5zq9lXUdnZVXcv8MHLPy2ah6xVRtbd7GrVihNfrhp14uv2fnYVRpxL811PYgDc0HAcemV3l3O7NbdYpHbLm9mqu1vMOnGa9ma3zrwVXzdbhcWT9ctdyFkXnvuyZ3fdOnz56vrTbqEXVoa+QomTrC9AIvczvIIzPDm3M9ztnK5b4CnsamMmprzr/aBfr8UEtogntpRqI7cVSdvksrvxubsi3uW9mGL+mrrUnSBmoE//MW98apKd6l8Xe89XR7kGZbq4nn+dQ0L7R2LNfMEsBodXO37IV3rqQzZFUgxssu4vvmiYQFPzV/r5wlBxXO+IGY0H/0ylhzr6gF8FpJP4NcPOI+Ai5KQ4sWroRXHwq3LTQ5yKXMfXhTEPvJU6Lr+rCvjwqOVoNFVf6cvm2KVU7duisUI4k1VChsxk89fsiTYU5/HsZxdDnRftt2Z5IzL3TTyFX8WNJmc3OkiE6MOrNpGsKm294rb69U+OnJ3m3ed2JVr1is7uYai4wVviZ2USo7DZaOKMtYjpya2/w7Hu+lXOStSXUtCiWONkq8UE77rF/fzLYivqRQ30JA8NPLsolyaz1f18trief/qU+2pbt4bf43k8YceS5ZfRNBuZdbJk6VQZnsuaDdYy5vcYIJ8M6Yvw/ttuxYA34ewSaNXeNku8EDJzXDU383Vc+voQjZ0N03EeF+Yc3W5Uh+sRD3ZlDbmqRKalyPi4rKTUf9EIP3tW1q79ra54I8zi/Mv95wx/SgZoZq586/R4aON9Zd5oqrNjbRZ8Xls+jGRlDLBfL9PQsFsRXClzhVqP1Kae2jS6rg3KPI7t3KPLEp4xy7qgWdyLGz73waTdEzftiCPW43vXiZZQzC1Ucp3pY4FC71eqcYXztNyw6H18l8CrXSKv8/e9Tfn67FnJV72ifTk6//4WO84vJeyxjjLFZAtuGTFMzmvT2W+x2haHXdQ+zxYwNZRBvr80oVvd1hdjLr+MyyZPte90YGUoNLUG3UQzxQYN3ap6VffdW7lAtAyWNT8rPXi9swn10KONXQRWqC2ti+XPzs3Or+dXymh/jl8EC7Ox5e7vsX+8upV+ezOe10p1b60soZ9XTTpeDlgPUJ3NiEcWlL/Upnt2CrtFLBtqC7K4ErBvGx0KlSrcj55p0d7s+3vZinC3dTPtslSG8u6rKiP5ZvyKFmZyj3klfZdyHrebO8u8aHbPr43xX7r948h/PZ68bFbLP2bz1f4h8j8nz/cPqyePfzg9+tfj4ejgHgEd6hnRYOoIX8Sjg6sEhA1D4VU8ylXAqTdw66pAD+M/oOA8QRlCFtjh7lBAh4GD6HU4erc7Oj7xwxK0wEL7QXm/Ozz3oxIAQCEAwCEAQEsAAFEAQLEAABuGdmC9oyD5sDu6sKNp0D7uG3jkh6VJyKDugLsQ1i4nQ1dJhk4mQ5eToasmQyeSobNYABti4eTr7ujMjjbhaBuPSosAQc0HOhTC0WmIQmKcxqlzHqxFeSEQDVvjcuwW9ZVAlVrKoWxi7kKTqB+N6840mXvUBBrjxmmgF/46IxzyxnjcuyAHf5HBAQyRDRhXXmBiNgSTyBWMa2swmf3BBDYJE6JTFAx2UdA0l0LjMMbuYYKwkKJ1ucPYTIyP5aSwFZMqOVkxGJNrOZmsxoToNwWD6RS0yWgrEHmQ8WxEgx+gERmicBonI3LORlSUFwKRERmXRlTUVwJVaimNyMTc6SZRpxvXnW4yd7oJZETGyYgKf50RGpExNiIXpBEVGYzIEBmRcWVEJmYjMomMyLg2IpPZiExgIzIhGlHBYEQFTXMpNCJjbEQmCCMqWpc7jI3I+FhOCiMyqZKTFSMyuZaTyYhMiEZUMBhRQZuMtgKRERnPRoShQTeKnAIbRfIlEtmcgvyixsmmoii9KhR5VeNjDZHWFUvkXIk6JUwUddbEMpw6USVPiyIZWxBfVzhaXBTY50iVZhfKgONFTrYXReV9sUQ2wKiTC0ZRW2Esw34YVTbFqEZnDBrYY+DTSnk0yiiwW0ZVWGYo0FVSgc0zit8dGsJGoz42NCqGGsuMDo1krVGN/ho0MNnANxW+rXHy3Chm43WCtouUOgQlstwgseGC+EJTMluUpNVCgVea1qsuTRb1nEeoUhahpHMIS3AGoUbWihIZK0ivJUVTRcyWGjRpqFAC7BQpmSlKykpRz0aKKtkoStpEsQRbKGpsoKhF+wQFzBPoVJZF40TMtomaME2QO9nNbJgofSfJhVmiWk/yilFiiZEkTyaJWrRIUMAggW4k3WpK1ohSNsah9eiKhijkxskPnbMZFuWFQGSDxqUHFvWVQJVaSuszMaeESZQPxnUymMyZYAJ5nXEyusJfZ4QWZ4z9zQVpbkUGZzNEtmZceZqJ2dBMIjczrq3MZPYxE9jETIgOVjDYV0HTXAqNyxi7lgnCsorW5Q5jszI+lpPCpkyq5GTFoEyu5WSyJhOiLxUMplTQJqOtQORFxrMRlbqiEzmjgLpAXgQCm5FJLxQjO3JB+pHJrxSrVVZakqu5/12jBHBBZ4DrnAKukC+5QMZkwmvB0JocsjeBIs3JdHAnZ2RPLih/cjUblGvkUC5oi3KdPcoVNilXoksZB5syNhXl0KgcslO5IqzKxE50IZuVC6PpKuzKtVq6VgzL9Wq6JstyJXqWcTAtYxvBtoqRb7mQjatUDI3LGQXXBTIuENi4THqhGBmXC9K4TH6lWK2y0rhczZngGmWCCzoTXOdMcIWMywUyLhNeC4bG5ZCNCxRpXKaDcTkj43JBGZer2bhcI+NyQRuX62xcrrBxuRKNyzgYl7GpKIfG5ZCNyxVhXCZ2ogvZuFwYTVdhXK7V0rViXK5X0zUZlyvRuIyDcRnbCLZVjIzLhWxcq+GHPrwKhVBgCybLMsyGNQgvMiGzKlha1SC+ykRXT5pU0XKfF4V6vGDd30Xl3i6crKlgMqYBv04ETakgtiTj0pAGFeyoEDKjgpUVFS0bUVHIhgrWJlRUtqDC2YAKj/YzUDCfgUxTGTSegth2ChemM0hd6h42nIJHEk+YTVF04lWMpqiVxEsmU3i0mIGCwQxkk8g2E7KWgrOxDOmOzmKIQmicvMU5m0tRXghE9mJc+ktRXwlUqaW0GBNzV5tEfW1cd7bJ3NsmkM8YJ6Mp/HVGaDXG2GtckGZTZHAbQ2Q3xpXfmJgNxyRyHOPackxmzzGBTceE6DoFg+0UNM2l0HiMsfOYIKynaF3uMDYf42M5KezHpEpOVgzI5FpOJgsyIXpQwWBCBW0y2gpEPmQ8GdGfh9w89iPvDEMhfsBD9xgtUQNEAQPFYgXMwgRsiJCTw+96Pf7hxMjw010F/QSFTo1YoQGVV+KoZMFcfBj+XLzgVLxYc/qACfSRn3fouXVPfxQ7s0fFxQGFPgKeurynpY8AWU8As54ANvQEkGKpjtwLfh5swLW9Azzzo9I6QFBlpyWA/rUWuQGVToDwGaIYGqdAGlfRNDGH1CSKq3EOrgkcYRNimA1TrAv/kMMwzaUg9IYo/sZzJ3Du0/lSd/T7CGN3FMTdUTh3R+GyO4oouqNI3B2Fp+4oQuqOIlB3FMzdMfAPOQzTXAq7oyDujsJFdwwSd8eAqTt+HXriqR+VUwEq8QcUQg8cKgS0BByQxRqYhRnYEGEgJbiOZrag6I/iCqpHpQWAxHqq52kp1dO4iuoRrZB6RoujnoV1UU9KCxyV3jp25CuM/iguYnoUV/4HlJc0PU+rmQO1bX8Bx/VNj2jt0jNatuxZG49yndtKBVtZwTbXpJWLrF4RdWzjcr9HcaX/K44JiP5qPy7P7cicyVGJPqKw2D8IfxtG2GH18TccYYBKfgIKkQIOkQJaIgXI4gHM+gzYkJ9ASogczeJRbsEst2BWacFMtmCWWzATLZiJFsxSC2a5BXGl9be8xNqjLnyky83sKm3qZJu63Ca+SABFtLYTre1Ca19ODtfh534U7a9Hwut6nryup9HreiQvFnuFXLBnZdQBipb3cvC3Mz+Kc/9L9DdEecZ/Sf6GFPwNcJz+XwZ/A0aT/svB3+Ao17mtVLCVFWxzTdjfQBF1NH8DFNceLyd4Tfxyki6HX6asBp5c+eUkXf++FFkNCrnyy0m+4H054WvdPdmGbNnmrN7m7A0GjOOCBPoyUtVooSLfPTWNIVL1cKJCPLJIpkFGKo23qEJ6kEAZTSoNSFZF6lORPAq4QB6xVIKGDKk8RkjmIR3ltiqMhkWOeSryvYazE5CqTYEKjbedrYJUco2ogoGQQF5CqrIVKpIdhgqQ2ZCqfYcKsQWRzG5EcjSmKG5rI4ztitRkH79NhhvLx35o95SRxdvJrnyIh/vLygs76u+unvmh3csDhjftHMcffc2S8SfGtxas3zAQgFKf/xb2VB8T4zjU9lST/EEwCEvYcXxGjAMkdxyTVgtV0DleuEuXYsGRU7t0B6nca8HwGePwuSDDh7eOmEH48N5RaWm6eZQEEb6i1cIXdA5fEbc5Fhw+4yJ8YXCGIEYlhZJkHdBQ6ENVweAGIYQ4KinQUVbhDiWqQc+lUuiTEcpopm6oGuFQYJimQjcY4w5wQYa+yB8Eg3AXhIE2xiE2QQS3aLWwBp0DWsRtjgUH0XgK327JC3cb+qN4EdujeK3eI3Fd2/N0XdvTeF3bI7p67RldvfYsXL32JF6rvxr6/syP4rLzVe5vFz7YjPpq6GOPyz92R0/s6KP1/yvsZkDQdKflNoKf0m4jDKj4NHSDIeoL49QhxlWvmJi7xiTqH+PcSSZwT5kQu8sw9RnO3xQG7r3K7E0q9CPO3acRQY/idH5BiPpWTeYkUS+nx34DD3snob8jp06PIvV8FFX3xxI5B6JOiRBFzoaockpENeZF1Cg50k5uFT1Ok7F93KoIJEzatnwqOKRO2s58oTglUXUzs9IpnYLGOQWbziCjkFI+oUTZhJLKJdRzJqFKeYQSZxFqnEOoxQxChfKHtqzmOHHu1Des5gKQN7Rj8zRRyBnax3mRKeVLZRdnVilXQOFMKVuCIE0MUY4YpwQxrrLDxJwaJlFeGOekMIEzwoSYDoYpF3BjH4WBs6CyrY9U6H/c8nYaEfQ87oK7IER9rvbAkUS9XTB3dbzNgT3OCnU8y9T/LKs04DI5G7gEJQXLnBusc4qwHjOFVUoYkt9VY8rpk2SVRVQIkokUyClSILVIgQxjhRKN5ZxvVILSjlTOPtvDA3nnjDLOBco1F1SWuZrzyzXKLBc4p1zhbHIl5pFzyqCwY48jwllT26/HMmRK2MJ2SgyyI2xru2BGGSE3tbFGWWCc+79cbkL3G6LeN06db1z1vYm5602injfOHW8C97sJsdsNU6/jbQgKA/d55SYEqdDjeAviNCLob7wrcUGIelvdkyCJ+rpg7urySih0tSHqauPU1cZVV5uYu9ok6mrj3NUmcFebELvaMHU1vthNYeCurrzWTSp0Nb7yfBoRdDW+BX1BiLpavQNNEnV1wdTVfwy9PLyS/gf2MLLSu8jii78g4D0xwPbqLzB/wxegv+ILsLzjC6j0ILBZaJm9oQIovkXYI/HkrufpcV1P4zO6HtEzt57RQ8aehfcEexIfuP0B/Xb81FBjmdQfxYdKPSoJiig/vu55euh0oPDEFXB8ft0jeh7dM3rfbc/aeJTr3FYq2MoKtrkm/DgUFFFHe/AJKD4d/wNHxxD91xN8A74/im/A90i8Ad/z9AZ8T+Mb8D2Sb8D3Cr0B3zN6A75n4Q34N5PDWw8nfhRdu0fCmHuePLmn0Y57JN9h6hXy6J6V+AOKDvxmMN9TP4qvNr7JluvCextEb7CXAIlR/oZ6CWgc5W9EL4FC4/9N6CVgYfy/CXPEmzA9vBmmAdc+xhH0hsx/oOUWJfS+IUoB4yoPTMzJYBJlhHGdFiZzbphACWKcsgRvMp8Sonyp3GQmFTLHEKWPcZVDJuZEMomyybhOKZM5r0zg5DIhZli+j25omgPxMZfirFM3zQepPFmF1DNEqWdcpZ6JOfVMotQzrlPPZE49Eyj1jFPq4QP2U0KUepXH66RC6hmi1DOuUs/EnHomUeoZ16lnMqeeCZx6JsTUwxcIKEOmORAfcylOPfX2QJHS+34nUuA0HHnfTxcRKanf99NqJT0r7/tpmVNVv+8nVUxb/UZDRZUpHMpgIkeB0zmqMqljEZHasQAneFQraR4LpWSPckr5KFPipxc9ZJZOa6H8WPtEGhDVtzwOBd5OeB/k20naB/mWn3US5uK8zYtwKp62OCYhfSQ0iz8WRProLr/xWrY/pGvZntG1bM/UtWwv5GvZHtO1bM/4WraHfC3bw3gt2yO6ln03GNmZH8WR9C5ZFvA0Zt6hOQGSo+NdsCFg8d3Rd2g4jmaxETPRA3YN/sRRrQNmugNmogP8Mhy+V8V/luNvF+L+0at2AT78DpIRPkdVaERr7eI8sEpzG93ccH2OvITBq92IKDQqCp+3Xz43fb2889pYpBXNaWtVb3XVW9FTfOmOkqi+XbtjudxhfvHuxVZ0KBq0Ev1De7hAWTd385wZXSzUidN0tbh1Om6diBu/6IySiFunur3Lyb+Jh1s6FI3BV86G8+EG61Iy7bBOAnux3mOdVBGytMs6Ccmf8z7rpFCw0k5rFsCz09UPc+Xe6uqHJfLx2tUPy+zo6eqHOXl74TPR7OTyJpDVGx/tX2X6ptX6N9m/CdXu5YnAOJmLr3rCwOfFEH+NqmWaIUxgG3JhLFRqwnBNzBom0tRhvBbGPIkUJc0kRWhF4TSnmDDaTjW7mFZLido8Y3qtrWnGMaGSGWnuKcJKsVoI0lTkgpyPiiwmpSJ1oniankwY7QI1UZlW64LalGV6rQvy5GVKZdRuBNsqVmu+mtXCBUeY26KSvjPKaZ6Lso57LKOiH0ukPohynv+ingMedQ57VNOMmG7KnEmBZ8eRmzK6iJgp9U0ZrVZmzcpNGS3zDKpvykh1Vg1ZnlOjzDNrVP+DjJKzbCwxnlF5xo3ydxIqzb5RZael+wLR7eRNA/3F9fbkuTnKyZ1J/n7I5WxNJdScHYvwzB3V8U4Rs3jQ81we5Lb6wTyvR/k/iI6c42OJ8YSszvex1HiE8twf5dG8zOuAIK/qynj48sqAZL0+CIXUKiEU6KofzSuGKP8HnStXD7HEeOdWVxKx1HjnilVF1Ec9aVNVtnVlPHR5zfF+WGic+VGcI9/jggKQmCvf08IBaJwV34cFAjC69/0eFgJA4hT3fsKvH72fpDePypMBbGvaIcWcWq13SLGY2592SDHnSOQdUizEmKQdUsQpOpWdReHxCMZJ7yySIkVsZGeRLJFjp3cWSZGjWNlZJNUYT72zSIkU2bFNNvBoCYOrNtkIiQJb3WQj9BxUtclGSBxQuclGaDGYapNNliiQ9R0o5QEcxjDtQGFO0dM7UFjMcUs7UJhzxPIOFBZirNIOFOIUpcrOjfe8PaGuUMBqOzcqsgrfyM6NSgkKZnXnRkXn0FZ2blRUCvTolgVWOexhy0JiFOq8ZSEJKrxyy0LSKKRiy0JSOIxpy0LiFLrKG/7OOVz2xw6eK0bhcoHC5YIKl6s5XK5RuFzgcLnC4XIlhss5hcsECpdxDtfwA+7PM6FQFUyBKliFqWg5SEWhEBXMASqcw1N4DE6hFJoBU2AGSmH5MITkqR+VcACKvyX6IYUBePot0Q/YfED0W6IfQrOBhd8S/YDNdfQitOdF7LkexSsuF17Fo5gKPRL93fPU1z2N/dwjecuqV6j3exZvTvUodu8e+W/E9kdxu0GPSggAhYYAT5sSeloaAsiqC8x6DNjQY0BKCxyVK9szIOU20HlBsZObnJh2jweRTsxGJma4fwM452sj8rUR+Wp3ZBy18Sg3o63UuZV1bnPl+E4KKKLadssEUB5TcG/EOgTvSXjPdaFnu5yNXSX1Opl6XU49vpkAikjKTiRlF5JyOrjeuR/F17Wm6HqAxC6IKbke0LgLYhpcDxjtx5iC6wGJ2x+mE3x1coreBUi8JDkl7wIaX4ecCu8ChV58nKJ3AYqvOE4nuOdnit4FKNr3NHkX8GTCU/QuQGS10+BdwMIEO0XvclSc6qmRvX7qR6VNgOI7m9NkVMDT7wNN2agAx1/amwajAkY/lzdFo/KGtaFAm5uhfgl6SkYFNFdO/xL0NBgVsPhL0FM0KkdmVN4fXSjQ5YaoXzmckiMBzQ3RP2I4DY4ETMQ//kbhnmzDONnm8bxN4/bjYGTDD2V9RCdDZg80gcW7wCDgrV/Adr8XmD+kBOg3bQGWO7WA7Bmks72lPT23I5sqHcWp0jlOlU5tqnTEU6UrPlU6s6nSkU2Vhvply5k1wh8FAosLso/J1LBs/pWyj2hryGj6+xh8DQuW+AOy+Dsrk/sTIMOyzAvRZxrRXH/4hqzS3ka3Nz5bAy7i0Ig4NCoO/MBsz+ZhOM3juOsRbVb+OHglfEcrgtDWGtzqBreiYekZGUg++ADa4zBgoqN9decMV3eeAF0coZ2wl65mJZ22kk5YSXpeBJJymU65TEcugw8tEuOGpMcWSZDNVA8uksYNzo8ukpLaxw8vEmc/xe2Fg1ml7YXMlb2q7YUskdHWtheyzJabthcyJ/MtHB3KGA9JE8iLjcvxaqoYtKbxyDWBfcmEZE6mkFMbjxfRxmnE8jMr/hpVy+TgJrCNuzAWKmXorglXN7EWx+TvJlTjmJy+CGD3hsjzjbPxF6EV35umABNGg6UmA9Nq8ahNC6bX4pXmBxN4kkhPOVkQ00WRcM4wVvNbPXuYOmKraR4xoTKZmF613TytmEK2S48jFeYWqweSSpMBqTySVDKHRT6UVGJqvHgsqSSeeUCDyQcpzT8oqSkI9TwLoUoTEUp6LsISPB2hRjMSSjQpgYQOjJitAjWanVCSRoIFhJegzHaCGjsGaslkUaT5CiWassLz6mAc4km2+L5K1dP0hRrPYEH7TjjVPBZkMZWhPhLuNKGhNhbuNK2BBjMbUprcUOL5DbRWnyPNcqh9L6BqrkN5JGC1GQ+LpAsiFHniQ43nPvX6hNDEDAgqToKIR2YFPRVigXHnTxMiapU5EYuMTQ55ZkQxTg77ncJfLav2R5tw5D+X3h/F+3M9SvfhimXi9xa0yWibP8inMZ7PNVgwnqugTUbb/EE+l/F8rvDOE5ww8E2Fbyvfw+ePYq4EdCVUAehG0q38Bj45SvnU5SUcOG9Bm4y2+YN8OuP5XPYuBZzM2Eawrfgsn8+FfEJ7GwFOaGwj2FZ8lk/oQj4h/M37k0A2iWzTp/hE4m/eDwr+WeuTiDYZbfMH+VTqz1ofpMsdvdxbix3FFxv2ZGHn7I/ihNej+PwfhPjM6nKS3pC4nOCfGLxEBwcknrRdkl8DjU/aLoU7g0JP2i6DFwMLP5x4GTrncoJPFy4x/oBSXa9wOXZeyG3Qb1Vkr9JdiPOAb3NJ/T1pz+Z5wLe5ZOV70i9blG8y4VaV1t92mPIn6y+zq30Izwfaf3H+OyJHWSYtRypeeBv6aqMijrT90UPQtkGj3uaBNlDdaYa5Pjghn8Zv2OQvfciltrkUV1TN0YOkU8Mw17ZwqC3uRKQvfciltrkU11btTCySeuu5VE2+9axErLxeHkT+UCm/rZRPDaotGwZdXbads8ItorXGafqqjTzBgyy7lWW5HZUVSFH9Mi41A6TUDtCwIYA3+iQPuvRWl06NQS23ht91Hmqb3nUmDi3Iyy9DD7nUNpfiGqsV2SClt16HauW3XlmACoslnLMHUW4rynGl5bJu0NLLp0Pl8sunLECtxTrQ2YMotxXluNZybXjQPk0O96NO/SguwnpU7j4BEu9K9Dwt1Xoa35XoEb0R0TN6I6Jn4Y2InsS3PT5BxJ3sxsOiWa/7mx9PC4wfanJD6Y2cA9INzW/kHGh6I6fHuf38Rk7PRPvbeJTrrF6/6bmsYJtrol+/6RVRR3r9pke5Q+gvcn/KS6AnURjoYdW0v77ot1n6kd0fcWQ38QDFLZQHoVxmrwSirzVO3+1cnUDsD5UCnay2O1Sr4sTxb8yJPy+n/7Lc7TASTvwo+sUtjgRE+XLmlkYCUhgJgONVzm0YCcDoWuZ2GAlwlOvcVirYygq2uSY8EkARdWzjVeItjoQB5V3rWqC2VPasV1TR6PqO9UqB3FeV/epa5ejU9qtLua0Ko2GRvV3fjK4LjDarkg61nehapiSpbEQ/qHeT4QaxH0XP6JH4qfKe411gp/Gnynskf6q8V+inyntGP1Xes/BT5XeDDR1WNXdoQ4Cwdj1dhsYuc2OXlcYuZWOXubHLamOXorFL0dhlamy8T7gMTV/mpvNScaDhkfhRRBSEygNxEnM48uNw4jow4mE4CRyi9Cg8YggWXuJTIDhs6hJ/kMKvIh1FRLGr/CYSiTl2+ReRiOvY5d9DYoFjl34OKWKIXfgxpBgIjp264VCk/FsRR0rgOI79UoQsImJa+Z0IqVbiW/mVCC2nWOsfiVAixj3/RIQKZeqD6g9EDAXKrW3oA0MUfeMq7ibmiJtEsTauo2wyx9cEjqwJMab5ccAS7/1TIDiC6t7/QdqtF+hu/57QDfp2OLF/ZBOO/FqpDavoNq+iW7mKLosTrkq6MUocKoU3Rgk95PNsBaKK1h9etvJW45nQuN7pVuNQ03SrUfGHSgW2NU4N+s4TSljfcZvUrcYsQXvoVmOmD/K0W02pHaMPO1u+OXcWMdcfb84N1cSbc4Qe8nm2AlGF649L29Hd/Kxy3UmGJpCyqSoP1aps6wo1j+XcysrG+zbfgmQB2hRuQTJ7ECfbKkZ1H3myXC42+jt65+cRla9hbhsaicddjSTCqVmy/Y3EfZMjCb7TkYSy3ZGw7XmM/DKjK4EqYSiPCjMvj/2SMiTGs4ivc8nrXcNn95mLajSV6jWV6jVjvdTUeyn+sTDSKj3Y1HqwqfXgp4xEh95UMjDeAmP1c0ZzgSrxnI/FbV6P27wSm3ktNvNabP47I1HqdjQGC4EqDV6Mf5H9ZbXI7zISbVxWzrmsJO1ytC7LyvhuBaqcuB3r3bbeu22ld9OfqSO51vltJaxtpYlfBCrTDNnMv3PRlUCVAK0qPbMa7RkRsXXlBOvKCdZVO12Pnlqh0Q90AlXq2o1lS1fPlq6SLXxdxXItW7qaVXR6ItwvNC7ivL/JyN+XN7TNpWyRwRyaT9K3XKNvlQh/q2TDNzEL6b99apiXXXiReRy/YZMRrLnya2ht5TW0tv4a2heo6Ol5If7wy9A2fIRO8EV/9/AttXeHol4Ty+tIh8dt9FWmnrm6aD7dly89/P+H8wtTywf7Vc5RxrbSyVqopvjKlf6YW5jQLK+UFu0hl1hX8MgJ1yMnRGtT6nerM/TFYZithlX8sR/F20IrXLsDEjeJVrRiBxpvDa3COh0Y3fFZweociL0wb2h4Ke4UwGGwnBvZLdoOg3QFyzUg2B7A3hyAQ2uAlMYAKm1xFA9CRzlfhINUz0XtY4PXOdmtqU7sYBkOhm8FMuQbEjwP8CH4Tr5g3M2SPPCwT8HL7b7zzA/CuZx32JwuhaLTXdapLutSl9HsCULuyy735TBXOviKzduGg6HmQLyKAyx31GAoGqLxaJwGpXE1Mk3Mw9MkGqPGeaCawKPVhDhkDdO49RubmBx8u/M8Yh/GRmJiGBbZYVpKEVNinhimnDBOiQGvGDNR47aIi0x0o+ToNzFaQMHuA4UsM4mOYDjagmPhDSZGg7Db1KmD2SoKz35RFDcHI8o54KEnhaLTUVVGIp54sqJTRftKetzJvJJI0Wbg3j6FZptJdB1xy35Qwt9qIkTWk/5SE3NlPfIPNZFE1pP/TBMLbD3przQRJuuhP9J0yjRYT8FuPUZiPhkW+WRayidTYj4ZpowxThkDuxKYKNMo4iIT3ShpPSZG6ynYraeQZSbRegxH63EsrMfEaD32Mn7qYLYe8beR6BPuLkaU9cA7AxSKTkdVWY94YYAVnSraetLbAswriRStB14VoNBsM4nWI94TKEp4eo0GFAW2oaiyGUVVWlIsIowpFmB7imoyqSgnq4oyGVYU2baCSplKWrSwIIKRRU45GkWVqbFEzteoU9ZGkbMzqpyjQa1yaVmhyKLGx0KhrTAWIUMMIthi4MsaJ4uMIhklicouYxEyzSB+qaRXMtCgChsNOvhl5NJS+VUiGVK21/qLRLrEd1KXDXfsLSJdZjS9kwWrV4ik9rUS4m2NkzXXXh866HlrldhSVd5kGD7C129DobTqJw7foPfWrdPkTRy/obLhci3+lHhS8Hukp5ZP6BEhVfhOHxu0hXM42v/NXCbxbqBjcauviB8Smdr910L2fz7+WSRlpiUMM2RUyo3e4Q7uaRYH5XBf+OswzR/M5ivO7YDKhA4ovoPtHF+8dmpvWzvyt6ed+evizso+Zif26rShkghPrU1Rb3Kb/N16QLpNjWxTfHXecW5qI5raiKa28SjXua1UsJUVbHNN0nvtrog6+hvsjnLs6fd2N2XdeG5H8f2+TVghOorLQufpLcBNWAA68lWfM1/qOSvrOye2qDNUEuqJtckXfRtMKEBxG88mJRTwtL7dcEIBjmvdTUgoYLSq3QwJBUe5zm2lgq2sYJtrkn6GxxVRR//RHUdxQb3BhDoE/2GC2/ceMPiA4va9hxR84Ol52wMHH3DcNPcQgg+Mtu9ti6v6kY1mR+aqjsTOli27qtO4h2UbXdUZbcLZoqs6iRtStji9HhmKBZrcKNqytM226lw2SuxI2gZbdSTayhuOtsVW/SjXWe0n2rKtOs010duFttFWncWNQdtgq4Z8+TJEHx9InBCiNqUHEsxVg9UDCZao6fmBBAvcHfxAgjHFIS1dKRaiKOekcUpM5yOxECnqUs5T0ypxShlrQi1OrUCVBsosNrHeEM5n4zqpTa61hdPbeKVvU6LDK9OQ60gpAihRxqOk4oN6DhGqFCWUOBKocceiFscAKhQq9bsaOVj6AzweUKIhEaTxYImBEdQ8NlCuxzKNENRGYtlqWm+7HC2ojzaQxwxKethgiZE28uBBqZ4UPIS+lfXquR3FNfi3sF4FlNfg33i9ChTXq47j0vxbXK86o6X5t7Je9aNc57ZSwVZWsM01SetVV0Qdfb3qKF4rfMOZiBHVP81EiYvGqZkoSbkf0kzEnFubZyISWoEqDZS9pGYiliqVrXRanolYoO5LM9HAy/0qhaiJxqkPnYumm5ib7lLuQ9MoLMa53SZwHxahFajSQNmHJtYbwn1oXPehybW2cB8apz7EX0GqYWpq0Kg/oyZCEQrkcEQ5923QKWRB47gEkfsZxbaCR4Ig+zwUGG8o933QdP+HImNt5TwIGuTCv/73/wO+9kRf"; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/Times-Bold.compressed.json -var Times_Bold_compressed_default = "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"; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/Times-BoldItalic.compressed.json -var Times_BoldItalic_compressed_default = "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"; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/Times-Italic.compressed.json -var Times_Italic_compressed_default = "eJyNnV1320aWtf+KF6/mXcvpsWTJsnPnTtLdsdNx7ESGMb36gpZgmSNKcEhRCjNr/vsLgqhz9tlnFz03XsaziwDqVNWuDxSg/5l919/cdLd3s29n7/+5Wc+vukcnZ2fHZ49On5+dHs8ez/7W3979PL/phgS/LW669Tc/3s2Xi4udslkuUXnkyvxmsdyiNsCmW1x93l3nn93lYnMzkH36l7dXyyHdN0enfzkd2Ppviz+6y18WdxefZ9/erTbd49l3n+er+cVdt/q12/3+hz/uutvL7vJdfzO/ne7wr3/t/5h9+69vjp69ePzN8dHZ46MnR08eP3/+9N+PZ+dD4tVycdv90q8Xd4v+dnexJ09A+O3z4uL6tluvZ9+eDvx9t1qPyWZPnhz/5cmTJ8NFfu7vFhe77HzXf9mudjl59B8X/+/R0Yvnp493/56N/77Y/fviyfjv0/Hfs0cvL/uP3aNft+u77maI0e1Fv/rSr+Z33eVfHj16uVw+erc72/rRu27dre4Hug/mYv1o/uhuNb/sbuar60f9p0c/LW77u+2X7pt/dMOvXv790fz28j/71aPF8OP15uN6cbmYrxbd+i/D7f4wXOZycXv168XnbiyF8S5+vRt+Ml9dFnVI+N38yz+mgnl2+vTx7EM5Ojk5ejx7ub7YhXo1iM8H8fvOjscgz369u/xHM/v26fH43/fDf8+e7cvrn93danExBPRf/zNrPsy+Pd4F9ufhRtZf5kMc//fxHj99+nSPuz8ulvMb4yfHU/LfN/0QqY9LU06fTMrt5ubjrqCubrN22S+X85Xx5+UqX7rVxa6yF+Hs7PlemN8M0nqITr6z8Q7GEs/al/mqu112n2pS/Jnd3ny9O+P62pRnZ6fTr5abtVGL2cXQRuf5Ep+3Xz53tzn5kJVF7zk5LplcL+frz/lu/uxWfab9bZfh3YNIefd51Ym0n/rNStDFvUi7XvwhYHffibLtdExvF7eiWl30y/4243V3s4iSlcByZwOJdr9v5suMr1bd0JBFNn/fdOvRaoryolToud/7s6OjPXuZ0V8dPTvbo++82h4f79H3+Yc/ZPS3/MO/Z/SPHKYfvT2enOzRq3xfrz37p8/26Kfc9P6Zf/hzvok3+e5/yane5lTvchn8mu/rt3yu83yu9/num5zqQz59m9F/eVSH3mFEH4fO7Lq7C7ZhbfTjoMV2yr+LnnJS8jFfXywWF4vVxeYmh2KzM+310POIJjL6W7gZ96mMPuYqcSH8N6fqcl4/5R9eZfQ5/3CR0X/nK17nVMtc/iJawnSE7X0RrT4X2iqjdb4vEftNztB9bkIPOdUfGW3zTfzpqaxoh/rVUa08LbVyVUlPPdzJEdTGu8XyssuX3nf1l/2DiHPonb0nuBvHaV45jkr+P+0Ghuiz9put6js+LfvVQvB1VznLxWY1dOMXHsDjoxNoNuvFOHhNrb6MWnSzutosBuWmv9Mjh508nvgrcmVw8Wmh8i360WEoqIYDl/OrK9Wl7TkOxWjAsSu7btV52z899rHQ/Go1/wKmVn76cZhEdCKXHt6P8/WBCB9WKyGyAoj6c6uhy+Xiy3rhDXWYLnhW7z73mzBUTL1+qNtecKv5vfDf+cXmTo1cRiv/tOz+yBo1rIJv5hcrNdr5uOrUhS/7u/lFaHAuLYaCxACYssJm6Dc7TOmGEbcYom5ur+arzc1yvhGX6a+GUea1ON0c8+HFchNqrPGXPuY5PptqQL+6/DQM8sKo0IcnsYf10UfkL4p/vvELPD16Yhe4GVxus8QrmC/PRXd3uWvw67XovJaVkXkfuZ29F0PooW0O0+GhzotC+zGVp3fLsfp51x8rjXdLskT9dLHofGSU7sDG0JeL+8WlKKQ23pkPlkXL8NuOP/JRnviRd4/UBK2jHudd1EYgq/mUfr3QThynMPidU2Pw31RKaEM/8BlAuojPFwaDgAlInGBSRs+emTiteIhLkeX4mJDqgeUyxMVnAuoGvHnU6mh0VB/lq7P5NKp2tuiqEM7sk15DQjaBkyH60DVe/eRsusqy/7O7vRKXfxcv4TM4lUmvHAcbiRC9eXEvYiPZeCNQ1JRXn/vkyNllfvvcr0Su3tDVPQyVUvuVeLmry0rYzukCHrHYs4XFjfVmHOGsxP3GKuhRrPFoq2aCN5vl3eLLcivuizLolTwWR+n4hrHW3WK+vFx8+pTLaptt2JpgvI5X2EOV5YeD1exAr1OXLioFfVuzQa4x7ilzORr6kfoVXHobBgy4/mbTn1V/3d3iJMjMcdVdLdZx2OtNtDLw+lG0C5uJbIZWHeYiHmwaQFrDrESm56pu7bJSpf6LTPvkRRm4jqtccQ3McvnDnRihfFc1wKXyLW9uFZPpqr1jrRd8WRs+HKiVlQD/WWsatZt6UyuRWtdT89x17cr1Lv7NwWEJ21IZF3TLO7HYcxdM2gvpoT/giPUhzs1G5IT6cAuVHGd6W6DQ+yw1jnDOTtHHhwq8GiqyuLVf0wymKMtYI33VU/a/NsOIBffiebmN8kBHeWJ9PvZjZe74Y627/Im6vxKGIWif50tYeCttfDcziQ3ci+KQyd/GUZPXtK+UHw2DLAi17vkqeilmaCpVVah6EPqrHO5aBdYzHKtgg0uoxx09NS13Qn0Tm5j+5LRMsIdu80L57PeVsebq4Gj351g+fruV0e67w9VaXsustXLOl1WP1rOkN5WFwz8PjCd/qPX2dG1fHZZZsfFYGAj42Q42hXgLvrh78ErL/mpX3re9GMX3dS/dZKk05eFUlZZ8dXDO0N2Jhw5/Vqrv7cFufAh56iHc8mtt/IfN7kHkvx/PXner21/mi9Xu8fG/Zi93j6lnj795+uTfj6ejvXsEtL/PiCZPR/j33dGpHe1dJSDMGApvhqMTO8+bcguAoHIEbkUV6L79BxScJyhTyALbLw4FtG84iN6Go992OTqzI4sZoJh7E86Ho1M7z3nJPaCQe+CQe6Al94Ao96BY7oFN7Tqw0U6QvB+Ojp5YETbD4Qs7andJ/ciy5Ahv3SjsB8AAbYajY7vwppwNUAgQcLgK0BIgQBQgUCxAwCxAwKYAObkPWXsIR9t4lOOzzfGZEmF7NUSN1ji1XOfcfIsCbdgQNWTjsjUXFZq0IWrXxlXjNjG3cJOomRvXbd1kbvAmUKs3Tk2/8LcZgQkYIidwruygqOAJhsgYjCt3MDFbhEnkE8a1WZjMjmEC24YJ0TsKRgMpDFykoDa3APYT4/VGo5ylaGAvhshjjCujMTG7jUlkOca175jM5mMCO5AJ0YYKvs8RechoK1Al1MKfJptAfzJE/mSc/Mk5+1NRwJ8MkT8Zl/5UVPAnQ+RPxpU/mZj9ySTyJ+Pan0xmfzKB/Mk4+VPhbzMCfzJE/uRc+VNRwZ8MkT8ZV/5kYvYnk8ifjGt/Mpn9yQT2JxOiPxWM/lQY+FNBbW4B7E/G641G+VPRwJ8MkT8ZV/5kYvYnk8ifjGt/Mpn9yQT2JxOiPxV8nyPykNFWoEqohT9haNCkIieniiLZFYnsWUEG44qc3CuK0sJCEvCxyMnMoqgcLabIthZ18rYoaoOLadjlokpWF0XyuyC+rXBwvsjJ/khUHhiSgBFGTm4YRWWJMUX2xaiTOUZRO2RMwzYZVfbKqEbDDBq6ZhDAOgNvKy2UTTSKX2neyk5DAvDUyMlYo6jcNabIFht18tkoarONadhxo8q2G9XovUG7rwTyocK3NX6o1IQpO0FLRkqGjBLZcZDYjEEEK0ZKRoyStGFIACaMlCwYJWXAqGf7RZXMFyVtvZiCjRc1sl2UyHRBeispGC5SstsgKbOFBGC1SMloUVI2i3o2WVTJYlHSBosp2F5RY3NFLVorKGisgMFWgbayhbGlonSwaSo7BRnMFClZKUrKSFHPNooqmShK2kIxBRsoamyfqEXzBOVehuxB0q2m9XIRljnlHv3SEJmlcXJK52yTRQGPNEQGaVy6Y1HBGg2RLxpXpmhidkSTyA6Nay80mY3QBHJB42SBhb/NCMzPEDmfc2V7RQXPM0SGZ1y5nYnZ6kwinzOuTc5kdjgT2N5MiN5WMBpbYeBqBbW5BbCfGa83GuVkRQMbM0QeZlwZmInZvUwi6zKufctkNi0T2LFMiHZV8H2OyENGW4EqoRb+VO4VDcoZOZQLZFEgsEeZBCbljFzKBWlTJoNPOSOjckE5lavZqlwjr3JBm5Xr7FaukF25QH5lwlvBwLGckWWBoDzLZDAtZ+RaLijbcjX7lmtkXC5o53KdrcsV9i5XonkZR/cyCPZlrBUthA3MhQPNSlmYieBhzsjEXFAu5mq2MdfIx1zQRuY6O5krbGWuRC8zfi+C8yDYVrFa5IWhlRtDQ3NGhuYCGRoIbGgmgaE5I0NzQRqayWBozsjQXFCG5mo2NNfI0FzQhuY6G5orZGgukKGZ8FYwMDRnZGggKEMzGQzNGRmaC8rQXM2G5hoZmgva0FxnQ3OFDc2VaGjG0dAMgqEZa0ULYUNz4UCzUoZmIhiaMzI0F5ShuZoNzTUyNBe0obnOhuYKG5or0dCM34vgPAi2VawWeWFoq+n7JO5AhZCZFUxWZpiNbBLAxgohEytYWtgkgoEVQvZVsDKvomXrKgoZV8HatorKplU4WVbBZFgTfpsImFUhZFWGlVFNIthUIWRSBSuLKlo2qKKQPRWszamobE2FszEVHm1pomhKEwJLmkibajjbUcHVJqGsaJLAiAohGypYmVDRsgUVhQyoYG0/RWXzKZytp/BoPBO9T2F4SGSbiY6tsJupEaDfGCLDMU6O45wtpyjgOYbIdIxL1ykq2I4h8h3jynhMzM5jElmPce09JrP5mEDuY5zsp/C3GYEBGSIHcq4sqKjgQYbIhIwrFzIx25BJ5EPGtRGZzE5kAluRCdGLCkYzKgzcqKA2twD2I+P1RqMcqWhgSYbIk4wrUzIxu5JJZEvGtS+ZzMZkAjuTCdGaCr7PEXnIaCtQJdTZn/460Je7K/uRBdFR8RJAMaTOMZpOLZCOPEjOPD7OSmiclIbt6HyslHZUcgAo3C5wuF2g5XYBUZGDYhkBZhkBNmVkT76f4r733+8x7oCih3+f4g4cMgK0ZASQ3S4wu11g0+0CKXF39N689PvJBvyojUexF/me2v1EJ9PFyBii8BinGBlXgTIxR8skCplxjpsJHDwTYgQNUxgLf5/D0GTUCkShNS7iO77DGONbEMe3cI5v4TK+RRTxLRLHt/AU3yKk+BaB4lswx3fi73MYmoxagTi+haf4/m0K7dHRqR2aFwErIUUWDQoEdCjAZlHA3IkAuhUBLF4EqIQN2G6keeZHJSuASk4AhYwAh3wALdkAZLkAZpkANuUBSMmCo/0HLodMPTUUE3Q5U10Z+iHSmepkpuCF24BzXjuR107kdbGrYn5kFdJRHIw7xzrq1Ibgjnx47czuxFnvw7/x0LtaZ9TXuhA6W8fe2zpL3a1L0N86LJMAZFajnU1fMA0VYmWDofEoDp1GVCoEojAN2Auvpua/N4NX2PoBlSYDSMykXlHTBxrnT69CwwfmhedsajJA4iTp1dTon1p+5rFbeIWNHpDoDF5Rowcau4BXodEDI+N/BY0eSLT7V9Doj4108SiOcF9hm0eUR7ivqM0jhTYPOA58X4U2D4wGvq+mlgZH+Z77yg328gb7fCfcyEAR92hNDFAcib/CBuZoEwpnkyvUplJ7NrL2bHLt4fkYKKJebUS92oR69Xq2XwnZT33HoziLH5GYwI88zd1HGqftI5Iz9lGhyfrISvgBlfA76kIeuhjr11jREeXwv6aKjhQqOuBYKq9DRQdGsX89VfQTy0EfLfN1qujAkz++xooOSC4tvQ4VHVhcUHqNFd3RJh7lu95U7noj73qT75prNSjirjfk96+hVjvZxqN819t8d6Grw3ZBAjURUlVroSS54VACakOk6uZEibhlkUyNjFRqb1GFyk8CtUJSqUGyKtomJcnNlBPkFkspqPGSyu2YZG7SUe5rFYkbOqmq9VCSr1VVdgJSdfOiRNzSSCarIJVcI6qbqnAwMNJWKMnXAsNmQ+r/JTDJgkhmNyI5GlMUt1XhYGCyc/002y/tH/uRDfMAhZG8C7v1gv24fnfUhKM2pGzjsvOI0qLyjorl7J+mDD+1RJZLQNjE9xTfuT8mRJmsvHNPKmQX30cn1OYfcu7V++gkqTjga9iUR46Ieg17kmKVgOCQQCFiVQUqpoFwRaGpCW3tVBxAUnMYYwIVzNygZHw4sPUGNSWY7A4Da4hC6lwFs6gQxoKajNr8Qw6a8RyuIqlAFW2b88jBMZ7C8vNseoZyZkd2d47sGYqjOIFzjnlwahM4Rz5Nc+ZTSWflGYoTm7ntUWlSLwWivBinDBlXuTIxZ80kyp9xzqQJnFMTYnYNU57xYQMjynN62MBc5Vk9bGCJ8pwfNrDAeeaHDYw5z6GFv6wKnP+ochSiKmMRk4iIxAQcl6im6EQ5xSjKFKkoUrzKg9OXAlGMjFN0jKu4mJgjYhLFwjhHwQTOvwkx54Zjnt9M2d178BvMKaCSSUBxhuc8PXN+g7kC5HMzZ747wVnZmODEJmaGfrNR4BvsnBCFfsmFsUuyoyYcfQgp26D59gZHaUb7Bo12uttktMwp1tpoWcxRT0bLnOOfjZaFWBLJaIlDmaSxauKqdMJYNaImow/5h21OxcWmhq+TFF7nhgKMnEoxilSUUVTlGVPkQo06lWwUuXijymUc1VjQUaPSTh+eOBHR43I/9OEJleR9pVSaCv9QOU9bSc+1ov79hb0OL61CxUBK1QIlqhQoqSqBeq4QqFJ1QIkrA2pcFVCLFQEVqgb0MvxJihNXgfrL8DnBexn5RtIP8gytTMvFXntHfK+W1wChxA1RcRunsjauCtrEXMomUREb5/I1gQvXhFiyhqlY8R3fkxgGLtDKO76kvs/xbDL6kH/Y5lRcfPKV2L0U17iwCFmhkmSZCpRlVa6cJhcvp6BSZpkLm3Uuc9Zj0bNKNYBkqAisUH1IsqoWlOh9tcSaqvKhera2+huuOSznCmTvzEHVcUaVxgWqLi6oiuJqriKuUeVwgauFK1whXIlVwTlVgvDm7AlFhAu+9uYsy+9FdBvBPojftiIdF6p+wXSvldUdKE1DVJjGqSyNq6I0MZekSVSQxrkcTeBiNCGWomEqRFzNO4lh4CKsrOaR+j7Hs8noQ/5hm1Nx4akFvknCSfqUtTRJZ05lpyfpLOayS5N05lx2eZLOQiy7NEknDmWXXl1IXJUd7uuneDYZfcg/bHMqLju503+UfpmK7YUfld8CKoUFKJQTcLgC0FI6gKxggFmZAJuKA0gpCUe7zUbP/ajkAFDJAaCQA+CQA6AlB4AsB8AsB8CmHAApOXBE+yR3KCbocqbsyTUinalOZio8mAac89qJvHYir308yvfcV26wlzfY5zvhp8agiHu058OAcvB5U+LbGb7RMB7FNxpGJN5oGHl6o2Gk8Y2GEck3GkaF3mgYGb3RMLLwRsO7Gb4+Nh7F57UjEk+vR54e3o40PqcekXw4PSr0RHpk8fn8iOJD+XdTrOEo3/V55a7P5V2f57vmWIMi7vqcHp6/g1g7GV/Eel6OmnDUxiOrPY6wluxpWfiCMjREITGu4mJiDo5JFCHjOkwmc6xMoGI2TmVd+LlAlSzKojexnkWuBMYPZzFVBxO4TpgQKwYukVLBNhm1AlFlUeuhk1QeMkGNMUThNK7CaWIOp0kUTuM6nCZzOE2gGmOcakzh5wJVsihrjIn1LHKNMX44i6nGmMA1xoRYY/D9IyrYJqNWIKox6v2jIqWthOUm9FZCrcoAV7cS6gQc7INbCXWiFHi9lVCrXM+Cel4VDgZG17yY5GuBSbUwqv+XwOQaGeVUL6NMtTPtupFVqakJbVXgWlvddbNPMEy09hPMJ3YUZzkjsmmlI7HxdeRpLjTSuMV1RLRldWT00vbIwvvaI4n7VX+bmpzn502MwW+pcQGXAbFmBIiHla74sNKZvbfjyF7bMbSbmbw4tiObITqyGaKjOEN0jjNEpzZDdOQzRGc+Q3RWZohObIZo6KJfwirAnuxnXGcnhcRfdDmXNuFCFGqXc6xdQGHCBSexSufIK50zkfnP2y+fu9uQjUXIpr2rBoiWPnasD2ftc977SnH2sjj7XJw8cQNFFLRN3ADlUrWJm+d+FbK1yrmnl8n2SLxMthPW3c2i1JxnRjchzSZfYiMWsUae1q9GGpeuRsRb6V2h9ayRifLchFWsHXkIYdrGo5IHQLjLbk9xv9bkaGm/FnPyY71fi8XszGm/FnP26Lxfi4Xo1mm/FnHw7TTEZq4cXA2xWSIvrw2xWWZXT0Ns5uTvhYPJGyIfME52b1yZhInZKUwiuzDOzmACW6EJsTMwTN5ROHULjkPfULA4AfcSxqmrcC76CxNzp+FS7jlMo+7DOPchJtSix71J4YscIu5XjLMZFaHPl+NuxvihaiQ6HJMq1ajS9Zhcq2XcCRmv1Cbujgpf5Whwx2SceifnqosqquinirTJqbnHMq66LRNz32USdWDGdS9mMndlJtSqEHVqBT/kiG8Foj7OuOjo0ibd0hvoTbpa5a7vwCZdnUR0g3qTrlZTl1jZpKtl6h71Jl2pYlepVxW0KrvN6qqCTsBd6MFVBZ0odad6VUGr3LUGFTvYKLAPRpU726hKr4xJhGPGBOybUU32GOXUmUSZOuQospEGlTtnEmMXnV4FladM3bV+FbSiqq67+ipoJYHoxvWroPr3qUuvvAoqz52696AuaqFOXX1Uk1vHdzBrN5M6/6h+vVqrgUBMcLBa1wYFMdHhup8GCFE9WLvTYCGoq1o808Ahqjx8IFUOIkIaNZSIr47WfpmGFVGVg4uYRAwxYgIeaES1MtyIidKgI8qHKzMPQIL4UCvLbVXgIUn99b8xwfk0GtkvzZ7jEARQ/L7NeRpsAE+L0ec4rABEK8rnYQABLKwdn+NQwVFx7v0HSs5n6ZslZZEd85re0WBOudbvaLCY85/e0WDOkcjvaLAQY5Le0SBO0SmYQ5RehZhOo1+FkCJF7MCrEDJFjp1+FUKKHMXKqxBSjfHUr0IokSIbNA4vvU4wnU69TiAkCmz1dQKh56Cq1wmExAGVrxMILQZTvU6QJQokKBxG3KA/nSdt0GdO0dMb9FnMcUsb9JlzxPIGfRZirNIGfeIUpYI5RGIf/HSi2j74ikxxO7gPvpImR7G2D74ic0yr++AreoxwbR+8linepHLYw+7x6YR593gSKMiV3eNJzYHNu8eTwMEUu8eTEgOYd4+zQEEzzuGyv+cA4XJG4XKBwuWCCperOVyuUbhc4HC5wuFyJYbLOYXLBAqXcQ7X9DV6CFYhFKqCKVAFqzAVLQepKBSigjlAhXN4Co/BKZRCM2EKzEQpLO+nkDx7YkclHIBKKACFMACHEAAt2QdkWQdm2QY2ZRlIya6j3fLWUz8qOQAUPxnlPH23YqT26SdH/DU9V/xLUM7KHBSQfZLR0Li3+OjIDm0pDph/FdcZfRXXBVyKA+xfxXUGX8V1CF/FdWhfxXXkX8U1Fqen76H6HR2/KIh+04kM23JPYJUMhy/NAoX1HExtn5p15J+adaaiYKs0p5a/3dLMfo44HsVp44hinXOe5pAjtTrnyGuWM/8QrrE+3msvwtrXQtjrOtOLOpM+PwuSqk7++Vlgour4Tm+vKbji4RndxKMc8rigARwrilOrEI4oj6B4VXEmCqMsR+xJE+y1yfbaZHttKvbaSHttsr02wl4bYa9Nstcm22sz2eu+u2jQXgGJr642ZK9A41dXG2GvoNBXVxu0V0Dxq6vNDJf2m1laz29maRG/Sd4KPK1rNrO0Rt/M8sJ8M8ur8c2Ml+CbWVp3b5KpNmCqnib+osu5pAX0Jhkq8LRU3rCfQuK4KN7M8kp4M8vL3w266f6DU80MF7qbWVrdbmZ5SbuZ4Tp2M0uL102yPeCyOPtcnHpBupnlVehmlpaem1lab27Q7xzlBd5mhqu6zSwt5TbJ7oCnRdtmllZqG2F3oNCabDPLC7HNjFdfd2RcWTXr8OVUR2jGI21n+ES3RZcEFJ/dtsklgaentC26JCB6HtsGlwQWnry26JKOxmesp3ZkvbCj2Ak7xz7YqXXBjrgHdsU7YGfW/zqy7teQu0mbXbLNLtlWXLKVLtlml2yFS7bCJdvkkm12yTa5ZJtcsg0u2WaXbLNLthWXbKVLttol2+ySrXDJVrhkO0tPBtsZjjnbWRpzjkiMOUeexpwjjWPOEdGYs53lMWcbrLfN1ttWrLeV1ttm622r1tsK622z9bbZettsva203nayXk+zydnbVLK3kdnb5Oyx9YIisrcR9WMTGwc+oJlMKT2gYU6Wqh/QsJjNNT2gYc42mx/QsBANNz2gIQ7Wm17PY65MWL2exxLZce31PJbZmNPreczJoguf55JmszZOjm1c1VkTc8U1iWqvca6oJnBtNUFXWTZ1f+4W2iU/jqPU4gRs9MbJ7Z0fiJDwfZey+ZtGPYBx7gZMqEWPO4TCFwJR12Bc9Q8m5k7CJOopjHN3YQL3GUXoc7649zB+qDREP2JSpb5WehSTa9WZ+xbjlWrLvUzhoqsp0ian5k7H+KGoiO7HpEpUKh2RybWopC7JhNjI+StwTxKl3kl+BS5Lqo+qfQUuq9RT6a/AZY37K/UVuKxQrwUSdFxIqe9CSXVfqOceDFXqxFDS/Rim4K4MNerNUKIODaS5rCXcraFEPRtKqlmgnlsGqtQ4UOIGgBq3AdSqzYC7u/AYP9iDeMCff6PPxF0fStT7BelwFEUfGNTcDaJMPSFK3BmidiDI3CWCtNCUOkaUVN+Ieu4eUaUeEiXuJFHjfhK0XmaZe0uUvlJ6os9Etd4GKj0npjjQSrj/RKneFLgXBUl0pKBu5G+4O0XpK2ETnSqq9bBVulZMcSBsqYNFLZjL4Asz/+bMeGTPDR3FjaaTUDrtK4HoHMbliabEeCJDdCLj8kRhD9hVjdMpoyjPC9G70pTOiZI8Y9k+dCUQncu4PJFt8bhSjE7lgjyX7X+4UozO5YI817Rl4CoTOk/B8izlQ2dXAtF5jKsTfURTODHkf/L8IzZzQPHhlHN8OOXUHk45kn/Z/GNovsDo75l/hOa6Jxe7jssGRLuj66Bdx9xPgs0C/ZcFXedU+hz2TqGfo6DrnKpyjmEMsFzO6SwGr1VKfab9iGb/J0guPy7LXyE5OskyabgKcGTEd8aEugUo3oYL/gj6tKD7cPQQjrwe7Y78z6SMR3HzyYjSJpMyOONMoBufEKLsVNyYVM5Y4fcZPWQE+Sxom/PAOTaes83v8h5FDNk2RNk2LrOdXvqcMlT4fUYPGUG28d1FygNnW767OElqy/OR0DAAsruTog6F3EpdcorifYU/VDiGB/m2kuEUqCDmaIlJz1FSIFKqCxeSjJIab055Bule0gdJITpAtzJ7HBmURFx8cpUCAxJGBjGHBjUdG0iRggPavcYPGmN8AG91PlOEUMsh4n3eRxFDaNJAjbkMSdowPmWw8PuMHjKCEBS0zXngrBvP2U5bh4+IQ8bzuDIJMut5G/KUKxPuBXsQDLJvbCsywwFwIUcg7QY+Ig4RyKPhJMgI5J3FU85MuBfsQTCIgLGtyAxHwIUUgU8p7zsyNJdlt17vlkKeGfw0K+9C744Wdi/jEQ1eP+XsfqIx2X4KepWuvyNdPLJlTUe23RNQ/obryHFlEyhu9nQcP+06IvqA68joA65xtiNmOtVZzlUOVPkpx6XgTiCKkHEKk3MRKxNzwFzKUTONQmec42cCBzEvBVxVlgKuDi4FmMqB1W+dTz/Kb51rgUJdeeu8ooqw1986ryTIRVB561yrXBy1t86lfFUVqIBIlcVUeYd6X1jXoRCuc+Svc7ivKzG+loG91tG8ziG8FnG7FsHasT4e5XvuKzfYyxvs852k/dSuiHv03dSO7MmKoW08yne9zXdXazAs0MkONpikilh9rcGkBLmIDzYYVjmohxsMyX1VOBgWWUnqn0zQCQ5mq1KLap9M0DLVrconE6S6rQoHA5PrYRlC7kdbt7hSMSGcxRcUTgpCWUl01Afb67PX9TWD68vQbn+Ul8z7tEjDXJ42LMbsUWXxuz+0+N1/ffG7zxP+PZeL4r2aUQtJXomnzXual8r7ylJ5f3CpvA8zrT2it0qv6gpdiWV5QUoE1xWr9n1t1b4/vGrfx0nUnpU/7nIlEJ3duDx5UeHceU2+r6zJ9wfX5HtsZ3tU+v/aum7USRzZsvt0V/T9/8vrQviTmb/EGPEQyfmd1uIlxTlX+nf2gRellZ5PanHdO6dYmz9FXC6otHJBqZU1d62KeW1M8WV+0VVis/vJ0/yTu3hSkcLrxhDe/VuPp3YUt7qMyCqgI7HrZeRpt8tI4y6XEdHelZF5j++svO3oJG5f2aGLWXlzZTyySbqjUkKIrGAAlpnLPtqrqVJ7AqvLjuKVunzxLl88Dr+A4zICUBhoAbYNDo58Y4Mzi6qzq3hUyhcQ1SETbH/HsdWf3UjsxMrChl+A4hvaziG3QO3NbEf8QXdX/H1tZ/ZNe0f2QrYhnxV5Wf8esuojoRUaAKA4xF7F5o5QGHVxMGx+aR8xc2qIeh8xi7lJpn3EzLlx5n3ELMRmmvYRE4cGa4gajnFqPc65/aZHeFPBFn6Zk3Jzxp3LjCr3x61b71xmMbdzuXOZNWrxeecyC9z2cajMiFygMlQmlf0AdxWfxEJnZ9C7ilnMHpF2FTPXbpF3FbNAvpF2FRNPDlKE33OYwEsMkaEYJ1dxztbiivIX/GL11PzSF6uZk7/oL1azmP0lfbGaOftL/mI1C9Ff0heriYO/GKL2a5zar3P2l/SsfCr2wi9zUvYX/EY2o8r9sb/ob2SzmP1FfiObNfKX/I1sFthfcOMAI/KXysYBUtlf8EPZJ7HQ2V/0h7JZzP6SPpTNXPtL/lA2C+Qv6UPZxJO/FOH3HCbwF0PkL8bJX5yzv7gi/SWs9KDLRIG9JqrsOFGVvhOTCPeJCdiDopqcKMrJj6JMrhRF9qb4jATKMArsA1FlNyA1eZZ+MFMqVFAvaz9LLpbWp7VwMCfJ1w6sT+skwuPq69M6BftdZX1ay8n70gMdLbAPHnqgI9MkT0wL4yeqyiV/PLAwrpMIr9QL41qt+GZlYVzL7KF6YVyq2U+D/Hst3OitUWCHjSr7LKnJbUkXnjstBo2vbe03DBixW4nY7DVi8RV509BQoxK/G2+YvgVv3L0z8mKakcaPwhf8WyYWVsIxXkHc/UG2/R+tLWT3l9hOQkx3f4LtLKSxv71GGAK0V+7BWvcvjdxjddujh5ToISfaQqL9Bzy2mGhCPNElzMnF9r2s4I/+/b//H63X5Vs="; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/Times-Roman.compressed.json -var Times_Roman_compressed_default = "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"; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/Symbol.compressed.json -var Symbol_compressed_default = "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"; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/ZapfDingbats.compressed.json -var ZapfDingbats_compressed_default = "eJxtmNtu20YQhl+F4FULyMGeD7pz3AY1ChtG7NpFA18w1NomIlECSRcxgrx7SVk7+wOdG8H5OJydf2Z2d5gf9cV+t0v9VK/r+6vXsXlOlbHe28paq229qj/t++m62aXZ4J/m8PRb1z9/baZxefK63Z6eXN5dVMvTCh83u277xr/6kLrnl2XNq7TpXnczuZyabdee98/b2VzM/x4/dd/T5qab2pd6PQ2vaVVfvDRD005puE3Lu7eH1HbN9hTjx4/77/X6y5lcnUmjVzHIVVDicVX/1W/SsO36dLMfu6nb9/X6TAoBD+5euvZbn8axXtuZ36dhPJrVQqgPQoh5hev91LWLkIv94W1Ygq9+aX+tZAx2tfz64284/sblN/rqfLP/mqrbt3FKu7G67Nv9cNgPzZQ2H6rz7bb6vLgZq89pTMO/M/xfEqturJpqSM/d7GJIm2oamk3aNcO3av80O5xh3yyKmm1193ZIT02bqovTKjP+MAf++7zsZvZ3276kYyWWXB0z99S18/PbafPHQ71W4fjn/fxnFO+ZvkrT0LVzTr78qB/+nk38bHM9exgP8zr1z9U7jt6840YW5uSJKcZOCaBBnKgm5mU8MVNYyMwWFvO7Ukagkmgg6sDWQ5yFFqjzUrLEaQ3BEmiwNsMSaZS0vgWfOkPHWQowNeTUc0kumnxZvsgPxlGai6VTGUqAVCTQ6QkWnc77DKEiLktSUBJKqHIQZ86d8gCpHYoiEzMsb1ubYy8vW50DChB5ZhGqrijD0EqUIeiaEHIfCg5Kpuu0ApiToaGPSY0uaQsyr65L2oKi1yFt1PLaQ3lzfXTgXodGoJYzglndSLDMPg1sTPJpQJHJigw0QrGERqD9YhyTOgONQDUyuF1zaxuokc/BW2ztXCMrGZ9WMW1oQZHIXWNBkSCfRZEL5BMUiZw6CzVSFCfUSGZFNjIldoKDkonTKQiJIGzWmFd3BizJJ9SINoLDriOfUCOZS+zg+KGD1qGiLNMLxtJD1/ns00ON6EzyUCM6vbxhoBKaqbG3DFQCNiL1iHccBPV0DHhQH/JW8EW90dkyFKGywCJU0WkVSvSGeiSUODWFFD0HYdPQVoiRgfPMA+/nnRgiAyNYSjpWNQcNSMrtFCUH4ZIRpSCWocFCSuhCEY6hoUClc0WC52BJlCYYLQdhN+hygRRRlo5BKRRLS6oihSqh+ZzzRGG1Mo4Iz1LoP0qsxDGFzk0JE42ji0jCPejomJKCuwil4m5CiRMEUMVSzVLDUstSx1Juc0oVWMpqY295qVltmtWmWW2a1aZZbZrVplltmtWmWW2G1WZYbYbVZlhthtVmWG2G1WZYbYbVZlhtltVmWW2W1WZZbZbVZlltltVmWW2W1QYjQCh7E2aAQHeGhCFgPoNoy8KNb2wxBhmGKBxoUZXlLGsLI6AsftEDHV0wIURVbANLcTKlGGBIKPOAxCmhePCKUwFzAmpDFRQvjA9R06Hq8TONvshgKDCuRAZTXigUxjxNFfKRo3CLhnIJBMFRvMZpqpNBMlQJzGT5WFQMVQI/AikPMIhEU1aDjqJvQwmjSHB05cC9jbYwc5UtAHNLhDw41ha+lEqF4JaH3gmB61SYcqInxTDmQK8v08vjqv4zDf1N0w3Lf4A8/vwPpfK11w=="; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/Font.js -var compressedJsonForFontName = { - "Courier": Courier_compressed_default, - "Courier-Bold": Courier_Bold_compressed_default, - "Courier-Oblique": Courier_Oblique_compressed_default, - "Courier-BoldOblique": Courier_BoldOblique_compressed_default, - "Helvetica": Helvetica_compressed_default, - "Helvetica-Bold": Helvetica_Bold_compressed_default, - "Helvetica-Oblique": Helvetica_Oblique_compressed_default, - "Helvetica-BoldOblique": Helvetica_BoldOblique_compressed_default, - "Times-Roman": Times_Roman_compressed_default, - "Times-Bold": Times_Bold_compressed_default, - "Times-Italic": Times_Italic_compressed_default, - "Times-BoldItalic": Times_BoldItalic_compressed_default, - "Symbol": Symbol_compressed_default, - "ZapfDingbats": ZapfDingbats_compressed_default -}; -var FontNames; -(function(FontNames2) { - FontNames2["Courier"] = "Courier"; - FontNames2["CourierBold"] = "Courier-Bold"; - FontNames2["CourierOblique"] = "Courier-Oblique"; - FontNames2["CourierBoldOblique"] = "Courier-BoldOblique"; - FontNames2["Helvetica"] = "Helvetica"; - FontNames2["HelveticaBold"] = "Helvetica-Bold"; - FontNames2["HelveticaOblique"] = "Helvetica-Oblique"; - FontNames2["HelveticaBoldOblique"] = "Helvetica-BoldOblique"; - FontNames2["TimesRoman"] = "Times-Roman"; - FontNames2["TimesRomanBold"] = "Times-Bold"; - FontNames2["TimesRomanItalic"] = "Times-Italic"; - FontNames2["TimesRomanBoldItalic"] = "Times-BoldItalic"; - FontNames2["Symbol"] = "Symbol"; - FontNames2["ZapfDingbats"] = "ZapfDingbats"; -})(FontNames || (FontNames = {})); -var fontCache = {}; -var Font = ( - /** @class */ - function() { - function Font2() { - var _this = this; - this.getWidthOfGlyph = function(glyphName) { - return _this.CharWidths[glyphName]; - }; - this.getXAxisKerningForPair = function(leftGlyphName, rightGlyphName) { - return (_this.KernPairXAmounts[leftGlyphName] || {})[rightGlyphName]; - }; - } - Font2.load = function(fontName) { - var cachedFont = fontCache[fontName]; - if (cachedFont) - return cachedFont; - var json = decompressJson(compressedJsonForFontName[fontName]); - var font = Object.assign(new Font2(), JSON.parse(json)); - font.CharWidths = font.CharMetrics.reduce(function(acc, metric) { - acc[metric.N] = metric.WX; - return acc; - }, {}); - font.KernPairXAmounts = font.KernPairs.reduce(function(acc, _a) { - var name1 = _a[0], name2 = _a[1], width = _a[2]; - if (!acc[name1]) - acc[name1] = {}; - acc[name1][name2] = width; - return acc; - }, {}); - fontCache[fontName] = font; - return font; - }; - return Font2; - }() -); - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/all-encodings.compressed.json -var all_encodings_compressed_default = "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"; - -// node_modules/.pnpm/@pdf-lib+standard-fonts@1.0.0/node_modules/@pdf-lib/standard-fonts/es/Encoding.js -var decompressedEncodings = decompressJson(all_encodings_compressed_default); -var allUnicodeMappings = JSON.parse(decompressedEncodings); -var Encoding = ( - /** @class */ - /* @__PURE__ */ function() { - function Encoding2(name, unicodeMappings) { - var _this = this; - this.canEncodeUnicodeCodePoint = function(codePoint) { - return codePoint in _this.unicodeMappings; - }; - this.encodeUnicodeCodePoint = function(codePoint) { - var mapped = _this.unicodeMappings[codePoint]; - if (!mapped) { - var str = String.fromCharCode(codePoint); - var hexCode = "0x" + padStart2(codePoint.toString(16), 4, "0"); - var msg = _this.name + ' cannot encode "' + str + '" (' + hexCode + ")"; - throw new Error(msg); - } - return { code: mapped[0], name: mapped[1] }; - }; - this.name = name; - this.supportedCodePoints = Object.keys(unicodeMappings).map(Number).sort(function(a, b) { - return a - b; - }); - this.unicodeMappings = unicodeMappings; - } - return Encoding2; - }() -); -var Encodings = { - Symbol: new Encoding("Symbol", allUnicodeMappings.symbol), - ZapfDingbats: new Encoding("ZapfDingbats", allUnicodeMappings.zapfdingbats), - WinAnsi: new Encoding("WinAnsi", allUnicodeMappings.win1252) -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/utils/objects.js -var values = function(obj) { - return Object.keys(obj).map(function(k) { - return obj[k]; - }); -}; -var StandardFontValues = values(FontNames); -var isStandardFont = function(input) { - return StandardFontValues.includes(input); -}; -var rectanglesAreEqual = function(a, b) { - return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height; -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/utils/validators.js -var backtick = function(val) { - return "`" + val + "`"; -}; -var singleQuote = function(val) { - return "'" + val + "'"; -}; -var formatValue = function(value) { - var type = typeof value; - if (type === "string") - return singleQuote(value); - else if (type === "undefined") - return backtick(value); - else - return value; -}; -var createValueErrorMsg = function(value, valueName, values2) { - var allowedValues = new Array(values2.length); - for (var idx = 0, len = values2.length; idx < len; idx++) { - var v = values2[idx]; - allowedValues[idx] = formatValue(v); - } - var joinedValues = allowedValues.join(" or "); - return backtick(valueName) + " must be one of " + joinedValues + ", but was actually " + formatValue(value); -}; -var assertIsOneOf = function(value, valueName, allowedValues) { - if (!Array.isArray(allowedValues)) { - allowedValues = values(allowedValues); - } - for (var idx = 0, len = allowedValues.length; idx < len; idx++) { - if (value === allowedValues[idx]) - return; - } - throw new TypeError(createValueErrorMsg(value, valueName, allowedValues)); -}; -var assertIsOneOfOrUndefined = function(value, valueName, allowedValues) { - if (!Array.isArray(allowedValues)) { - allowedValues = values(allowedValues); - } - assertIsOneOf(value, valueName, allowedValues.concat(void 0)); -}; -var assertIsSubset = function(values2, valueName, allowedValues) { - if (!Array.isArray(allowedValues)) { - allowedValues = values(allowedValues); - } - for (var idx = 0, len = values2.length; idx < len; idx++) { - assertIsOneOf(values2[idx], valueName, allowedValues); - } -}; -var getType = function(val) { - if (val === null) - return "null"; - if (val === void 0) - return "undefined"; - if (typeof val === "string") - return "string"; - if (isNaN(val)) - return "NaN"; - if (typeof val === "number") - return "number"; - if (typeof val === "boolean") - return "boolean"; - if (typeof val === "symbol") - return "symbol"; - if (typeof val === "bigint") - return "bigint"; - if (val.constructor && val.constructor.name) - return val.constructor.name; - if (val.name) - return val.name; - if (val.constructor) - return String(val.constructor); - return String(val); -}; -var isType = function(value, type) { - if (type === "null") - return value === null; - if (type === "undefined") - return value === void 0; - if (type === "string") - return typeof value === "string"; - if (type === "number") - return typeof value === "number" && !isNaN(value); - if (type === "boolean") - return typeof value === "boolean"; - if (type === "symbol") - return typeof value === "symbol"; - if (type === "bigint") - return typeof value === "bigint"; - if (type === Date) - return value instanceof Date; - if (type === Array) - return value instanceof Array; - if (type === Uint8Array) - return value instanceof Uint8Array; - if (type === ArrayBuffer) - return value instanceof ArrayBuffer; - if (type === Function) - return value instanceof Function; - return value instanceof type[0]; -}; -var createTypeErrorMsg = function(value, valueName, types) { - var allowedTypes = new Array(types.length); - for (var idx = 0, len = types.length; idx < len; idx++) { - var type = types[idx]; - if (type === "null") - allowedTypes[idx] = backtick("null"); - if (type === "undefined") - allowedTypes[idx] = backtick("undefined"); - if (type === "string") - allowedTypes[idx] = backtick("string"); - else if (type === "number") - allowedTypes[idx] = backtick("number"); - else if (type === "boolean") - allowedTypes[idx] = backtick("boolean"); - else if (type === "symbol") - allowedTypes[idx] = backtick("symbol"); - else if (type === "bigint") - allowedTypes[idx] = backtick("bigint"); - else if (type === Array) - allowedTypes[idx] = backtick("Array"); - else if (type === Uint8Array) - allowedTypes[idx] = backtick("Uint8Array"); - else if (type === ArrayBuffer) - allowedTypes[idx] = backtick("ArrayBuffer"); - else - allowedTypes[idx] = backtick(type[1]); - } - var joinedTypes = allowedTypes.join(" or "); - return backtick(valueName) + " must be of type " + joinedTypes + ", but was actually of type " + backtick(getType(value)); -}; -var assertIs = function(value, valueName, types) { - for (var idx = 0, len = types.length; idx < len; idx++) { - if (isType(value, types[idx])) - return; - } - throw new TypeError(createTypeErrorMsg(value, valueName, types)); -}; -var assertOrUndefined = function(value, valueName, types) { - assertIs(value, valueName, types.concat("undefined")); -}; -var assertEachIs = function(values2, valueName, types) { - for (var idx = 0, len = values2.length; idx < len; idx++) { - assertIs(values2[idx], valueName, types); - } -}; -var assertRange = function(value, valueName, min, max) { - assertIs(value, valueName, ["number"]); - assertIs(min, "min", ["number"]); - assertIs(max, "max", ["number"]); - max = Math.max(min, max); - if (value < min || value > max) { - throw new Error(backtick(valueName) + " must be at least " + min + " and at most " + max + ", but was actually " + value); - } -}; -var assertRangeOrUndefined = function(value, valueName, min, max) { - assertIs(value, valueName, ["number", "undefined"]); - if (typeof value === "number") - assertRange(value, valueName, min, max); -}; -var assertMultiple = function(value, valueName, multiplier) { - assertIs(value, valueName, ["number"]); - if (value % multiplier !== 0) { - throw new Error(backtick(valueName) + " must be a multiple of " + multiplier + ", but was actually " + value); - } -}; -var assertInteger = function(value, valueName) { - if (!Number.isInteger(value)) { - throw new Error(backtick(valueName) + " must be an integer, but was actually " + value); - } -}; -var assertPositive = function(value, valueName) { - if (![1, 0].includes(Math.sign(value))) { - throw new Error(backtick(valueName) + " must be a positive number or 0, but was actually " + value); - } -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/utils/pdfDocEncoding.js -var pdfDocEncodingToUnicode = new Uint16Array(256); -for (idx = 0; idx < 256; idx++) { - pdfDocEncodingToUnicode[idx] = idx; -} -var idx; -pdfDocEncodingToUnicode[22] = toCharCode(""); -pdfDocEncodingToUnicode[24] = toCharCode("\u02D8"); -pdfDocEncodingToUnicode[25] = toCharCode("\u02C7"); -pdfDocEncodingToUnicode[26] = toCharCode("\u02C6"); -pdfDocEncodingToUnicode[27] = toCharCode("\u02D9"); -pdfDocEncodingToUnicode[28] = toCharCode("\u02DD"); -pdfDocEncodingToUnicode[29] = toCharCode("\u02DB"); -pdfDocEncodingToUnicode[30] = toCharCode("\u02DA"); -pdfDocEncodingToUnicode[31] = toCharCode("\u02DC"); -pdfDocEncodingToUnicode[127] = toCharCode("\uFFFD"); -pdfDocEncodingToUnicode[128] = toCharCode("\u2022"); -pdfDocEncodingToUnicode[129] = toCharCode("\u2020"); -pdfDocEncodingToUnicode[130] = toCharCode("\u2021"); -pdfDocEncodingToUnicode[131] = toCharCode("\u2026"); -pdfDocEncodingToUnicode[132] = toCharCode("\u2014"); -pdfDocEncodingToUnicode[133] = toCharCode("\u2013"); -pdfDocEncodingToUnicode[134] = toCharCode("\u0192"); -pdfDocEncodingToUnicode[135] = toCharCode("\u2044"); -pdfDocEncodingToUnicode[136] = toCharCode("\u2039"); -pdfDocEncodingToUnicode[137] = toCharCode("\u203A"); -pdfDocEncodingToUnicode[138] = toCharCode("\u2212"); -pdfDocEncodingToUnicode[139] = toCharCode("\u2030"); -pdfDocEncodingToUnicode[140] = toCharCode("\u201E"); -pdfDocEncodingToUnicode[141] = toCharCode("\u201C"); -pdfDocEncodingToUnicode[142] = toCharCode("\u201D"); -pdfDocEncodingToUnicode[143] = toCharCode("\u2018"); -pdfDocEncodingToUnicode[144] = toCharCode("\u2019"); -pdfDocEncodingToUnicode[145] = toCharCode("\u201A"); -pdfDocEncodingToUnicode[146] = toCharCode("\u2122"); -pdfDocEncodingToUnicode[147] = toCharCode("\uFB01"); -pdfDocEncodingToUnicode[148] = toCharCode("\uFB02"); -pdfDocEncodingToUnicode[149] = toCharCode("\u0141"); -pdfDocEncodingToUnicode[150] = toCharCode("\u0152"); -pdfDocEncodingToUnicode[151] = toCharCode("\u0160"); -pdfDocEncodingToUnicode[152] = toCharCode("\u0178"); -pdfDocEncodingToUnicode[153] = toCharCode("\u017D"); -pdfDocEncodingToUnicode[154] = toCharCode("\u0131"); -pdfDocEncodingToUnicode[155] = toCharCode("\u0142"); -pdfDocEncodingToUnicode[156] = toCharCode("\u0153"); -pdfDocEncodingToUnicode[157] = toCharCode("\u0161"); -pdfDocEncodingToUnicode[158] = toCharCode("\u017E"); -pdfDocEncodingToUnicode[159] = toCharCode("\uFFFD"); -pdfDocEncodingToUnicode[160] = toCharCode("\u20AC"); -pdfDocEncodingToUnicode[173] = toCharCode("\uFFFD"); -var pdfDocEncodingDecode = function(bytes) { - var codePoints = new Array(bytes.length); - for (var idx = 0, len = bytes.length; idx < len; idx++) { - codePoints[idx] = pdfDocEncodingToUnicode[bytes[idx]]; - } - return String.fromCodePoint.apply(String, codePoints); -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/utils/Cache.js -var Cache = ( - /** @class */ - function() { - function Cache2(populate) { - this.populate = populate; - this.value = void 0; - } - Cache2.prototype.getValue = function() { - return this.value; - }; - Cache2.prototype.access = function() { - if (!this.value) - this.value = this.populate(); - return this.value; - }; - Cache2.prototype.invalidate = function() { - this.value = void 0; - }; - Cache2.populatedBy = function(populate) { - return new Cache2(populate); - }; - return Cache2; - }() -); -var Cache_default = Cache; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/errors.js -var MethodNotImplementedError = ( - /** @class */ - function(_super) { - __extends(MethodNotImplementedError2, _super); - function MethodNotImplementedError2(className, methodName) { - var _this = this; - var msg = "Method " + className + "." + methodName + "() not implemented"; - _this = _super.call(this, msg) || this; - return _this; - } - return MethodNotImplementedError2; - }(Error) -); -var PrivateConstructorError = ( - /** @class */ - function(_super) { - __extends(PrivateConstructorError2, _super); - function PrivateConstructorError2(className) { - var _this = this; - var msg = "Cannot construct " + className + " - it has a private constructor"; - _this = _super.call(this, msg) || this; - return _this; - } - return PrivateConstructorError2; - }(Error) -); -var UnexpectedObjectTypeError = ( - /** @class */ - function(_super) { - __extends(UnexpectedObjectTypeError2, _super); - function UnexpectedObjectTypeError2(expected, actual) { - var _this = this; - var name = function(t) { - var _a, _b; - return (_a = t === null || t === void 0 ? void 0 : t.name) !== null && _a !== void 0 ? _a : (_b = t === null || t === void 0 ? void 0 : t.constructor) === null || _b === void 0 ? void 0 : _b.name; - }; - var expectedTypes = Array.isArray(expected) ? expected.map(name) : [name(expected)]; - var msg = "Expected instance of " + expectedTypes.join(" or ") + ", " + ("but got instance of " + (actual ? name(actual) : actual)); - _this = _super.call(this, msg) || this; - return _this; - } - return UnexpectedObjectTypeError2; - }(Error) -); -var UnsupportedEncodingError = ( - /** @class */ - function(_super) { - __extends(UnsupportedEncodingError2, _super); - function UnsupportedEncodingError2(encoding) { - var _this = this; - var msg = encoding + " stream encoding not supported"; - _this = _super.call(this, msg) || this; - return _this; - } - return UnsupportedEncodingError2; - }(Error) -); -var ReparseError = ( - /** @class */ - function(_super) { - __extends(ReparseError2, _super); - function ReparseError2(className, methodName) { - var _this = this; - var msg = "Cannot call " + className + "." + methodName + "() more than once"; - _this = _super.call(this, msg) || this; - return _this; - } - return ReparseError2; - }(Error) -); -var MissingCatalogError = ( - /** @class */ - function(_super) { - __extends(MissingCatalogError2, _super); - function MissingCatalogError2(ref) { - var _this = this; - var msg = "Missing catalog (ref=" + ref + ")"; - _this = _super.call(this, msg) || this; - return _this; - } - return MissingCatalogError2; - }(Error) -); -var MissingPageContentsEmbeddingError = ( - /** @class */ - function(_super) { - __extends(MissingPageContentsEmbeddingError2, _super); - function MissingPageContentsEmbeddingError2() { - var _this = this; - var msg = "Can't embed page with missing Contents"; - _this = _super.call(this, msg) || this; - return _this; - } - return MissingPageContentsEmbeddingError2; - }(Error) -); -var UnrecognizedStreamTypeError = ( - /** @class */ - function(_super) { - __extends(UnrecognizedStreamTypeError2, _super); - function UnrecognizedStreamTypeError2(stream2) { - var _a, _b, _c; - var _this = this; - var streamType = (_c = (_b = (_a = stream2 === null || stream2 === void 0 ? void 0 : stream2.contructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : stream2 === null || stream2 === void 0 ? void 0 : stream2.name) !== null && _c !== void 0 ? _c : stream2; - var msg = "Unrecognized stream type: " + streamType; - _this = _super.call(this, msg) || this; - return _this; - } - return UnrecognizedStreamTypeError2; - }(Error) -); -var PageEmbeddingMismatchedContextError = ( - /** @class */ - function(_super) { - __extends(PageEmbeddingMismatchedContextError2, _super); - function PageEmbeddingMismatchedContextError2() { - var _this = this; - var msg = "Found mismatched contexts while embedding pages. All pages in the array passed to `PDFDocument.embedPages()` must be from the same document."; - _this = _super.call(this, msg) || this; - return _this; - } - return PageEmbeddingMismatchedContextError2; - }(Error) -); -var PDFArrayIsNotRectangleError = ( - /** @class */ - function(_super) { - __extends(PDFArrayIsNotRectangleError2, _super); - function PDFArrayIsNotRectangleError2(size) { - var _this = this; - var msg = "Attempted to convert PDFArray with " + size + " elements to rectangle, but must have exactly 4 elements."; - _this = _super.call(this, msg) || this; - return _this; - } - return PDFArrayIsNotRectangleError2; - }(Error) -); -var InvalidPDFDateStringError = ( - /** @class */ - function(_super) { - __extends(InvalidPDFDateStringError2, _super); - function InvalidPDFDateStringError2(value) { - var _this = this; - var msg = 'Attempted to convert "' + value + '" to a date, but it does not match the PDF date string format.'; - _this = _super.call(this, msg) || this; - return _this; - } - return InvalidPDFDateStringError2; - }(Error) -); -var InvalidTargetIndexError = ( - /** @class */ - function(_super) { - __extends(InvalidTargetIndexError2, _super); - function InvalidTargetIndexError2(targetIndex, Count) { - var _this = this; - var msg = "Invalid targetIndex specified: targetIndex=" + targetIndex + " must be less than Count=" + Count; - _this = _super.call(this, msg) || this; - return _this; - } - return InvalidTargetIndexError2; - }(Error) -); -var CorruptPageTreeError = ( - /** @class */ - function(_super) { - __extends(CorruptPageTreeError2, _super); - function CorruptPageTreeError2(targetIndex, operation) { - var _this = this; - var msg = "Failed to " + operation + " at targetIndex=" + targetIndex + " due to corrupt page tree: It is likely that one or more 'Count' entries are invalid"; - _this = _super.call(this, msg) || this; - return _this; - } - return CorruptPageTreeError2; - }(Error) -); -var IndexOutOfBoundsError = ( - /** @class */ - function(_super) { - __extends(IndexOutOfBoundsError2, _super); - function IndexOutOfBoundsError2(index, min, max) { - var _this = this; - var msg = "index should be at least " + min + " and at most " + max + ", but was actually " + index; - _this = _super.call(this, msg) || this; - return _this; - } - return IndexOutOfBoundsError2; - }(Error) -); -var InvalidAcroFieldValueError = ( - /** @class */ - function(_super) { - __extends(InvalidAcroFieldValueError2, _super); - function InvalidAcroFieldValueError2() { - var _this = this; - var msg = "Attempted to set invalid field value"; - _this = _super.call(this, msg) || this; - return _this; - } - return InvalidAcroFieldValueError2; - }(Error) -); -var MultiSelectValueError = ( - /** @class */ - function(_super) { - __extends(MultiSelectValueError2, _super); - function MultiSelectValueError2() { - var _this = this; - var msg = "Attempted to select multiple values for single-select field"; - _this = _super.call(this, msg) || this; - return _this; - } - return MultiSelectValueError2; - }(Error) -); -var MissingDAEntryError = ( - /** @class */ - function(_super) { - __extends(MissingDAEntryError2, _super); - function MissingDAEntryError2(fieldName) { - var _this = this; - var msg = "No /DA (default appearance) entry found for field: " + fieldName; - _this = _super.call(this, msg) || this; - return _this; - } - return MissingDAEntryError2; - }(Error) -); -var MissingTfOperatorError = ( - /** @class */ - function(_super) { - __extends(MissingTfOperatorError2, _super); - function MissingTfOperatorError2(fieldName) { - var _this = this; - var msg = "No Tf operator found for DA of field: " + fieldName; - _this = _super.call(this, msg) || this; - return _this; - } - return MissingTfOperatorError2; - }(Error) -); -var NumberParsingError = ( - /** @class */ - function(_super) { - __extends(NumberParsingError2, _super); - function NumberParsingError2(pos, value) { - var _this = this; - var msg = "Failed to parse number " + ("(line:" + pos.line + " col:" + pos.column + " offset=" + pos.offset + '): "' + value + '"'); - _this = _super.call(this, msg) || this; - return _this; - } - return NumberParsingError2; - }(Error) -); -var PDFParsingError = ( - /** @class */ - function(_super) { - __extends(PDFParsingError2, _super); - function PDFParsingError2(pos, details) { - var _this = this; - var msg = "Failed to parse PDF document " + ("(line:" + pos.line + " col:" + pos.column + " offset=" + pos.offset + "): " + details); - _this = _super.call(this, msg) || this; - return _this; - } - return PDFParsingError2; - }(Error) -); -var NextByteAssertionError = ( - /** @class */ - function(_super) { - __extends(NextByteAssertionError2, _super); - function NextByteAssertionError2(pos, expectedByte, actualByte) { - var _this = this; - var msg = "Expected next byte to be " + expectedByte + " but it was actually " + actualByte; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return NextByteAssertionError2; - }(PDFParsingError) -); -var PDFObjectParsingError = ( - /** @class */ - function(_super) { - __extends(PDFObjectParsingError2, _super); - function PDFObjectParsingError2(pos, byte) { - var _this = this; - var msg = "Failed to parse PDF object starting with the following byte: " + byte; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return PDFObjectParsingError2; - }(PDFParsingError) -); -var PDFInvalidObjectParsingError = ( - /** @class */ - function(_super) { - __extends(PDFInvalidObjectParsingError2, _super); - function PDFInvalidObjectParsingError2(pos) { - var _this = this; - var msg = "Failed to parse invalid PDF object"; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return PDFInvalidObjectParsingError2; - }(PDFParsingError) -); -var PDFStreamParsingError = ( - /** @class */ - function(_super) { - __extends(PDFStreamParsingError2, _super); - function PDFStreamParsingError2(pos) { - var _this = this; - var msg = "Failed to parse PDF stream"; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return PDFStreamParsingError2; - }(PDFParsingError) -); -var UnbalancedParenthesisError = ( - /** @class */ - function(_super) { - __extends(UnbalancedParenthesisError2, _super); - function UnbalancedParenthesisError2(pos) { - var _this = this; - var msg = "Failed to parse PDF literal string due to unbalanced parenthesis"; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return UnbalancedParenthesisError2; - }(PDFParsingError) -); -var StalledParserError = ( - /** @class */ - function(_super) { - __extends(StalledParserError2, _super); - function StalledParserError2(pos) { - var _this = this; - var msg = "Parser stalled"; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return StalledParserError2; - }(PDFParsingError) -); -var MissingPDFHeaderError = ( - /** @class */ - function(_super) { - __extends(MissingPDFHeaderError2, _super); - function MissingPDFHeaderError2(pos) { - var _this = this; - var msg = "No PDF header found"; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return MissingPDFHeaderError2; - }(PDFParsingError) -); -var MissingKeywordError = ( - /** @class */ - function(_super) { - __extends(MissingKeywordError2, _super); - function MissingKeywordError2(pos, keyword) { - var _this = this; - var msg = "Did not find expected keyword '" + arrayAsString(keyword) + "'"; - _this = _super.call(this, pos, msg) || this; - return _this; - } - return MissingKeywordError2; - }(PDFParsingError) -); - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/syntax/CharCodes.js -var CharCodes; -(function(CharCodes2) { - CharCodes2[CharCodes2["Null"] = 0] = "Null"; - CharCodes2[CharCodes2["Backspace"] = 8] = "Backspace"; - CharCodes2[CharCodes2["Tab"] = 9] = "Tab"; - CharCodes2[CharCodes2["Newline"] = 10] = "Newline"; - CharCodes2[CharCodes2["FormFeed"] = 12] = "FormFeed"; - CharCodes2[CharCodes2["CarriageReturn"] = 13] = "CarriageReturn"; - CharCodes2[CharCodes2["Space"] = 32] = "Space"; - CharCodes2[CharCodes2["ExclamationPoint"] = 33] = "ExclamationPoint"; - CharCodes2[CharCodes2["Hash"] = 35] = "Hash"; - CharCodes2[CharCodes2["Percent"] = 37] = "Percent"; - CharCodes2[CharCodes2["LeftParen"] = 40] = "LeftParen"; - CharCodes2[CharCodes2["RightParen"] = 41] = "RightParen"; - CharCodes2[CharCodes2["Plus"] = 43] = "Plus"; - CharCodes2[CharCodes2["Minus"] = 45] = "Minus"; - CharCodes2[CharCodes2["Dash"] = 45] = "Dash"; - CharCodes2[CharCodes2["Period"] = 46] = "Period"; - CharCodes2[CharCodes2["ForwardSlash"] = 47] = "ForwardSlash"; - CharCodes2[CharCodes2["Zero"] = 48] = "Zero"; - CharCodes2[CharCodes2["One"] = 49] = "One"; - CharCodes2[CharCodes2["Two"] = 50] = "Two"; - CharCodes2[CharCodes2["Three"] = 51] = "Three"; - CharCodes2[CharCodes2["Four"] = 52] = "Four"; - CharCodes2[CharCodes2["Five"] = 53] = "Five"; - CharCodes2[CharCodes2["Six"] = 54] = "Six"; - CharCodes2[CharCodes2["Seven"] = 55] = "Seven"; - CharCodes2[CharCodes2["Eight"] = 56] = "Eight"; - CharCodes2[CharCodes2["Nine"] = 57] = "Nine"; - CharCodes2[CharCodes2["LessThan"] = 60] = "LessThan"; - CharCodes2[CharCodes2["GreaterThan"] = 62] = "GreaterThan"; - CharCodes2[CharCodes2["A"] = 65] = "A"; - CharCodes2[CharCodes2["D"] = 68] = "D"; - CharCodes2[CharCodes2["E"] = 69] = "E"; - CharCodes2[CharCodes2["F"] = 70] = "F"; - CharCodes2[CharCodes2["O"] = 79] = "O"; - CharCodes2[CharCodes2["P"] = 80] = "P"; - CharCodes2[CharCodes2["R"] = 82] = "R"; - CharCodes2[CharCodes2["LeftSquareBracket"] = 91] = "LeftSquareBracket"; - CharCodes2[CharCodes2["BackSlash"] = 92] = "BackSlash"; - CharCodes2[CharCodes2["RightSquareBracket"] = 93] = "RightSquareBracket"; - CharCodes2[CharCodes2["a"] = 97] = "a"; - CharCodes2[CharCodes2["b"] = 98] = "b"; - CharCodes2[CharCodes2["d"] = 100] = "d"; - CharCodes2[CharCodes2["e"] = 101] = "e"; - CharCodes2[CharCodes2["f"] = 102] = "f"; - CharCodes2[CharCodes2["i"] = 105] = "i"; - CharCodes2[CharCodes2["j"] = 106] = "j"; - CharCodes2[CharCodes2["l"] = 108] = "l"; - CharCodes2[CharCodes2["m"] = 109] = "m"; - CharCodes2[CharCodes2["n"] = 110] = "n"; - CharCodes2[CharCodes2["o"] = 111] = "o"; - CharCodes2[CharCodes2["r"] = 114] = "r"; - CharCodes2[CharCodes2["s"] = 115] = "s"; - CharCodes2[CharCodes2["t"] = 116] = "t"; - CharCodes2[CharCodes2["u"] = 117] = "u"; - CharCodes2[CharCodes2["x"] = 120] = "x"; - CharCodes2[CharCodes2["LeftCurly"] = 123] = "LeftCurly"; - CharCodes2[CharCodes2["RightCurly"] = 125] = "RightCurly"; - CharCodes2[CharCodes2["Tilde"] = 126] = "Tilde"; -})(CharCodes || (CharCodes = {})); -var CharCodes_default = CharCodes; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/PDFContext.js -var import_pako3 = __toESM(require_pako()); - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/document/PDFHeader.js -var PDFHeader = ( - /** @class */ - function() { - function PDFHeader2(major, minor) { - this.major = String(major); - this.minor = String(minor); - } - PDFHeader2.prototype.toString = function() { - var bc = charFromCode(129); - return "%PDF-" + this.major + "." + this.minor + "\n%" + bc + bc + bc + bc; - }; - PDFHeader2.prototype.sizeInBytes = function() { - return 12 + this.major.length + this.minor.length; - }; - PDFHeader2.prototype.copyBytesInto = function(buffer, offset) { - var initialOffset = offset; - buffer[offset++] = CharCodes_default.Percent; - buffer[offset++] = CharCodes_default.P; - buffer[offset++] = CharCodes_default.D; - buffer[offset++] = CharCodes_default.F; - buffer[offset++] = CharCodes_default.Dash; - offset += copyStringIntoBuffer(this.major, buffer, offset); - buffer[offset++] = CharCodes_default.Period; - offset += copyStringIntoBuffer(this.minor, buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.Percent; - buffer[offset++] = 129; - buffer[offset++] = 129; - buffer[offset++] = 129; - buffer[offset++] = 129; - return offset - initialOffset; - }; - PDFHeader2.forVersion = function(major, minor) { - return new PDFHeader2(major, minor); - }; - return PDFHeader2; - }() -); -var PDFHeader_default = PDFHeader; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/objects/PDFObject.js -var PDFObject = ( - /** @class */ - function() { - function PDFObject2() { - } - PDFObject2.prototype.clone = function(_context) { - throw new MethodNotImplementedError(this.constructor.name, "clone"); - }; - PDFObject2.prototype.toString = function() { - throw new MethodNotImplementedError(this.constructor.name, "toString"); - }; - PDFObject2.prototype.sizeInBytes = function() { - throw new MethodNotImplementedError(this.constructor.name, "sizeInBytes"); - }; - PDFObject2.prototype.copyBytesInto = function(_buffer, _offset) { - throw new MethodNotImplementedError(this.constructor.name, "copyBytesInto"); - }; - return PDFObject2; - }() -); -var PDFObject_default = PDFObject; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/objects/PDFNumber.js -var PDFNumber = ( - /** @class */ - function(_super) { - __extends(PDFNumber2, _super); - function PDFNumber2(value) { - var _this = _super.call(this) || this; - _this.numberValue = value; - _this.stringValue = numberToString(value); - return _this; - } - PDFNumber2.prototype.asNumber = function() { - return this.numberValue; - }; - PDFNumber2.prototype.value = function() { - return this.numberValue; - }; - PDFNumber2.prototype.clone = function() { - return PDFNumber2.of(this.numberValue); - }; - PDFNumber2.prototype.toString = function() { - return this.stringValue; - }; - PDFNumber2.prototype.sizeInBytes = function() { - return this.stringValue.length; - }; - PDFNumber2.prototype.copyBytesInto = function(buffer, offset) { - offset += copyStringIntoBuffer(this.stringValue, buffer, offset); - return this.stringValue.length; - }; - PDFNumber2.of = function(value) { - return new PDFNumber2(value); - }; - return PDFNumber2; - }(PDFObject_default) -); -var PDFNumber_default = PDFNumber; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/objects/PDFArray.js -var PDFArray = ( - /** @class */ - function(_super) { - __extends(PDFArray3, _super); - function PDFArray3(context) { - var _this = _super.call(this) || this; - _this.array = []; - _this.context = context; - return _this; - } - PDFArray3.prototype.size = function() { - return this.array.length; - }; - PDFArray3.prototype.push = function(object) { - this.array.push(object); - }; - PDFArray3.prototype.insert = function(index, object) { - this.array.splice(index, 0, object); - }; - PDFArray3.prototype.indexOf = function(object) { - var index = this.array.indexOf(object); - return index === -1 ? void 0 : index; - }; - PDFArray3.prototype.remove = function(index) { - this.array.splice(index, 1); - }; - PDFArray3.prototype.set = function(idx, object) { - this.array[idx] = object; - }; - PDFArray3.prototype.get = function(index) { - return this.array[index]; - }; - PDFArray3.prototype.lookupMaybe = function(index) { - var _a; - var types = []; - for (var _i = 1; _i < arguments.length; _i++) { - types[_i - 1] = arguments[_i]; - } - return (_a = this.context).lookupMaybe.apply(_a, __spreadArrays([this.get(index)], types)); - }; - PDFArray3.prototype.lookup = function(index) { - var _a; - var types = []; - for (var _i = 1; _i < arguments.length; _i++) { - types[_i - 1] = arguments[_i]; - } - return (_a = this.context).lookup.apply(_a, __spreadArrays([this.get(index)], types)); - }; - PDFArray3.prototype.asRectangle = function() { - if (this.size() !== 4) - throw new PDFArrayIsNotRectangleError(this.size()); - var lowerLeftX = this.lookup(0, PDFNumber_default).asNumber(); - var lowerLeftY = this.lookup(1, PDFNumber_default).asNumber(); - var upperRightX = this.lookup(2, PDFNumber_default).asNumber(); - var upperRightY = this.lookup(3, PDFNumber_default).asNumber(); - var x = lowerLeftX; - var y = lowerLeftY; - var width = upperRightX - lowerLeftX; - var height = upperRightY - lowerLeftY; - return { x, y, width, height }; - }; - PDFArray3.prototype.asArray = function() { - return this.array.slice(); - }; - PDFArray3.prototype.clone = function(context) { - var clone = PDFArray3.withContext(context || this.context); - for (var idx = 0, len = this.size(); idx < len; idx++) { - clone.push(this.array[idx]); - } - return clone; - }; - PDFArray3.prototype.toString = function() { - var arrayString = "[ "; - for (var idx = 0, len = this.size(); idx < len; idx++) { - arrayString += this.get(idx).toString(); - arrayString += " "; - } - arrayString += "]"; - return arrayString; - }; - PDFArray3.prototype.sizeInBytes = function() { - var size = 3; - for (var idx = 0, len = this.size(); idx < len; idx++) { - size += this.get(idx).sizeInBytes() + 1; - } - return size; - }; - PDFArray3.prototype.copyBytesInto = function(buffer, offset) { - var initialOffset = offset; - buffer[offset++] = CharCodes_default.LeftSquareBracket; - buffer[offset++] = CharCodes_default.Space; - for (var idx = 0, len = this.size(); idx < len; idx++) { - offset += this.get(idx).copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Space; - } - buffer[offset++] = CharCodes_default.RightSquareBracket; - return offset - initialOffset; - }; - PDFArray3.prototype.scalePDFNumbers = function(x, y) { - for (var idx = 0, len = this.size(); idx < len; idx++) { - var el = this.lookup(idx); - if (el instanceof PDFNumber_default) { - var factor = idx % 2 === 0 ? x : y; - this.set(idx, PDFNumber_default.of(el.asNumber() * factor)); - } - } - }; - PDFArray3.withContext = function(context) { - return new PDFArray3(context); - }; - return PDFArray3; - }(PDFObject_default) -); -var PDFArray_default = PDFArray; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/objects/PDFBool.js -var ENFORCER = {}; -var PDFBool = ( - /** @class */ - function(_super) { - __extends(PDFBool2, _super); - function PDFBool2(enforcer, value) { - var _this = this; - if (enforcer !== ENFORCER) - throw new PrivateConstructorError("PDFBool"); - _this = _super.call(this) || this; - _this.value = value; - return _this; - } - PDFBool2.prototype.asBoolean = function() { - return this.value; - }; - PDFBool2.prototype.clone = function() { - return this; - }; - PDFBool2.prototype.toString = function() { - return String(this.value); - }; - PDFBool2.prototype.sizeInBytes = function() { - return this.value ? 4 : 5; - }; - PDFBool2.prototype.copyBytesInto = function(buffer, offset) { - if (this.value) { - buffer[offset++] = CharCodes_default.t; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.u; - buffer[offset++] = CharCodes_default.e; - return 4; - } else { - buffer[offset++] = CharCodes_default.f; - buffer[offset++] = CharCodes_default.a; - buffer[offset++] = CharCodes_default.l; - buffer[offset++] = CharCodes_default.s; - buffer[offset++] = CharCodes_default.e; - return 5; - } - }; - PDFBool2.True = new PDFBool2(ENFORCER, true); - PDFBool2.False = new PDFBool2(ENFORCER, false); - return PDFBool2; - }(PDFObject_default) -); -var PDFBool_default = PDFBool; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/syntax/Delimiters.js -var IsDelimiter = new Uint8Array(256); -IsDelimiter[CharCodes_default.LeftParen] = 1; -IsDelimiter[CharCodes_default.RightParen] = 1; -IsDelimiter[CharCodes_default.LessThan] = 1; -IsDelimiter[CharCodes_default.GreaterThan] = 1; -IsDelimiter[CharCodes_default.LeftSquareBracket] = 1; -IsDelimiter[CharCodes_default.RightSquareBracket] = 1; -IsDelimiter[CharCodes_default.LeftCurly] = 1; -IsDelimiter[CharCodes_default.RightCurly] = 1; -IsDelimiter[CharCodes_default.ForwardSlash] = 1; -IsDelimiter[CharCodes_default.Percent] = 1; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/syntax/Whitespace.js -var IsWhitespace = new Uint8Array(256); -IsWhitespace[CharCodes_default.Null] = 1; -IsWhitespace[CharCodes_default.Tab] = 1; -IsWhitespace[CharCodes_default.Newline] = 1; -IsWhitespace[CharCodes_default.FormFeed] = 1; -IsWhitespace[CharCodes_default.CarriageReturn] = 1; -IsWhitespace[CharCodes_default.Space] = 1; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/syntax/Irregular.js -var IsIrregular = new Uint8Array(256); -for (idx = 0, len = 256; idx < len; idx++) { - IsIrregular[idx] = IsWhitespace[idx] || IsDelimiter[idx] ? 1 : 0; -} -var idx; -var len; -IsIrregular[CharCodes_default.Hash] = 1; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/objects/PDFName.js -var decodeName = function(name) { - return name.replace(/#([\dABCDEF]{2})/g, function(_, hex) { - return charFromHexCode(hex); - }); -}; -var isRegularChar = function(charCode) { - return charCode >= CharCodes_default.ExclamationPoint && charCode <= CharCodes_default.Tilde && !IsIrregular[charCode]; -}; -var ENFORCER2 = {}; -var pool = /* @__PURE__ */ new Map(); -var PDFName = ( - /** @class */ - function(_super) { - __extends(PDFName2, _super); - function PDFName2(enforcer, name) { - var _this = this; - if (enforcer !== ENFORCER2) - throw new PrivateConstructorError("PDFName"); - _this = _super.call(this) || this; - var encodedName = "/"; - for (var idx = 0, len = name.length; idx < len; idx++) { - var character = name[idx]; - var code = toCharCode(character); - encodedName += isRegularChar(code) ? character : "#" + toHexString(code); - } - _this.encodedName = encodedName; - return _this; - } - PDFName2.prototype.asBytes = function() { - var bytes = []; - var hex = ""; - var escaped = false; - var pushByte = function(byte2) { - if (byte2 !== void 0) - bytes.push(byte2); - escaped = false; - }; - for (var idx = 1, len = this.encodedName.length; idx < len; idx++) { - var char = this.encodedName[idx]; - var byte = toCharCode(char); - var nextChar = this.encodedName[idx + 1]; - if (!escaped) { - if (byte === CharCodes_default.Hash) - escaped = true; - else - pushByte(byte); - } else { - if (byte >= CharCodes_default.Zero && byte <= CharCodes_default.Nine || byte >= CharCodes_default.a && byte <= CharCodes_default.f || byte >= CharCodes_default.A && byte <= CharCodes_default.F) { - hex += char; - if (hex.length === 2 || !(nextChar >= "0" && nextChar <= "9" || nextChar >= "a" && nextChar <= "f" || nextChar >= "A" && nextChar <= "F")) { - pushByte(parseInt(hex, 16)); - hex = ""; - } - } else { - pushByte(byte); - } - } - } - return new Uint8Array(bytes); - }; - PDFName2.prototype.decodeText = function() { - var bytes = this.asBytes(); - return String.fromCharCode.apply(String, Array.from(bytes)); - }; - PDFName2.prototype.asString = function() { - return this.encodedName; - }; - PDFName2.prototype.value = function() { - return this.encodedName; - }; - PDFName2.prototype.clone = function() { - return this; - }; - PDFName2.prototype.toString = function() { - return this.encodedName; - }; - PDFName2.prototype.sizeInBytes = function() { - return this.encodedName.length; - }; - PDFName2.prototype.copyBytesInto = function(buffer, offset) { - offset += copyStringIntoBuffer(this.encodedName, buffer, offset); - return this.encodedName.length; - }; - PDFName2.of = function(name) { - var decodedValue = decodeName(name); - var instance = pool.get(decodedValue); - if (!instance) { - instance = new PDFName2(ENFORCER2, decodedValue); - pool.set(decodedValue, instance); - } - return instance; - }; - PDFName2.Length = PDFName2.of("Length"); - PDFName2.FlateDecode = PDFName2.of("FlateDecode"); - PDFName2.Resources = PDFName2.of("Resources"); - PDFName2.Font = PDFName2.of("Font"); - PDFName2.XObject = PDFName2.of("XObject"); - PDFName2.ExtGState = PDFName2.of("ExtGState"); - PDFName2.Contents = PDFName2.of("Contents"); - PDFName2.Type = PDFName2.of("Type"); - PDFName2.Parent = PDFName2.of("Parent"); - PDFName2.MediaBox = PDFName2.of("MediaBox"); - PDFName2.Page = PDFName2.of("Page"); - PDFName2.Annots = PDFName2.of("Annots"); - PDFName2.TrimBox = PDFName2.of("TrimBox"); - PDFName2.ArtBox = PDFName2.of("ArtBox"); - PDFName2.BleedBox = PDFName2.of("BleedBox"); - PDFName2.CropBox = PDFName2.of("CropBox"); - PDFName2.Rotate = PDFName2.of("Rotate"); - PDFName2.Title = PDFName2.of("Title"); - PDFName2.Author = PDFName2.of("Author"); - PDFName2.Subject = PDFName2.of("Subject"); - PDFName2.Creator = PDFName2.of("Creator"); - PDFName2.Keywords = PDFName2.of("Keywords"); - PDFName2.Producer = PDFName2.of("Producer"); - PDFName2.CreationDate = PDFName2.of("CreationDate"); - PDFName2.ModDate = PDFName2.of("ModDate"); - return PDFName2; - }(PDFObject_default) -); -var PDFName_default = PDFName; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/objects/PDFNull.js -var PDFNull = ( - /** @class */ - function(_super) { - __extends(PDFNull2, _super); - function PDFNull2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFNull2.prototype.asNull = function() { - return null; - }; - PDFNull2.prototype.clone = function() { - return this; - }; - PDFNull2.prototype.toString = function() { - return "null"; - }; - PDFNull2.prototype.sizeInBytes = function() { - return 4; - }; - PDFNull2.prototype.copyBytesInto = function(buffer, offset) { - buffer[offset++] = CharCodes_default.n; - buffer[offset++] = CharCodes_default.u; - buffer[offset++] = CharCodes_default.l; - buffer[offset++] = CharCodes_default.l; - return 4; - }; - return PDFNull2; - }(PDFObject_default) -); -var PDFNull_default = new PDFNull(); - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/objects/PDFDict.js -var PDFDict = ( - /** @class */ - function(_super) { - __extends(PDFDict2, _super); - function PDFDict2(map, context) { - var _this = _super.call(this) || this; - _this.dict = map; - _this.context = context; - return _this; - } - PDFDict2.prototype.keys = function() { - return Array.from(this.dict.keys()); - }; - PDFDict2.prototype.values = function() { - return Array.from(this.dict.values()); - }; - PDFDict2.prototype.entries = function() { - return Array.from(this.dict.entries()); - }; - PDFDict2.prototype.set = function(key, value) { - this.dict.set(key, value); - }; - PDFDict2.prototype.get = function(key, preservePDFNull) { - if (preservePDFNull === void 0) { - preservePDFNull = false; - } - var value = this.dict.get(key); - if (value === PDFNull_default && !preservePDFNull) - return void 0; - return value; - }; - PDFDict2.prototype.has = function(key) { - var value = this.dict.get(key); - return value !== void 0 && value !== PDFNull_default; - }; - PDFDict2.prototype.lookupMaybe = function(key) { - var _a; - var types = []; - for (var _i = 1; _i < arguments.length; _i++) { - types[_i - 1] = arguments[_i]; - } - var preservePDFNull = types.includes(PDFNull_default); - var value = (_a = this.context).lookupMaybe.apply(_a, __spreadArrays([this.get(key, preservePDFNull)], types)); - if (value === PDFNull_default && !preservePDFNull) - return void 0; - return value; - }; - PDFDict2.prototype.lookup = function(key) { - var _a; - var types = []; - for (var _i = 1; _i < arguments.length; _i++) { - types[_i - 1] = arguments[_i]; - } - var preservePDFNull = types.includes(PDFNull_default); - var value = (_a = this.context).lookup.apply(_a, __spreadArrays([this.get(key, preservePDFNull)], types)); - if (value === PDFNull_default && !preservePDFNull) - return void 0; - return value; - }; - PDFDict2.prototype.delete = function(key) { - return this.dict.delete(key); - }; - PDFDict2.prototype.asMap = function() { - return new Map(this.dict); - }; - PDFDict2.prototype.uniqueKey = function(tag) { - if (tag === void 0) { - tag = ""; - } - var existingKeys = this.keys(); - var key = PDFName_default.of(this.context.addRandomSuffix(tag, 10)); - while (existingKeys.includes(key)) { - key = PDFName_default.of(this.context.addRandomSuffix(tag, 10)); - } - return key; - }; - PDFDict2.prototype.clone = function(context) { - var clone = PDFDict2.withContext(context || this.context); - var entries = this.entries(); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], key = _a[0], value = _a[1]; - clone.set(key, value); - } - return clone; - }; - PDFDict2.prototype.toString = function() { - var dictString = "<<\n"; - var entries = this.entries(); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], key = _a[0], value = _a[1]; - dictString += key.toString() + " " + value.toString() + "\n"; - } - dictString += ">>"; - return dictString; - }; - PDFDict2.prototype.sizeInBytes = function() { - var size = 5; - var entries = this.entries(); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], key = _a[0], value = _a[1]; - size += key.sizeInBytes() + value.sizeInBytes() + 2; - } - return size; - }; - PDFDict2.prototype.copyBytesInto = function(buffer, offset) { - var initialOffset = offset; - buffer[offset++] = CharCodes_default.LessThan; - buffer[offset++] = CharCodes_default.LessThan; - buffer[offset++] = CharCodes_default.Newline; - var entries = this.entries(); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], key = _a[0], value = _a[1]; - offset += key.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Space; - offset += value.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - } - buffer[offset++] = CharCodes_default.GreaterThan; - buffer[offset++] = CharCodes_default.GreaterThan; - return offset - initialOffset; - }; - PDFDict2.withContext = function(context) { - return new PDFDict2(/* @__PURE__ */ new Map(), context); - }; - PDFDict2.fromMapWithContext = function(map, context) { - return new PDFDict2(map, context); - }; - return PDFDict2; - }(PDFObject_default) -); -var PDFDict_default = PDFDict; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/objects/PDFStream.js -var PDFStream = ( - /** @class */ - function(_super) { - __extends(PDFStream2, _super); - function PDFStream2(dict) { - var _this = _super.call(this) || this; - _this.dict = dict; - return _this; - } - PDFStream2.prototype.clone = function(_context) { - throw new MethodNotImplementedError(this.constructor.name, "clone"); - }; - PDFStream2.prototype.getContentsString = function() { - throw new MethodNotImplementedError(this.constructor.name, "getContentsString"); - }; - PDFStream2.prototype.getContents = function() { - throw new MethodNotImplementedError(this.constructor.name, "getContents"); - }; - PDFStream2.prototype.getContentsSize = function() { - throw new MethodNotImplementedError(this.constructor.name, "getContentsSize"); - }; - PDFStream2.prototype.updateDict = function() { - var contentsSize = this.getContentsSize(); - this.dict.set(PDFName_default.Length, PDFNumber_default.of(contentsSize)); - }; - PDFStream2.prototype.sizeInBytes = function() { - this.updateDict(); - return this.dict.sizeInBytes() + this.getContentsSize() + 18; - }; - PDFStream2.prototype.toString = function() { - this.updateDict(); - var streamString = this.dict.toString(); - streamString += "\nstream\n"; - streamString += this.getContentsString(); - streamString += "\nendstream"; - return streamString; - }; - PDFStream2.prototype.copyBytesInto = function(buffer, offset) { - this.updateDict(); - var initialOffset = offset; - offset += this.dict.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.s; - buffer[offset++] = CharCodes_default.t; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.e; - buffer[offset++] = CharCodes_default.a; - buffer[offset++] = CharCodes_default.m; - buffer[offset++] = CharCodes_default.Newline; - var contents = this.getContents(); - for (var idx = 0, len = contents.length; idx < len; idx++) { - buffer[offset++] = contents[idx]; - } - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.e; - buffer[offset++] = CharCodes_default.n; - buffer[offset++] = CharCodes_default.d; - buffer[offset++] = CharCodes_default.s; - buffer[offset++] = CharCodes_default.t; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.e; - buffer[offset++] = CharCodes_default.a; - buffer[offset++] = CharCodes_default.m; - return offset - initialOffset; - }; - return PDFStream2; - }(PDFObject_default) -); -var PDFStream_default = PDFStream; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/objects/PDFRawStream.js -var PDFRawStream = ( - /** @class */ - function(_super) { - __extends(PDFRawStream2, _super); - function PDFRawStream2(dict, contents) { - var _this = _super.call(this, dict) || this; - _this.contents = contents; - return _this; - } - PDFRawStream2.prototype.asUint8Array = function() { - return this.contents.slice(); - }; - PDFRawStream2.prototype.clone = function(context) { - return PDFRawStream2.of(this.dict.clone(context), this.contents.slice()); - }; - PDFRawStream2.prototype.getContentsString = function() { - return arrayAsString(this.contents); - }; - PDFRawStream2.prototype.getContents = function() { - return this.contents; - }; - PDFRawStream2.prototype.getContentsSize = function() { - return this.contents.length; - }; - PDFRawStream2.of = function(dict, contents) { - return new PDFRawStream2(dict, contents); - }; - return PDFRawStream2; - }(PDFStream_default) -); -var PDFRawStream_default = PDFRawStream; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/objects/PDFRef.js -var ENFORCER3 = {}; -var pool2 = /* @__PURE__ */ new Map(); -var PDFRef = ( - /** @class */ - function(_super) { - __extends(PDFRef3, _super); - function PDFRef3(enforcer, objectNumber, generationNumber) { - var _this = this; - if (enforcer !== ENFORCER3) - throw new PrivateConstructorError("PDFRef"); - _this = _super.call(this) || this; - _this.objectNumber = objectNumber; - _this.generationNumber = generationNumber; - _this.tag = objectNumber + " " + generationNumber + " R"; - return _this; - } - PDFRef3.prototype.clone = function() { - return this; - }; - PDFRef3.prototype.toString = function() { - return this.tag; - }; - PDFRef3.prototype.sizeInBytes = function() { - return this.tag.length; - }; - PDFRef3.prototype.copyBytesInto = function(buffer, offset) { - offset += copyStringIntoBuffer(this.tag, buffer, offset); - return this.tag.length; - }; - PDFRef3.of = function(objectNumber, generationNumber) { - if (generationNumber === void 0) { - generationNumber = 0; - } - var tag = objectNumber + " " + generationNumber + " R"; - var instance = pool2.get(tag); - if (!instance) { - instance = new PDFRef3(ENFORCER3, objectNumber, generationNumber); - pool2.set(tag, instance); - } - return instance; - }; - return PDFRef3; - }(PDFObject_default) -); -var PDFRef_default = PDFRef; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/operators/PDFOperator.js -var PDFOperator = ( - /** @class */ - function() { - function PDFOperator2(name, args) { - this.name = name; - this.args = args || []; - } - PDFOperator2.prototype.clone = function(context) { - var args = new Array(this.args.length); - for (var idx = 0, len = args.length; idx < len; idx++) { - var arg = this.args[idx]; - args[idx] = arg instanceof PDFObject_default ? arg.clone(context) : arg; - } - return PDFOperator2.of(this.name, args); - }; - PDFOperator2.prototype.toString = function() { - var value = ""; - for (var idx = 0, len = this.args.length; idx < len; idx++) { - value += String(this.args[idx]) + " "; - } - value += this.name; - return value; - }; - PDFOperator2.prototype.sizeInBytes = function() { - var size = 0; - for (var idx = 0, len = this.args.length; idx < len; idx++) { - var arg = this.args[idx]; - size += (arg instanceof PDFObject_default ? arg.sizeInBytes() : arg.length) + 1; - } - size += this.name.length; - return size; - }; - PDFOperator2.prototype.copyBytesInto = function(buffer, offset) { - var initialOffset = offset; - for (var idx = 0, len = this.args.length; idx < len; idx++) { - var arg = this.args[idx]; - if (arg instanceof PDFObject_default) { - offset += arg.copyBytesInto(buffer, offset); - } else { - offset += copyStringIntoBuffer(arg, buffer, offset); - } - buffer[offset++] = CharCodes_default.Space; - } - offset += copyStringIntoBuffer(this.name, buffer, offset); - return offset - initialOffset; - }; - PDFOperator2.of = function(name, args) { - return new PDFOperator2(name, args); - }; - return PDFOperator2; - }() -); -var PDFOperator_default = PDFOperator; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/operators/PDFOperatorNames.js -var PDFOperatorNames; -(function(PDFOperatorNames2) { - PDFOperatorNames2["NonStrokingColor"] = "sc"; - PDFOperatorNames2["NonStrokingColorN"] = "scn"; - PDFOperatorNames2["NonStrokingColorRgb"] = "rg"; - PDFOperatorNames2["NonStrokingColorGray"] = "g"; - PDFOperatorNames2["NonStrokingColorCmyk"] = "k"; - PDFOperatorNames2["NonStrokingColorspace"] = "cs"; - PDFOperatorNames2["StrokingColor"] = "SC"; - PDFOperatorNames2["StrokingColorN"] = "SCN"; - PDFOperatorNames2["StrokingColorRgb"] = "RG"; - PDFOperatorNames2["StrokingColorGray"] = "G"; - PDFOperatorNames2["StrokingColorCmyk"] = "K"; - PDFOperatorNames2["StrokingColorspace"] = "CS"; - PDFOperatorNames2["BeginMarkedContentSequence"] = "BDC"; - PDFOperatorNames2["BeginMarkedContent"] = "BMC"; - PDFOperatorNames2["EndMarkedContent"] = "EMC"; - PDFOperatorNames2["MarkedContentPointWithProps"] = "DP"; - PDFOperatorNames2["MarkedContentPoint"] = "MP"; - PDFOperatorNames2["DrawObject"] = "Do"; - PDFOperatorNames2["ConcatTransformationMatrix"] = "cm"; - PDFOperatorNames2["PopGraphicsState"] = "Q"; - PDFOperatorNames2["PushGraphicsState"] = "q"; - PDFOperatorNames2["SetFlatness"] = "i"; - PDFOperatorNames2["SetGraphicsStateParams"] = "gs"; - PDFOperatorNames2["SetLineCapStyle"] = "J"; - PDFOperatorNames2["SetLineDashPattern"] = "d"; - PDFOperatorNames2["SetLineJoinStyle"] = "j"; - PDFOperatorNames2["SetLineMiterLimit"] = "M"; - PDFOperatorNames2["SetLineWidth"] = "w"; - PDFOperatorNames2["SetTextMatrix"] = "Tm"; - PDFOperatorNames2["SetRenderingIntent"] = "ri"; - PDFOperatorNames2["AppendRectangle"] = "re"; - PDFOperatorNames2["BeginInlineImage"] = "BI"; - PDFOperatorNames2["BeginInlineImageData"] = "ID"; - PDFOperatorNames2["EndInlineImage"] = "EI"; - PDFOperatorNames2["ClipEvenOdd"] = "W*"; - PDFOperatorNames2["ClipNonZero"] = "W"; - PDFOperatorNames2["CloseAndStroke"] = "s"; - PDFOperatorNames2["CloseFillEvenOddAndStroke"] = "b*"; - PDFOperatorNames2["CloseFillNonZeroAndStroke"] = "b"; - PDFOperatorNames2["ClosePath"] = "h"; - PDFOperatorNames2["AppendBezierCurve"] = "c"; - PDFOperatorNames2["CurveToReplicateFinalPoint"] = "y"; - PDFOperatorNames2["CurveToReplicateInitialPoint"] = "v"; - PDFOperatorNames2["EndPath"] = "n"; - PDFOperatorNames2["FillEvenOddAndStroke"] = "B*"; - PDFOperatorNames2["FillEvenOdd"] = "f*"; - PDFOperatorNames2["FillNonZeroAndStroke"] = "B"; - PDFOperatorNames2["FillNonZero"] = "f"; - PDFOperatorNames2["LegacyFillNonZero"] = "F"; - PDFOperatorNames2["LineTo"] = "l"; - PDFOperatorNames2["MoveTo"] = "m"; - PDFOperatorNames2["ShadingFill"] = "sh"; - PDFOperatorNames2["StrokePath"] = "S"; - PDFOperatorNames2["BeginText"] = "BT"; - PDFOperatorNames2["EndText"] = "ET"; - PDFOperatorNames2["MoveText"] = "Td"; - PDFOperatorNames2["MoveTextSetLeading"] = "TD"; - PDFOperatorNames2["NextLine"] = "T*"; - PDFOperatorNames2["SetCharacterSpacing"] = "Tc"; - PDFOperatorNames2["SetFontAndSize"] = "Tf"; - PDFOperatorNames2["SetTextHorizontalScaling"] = "Tz"; - PDFOperatorNames2["SetTextLineHeight"] = "TL"; - PDFOperatorNames2["SetTextRenderingMode"] = "Tr"; - PDFOperatorNames2["SetTextRise"] = "Ts"; - PDFOperatorNames2["SetWordSpacing"] = "Tw"; - PDFOperatorNames2["ShowText"] = "Tj"; - PDFOperatorNames2["ShowTextAdjusted"] = "TJ"; - PDFOperatorNames2["ShowTextLine"] = "'"; - PDFOperatorNames2["ShowTextLineAndSpace"] = '"'; - PDFOperatorNames2["Type3D0"] = "d0"; - PDFOperatorNames2["Type3D1"] = "d1"; - PDFOperatorNames2["BeginCompatibilitySection"] = "BX"; - PDFOperatorNames2["EndCompatibilitySection"] = "EX"; -})(PDFOperatorNames || (PDFOperatorNames = {})); -var PDFOperatorNames_default = PDFOperatorNames; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js -var import_pako2 = __toESM(require_pako()); -var PDFFlateStream = ( - /** @class */ - function(_super) { - __extends(PDFFlateStream2, _super); - function PDFFlateStream2(dict, encode) { - var _this = _super.call(this, dict) || this; - _this.computeContents = function() { - var unencodedContents = _this.getUnencodedContents(); - return _this.encode ? import_pako2.default.deflate(unencodedContents) : unencodedContents; - }; - _this.encode = encode; - if (encode) - dict.set(PDFName_default.of("Filter"), PDFName_default.of("FlateDecode")); - _this.contentsCache = Cache_default.populatedBy(_this.computeContents); - return _this; - } - PDFFlateStream2.prototype.getContents = function() { - return this.contentsCache.access(); - }; - PDFFlateStream2.prototype.getContentsSize = function() { - return this.contentsCache.access().length; - }; - PDFFlateStream2.prototype.getUnencodedContents = function() { - throw new MethodNotImplementedError(this.constructor.name, "getUnencodedContents"); - }; - return PDFFlateStream2; - }(PDFStream_default) -); -var PDFFlateStream_default = PDFFlateStream; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/structures/PDFContentStream.js -var PDFContentStream = ( - /** @class */ - function(_super) { - __extends(PDFContentStream2, _super); - function PDFContentStream2(dict, operators, encode) { - if (encode === void 0) { - encode = true; - } - var _this = _super.call(this, dict, encode) || this; - _this.operators = operators; - return _this; - } - PDFContentStream2.prototype.push = function() { - var _a; - var operators = []; - for (var _i = 0; _i < arguments.length; _i++) { - operators[_i] = arguments[_i]; - } - (_a = this.operators).push.apply(_a, operators); - }; - PDFContentStream2.prototype.clone = function(context) { - var operators = new Array(this.operators.length); - for (var idx = 0, len = this.operators.length; idx < len; idx++) { - operators[idx] = this.operators[idx].clone(context); - } - var _a = this, dict = _a.dict, encode = _a.encode; - return PDFContentStream2.of(dict.clone(context), operators, encode); - }; - PDFContentStream2.prototype.getContentsString = function() { - var value = ""; - for (var idx = 0, len = this.operators.length; idx < len; idx++) { - value += this.operators[idx] + "\n"; - } - return value; - }; - PDFContentStream2.prototype.getUnencodedContents = function() { - var buffer = new Uint8Array(this.getUnencodedContentsSize()); - var offset = 0; - for (var idx = 0, len = this.operators.length; idx < len; idx++) { - offset += this.operators[idx].copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - } - return buffer; - }; - PDFContentStream2.prototype.getUnencodedContentsSize = function() { - var size = 0; - for (var idx = 0, len = this.operators.length; idx < len; idx++) { - size += this.operators[idx].sizeInBytes() + 1; - } - return size; - }; - PDFContentStream2.of = function(dict, operators, encode) { - if (encode === void 0) { - encode = true; - } - return new PDFContentStream2(dict, operators, encode); - }; - return PDFContentStream2; - }(PDFFlateStream_default) -); -var PDFContentStream_default = PDFContentStream; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/utils/rng.js -var SimpleRNG = ( - /** @class */ - function() { - function SimpleRNG2(seed) { - this.seed = seed; - } - SimpleRNG2.prototype.nextInt = function() { - var x = Math.sin(this.seed++) * 1e4; - return x - Math.floor(x); - }; - SimpleRNG2.withSeed = function(seed) { - return new SimpleRNG2(seed); - }; - return SimpleRNG2; - }() -); - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/PDFContext.js -var byAscendingObjectNumber = function(_a, _b) { - var a = _a[0]; - var b = _b[0]; - return a.objectNumber - b.objectNumber; -}; -var PDFContext = ( - /** @class */ - function() { - function PDFContext2() { - this.largestObjectNumber = 0; - this.header = PDFHeader_default.forVersion(1, 7); - this.trailerInfo = {}; - this.indirectObjects = /* @__PURE__ */ new Map(); - this.rng = SimpleRNG.withSeed(1); - } - PDFContext2.prototype.assign = function(ref, object) { - this.indirectObjects.set(ref, object); - if (ref.objectNumber > this.largestObjectNumber) { - this.largestObjectNumber = ref.objectNumber; - } - }; - PDFContext2.prototype.nextRef = function() { - this.largestObjectNumber += 1; - return PDFRef_default.of(this.largestObjectNumber); - }; - PDFContext2.prototype.register = function(object) { - var ref = this.nextRef(); - this.assign(ref, object); - return ref; - }; - PDFContext2.prototype.delete = function(ref) { - return this.indirectObjects.delete(ref); - }; - PDFContext2.prototype.lookupMaybe = function(ref) { - var types = []; - for (var _i = 1; _i < arguments.length; _i++) { - types[_i - 1] = arguments[_i]; - } - var preservePDFNull = types.includes(PDFNull_default); - var result = ref instanceof PDFRef_default ? this.indirectObjects.get(ref) : ref; - if (!result || result === PDFNull_default && !preservePDFNull) - return void 0; - for (var idx = 0, len = types.length; idx < len; idx++) { - var type = types[idx]; - if (type === PDFNull_default) { - if (result === PDFNull_default) - return result; - } else { - if (result instanceof type) - return result; - } - } - throw new UnexpectedObjectTypeError(types, result); - }; - PDFContext2.prototype.lookup = function(ref) { - var types = []; - for (var _i = 1; _i < arguments.length; _i++) { - types[_i - 1] = arguments[_i]; - } - var result = ref instanceof PDFRef_default ? this.indirectObjects.get(ref) : ref; - if (types.length === 0) - return result; - for (var idx = 0, len = types.length; idx < len; idx++) { - var type = types[idx]; - if (type === PDFNull_default) { - if (result === PDFNull_default) - return result; - } else { - if (result instanceof type) - return result; - } - } - throw new UnexpectedObjectTypeError(types, result); - }; - PDFContext2.prototype.getObjectRef = function(pdfObject) { - var entries = Array.from(this.indirectObjects.entries()); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], ref = _a[0], object = _a[1]; - if (object === pdfObject) { - return ref; - } - } - return void 0; - }; - PDFContext2.prototype.enumerateIndirectObjects = function() { - return Array.from(this.indirectObjects.entries()).sort(byAscendingObjectNumber); - }; - PDFContext2.prototype.obj = function(literal) { - if (literal instanceof PDFObject_default) { - return literal; - } else if (literal === null || literal === void 0) { - return PDFNull_default; - } else if (typeof literal === "string") { - return PDFName_default.of(literal); - } else if (typeof literal === "number") { - return PDFNumber_default.of(literal); - } else if (typeof literal === "boolean") { - return literal ? PDFBool_default.True : PDFBool_default.False; - } else if (Array.isArray(literal)) { - var array = PDFArray_default.withContext(this); - for (var idx = 0, len = literal.length; idx < len; idx++) { - array.push(this.obj(literal[idx])); - } - return array; - } else { - var dict = PDFDict_default.withContext(this); - var keys = Object.keys(literal); - for (var idx = 0, len = keys.length; idx < len; idx++) { - var key = keys[idx]; - var value = literal[key]; - if (value !== void 0) - dict.set(PDFName_default.of(key), this.obj(value)); - } - return dict; - } - }; - PDFContext2.prototype.stream = function(contents, dict) { - if (dict === void 0) { - dict = {}; - } - return PDFRawStream_default.of(this.obj(dict), typedArrayFor(contents)); - }; - PDFContext2.prototype.flateStream = function(contents, dict) { - if (dict === void 0) { - dict = {}; - } - return this.stream(import_pako3.default.deflate(typedArrayFor(contents)), __assign(__assign({}, dict), { Filter: "FlateDecode" })); - }; - PDFContext2.prototype.contentStream = function(operators, dict) { - if (dict === void 0) { - dict = {}; - } - return PDFContentStream_default.of(this.obj(dict), operators); - }; - PDFContext2.prototype.formXObject = function(operators, dict) { - if (dict === void 0) { - dict = {}; - } - return this.contentStream(operators, __assign(__assign({ BBox: this.obj([0, 0, 0, 0]), Matrix: this.obj([1, 0, 0, 1, 0, 0]) }, dict), { Type: "XObject", Subtype: "Form" })); - }; - PDFContext2.prototype.getPushGraphicsStateContentStream = function() { - if (this.pushGraphicsStateContentStreamRef) { - return this.pushGraphicsStateContentStreamRef; - } - var dict = this.obj({}); - var op = PDFOperator_default.of(PDFOperatorNames_default.PushGraphicsState); - var stream2 = PDFContentStream_default.of(dict, [op]); - this.pushGraphicsStateContentStreamRef = this.register(stream2); - return this.pushGraphicsStateContentStreamRef; - }; - PDFContext2.prototype.getPopGraphicsStateContentStream = function() { - if (this.popGraphicsStateContentStreamRef) { - return this.popGraphicsStateContentStreamRef; - } - var dict = this.obj({}); - var op = PDFOperator_default.of(PDFOperatorNames_default.PopGraphicsState); - var stream2 = PDFContentStream_default.of(dict, [op]); - this.popGraphicsStateContentStreamRef = this.register(stream2); - return this.popGraphicsStateContentStreamRef; - }; - PDFContext2.prototype.addRandomSuffix = function(prefix, suffixLength) { - if (suffixLength === void 0) { - suffixLength = 4; - } - return prefix + "-" + Math.floor(this.rng.nextInt() * Math.pow(10, suffixLength)); - }; - PDFContext2.create = function() { - return new PDFContext2(); - }; - return PDFContext2; - }() -); -var PDFContext_default = PDFContext; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js -var PDFPageLeaf = ( - /** @class */ - function(_super) { - __extends(PDFPageLeaf2, _super); - function PDFPageLeaf2(map, context, autoNormalizeCTM) { - if (autoNormalizeCTM === void 0) { - autoNormalizeCTM = true; - } - var _this = _super.call(this, map, context) || this; - _this.normalized = false; - _this.autoNormalizeCTM = autoNormalizeCTM; - return _this; - } - PDFPageLeaf2.prototype.clone = function(context) { - var clone = PDFPageLeaf2.fromMapWithContext(/* @__PURE__ */ new Map(), context || this.context, this.autoNormalizeCTM); - var entries = this.entries(); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], key = _a[0], value = _a[1]; - clone.set(key, value); - } - return clone; - }; - PDFPageLeaf2.prototype.Parent = function() { - return this.lookupMaybe(PDFName_default.Parent, PDFDict_default); - }; - PDFPageLeaf2.prototype.Contents = function() { - return this.lookup(PDFName_default.of("Contents")); - }; - PDFPageLeaf2.prototype.Annots = function() { - return this.lookupMaybe(PDFName_default.Annots, PDFArray_default); - }; - PDFPageLeaf2.prototype.BleedBox = function() { - return this.lookupMaybe(PDFName_default.BleedBox, PDFArray_default); - }; - PDFPageLeaf2.prototype.TrimBox = function() { - return this.lookupMaybe(PDFName_default.TrimBox, PDFArray_default); - }; - PDFPageLeaf2.prototype.ArtBox = function() { - return this.lookupMaybe(PDFName_default.ArtBox, PDFArray_default); - }; - PDFPageLeaf2.prototype.Resources = function() { - var dictOrRef = this.getInheritableAttribute(PDFName_default.Resources); - return this.context.lookupMaybe(dictOrRef, PDFDict_default); - }; - PDFPageLeaf2.prototype.MediaBox = function() { - var arrayOrRef = this.getInheritableAttribute(PDFName_default.MediaBox); - return this.context.lookup(arrayOrRef, PDFArray_default); - }; - PDFPageLeaf2.prototype.CropBox = function() { - var arrayOrRef = this.getInheritableAttribute(PDFName_default.CropBox); - return this.context.lookupMaybe(arrayOrRef, PDFArray_default); - }; - PDFPageLeaf2.prototype.Rotate = function() { - var numberOrRef = this.getInheritableAttribute(PDFName_default.Rotate); - return this.context.lookupMaybe(numberOrRef, PDFNumber_default); - }; - PDFPageLeaf2.prototype.getInheritableAttribute = function(name) { - var attribute; - this.ascend(function(node) { - if (!attribute) - attribute = node.get(name); - }); - return attribute; - }; - PDFPageLeaf2.prototype.setParent = function(parentRef) { - this.set(PDFName_default.Parent, parentRef); - }; - PDFPageLeaf2.prototype.addContentStream = function(contentStreamRef) { - var Contents = this.normalizedEntries().Contents || this.context.obj([]); - this.set(PDFName_default.Contents, Contents); - Contents.push(contentStreamRef); - }; - PDFPageLeaf2.prototype.wrapContentStreams = function(startStream, endStream) { - var Contents = this.Contents(); - if (Contents instanceof PDFArray_default) { - Contents.insert(0, startStream); - Contents.push(endStream); - return true; - } - return false; - }; - PDFPageLeaf2.prototype.addAnnot = function(annotRef) { - var Annots = this.normalizedEntries().Annots; - Annots.push(annotRef); - }; - PDFPageLeaf2.prototype.removeAnnot = function(annotRef) { - var Annots = this.normalizedEntries().Annots; - var index = Annots.indexOf(annotRef); - if (index !== void 0) { - Annots.remove(index); - } - }; - PDFPageLeaf2.prototype.setFontDictionary = function(name, fontDictRef) { - var Font2 = this.normalizedEntries().Font; - Font2.set(name, fontDictRef); - }; - PDFPageLeaf2.prototype.newFontDictionaryKey = function(tag) { - var Font2 = this.normalizedEntries().Font; - return Font2.uniqueKey(tag); - }; - PDFPageLeaf2.prototype.newFontDictionary = function(tag, fontDictRef) { - var key = this.newFontDictionaryKey(tag); - this.setFontDictionary(key, fontDictRef); - return key; - }; - PDFPageLeaf2.prototype.setXObject = function(name, xObjectRef) { - var XObject = this.normalizedEntries().XObject; - XObject.set(name, xObjectRef); - }; - PDFPageLeaf2.prototype.newXObjectKey = function(tag) { - var XObject = this.normalizedEntries().XObject; - return XObject.uniqueKey(tag); - }; - PDFPageLeaf2.prototype.newXObject = function(tag, xObjectRef) { - var key = this.newXObjectKey(tag); - this.setXObject(key, xObjectRef); - return key; - }; - PDFPageLeaf2.prototype.setExtGState = function(name, extGStateRef) { - var ExtGState = this.normalizedEntries().ExtGState; - ExtGState.set(name, extGStateRef); - }; - PDFPageLeaf2.prototype.newExtGStateKey = function(tag) { - var ExtGState = this.normalizedEntries().ExtGState; - return ExtGState.uniqueKey(tag); - }; - PDFPageLeaf2.prototype.newExtGState = function(tag, extGStateRef) { - var key = this.newExtGStateKey(tag); - this.setExtGState(key, extGStateRef); - return key; - }; - PDFPageLeaf2.prototype.ascend = function(visitor) { - visitor(this); - var Parent = this.Parent(); - if (Parent) - Parent.ascend(visitor); - }; - PDFPageLeaf2.prototype.normalize = function() { - if (this.normalized) - return; - var context = this.context; - var contentsRef = this.get(PDFName_default.Contents); - var contents = this.context.lookup(contentsRef); - if (contents instanceof PDFStream_default) { - this.set(PDFName_default.Contents, context.obj([contentsRef])); - } - if (this.autoNormalizeCTM) { - this.wrapContentStreams(this.context.getPushGraphicsStateContentStream(), this.context.getPopGraphicsStateContentStream()); - } - var dictOrRef = this.getInheritableAttribute(PDFName_default.Resources); - var Resources = context.lookupMaybe(dictOrRef, PDFDict_default) || context.obj({}); - this.set(PDFName_default.Resources, Resources); - var Font2 = Resources.lookupMaybe(PDFName_default.Font, PDFDict_default) || context.obj({}); - Resources.set(PDFName_default.Font, Font2); - var XObject = Resources.lookupMaybe(PDFName_default.XObject, PDFDict_default) || context.obj({}); - Resources.set(PDFName_default.XObject, XObject); - var ExtGState = Resources.lookupMaybe(PDFName_default.ExtGState, PDFDict_default) || context.obj({}); - Resources.set(PDFName_default.ExtGState, ExtGState); - var Annots = this.Annots() || context.obj([]); - this.set(PDFName_default.Annots, Annots); - this.normalized = true; - }; - PDFPageLeaf2.prototype.normalizedEntries = function() { - this.normalize(); - var Annots = this.Annots(); - var Resources = this.Resources(); - var Contents = this.Contents(); - return { - Annots, - Resources, - Contents, - Font: Resources.lookup(PDFName_default.Font, PDFDict_default), - XObject: Resources.lookup(PDFName_default.XObject, PDFDict_default), - ExtGState: Resources.lookup(PDFName_default.ExtGState, PDFDict_default) - }; - }; - PDFPageLeaf2.InheritableEntries = [ - "Resources", - "MediaBox", - "CropBox", - "Rotate" - ]; - PDFPageLeaf2.withContextAndParent = function(context, parent) { - var dict = /* @__PURE__ */ new Map(); - dict.set(PDFName_default.Type, PDFName_default.Page); - dict.set(PDFName_default.Parent, parent); - dict.set(PDFName_default.Resources, context.obj({})); - dict.set(PDFName_default.MediaBox, context.obj([0, 0, 612, 792])); - return new PDFPageLeaf2(dict, context, false); - }; - PDFPageLeaf2.fromMapWithContext = function(map, context, autoNormalizeCTM) { - if (autoNormalizeCTM === void 0) { - autoNormalizeCTM = true; - } - return new PDFPageLeaf2(map, context, autoNormalizeCTM); - }; - return PDFPageLeaf2; - }(PDFDict_default) -); -var PDFPageLeaf_default = PDFPageLeaf; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/PDFObjectCopier.js -var PDFObjectCopier = ( - /** @class */ - function() { - function PDFObjectCopier2(src, dest) { - var _this = this; - this.traversedObjects = /* @__PURE__ */ new Map(); - this.copy = function(object) { - return object instanceof PDFPageLeaf_default ? _this.copyPDFPage(object) : object instanceof PDFDict_default ? _this.copyPDFDict(object) : object instanceof PDFArray_default ? _this.copyPDFArray(object) : object instanceof PDFStream_default ? _this.copyPDFStream(object) : object instanceof PDFRef_default ? _this.copyPDFIndirectObject(object) : object.clone(); - }; - this.copyPDFPage = function(originalPage) { - var clonedPage = originalPage.clone(); - var InheritableEntries = PDFPageLeaf_default.InheritableEntries; - for (var idx = 0, len = InheritableEntries.length; idx < len; idx++) { - var key = PDFName_default.of(InheritableEntries[idx]); - var value = clonedPage.getInheritableAttribute(key); - if (!clonedPage.get(key) && value) - clonedPage.set(key, value); - } - clonedPage.delete(PDFName_default.of("Parent")); - return _this.copyPDFDict(clonedPage); - }; - this.copyPDFDict = function(originalDict) { - if (_this.traversedObjects.has(originalDict)) { - return _this.traversedObjects.get(originalDict); - } - var clonedDict = originalDict.clone(_this.dest); - _this.traversedObjects.set(originalDict, clonedDict); - var entries = originalDict.entries(); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], key = _a[0], value = _a[1]; - clonedDict.set(key, _this.copy(value)); - } - return clonedDict; - }; - this.copyPDFArray = function(originalArray) { - if (_this.traversedObjects.has(originalArray)) { - return _this.traversedObjects.get(originalArray); - } - var clonedArray = originalArray.clone(_this.dest); - _this.traversedObjects.set(originalArray, clonedArray); - for (var idx = 0, len = originalArray.size(); idx < len; idx++) { - var value = originalArray.get(idx); - clonedArray.set(idx, _this.copy(value)); - } - return clonedArray; - }; - this.copyPDFStream = function(originalStream) { - if (_this.traversedObjects.has(originalStream)) { - return _this.traversedObjects.get(originalStream); - } - var clonedStream = originalStream.clone(_this.dest); - _this.traversedObjects.set(originalStream, clonedStream); - var entries = originalStream.dict.entries(); - for (var idx = 0, len = entries.length; idx < len; idx++) { - var _a = entries[idx], key = _a[0], value = _a[1]; - clonedStream.dict.set(key, _this.copy(value)); - } - return clonedStream; - }; - this.copyPDFIndirectObject = function(ref) { - var alreadyMapped = _this.traversedObjects.has(ref); - if (!alreadyMapped) { - var newRef = _this.dest.nextRef(); - _this.traversedObjects.set(ref, newRef); - var dereferencedValue = _this.src.lookup(ref); - if (dereferencedValue) { - var cloned = _this.copy(dereferencedValue); - _this.dest.assign(newRef, cloned); - } - } - return _this.traversedObjects.get(ref); - }; - this.src = src; - this.dest = dest; - } - PDFObjectCopier2.for = function(src, dest) { - return new PDFObjectCopier2(src, dest); - }; - return PDFObjectCopier2; - }() -); -var PDFObjectCopier_default = PDFObjectCopier; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js -var PDFCrossRefSection = ( - /** @class */ - function() { - function PDFCrossRefSection2(firstEntry) { - this.subsections = firstEntry ? [[firstEntry]] : []; - this.chunkIdx = 0; - this.chunkLength = firstEntry ? 1 : 0; - } - PDFCrossRefSection2.prototype.addEntry = function(ref, offset) { - this.append({ ref, offset, deleted: false }); - }; - PDFCrossRefSection2.prototype.addDeletedEntry = function(ref, nextFreeObjectNumber) { - this.append({ ref, offset: nextFreeObjectNumber, deleted: true }); - }; - PDFCrossRefSection2.prototype.toString = function() { - var section = "xref\n"; - for (var rangeIdx = 0, rangeLen = this.subsections.length; rangeIdx < rangeLen; rangeIdx++) { - var range2 = this.subsections[rangeIdx]; - section += range2[0].ref.objectNumber + " " + range2.length + "\n"; - for (var entryIdx = 0, entryLen = range2.length; entryIdx < entryLen; entryIdx++) { - var entry = range2[entryIdx]; - section += padStart(String(entry.offset), 10, "0"); - section += " "; - section += padStart(String(entry.ref.generationNumber), 5, "0"); - section += " "; - section += entry.deleted ? "f" : "n"; - section += " \n"; - } - } - return section; - }; - PDFCrossRefSection2.prototype.sizeInBytes = function() { - var size = 5; - for (var idx = 0, len = this.subsections.length; idx < len; idx++) { - var subsection = this.subsections[idx]; - var subsectionLength = subsection.length; - var firstEntry = subsection[0]; - size += 2; - size += String(firstEntry.ref.objectNumber).length; - size += String(subsectionLength).length; - size += 20 * subsectionLength; - } - return size; - }; - PDFCrossRefSection2.prototype.copyBytesInto = function(buffer, offset) { - var initialOffset = offset; - buffer[offset++] = CharCodes_default.x; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.e; - buffer[offset++] = CharCodes_default.f; - buffer[offset++] = CharCodes_default.Newline; - offset += this.copySubsectionsIntoBuffer(this.subsections, buffer, offset); - return offset - initialOffset; - }; - PDFCrossRefSection2.prototype.copySubsectionsIntoBuffer = function(subsections, buffer, offset) { - var initialOffset = offset; - var length = subsections.length; - for (var idx = 0; idx < length; idx++) { - var subsection = this.subsections[idx]; - var firstObjectNumber = String(subsection[0].ref.objectNumber); - offset += copyStringIntoBuffer(firstObjectNumber, buffer, offset); - buffer[offset++] = CharCodes_default.Space; - var rangeLength = String(subsection.length); - offset += copyStringIntoBuffer(rangeLength, buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - offset += this.copyEntriesIntoBuffer(subsection, buffer, offset); - } - return offset - initialOffset; - }; - PDFCrossRefSection2.prototype.copyEntriesIntoBuffer = function(entries, buffer, offset) { - var length = entries.length; - for (var idx = 0; idx < length; idx++) { - var entry = entries[idx]; - var entryOffset = padStart(String(entry.offset), 10, "0"); - offset += copyStringIntoBuffer(entryOffset, buffer, offset); - buffer[offset++] = CharCodes_default.Space; - var entryGen = padStart(String(entry.ref.generationNumber), 5, "0"); - offset += copyStringIntoBuffer(entryGen, buffer, offset); - buffer[offset++] = CharCodes_default.Space; - buffer[offset++] = entry.deleted ? CharCodes_default.f : CharCodes_default.n; - buffer[offset++] = CharCodes_default.Space; - buffer[offset++] = CharCodes_default.Newline; - } - return 20 * length; - }; - PDFCrossRefSection2.prototype.append = function(currEntry) { - if (this.chunkLength === 0) { - this.subsections.push([currEntry]); - this.chunkIdx = 0; - this.chunkLength = 1; - return; - } - var chunk = this.subsections[this.chunkIdx]; - var prevEntry = chunk[this.chunkLength - 1]; - if (currEntry.ref.objectNumber - prevEntry.ref.objectNumber > 1) { - this.subsections.push([currEntry]); - this.chunkIdx += 1; - this.chunkLength = 1; - } else { - chunk.push(currEntry); - this.chunkLength += 1; - } - }; - PDFCrossRefSection2.create = function() { - return new PDFCrossRefSection2({ - ref: PDFRef_default.of(0, 65535), - offset: 0, - deleted: true - }); - }; - PDFCrossRefSection2.createEmpty = function() { - return new PDFCrossRefSection2(); - }; - return PDFCrossRefSection2; - }() -); -var PDFCrossRefSection_default = PDFCrossRefSection; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/document/PDFTrailer.js -var PDFTrailer = ( - /** @class */ - function() { - function PDFTrailer2(lastXRefOffset) { - this.lastXRefOffset = String(lastXRefOffset); - } - PDFTrailer2.prototype.toString = function() { - return "startxref\n" + this.lastXRefOffset + "\n%%EOF"; - }; - PDFTrailer2.prototype.sizeInBytes = function() { - return 16 + this.lastXRefOffset.length; - }; - PDFTrailer2.prototype.copyBytesInto = function(buffer, offset) { - var initialOffset = offset; - buffer[offset++] = CharCodes_default.s; - buffer[offset++] = CharCodes_default.t; - buffer[offset++] = CharCodes_default.a; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.t; - buffer[offset++] = CharCodes_default.x; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.e; - buffer[offset++] = CharCodes_default.f; - buffer[offset++] = CharCodes_default.Newline; - offset += copyStringIntoBuffer(this.lastXRefOffset, buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.Percent; - buffer[offset++] = CharCodes_default.Percent; - buffer[offset++] = CharCodes_default.E; - buffer[offset++] = CharCodes_default.O; - buffer[offset++] = CharCodes_default.F; - return offset - initialOffset; - }; - PDFTrailer2.forLastCrossRefSectionOffset = function(offset) { - return new PDFTrailer2(offset); - }; - return PDFTrailer2; - }() -); -var PDFTrailer_default = PDFTrailer; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/document/PDFTrailerDict.js -var PDFTrailerDict = ( - /** @class */ - function() { - function PDFTrailerDict2(dict) { - this.dict = dict; - } - PDFTrailerDict2.prototype.toString = function() { - return "trailer\n" + this.dict.toString(); - }; - PDFTrailerDict2.prototype.sizeInBytes = function() { - return 8 + this.dict.sizeInBytes(); - }; - PDFTrailerDict2.prototype.copyBytesInto = function(buffer, offset) { - var initialOffset = offset; - buffer[offset++] = CharCodes_default.t; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.a; - buffer[offset++] = CharCodes_default.i; - buffer[offset++] = CharCodes_default.l; - buffer[offset++] = CharCodes_default.e; - buffer[offset++] = CharCodes_default.r; - buffer[offset++] = CharCodes_default.Newline; - offset += this.dict.copyBytesInto(buffer, offset); - return offset - initialOffset; - }; - PDFTrailerDict2.of = function(dict) { - return new PDFTrailerDict2(dict); - }; - return PDFTrailerDict2; - }() -); -var PDFTrailerDict_default = PDFTrailerDict; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/structures/PDFObjectStream.js -var PDFObjectStream = ( - /** @class */ - function(_super) { - __extends(PDFObjectStream2, _super); - function PDFObjectStream2(context, objects, encode) { - if (encode === void 0) { - encode = true; - } - var _this = _super.call(this, context.obj({}), encode) || this; - _this.objects = objects; - _this.offsets = _this.computeObjectOffsets(); - _this.offsetsString = _this.computeOffsetsString(); - _this.dict.set(PDFName_default.of("Type"), PDFName_default.of("ObjStm")); - _this.dict.set(PDFName_default.of("N"), PDFNumber_default.of(_this.objects.length)); - _this.dict.set(PDFName_default.of("First"), PDFNumber_default.of(_this.offsetsString.length)); - return _this; - } - PDFObjectStream2.prototype.getObjectsCount = function() { - return this.objects.length; - }; - PDFObjectStream2.prototype.clone = function(context) { - return PDFObjectStream2.withContextAndObjects(context || this.dict.context, this.objects.slice(), this.encode); - }; - PDFObjectStream2.prototype.getContentsString = function() { - var value = this.offsetsString; - for (var idx = 0, len = this.objects.length; idx < len; idx++) { - var _a = this.objects[idx], object = _a[1]; - value += object + "\n"; - } - return value; - }; - PDFObjectStream2.prototype.getUnencodedContents = function() { - var buffer = new Uint8Array(this.getUnencodedContentsSize()); - var offset = copyStringIntoBuffer(this.offsetsString, buffer, 0); - for (var idx = 0, len = this.objects.length; idx < len; idx++) { - var _a = this.objects[idx], object = _a[1]; - offset += object.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - } - return buffer; - }; - PDFObjectStream2.prototype.getUnencodedContentsSize = function() { - return this.offsetsString.length + last(this.offsets)[1] + last(this.objects)[1].sizeInBytes() + 1; - }; - PDFObjectStream2.prototype.computeOffsetsString = function() { - var offsetsString = ""; - for (var idx = 0, len = this.offsets.length; idx < len; idx++) { - var _a = this.offsets[idx], objectNumber = _a[0], offset = _a[1]; - offsetsString += objectNumber + " " + offset + " "; - } - return offsetsString; - }; - PDFObjectStream2.prototype.computeObjectOffsets = function() { - var offset = 0; - var offsets = new Array(this.objects.length); - for (var idx = 0, len = this.objects.length; idx < len; idx++) { - var _a = this.objects[idx], ref = _a[0], object = _a[1]; - offsets[idx] = [ref.objectNumber, offset]; - offset += object.sizeInBytes() + 1; - } - return offsets; - }; - PDFObjectStream2.withContextAndObjects = function(context, objects, encode) { - if (encode === void 0) { - encode = true; - } - return new PDFObjectStream2(context, objects, encode); - }; - return PDFObjectStream2; - }(PDFFlateStream_default) -); -var PDFObjectStream_default = PDFObjectStream; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/writers/PDFWriter.js -var PDFWriter = ( - /** @class */ - function() { - function PDFWriter2(context, objectsPerTick) { - var _this = this; - this.parsedObjects = 0; - this.shouldWaitForTick = function(n) { - _this.parsedObjects += n; - return _this.parsedObjects % _this.objectsPerTick === 0; - }; - this.context = context; - this.objectsPerTick = objectsPerTick; - } - PDFWriter2.prototype.serializeToBuffer = function() { - return __awaiter(this, void 0, void 0, function() { - var _a, size, header, indirectObjects, xref, trailerDict, trailer, offset, buffer, idx, len, _b, ref, object, objectNumber, generationNumber, n; - return __generator(this, function(_c) { - switch (_c.label) { - case 0: - return [4, this.computeBufferSize()]; - case 1: - _a = _c.sent(), size = _a.size, header = _a.header, indirectObjects = _a.indirectObjects, xref = _a.xref, trailerDict = _a.trailerDict, trailer = _a.trailer; - offset = 0; - buffer = new Uint8Array(size); - offset += header.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.Newline; - idx = 0, len = indirectObjects.length; - _c.label = 2; - case 2: - if (!(idx < len)) return [3, 5]; - _b = indirectObjects[idx], ref = _b[0], object = _b[1]; - objectNumber = String(ref.objectNumber); - offset += copyStringIntoBuffer(objectNumber, buffer, offset); - buffer[offset++] = CharCodes_default.Space; - generationNumber = String(ref.generationNumber); - offset += copyStringIntoBuffer(generationNumber, buffer, offset); - buffer[offset++] = CharCodes_default.Space; - buffer[offset++] = CharCodes_default.o; - buffer[offset++] = CharCodes_default.b; - buffer[offset++] = CharCodes_default.j; - buffer[offset++] = CharCodes_default.Newline; - offset += object.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.e; - buffer[offset++] = CharCodes_default.n; - buffer[offset++] = CharCodes_default.d; - buffer[offset++] = CharCodes_default.o; - buffer[offset++] = CharCodes_default.b; - buffer[offset++] = CharCodes_default.j; - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.Newline; - n = object instanceof PDFObjectStream_default ? object.getObjectsCount() : 1; - if (!this.shouldWaitForTick(n)) return [3, 4]; - return [4, waitForTick()]; - case 3: - _c.sent(); - _c.label = 4; - case 4: - idx++; - return [3, 2]; - case 5: - if (xref) { - offset += xref.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - } - if (trailerDict) { - offset += trailerDict.copyBytesInto(buffer, offset); - buffer[offset++] = CharCodes_default.Newline; - buffer[offset++] = CharCodes_default.Newline; - } - offset += trailer.copyBytesInto(buffer, offset); - return [2, buffer]; - } - }); - }); - }; - PDFWriter2.prototype.computeIndirectObjectSize = function(_a) { - var ref = _a[0], object = _a[1]; - var refSize = ref.sizeInBytes() + 3; - var objectSize = object.sizeInBytes() + 9; - return refSize + objectSize; - }; - PDFWriter2.prototype.createTrailerDict = function() { - return this.context.obj({ - Size: this.context.largestObjectNumber + 1, - Root: this.context.trailerInfo.Root, - Encrypt: this.context.trailerInfo.Encrypt, - Info: this.context.trailerInfo.Info, - ID: this.context.trailerInfo.ID - }); - }; - PDFWriter2.prototype.computeBufferSize = function() { - return __awaiter(this, void 0, void 0, function() { - var header, size, xref, indirectObjects, idx, len, indirectObject, ref, xrefOffset, trailerDict, trailer; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - header = PDFHeader_default.forVersion(1, 7); - size = header.sizeInBytes() + 2; - xref = PDFCrossRefSection_default.create(); - indirectObjects = this.context.enumerateIndirectObjects(); - idx = 0, len = indirectObjects.length; - _a.label = 1; - case 1: - if (!(idx < len)) return [3, 4]; - indirectObject = indirectObjects[idx]; - ref = indirectObject[0]; - xref.addEntry(ref, size); - size += this.computeIndirectObjectSize(indirectObject); - if (!this.shouldWaitForTick(1)) return [3, 3]; - return [4, waitForTick()]; - case 2: - _a.sent(); - _a.label = 3; - case 3: - idx++; - return [3, 1]; - case 4: - xrefOffset = size; - size += xref.sizeInBytes() + 1; - trailerDict = PDFTrailerDict_default.of(this.createTrailerDict()); - size += trailerDict.sizeInBytes() + 2; - trailer = PDFTrailer_default.forLastCrossRefSectionOffset(xrefOffset); - size += trailer.sizeInBytes(); - return [2, { size, header, indirectObjects, xref, trailerDict, trailer }]; - } - }); - }); - }; - PDFWriter2.forContext = function(context, objectsPerTick) { - return new PDFWriter2(context, objectsPerTick); - }; - return PDFWriter2; - }() -); -var PDFWriter_default = PDFWriter; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js -var PDFInvalidObject = ( - /** @class */ - function(_super) { - __extends(PDFInvalidObject2, _super); - function PDFInvalidObject2(data) { - var _this = _super.call(this) || this; - _this.data = data; - return _this; - } - PDFInvalidObject2.prototype.clone = function() { - return PDFInvalidObject2.of(this.data.slice()); - }; - PDFInvalidObject2.prototype.toString = function() { - return "PDFInvalidObject(" + this.data.length + " bytes)"; - }; - PDFInvalidObject2.prototype.sizeInBytes = function() { - return this.data.length; - }; - PDFInvalidObject2.prototype.copyBytesInto = function(buffer, offset) { - var length = this.data.length; - for (var idx = 0; idx < length; idx++) { - buffer[offset++] = this.data[idx]; - } - return length; - }; - PDFInvalidObject2.of = function(data) { - return new PDFInvalidObject2(data); - }; - return PDFInvalidObject2; - }(PDFObject_default) -); -var PDFInvalidObject_default = PDFInvalidObject; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/structures/PDFCrossRefStream.js -var EntryType; -(function(EntryType2) { - EntryType2[EntryType2["Deleted"] = 0] = "Deleted"; - EntryType2[EntryType2["Uncompressed"] = 1] = "Uncompressed"; - EntryType2[EntryType2["Compressed"] = 2] = "Compressed"; -})(EntryType || (EntryType = {})); -var PDFCrossRefStream = ( - /** @class */ - function(_super) { - __extends(PDFCrossRefStream2, _super); - function PDFCrossRefStream2(dict, entries, encode) { - if (encode === void 0) { - encode = true; - } - var _this = _super.call(this, dict, encode) || this; - _this.computeIndex = function() { - var subsections = []; - var subsectionLength = 0; - for (var idx = 0, len = _this.entries.length; idx < len; idx++) { - var currEntry = _this.entries[idx]; - var prevEntry = _this.entries[idx - 1]; - if (idx === 0) { - subsections.push(currEntry.ref.objectNumber); - } else if (currEntry.ref.objectNumber - prevEntry.ref.objectNumber > 1) { - subsections.push(subsectionLength); - subsections.push(currEntry.ref.objectNumber); - subsectionLength = 0; - } - subsectionLength += 1; - } - subsections.push(subsectionLength); - return subsections; - }; - _this.computeEntryTuples = function() { - var entryTuples = new Array(_this.entries.length); - for (var idx = 0, len = _this.entries.length; idx < len; idx++) { - var entry = _this.entries[idx]; - if (entry.type === EntryType.Deleted) { - var type = entry.type, nextFreeObjectNumber = entry.nextFreeObjectNumber, ref = entry.ref; - entryTuples[idx] = [type, nextFreeObjectNumber, ref.generationNumber]; - } - if (entry.type === EntryType.Uncompressed) { - var type = entry.type, offset = entry.offset, ref = entry.ref; - entryTuples[idx] = [type, offset, ref.generationNumber]; - } - if (entry.type === EntryType.Compressed) { - var type = entry.type, objectStreamRef = entry.objectStreamRef, index = entry.index; - entryTuples[idx] = [type, objectStreamRef.objectNumber, index]; - } - } - return entryTuples; - }; - _this.computeMaxEntryByteWidths = function() { - var entryTuples = _this.entryTuplesCache.access(); - var widths = [0, 0, 0]; - for (var idx = 0, len = entryTuples.length; idx < len; idx++) { - var _a = entryTuples[idx], first = _a[0], second = _a[1], third = _a[2]; - var firstSize = sizeInBytes(first); - var secondSize = sizeInBytes(second); - var thirdSize = sizeInBytes(third); - if (firstSize > widths[0]) - widths[0] = firstSize; - if (secondSize > widths[1]) - widths[1] = secondSize; - if (thirdSize > widths[2]) - widths[2] = thirdSize; - } - return widths; - }; - _this.entries = entries || []; - _this.entryTuplesCache = Cache_default.populatedBy(_this.computeEntryTuples); - _this.maxByteWidthsCache = Cache_default.populatedBy(_this.computeMaxEntryByteWidths); - _this.indexCache = Cache_default.populatedBy(_this.computeIndex); - dict.set(PDFName_default.of("Type"), PDFName_default.of("XRef")); - return _this; - } - PDFCrossRefStream2.prototype.addDeletedEntry = function(ref, nextFreeObjectNumber) { - var type = EntryType.Deleted; - this.entries.push({ type, ref, nextFreeObjectNumber }); - this.entryTuplesCache.invalidate(); - this.maxByteWidthsCache.invalidate(); - this.indexCache.invalidate(); - this.contentsCache.invalidate(); - }; - PDFCrossRefStream2.prototype.addUncompressedEntry = function(ref, offset) { - var type = EntryType.Uncompressed; - this.entries.push({ type, ref, offset }); - this.entryTuplesCache.invalidate(); - this.maxByteWidthsCache.invalidate(); - this.indexCache.invalidate(); - this.contentsCache.invalidate(); - }; - PDFCrossRefStream2.prototype.addCompressedEntry = function(ref, objectStreamRef, index) { - var type = EntryType.Compressed; - this.entries.push({ type, ref, objectStreamRef, index }); - this.entryTuplesCache.invalidate(); - this.maxByteWidthsCache.invalidate(); - this.indexCache.invalidate(); - this.contentsCache.invalidate(); - }; - PDFCrossRefStream2.prototype.clone = function(context) { - var _a = this, dict = _a.dict, entries = _a.entries, encode = _a.encode; - return PDFCrossRefStream2.of(dict.clone(context), entries.slice(), encode); - }; - PDFCrossRefStream2.prototype.getContentsString = function() { - var entryTuples = this.entryTuplesCache.access(); - var byteWidths = this.maxByteWidthsCache.access(); - var value = ""; - for (var entryIdx = 0, entriesLen = entryTuples.length; entryIdx < entriesLen; entryIdx++) { - var _a = entryTuples[entryIdx], first = _a[0], second = _a[1], third = _a[2]; - var firstBytes = reverseArray(bytesFor(first)); - var secondBytes = reverseArray(bytesFor(second)); - var thirdBytes = reverseArray(bytesFor(third)); - for (var idx = byteWidths[0] - 1; idx >= 0; idx--) { - value += (firstBytes[idx] || 0).toString(2); - } - for (var idx = byteWidths[1] - 1; idx >= 0; idx--) { - value += (secondBytes[idx] || 0).toString(2); - } - for (var idx = byteWidths[2] - 1; idx >= 0; idx--) { - value += (thirdBytes[idx] || 0).toString(2); - } - } - return value; - }; - PDFCrossRefStream2.prototype.getUnencodedContents = function() { - var entryTuples = this.entryTuplesCache.access(); - var byteWidths = this.maxByteWidthsCache.access(); - var buffer = new Uint8Array(this.getUnencodedContentsSize()); - var offset = 0; - for (var entryIdx = 0, entriesLen = entryTuples.length; entryIdx < entriesLen; entryIdx++) { - var _a = entryTuples[entryIdx], first = _a[0], second = _a[1], third = _a[2]; - var firstBytes = reverseArray(bytesFor(first)); - var secondBytes = reverseArray(bytesFor(second)); - var thirdBytes = reverseArray(bytesFor(third)); - for (var idx = byteWidths[0] - 1; idx >= 0; idx--) { - buffer[offset++] = firstBytes[idx] || 0; - } - for (var idx = byteWidths[1] - 1; idx >= 0; idx--) { - buffer[offset++] = secondBytes[idx] || 0; - } - for (var idx = byteWidths[2] - 1; idx >= 0; idx--) { - buffer[offset++] = thirdBytes[idx] || 0; - } - } - return buffer; - }; - PDFCrossRefStream2.prototype.getUnencodedContentsSize = function() { - var byteWidths = this.maxByteWidthsCache.access(); - var entryWidth = sum(byteWidths); - return entryWidth * this.entries.length; - }; - PDFCrossRefStream2.prototype.updateDict = function() { - _super.prototype.updateDict.call(this); - var byteWidths = this.maxByteWidthsCache.access(); - var index = this.indexCache.access(); - var context = this.dict.context; - this.dict.set(PDFName_default.of("W"), context.obj(byteWidths)); - this.dict.set(PDFName_default.of("Index"), context.obj(index)); - }; - PDFCrossRefStream2.create = function(dict, encode) { - if (encode === void 0) { - encode = true; - } - var stream2 = new PDFCrossRefStream2(dict, [], encode); - stream2.addDeletedEntry(PDFRef_default.of(0, 65535), 0); - return stream2; - }; - PDFCrossRefStream2.of = function(dict, entries, encode) { - if (encode === void 0) { - encode = true; - } - return new PDFCrossRefStream2(dict, entries, encode); - }; - return PDFCrossRefStream2; - }(PDFFlateStream_default) -); -var PDFCrossRefStream_default = PDFCrossRefStream; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/writers/PDFStreamWriter.js -var PDFStreamWriter = ( - /** @class */ - function(_super) { - __extends(PDFStreamWriter2, _super); - function PDFStreamWriter2(context, objectsPerTick, encodeStreams, objectsPerStream) { - var _this = _super.call(this, context, objectsPerTick) || this; - _this.encodeStreams = encodeStreams; - _this.objectsPerStream = objectsPerStream; - return _this; - } - PDFStreamWriter2.prototype.computeBufferSize = function() { - return __awaiter(this, void 0, void 0, function() { - var objectNumber, header, size, xrefStream, uncompressedObjects, compressedObjects, objectStreamRefs, indirectObjects, idx, len, indirectObject, ref, object, shouldNotCompress, chunk, objectStreamRef, idx, len, chunk, ref, objectStream, xrefStreamRef, xrefOffset, trailer; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - objectNumber = this.context.largestObjectNumber + 1; - header = PDFHeader_default.forVersion(1, 7); - size = header.sizeInBytes() + 2; - xrefStream = PDFCrossRefStream_default.create(this.createTrailerDict(), this.encodeStreams); - uncompressedObjects = []; - compressedObjects = []; - objectStreamRefs = []; - indirectObjects = this.context.enumerateIndirectObjects(); - idx = 0, len = indirectObjects.length; - _a.label = 1; - case 1: - if (!(idx < len)) return [3, 6]; - indirectObject = indirectObjects[idx]; - ref = indirectObject[0], object = indirectObject[1]; - shouldNotCompress = ref === this.context.trailerInfo.Encrypt || object instanceof PDFStream_default || object instanceof PDFInvalidObject_default || ref.generationNumber !== 0; - if (!shouldNotCompress) return [3, 4]; - uncompressedObjects.push(indirectObject); - xrefStream.addUncompressedEntry(ref, size); - size += this.computeIndirectObjectSize(indirectObject); - if (!this.shouldWaitForTick(1)) return [3, 3]; - return [4, waitForTick()]; - case 2: - _a.sent(); - _a.label = 3; - case 3: - return [3, 5]; - case 4: - chunk = last(compressedObjects); - objectStreamRef = last(objectStreamRefs); - if (!chunk || chunk.length % this.objectsPerStream === 0) { - chunk = []; - compressedObjects.push(chunk); - objectStreamRef = PDFRef_default.of(objectNumber++); - objectStreamRefs.push(objectStreamRef); - } - xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length); - chunk.push(indirectObject); - _a.label = 5; - case 5: - idx++; - return [3, 1]; - case 6: - idx = 0, len = compressedObjects.length; - _a.label = 7; - case 7: - if (!(idx < len)) return [3, 10]; - chunk = compressedObjects[idx]; - ref = objectStreamRefs[idx]; - objectStream = PDFObjectStream_default.withContextAndObjects(this.context, chunk, this.encodeStreams); - xrefStream.addUncompressedEntry(ref, size); - size += this.computeIndirectObjectSize([ref, objectStream]); - uncompressedObjects.push([ref, objectStream]); - if (!this.shouldWaitForTick(chunk.length)) return [3, 9]; - return [4, waitForTick()]; - case 8: - _a.sent(); - _a.label = 9; - case 9: - idx++; - return [3, 7]; - case 10: - xrefStreamRef = PDFRef_default.of(objectNumber++); - xrefStream.dict.set(PDFName_default.of("Size"), PDFNumber_default.of(objectNumber)); - xrefStream.addUncompressedEntry(xrefStreamRef, size); - xrefOffset = size; - size += this.computeIndirectObjectSize([xrefStreamRef, xrefStream]); - uncompressedObjects.push([xrefStreamRef, xrefStream]); - trailer = PDFTrailer_default.forLastCrossRefSectionOffset(xrefOffset); - size += trailer.sizeInBytes(); - return [2, { size, header, indirectObjects: uncompressedObjects, trailer }]; - } - }); - }); - }; - PDFStreamWriter2.forContext = function(context, objectsPerTick, encodeStreams, objectsPerStream) { - if (encodeStreams === void 0) { - encodeStreams = true; - } - if (objectsPerStream === void 0) { - objectsPerStream = 50; - } - return new PDFStreamWriter2(context, objectsPerTick, encodeStreams, objectsPerStream); - }; - return PDFStreamWriter2; - }(PDFWriter_default) -); -var PDFStreamWriter_default = PDFStreamWriter; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/objects/PDFHexString.js -var PDFHexString = ( - /** @class */ - function(_super) { - __extends(PDFHexString2, _super); - function PDFHexString2(value) { - var _this = _super.call(this) || this; - _this.value = value; - return _this; - } - PDFHexString2.prototype.asBytes = function() { - var hex = this.value + (this.value.length % 2 === 1 ? "0" : ""); - var hexLength = hex.length; - var bytes = new Uint8Array(hex.length / 2); - var hexOffset = 0; - var bytesOffset = 0; - while (hexOffset < hexLength) { - var byte = parseInt(hex.substring(hexOffset, hexOffset + 2), 16); - bytes[bytesOffset] = byte; - hexOffset += 2; - bytesOffset += 1; - } - return bytes; - }; - PDFHexString2.prototype.decodeText = function() { - var bytes = this.asBytes(); - if (hasUtf16BOM(bytes)) - return utf16Decode(bytes); - return pdfDocEncodingDecode(bytes); - }; - PDFHexString2.prototype.decodeDate = function() { - var text = this.decodeText(); - var date = parseDate(text); - if (!date) - throw new InvalidPDFDateStringError(text); - return date; - }; - PDFHexString2.prototype.asString = function() { - return this.value; - }; - PDFHexString2.prototype.clone = function() { - return PDFHexString2.of(this.value); - }; - PDFHexString2.prototype.toString = function() { - return "<" + this.value + ">"; - }; - PDFHexString2.prototype.sizeInBytes = function() { - return this.value.length + 2; - }; - PDFHexString2.prototype.copyBytesInto = function(buffer, offset) { - buffer[offset++] = CharCodes_default.LessThan; - offset += copyStringIntoBuffer(this.value, buffer, offset); - buffer[offset++] = CharCodes_default.GreaterThan; - return this.value.length + 2; - }; - PDFHexString2.of = function(value) { - return new PDFHexString2(value); - }; - PDFHexString2.fromText = function(value) { - var encoded = utf16Encode(value); - var hex = ""; - for (var idx = 0, len = encoded.length; idx < len; idx++) { - hex += toHexStringOfMinLength(encoded[idx], 4); - } - return new PDFHexString2(hex); - }; - return PDFHexString2; - }(PDFObject_default) -); -var PDFHexString_default = PDFHexString; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/embedders/StandardFontEmbedder.js -var StandardFontEmbedder = ( - /** @class */ - function() { - function StandardFontEmbedder2(fontName, customName) { - this.encoding = fontName === FontNames.ZapfDingbats ? Encodings.ZapfDingbats : fontName === FontNames.Symbol ? Encodings.Symbol : Encodings.WinAnsi; - this.font = Font.load(fontName); - this.fontName = this.font.FontName; - this.customName = customName; - } - StandardFontEmbedder2.prototype.encodeText = function(text) { - var glyphs = this.encodeTextAsGlyphs(text); - var hexCodes = new Array(glyphs.length); - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - hexCodes[idx] = toHexString(glyphs[idx].code); - } - return PDFHexString_default.of(hexCodes.join("")); - }; - StandardFontEmbedder2.prototype.widthOfTextAtSize = function(text, size) { - var glyphs = this.encodeTextAsGlyphs(text); - var totalWidth = 0; - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - var left = glyphs[idx].name; - var right = (glyphs[idx + 1] || {}).name; - var kernAmount = this.font.getXAxisKerningForPair(left, right) || 0; - totalWidth += this.widthOfGlyph(left) + kernAmount; - } - var scale2 = size / 1e3; - return totalWidth * scale2; - }; - StandardFontEmbedder2.prototype.heightOfFontAtSize = function(size, options) { - if (options === void 0) { - options = {}; - } - var _a = options.descender, descender = _a === void 0 ? true : _a; - var _b = this.font, Ascender = _b.Ascender, Descender = _b.Descender, FontBBox = _b.FontBBox; - var yTop = Ascender || FontBBox[3]; - var yBottom = Descender || FontBBox[1]; - var height = yTop - yBottom; - if (!descender) - height += Descender || 0; - return height / 1e3 * size; - }; - StandardFontEmbedder2.prototype.sizeOfFontAtHeight = function(height) { - var _a = this.font, Ascender = _a.Ascender, Descender = _a.Descender, FontBBox = _a.FontBBox; - var yTop = Ascender || FontBBox[3]; - var yBottom = Descender || FontBBox[1]; - return 1e3 * height / (yTop - yBottom); - }; - StandardFontEmbedder2.prototype.embedIntoContext = function(context, ref) { - var fontDict = context.obj({ - Type: "Font", - Subtype: "Type1", - BaseFont: this.customName || this.fontName, - Encoding: this.encoding === Encodings.WinAnsi ? "WinAnsiEncoding" : void 0 - }); - if (ref) { - context.assign(ref, fontDict); - return ref; - } else { - return context.register(fontDict); - } - }; - StandardFontEmbedder2.prototype.widthOfGlyph = function(glyphName) { - return this.font.getWidthOfGlyph(glyphName) || 250; - }; - StandardFontEmbedder2.prototype.encodeTextAsGlyphs = function(text) { - var codePoints = Array.from(text); - var glyphs = new Array(codePoints.length); - for (var idx = 0, len = codePoints.length; idx < len; idx++) { - var codePoint = toCodePoint(codePoints[idx]); - glyphs[idx] = this.encoding.encodeUnicodeCodePoint(codePoint); - } - return glyphs; - }; - StandardFontEmbedder2.for = function(fontName, customName) { - return new StandardFontEmbedder2(fontName, customName); - }; - return StandardFontEmbedder2; - }() -); -var StandardFontEmbedder_default = StandardFontEmbedder; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/embedders/CMap.js -var createCmap = function(glyphs, glyphId) { - var bfChars = new Array(glyphs.length); - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - var glyph = glyphs[idx]; - var id = cmapHexFormat(cmapHexString(glyphId(glyph))); - var unicode = cmapHexFormat.apply(void 0, glyph.codePoints.map(cmapCodePointFormat)); - bfChars[idx] = [id, unicode]; - } - return fillCmapTemplate(bfChars); -}; -var fillCmapTemplate = function(bfChars) { - return "/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n /Registry (Adobe)\n /Ordering (UCS)\n /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000>\nendcodespacerange\n" + bfChars.length + " beginbfchar\n" + bfChars.map(function(_a) { - var glyphId = _a[0], codePoint = _a[1]; - return glyphId + " " + codePoint; - }).join("\n") + "\nendbfchar\nendcmap\nCMapName currentdict /CMap defineresource pop\nend\nend"; -}; -var cmapHexFormat = function() { - var values2 = []; - for (var _i = 0; _i < arguments.length; _i++) { - values2[_i] = arguments[_i]; - } - return "<" + values2.join("") + ">"; -}; -var cmapHexString = function(value) { - return toHexStringOfMinLength(value, 4); -}; -var cmapCodePointFormat = function(codePoint) { - if (isWithinBMP(codePoint)) - return cmapHexString(codePoint); - if (hasSurrogates(codePoint)) { - var hs = highSurrogate(codePoint); - var ls = lowSurrogate(codePoint); - return "" + cmapHexString(hs) + cmapHexString(ls); - } - var hex = toHexString(codePoint); - var msg = "0x" + hex + " is not a valid UTF-8 or UTF-16 codepoint."; - throw new Error(msg); -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/embedders/FontFlags.js -var makeFontFlags = function(options) { - var flags = 0; - var flipBit = function(bit) { - flags |= 1 << bit - 1; - }; - if (options.fixedPitch) - flipBit(1); - if (options.serif) - flipBit(2); - if (options.symbolic) - flipBit(3); - if (options.script) - flipBit(4); - if (options.nonsymbolic) - flipBit(6); - if (options.italic) - flipBit(7); - if (options.allCap) - flipBit(17); - if (options.smallCap) - flipBit(18); - if (options.forceBold) - flipBit(19); - return flags; -}; -var deriveFontFlags = function(font) { - var familyClass = font["OS/2"] ? font["OS/2"].sFamilyClass : 0; - var flags = makeFontFlags({ - fixedPitch: font.post.isFixedPitch, - serif: 1 <= familyClass && familyClass <= 7, - symbolic: true, - script: familyClass === 10, - italic: font.head.macStyle.italic - }); - return flags; -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/objects/PDFString.js -var PDFString = ( - /** @class */ - function(_super) { - __extends(PDFString2, _super); - function PDFString2(value) { - var _this = _super.call(this) || this; - _this.value = value; - return _this; - } - PDFString2.prototype.asBytes = function() { - var bytes = []; - var octal = ""; - var escaped = false; - var pushByte = function(byte2) { - if (byte2 !== void 0) - bytes.push(byte2); - escaped = false; - }; - for (var idx = 0, len = this.value.length; idx < len; idx++) { - var char = this.value[idx]; - var byte = toCharCode(char); - var nextChar = this.value[idx + 1]; - if (!escaped) { - if (byte === CharCodes_default.BackSlash) - escaped = true; - else - pushByte(byte); - } else { - if (byte === CharCodes_default.Newline) - pushByte(); - else if (byte === CharCodes_default.CarriageReturn) - pushByte(); - else if (byte === CharCodes_default.n) - pushByte(CharCodes_default.Newline); - else if (byte === CharCodes_default.r) - pushByte(CharCodes_default.CarriageReturn); - else if (byte === CharCodes_default.t) - pushByte(CharCodes_default.Tab); - else if (byte === CharCodes_default.b) - pushByte(CharCodes_default.Backspace); - else if (byte === CharCodes_default.f) - pushByte(CharCodes_default.FormFeed); - else if (byte === CharCodes_default.LeftParen) - pushByte(CharCodes_default.LeftParen); - else if (byte === CharCodes_default.RightParen) - pushByte(CharCodes_default.RightParen); - else if (byte === CharCodes_default.Backspace) - pushByte(CharCodes_default.BackSlash); - else if (byte >= CharCodes_default.Zero && byte <= CharCodes_default.Seven) { - octal += char; - if (octal.length === 3 || !(nextChar >= "0" && nextChar <= "7")) { - pushByte(parseInt(octal, 8)); - octal = ""; - } - } else { - pushByte(byte); - } - } - } - return new Uint8Array(bytes); - }; - PDFString2.prototype.decodeText = function() { - var bytes = this.asBytes(); - if (hasUtf16BOM(bytes)) - return utf16Decode(bytes); - return pdfDocEncodingDecode(bytes); - }; - PDFString2.prototype.decodeDate = function() { - var text = this.decodeText(); - var date = parseDate(text); - if (!date) - throw new InvalidPDFDateStringError(text); - return date; - }; - PDFString2.prototype.asString = function() { - return this.value; - }; - PDFString2.prototype.clone = function() { - return PDFString2.of(this.value); - }; - PDFString2.prototype.toString = function() { - return "(" + this.value + ")"; - }; - PDFString2.prototype.sizeInBytes = function() { - return this.value.length + 2; - }; - PDFString2.prototype.copyBytesInto = function(buffer, offset) { - buffer[offset++] = CharCodes_default.LeftParen; - offset += copyStringIntoBuffer(this.value, buffer, offset); - buffer[offset++] = CharCodes_default.RightParen; - return this.value.length + 2; - }; - PDFString2.of = function(value) { - return new PDFString2(value); - }; - PDFString2.fromDate = function(date) { - var year = padStart(String(date.getUTCFullYear()), 4, "0"); - var month = padStart(String(date.getUTCMonth() + 1), 2, "0"); - var day = padStart(String(date.getUTCDate()), 2, "0"); - var hours = padStart(String(date.getUTCHours()), 2, "0"); - var mins = padStart(String(date.getUTCMinutes()), 2, "0"); - var secs = padStart(String(date.getUTCSeconds()), 2, "0"); - return new PDFString2("D:" + year + month + day + hours + mins + secs + "Z"); - }; - return PDFString2; - }(PDFObject_default) -); -var PDFString_default = PDFString; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/embedders/CustomFontEmbedder.js -var CustomFontEmbedder = ( - /** @class */ - function() { - function CustomFontEmbedder2(font, fontData, customName, fontFeatures) { - var _this = this; - this.allGlyphsInFontSortedById = function() { - var glyphs = new Array(_this.font.characterSet.length); - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - var codePoint = _this.font.characterSet[idx]; - glyphs[idx] = _this.font.glyphForCodePoint(codePoint); - } - return sortedUniq(glyphs.sort(byAscendingId), function(g) { - return g.id; - }); - }; - this.font = font; - this.scale = 1e3 / this.font.unitsPerEm; - this.fontData = fontData; - this.fontName = this.font.postscriptName || "Font"; - this.customName = customName; - this.fontFeatures = fontFeatures; - this.baseFontName = ""; - this.glyphCache = Cache_default.populatedBy(this.allGlyphsInFontSortedById); - } - CustomFontEmbedder2.for = function(fontkit, fontData, customName, fontFeatures) { - return __awaiter(this, void 0, void 0, function() { - var font; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, fontkit.create(fontData)]; - case 1: - font = _a.sent(); - return [2, new CustomFontEmbedder2(font, fontData, customName, fontFeatures)]; - } - }); - }); - }; - CustomFontEmbedder2.prototype.encodeText = function(text) { - var glyphs = this.font.layout(text, this.fontFeatures).glyphs; - var hexCodes = new Array(glyphs.length); - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - hexCodes[idx] = toHexStringOfMinLength(glyphs[idx].id, 4); - } - return PDFHexString_default.of(hexCodes.join("")); - }; - CustomFontEmbedder2.prototype.widthOfTextAtSize = function(text, size) { - var glyphs = this.font.layout(text, this.fontFeatures).glyphs; - var totalWidth = 0; - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - totalWidth += glyphs[idx].advanceWidth * this.scale; - } - var scale2 = size / 1e3; - return totalWidth * scale2; - }; - CustomFontEmbedder2.prototype.heightOfFontAtSize = function(size, options) { - if (options === void 0) { - options = {}; - } - var _a = options.descender, descender = _a === void 0 ? true : _a; - var _b = this.font, ascent = _b.ascent, descent = _b.descent, bbox = _b.bbox; - var yTop = (ascent || bbox.maxY) * this.scale; - var yBottom = (descent || bbox.minY) * this.scale; - var height = yTop - yBottom; - if (!descender) - height -= Math.abs(descent) || 0; - return height / 1e3 * size; - }; - CustomFontEmbedder2.prototype.sizeOfFontAtHeight = function(height) { - var _a = this.font, ascent = _a.ascent, descent = _a.descent, bbox = _a.bbox; - var yTop = (ascent || bbox.maxY) * this.scale; - var yBottom = (descent || bbox.minY) * this.scale; - return 1e3 * height / (yTop - yBottom); - }; - CustomFontEmbedder2.prototype.embedIntoContext = function(context, ref) { - this.baseFontName = this.customName || context.addRandomSuffix(this.fontName); - return this.embedFontDict(context, ref); - }; - CustomFontEmbedder2.prototype.embedFontDict = function(context, ref) { - return __awaiter(this, void 0, void 0, function() { - var cidFontDictRef, unicodeCMapRef, fontDict; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.embedCIDFontDict(context)]; - case 1: - cidFontDictRef = _a.sent(); - unicodeCMapRef = this.embedUnicodeCmap(context); - fontDict = context.obj({ - Type: "Font", - Subtype: "Type0", - BaseFont: this.baseFontName, - Encoding: "Identity-H", - DescendantFonts: [cidFontDictRef], - ToUnicode: unicodeCMapRef - }); - if (ref) { - context.assign(ref, fontDict); - return [2, ref]; - } else { - return [2, context.register(fontDict)]; - } - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - CustomFontEmbedder2.prototype.isCFF = function() { - return this.font.cff; - }; - CustomFontEmbedder2.prototype.embedCIDFontDict = function(context) { - return __awaiter(this, void 0, void 0, function() { - var fontDescriptorRef, cidFontDict; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.embedFontDescriptor(context)]; - case 1: - fontDescriptorRef = _a.sent(); - cidFontDict = context.obj({ - Type: "Font", - Subtype: this.isCFF() ? "CIDFontType0" : "CIDFontType2", - CIDToGIDMap: "Identity", - BaseFont: this.baseFontName, - CIDSystemInfo: { - Registry: PDFString_default.of("Adobe"), - Ordering: PDFString_default.of("Identity"), - Supplement: 0 - }, - FontDescriptor: fontDescriptorRef, - W: this.computeWidths() - }); - return [2, context.register(cidFontDict)]; - } - }); - }); - }; - CustomFontEmbedder2.prototype.embedFontDescriptor = function(context) { - return __awaiter(this, void 0, void 0, function() { - var fontStreamRef, scale2, _a, italicAngle, ascent, descent, capHeight, xHeight, _b, minX, minY, maxX, maxY, fontDescriptor; - var _c; - return __generator(this, function(_d) { - switch (_d.label) { - case 0: - return [4, this.embedFontStream(context)]; - case 1: - fontStreamRef = _d.sent(); - scale2 = this.scale; - _a = this.font, italicAngle = _a.italicAngle, ascent = _a.ascent, descent = _a.descent, capHeight = _a.capHeight, xHeight = _a.xHeight; - _b = this.font.bbox, minX = _b.minX, minY = _b.minY, maxX = _b.maxX, maxY = _b.maxY; - fontDescriptor = context.obj((_c = { - Type: "FontDescriptor", - FontName: this.baseFontName, - Flags: deriveFontFlags(this.font), - FontBBox: [minX * scale2, minY * scale2, maxX * scale2, maxY * scale2], - ItalicAngle: italicAngle, - Ascent: ascent * scale2, - Descent: descent * scale2, - CapHeight: (capHeight || ascent) * scale2, - XHeight: (xHeight || 0) * scale2, - // Not sure how to compute/find this, nor is anybody else really: - // https://stackoverflow.com/questions/35485179/stemv-value-of-the-truetype-font - StemV: 0 - }, _c[this.isCFF() ? "FontFile3" : "FontFile2"] = fontStreamRef, _c)); - return [2, context.register(fontDescriptor)]; - } - }); - }); - }; - CustomFontEmbedder2.prototype.serializeFont = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - return [2, this.fontData]; - }); - }); - }; - CustomFontEmbedder2.prototype.embedFontStream = function(context) { - return __awaiter(this, void 0, void 0, function() { - var fontStream, _a, _b; - return __generator(this, function(_c) { - switch (_c.label) { - case 0: - _b = (_a = context).flateStream; - return [4, this.serializeFont()]; - case 1: - fontStream = _b.apply(_a, [_c.sent(), { - Subtype: this.isCFF() ? "CIDFontType0C" : void 0 - }]); - return [2, context.register(fontStream)]; - } - }); - }); - }; - CustomFontEmbedder2.prototype.embedUnicodeCmap = function(context) { - var cmap = createCmap(this.glyphCache.access(), this.glyphId.bind(this)); - var cmapStream = context.flateStream(cmap); - return context.register(cmapStream); - }; - CustomFontEmbedder2.prototype.glyphId = function(glyph) { - return glyph ? glyph.id : -1; - }; - CustomFontEmbedder2.prototype.computeWidths = function() { - var glyphs = this.glyphCache.access(); - var widths = []; - var currSection = []; - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - var currGlyph = glyphs[idx]; - var prevGlyph = glyphs[idx - 1]; - var currGlyphId = this.glyphId(currGlyph); - var prevGlyphId = this.glyphId(prevGlyph); - if (idx === 0) { - widths.push(currGlyphId); - } else if (currGlyphId - prevGlyphId !== 1) { - widths.push(currSection); - widths.push(currGlyphId); - currSection = []; - } - currSection.push(currGlyph.advanceWidth * this.scale); - } - widths.push(currSection); - return widths; - }; - return CustomFontEmbedder2; - }() -); -var CustomFontEmbedder_default = CustomFontEmbedder; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/embedders/CustomFontSubsetEmbedder.js -var CustomFontSubsetEmbedder = ( - /** @class */ - function(_super) { - __extends(CustomFontSubsetEmbedder2, _super); - function CustomFontSubsetEmbedder2(font, fontData, customFontName, fontFeatures) { - var _this = _super.call(this, font, fontData, customFontName, fontFeatures) || this; - _this.subset = _this.font.createSubset(); - _this.glyphs = []; - _this.glyphCache = Cache_default.populatedBy(function() { - return _this.glyphs; - }); - _this.glyphIdMap = /* @__PURE__ */ new Map(); - return _this; - } - CustomFontSubsetEmbedder2.for = function(fontkit, fontData, customFontName, fontFeatures) { - return __awaiter(this, void 0, void 0, function() { - var font; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, fontkit.create(fontData)]; - case 1: - font = _a.sent(); - return [2, new CustomFontSubsetEmbedder2(font, fontData, customFontName, fontFeatures)]; - } - }); - }); - }; - CustomFontSubsetEmbedder2.prototype.encodeText = function(text) { - var glyphs = this.font.layout(text, this.fontFeatures).glyphs; - var hexCodes = new Array(glyphs.length); - for (var idx = 0, len = glyphs.length; idx < len; idx++) { - var glyph = glyphs[idx]; - var subsetGlyphId = this.subset.includeGlyph(glyph); - this.glyphs[subsetGlyphId - 1] = glyph; - this.glyphIdMap.set(glyph.id, subsetGlyphId); - hexCodes[idx] = toHexStringOfMinLength(subsetGlyphId, 4); - } - this.glyphCache.invalidate(); - return PDFHexString_default.of(hexCodes.join("")); - }; - CustomFontSubsetEmbedder2.prototype.isCFF = function() { - return this.subset.cff; - }; - CustomFontSubsetEmbedder2.prototype.glyphId = function(glyph) { - return glyph ? this.glyphIdMap.get(glyph.id) : -1; - }; - CustomFontSubsetEmbedder2.prototype.serializeFont = function() { - var _this = this; - return new Promise(function(resolve, reject) { - var parts = []; - _this.subset.encodeStream().on("data", function(bytes) { - return parts.push(bytes); - }).on("end", function() { - return resolve(mergeUint8Arrays(parts)); - }).on("error", function(err) { - return reject(err); - }); - }); - }; - return CustomFontSubsetEmbedder2; - }(CustomFontEmbedder_default) -); -var CustomFontSubsetEmbedder_default = CustomFontSubsetEmbedder; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/embedders/FileEmbedder.js -var AFRelationship; -(function(AFRelationship2) { - AFRelationship2["Source"] = "Source"; - AFRelationship2["Data"] = "Data"; - AFRelationship2["Alternative"] = "Alternative"; - AFRelationship2["Supplement"] = "Supplement"; - AFRelationship2["EncryptedPayload"] = "EncryptedPayload"; - AFRelationship2["FormData"] = "EncryptedPayload"; - AFRelationship2["Schema"] = "Schema"; - AFRelationship2["Unspecified"] = "Unspecified"; -})(AFRelationship || (AFRelationship = {})); -var FileEmbedder = ( - /** @class */ - function() { - function FileEmbedder2(fileData, fileName, options) { - if (options === void 0) { - options = {}; - } - this.fileData = fileData; - this.fileName = fileName; - this.options = options; - } - FileEmbedder2.for = function(bytes, fileName, options) { - if (options === void 0) { - options = {}; - } - return new FileEmbedder2(bytes, fileName, options); - }; - FileEmbedder2.prototype.embedIntoContext = function(context, ref) { - return __awaiter(this, void 0, void 0, function() { - var _a, mimeType, description, creationDate, modificationDate, afRelationship, embeddedFileStream, embeddedFileStreamRef, fileSpecDict; - return __generator(this, function(_b) { - _a = this.options, mimeType = _a.mimeType, description = _a.description, creationDate = _a.creationDate, modificationDate = _a.modificationDate, afRelationship = _a.afRelationship; - embeddedFileStream = context.flateStream(this.fileData, { - Type: "EmbeddedFile", - Subtype: mimeType !== null && mimeType !== void 0 ? mimeType : void 0, - Params: { - Size: this.fileData.length, - CreationDate: creationDate ? PDFString_default.fromDate(creationDate) : void 0, - ModDate: modificationDate ? PDFString_default.fromDate(modificationDate) : void 0 - } - }); - embeddedFileStreamRef = context.register(embeddedFileStream); - fileSpecDict = context.obj({ - Type: "Filespec", - F: PDFString_default.of(this.fileName), - UF: PDFHexString_default.fromText(this.fileName), - EF: { F: embeddedFileStreamRef }, - Desc: description ? PDFHexString_default.fromText(description) : void 0, - AFRelationship: afRelationship !== null && afRelationship !== void 0 ? afRelationship : void 0 - }); - if (ref) { - context.assign(ref, fileSpecDict); - return [2, ref]; - } else { - return [2, context.register(fileSpecDict)]; - } - return [ - 2 - /*return*/ - ]; - }); - }); - }; - return FileEmbedder2; - }() -); -var FileEmbedder_default = FileEmbedder; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/embedders/JpegEmbedder.js -var MARKERS = [ - 65472, - 65473, - 65474, - 65475, - 65477, - 65478, - 65479, - 65480, - 65481, - 65482, - 65483, - 65484, - 65485, - 65486, - 65487 -]; -var ColorSpace; -(function(ColorSpace2) { - ColorSpace2["DeviceGray"] = "DeviceGray"; - ColorSpace2["DeviceRGB"] = "DeviceRGB"; - ColorSpace2["DeviceCMYK"] = "DeviceCMYK"; -})(ColorSpace || (ColorSpace = {})); -var ChannelToColorSpace = { - 1: ColorSpace.DeviceGray, - 3: ColorSpace.DeviceRGB, - 4: ColorSpace.DeviceCMYK -}; -var JpegEmbedder = ( - /** @class */ - function() { - function JpegEmbedder2(imageData, bitsPerComponent, width, height, colorSpace) { - this.imageData = imageData; - this.bitsPerComponent = bitsPerComponent; - this.width = width; - this.height = height; - this.colorSpace = colorSpace; - } - JpegEmbedder2.for = function(imageData) { - return __awaiter(this, void 0, void 0, function() { - var dataView, soi, pos, marker, bitsPerComponent, height, width, channelByte, channelName, colorSpace; - return __generator(this, function(_a) { - dataView = new DataView(imageData.buffer); - soi = dataView.getUint16(0); - if (soi !== 65496) - throw new Error("SOI not found in JPEG"); - pos = 2; - while (pos < dataView.byteLength) { - marker = dataView.getUint16(pos); - pos += 2; - if (MARKERS.includes(marker)) - break; - pos += dataView.getUint16(pos); - } - if (!MARKERS.includes(marker)) - throw new Error("Invalid JPEG"); - pos += 2; - bitsPerComponent = dataView.getUint8(pos++); - height = dataView.getUint16(pos); - pos += 2; - width = dataView.getUint16(pos); - pos += 2; - channelByte = dataView.getUint8(pos++); - channelName = ChannelToColorSpace[channelByte]; - if (!channelName) - throw new Error("Unknown JPEG channel."); - colorSpace = channelName; - return [2, new JpegEmbedder2(imageData, bitsPerComponent, width, height, colorSpace)]; - }); - }); - }; - JpegEmbedder2.prototype.embedIntoContext = function(context, ref) { - return __awaiter(this, void 0, void 0, function() { - var xObject; - return __generator(this, function(_a) { - xObject = context.stream(this.imageData, { - Type: "XObject", - Subtype: "Image", - BitsPerComponent: this.bitsPerComponent, - Width: this.width, - Height: this.height, - ColorSpace: this.colorSpace, - Filter: "DCTDecode", - // CMYK JPEG streams in PDF are typically stored complemented, - // with 1 as 'off' and 0 as 'on' (PDF 32000-1:2008, 8.6.4.4). - // - // Standalone CMYK JPEG (usually exported by Photoshop) are - // stored inverse, with 0 as 'off' and 1 as 'on', like RGB. - // - // Applying a swap here as a hedge that most bytes passing - // through this method will benefit from it. - Decode: this.colorSpace === ColorSpace.DeviceCMYK ? [1, 0, 1, 0, 1, 0, 1, 0] : void 0 - }); - if (ref) { - context.assign(ref, xObject); - return [2, ref]; - } else { - return [2, context.register(xObject)]; - } - return [ - 2 - /*return*/ - ]; - }); - }); - }; - return JpegEmbedder2; - }() -); -var JpegEmbedder_default = JpegEmbedder; - -// node_modules/.pnpm/@pdf-lib+upng@1.0.1/node_modules/@pdf-lib/upng/UPNG.js -var import_pako4 = __toESM(require_pako()); -var UPNG = {}; -UPNG.toRGBA8 = function(out) { - var w = out.width, h = out.height; - if (out.tabs.acTL == null) return [UPNG.toRGBA8.decodeImage(out.data, w, h, out).buffer]; - var frms = []; - if (out.frames[0].data == null) out.frames[0].data = out.data; - var len = w * h * 4, img = new Uint8Array(len), empty = new Uint8Array(len), prev = new Uint8Array(len); - for (var i = 0; i < out.frames.length; i++) { - var frm = out.frames[i]; - var fx = frm.rect.x, fy = frm.rect.y, fw = frm.rect.width, fh = frm.rect.height; - var fdata = UPNG.toRGBA8.decodeImage(frm.data, fw, fh, out); - if (i != 0) for (var j = 0; j < len; j++) prev[j] = img[j]; - if (frm.blend == 0) UPNG._copyTile(fdata, fw, fh, img, w, h, fx, fy, 0); - else if (frm.blend == 1) UPNG._copyTile(fdata, fw, fh, img, w, h, fx, fy, 1); - frms.push(img.buffer.slice(0)); - if (frm.dispose == 0) { - } else if (frm.dispose == 1) UPNG._copyTile(empty, fw, fh, img, w, h, fx, fy, 0); - else if (frm.dispose == 2) for (var j = 0; j < len; j++) img[j] = prev[j]; - } - return frms; -}; -UPNG.toRGBA8.decodeImage = function(data, w, h, out) { - var area = w * h, bpp = UPNG.decode._getBPP(out); - var bpl = Math.ceil(w * bpp / 8); - var bf = new Uint8Array(area * 4), bf32 = new Uint32Array(bf.buffer); - var ctype = out.ctype, depth = out.depth; - var rs = UPNG._bin.readUshort; - var time = Date.now(); - if (ctype == 6) { - var qarea = area << 2; - if (depth == 8) for (var i = 0; i < qarea; i += 4) { - bf[i] = data[i]; - bf[i + 1] = data[i + 1]; - bf[i + 2] = data[i + 2]; - bf[i + 3] = data[i + 3]; - } - if (depth == 16) for (var i = 0; i < qarea; i++) { - bf[i] = data[i << 1]; - } - } else if (ctype == 2) { - var ts = out.tabs["tRNS"]; - if (ts == null) { - if (depth == 8) for (var i = 0; i < area; i++) { - var ti = i * 3; - bf32[i] = 255 << 24 | data[ti + 2] << 16 | data[ti + 1] << 8 | data[ti]; - } - if (depth == 16) for (var i = 0; i < area; i++) { - var ti = i * 6; - bf32[i] = 255 << 24 | data[ti + 4] << 16 | data[ti + 2] << 8 | data[ti]; - } - } else { - var tr = ts[0], tg = ts[1], tb = ts[2]; - if (depth == 8) for (var i = 0; i < area; i++) { - var qi = i << 2, ti = i * 3; - bf32[i] = 255 << 24 | data[ti + 2] << 16 | data[ti + 1] << 8 | data[ti]; - if (data[ti] == tr && data[ti + 1] == tg && data[ti + 2] == tb) bf[qi + 3] = 0; - } - if (depth == 16) for (var i = 0; i < area; i++) { - var qi = i << 2, ti = i * 6; - bf32[i] = 255 << 24 | data[ti + 4] << 16 | data[ti + 2] << 8 | data[ti]; - if (rs(data, ti) == tr && rs(data, ti + 2) == tg && rs(data, ti + 4) == tb) bf[qi + 3] = 0; - } - } - } else if (ctype == 3) { - var p = out.tabs["PLTE"], ap = out.tabs["tRNS"], tl = ap ? ap.length : 0; - if (depth == 1) for (var y = 0; y < h; y++) { - var s0 = y * bpl, t0 = y * w; - for (var i = 0; i < w; i++) { - var qi = t0 + i << 2, j = data[s0 + (i >> 3)] >> 7 - ((i & 7) << 0) & 1, cj = 3 * j; - bf[qi] = p[cj]; - bf[qi + 1] = p[cj + 1]; - bf[qi + 2] = p[cj + 2]; - bf[qi + 3] = j < tl ? ap[j] : 255; - } - } - if (depth == 2) for (var y = 0; y < h; y++) { - var s0 = y * bpl, t0 = y * w; - for (var i = 0; i < w; i++) { - var qi = t0 + i << 2, j = data[s0 + (i >> 2)] >> 6 - ((i & 3) << 1) & 3, cj = 3 * j; - bf[qi] = p[cj]; - bf[qi + 1] = p[cj + 1]; - bf[qi + 2] = p[cj + 2]; - bf[qi + 3] = j < tl ? ap[j] : 255; - } - } - if (depth == 4) for (var y = 0; y < h; y++) { - var s0 = y * bpl, t0 = y * w; - for (var i = 0; i < w; i++) { - var qi = t0 + i << 2, j = data[s0 + (i >> 1)] >> 4 - ((i & 1) << 2) & 15, cj = 3 * j; - bf[qi] = p[cj]; - bf[qi + 1] = p[cj + 1]; - bf[qi + 2] = p[cj + 2]; - bf[qi + 3] = j < tl ? ap[j] : 255; - } - } - if (depth == 8) for (var i = 0; i < area; i++) { - var qi = i << 2, j = data[i], cj = 3 * j; - bf[qi] = p[cj]; - bf[qi + 1] = p[cj + 1]; - bf[qi + 2] = p[cj + 2]; - bf[qi + 3] = j < tl ? ap[j] : 255; - } - } else if (ctype == 4) { - if (depth == 8) for (var i = 0; i < area; i++) { - var qi = i << 2, di = i << 1, gr = data[di]; - bf[qi] = gr; - bf[qi + 1] = gr; - bf[qi + 2] = gr; - bf[qi + 3] = data[di + 1]; - } - if (depth == 16) for (var i = 0; i < area; i++) { - var qi = i << 2, di = i << 2, gr = data[di]; - bf[qi] = gr; - bf[qi + 1] = gr; - bf[qi + 2] = gr; - bf[qi + 3] = data[di + 2]; - } - } else if (ctype == 0) { - var tr = out.tabs["tRNS"] ? out.tabs["tRNS"] : -1; - for (var y = 0; y < h; y++) { - var off = y * bpl, to = y * w; - if (depth == 1) for (var x = 0; x < w; x++) { - var gr = 255 * (data[off + (x >>> 3)] >>> 7 - (x & 7) & 1), al = gr == tr * 255 ? 0 : 255; - bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr; - } - else if (depth == 2) for (var x = 0; x < w; x++) { - var gr = 85 * (data[off + (x >>> 2)] >>> 6 - ((x & 3) << 1) & 3), al = gr == tr * 85 ? 0 : 255; - bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr; - } - else if (depth == 4) for (var x = 0; x < w; x++) { - var gr = 17 * (data[off + (x >>> 1)] >>> 4 - ((x & 1) << 2) & 15), al = gr == tr * 17 ? 0 : 255; - bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr; - } - else if (depth == 8) for (var x = 0; x < w; x++) { - var gr = data[off + x], al = gr == tr ? 0 : 255; - bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr; - } - else if (depth == 16) for (var x = 0; x < w; x++) { - var gr = data[off + (x << 1)], al = rs(data, off + (x << i)) == tr ? 0 : 255; - bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr; - } - } - } - return bf; -}; -UPNG.decode = function(buff) { - var data = new Uint8Array(buff), offset = 8, bin = UPNG._bin, rUs = bin.readUshort, rUi = bin.readUint; - var out = { tabs: {}, frames: [] }; - var dd = new Uint8Array(data.length), doff = 0; - var fd, foff = 0; - var mgck = [137, 80, 78, 71, 13, 10, 26, 10]; - for (var i = 0; i < 8; i++) if (data[i] != mgck[i]) throw "The input is not a PNG file!"; - while (offset < data.length) { - var len = bin.readUint(data, offset); - offset += 4; - var type = bin.readASCII(data, offset, 4); - offset += 4; - if (type == "IHDR") { - UPNG.decode._IHDR(data, offset, out); - } else if (type == "IDAT") { - for (var i = 0; i < len; i++) dd[doff + i] = data[offset + i]; - doff += len; - } else if (type == "acTL") { - out.tabs[type] = { num_frames: rUi(data, offset), num_plays: rUi(data, offset + 4) }; - fd = new Uint8Array(data.length); - } else if (type == "fcTL") { - if (foff != 0) { - var fr = out.frames[out.frames.length - 1]; - fr.data = UPNG.decode._decompress(out, fd.slice(0, foff), fr.rect.width, fr.rect.height); - foff = 0; - } - var rct = { x: rUi(data, offset + 12), y: rUi(data, offset + 16), width: rUi(data, offset + 4), height: rUi(data, offset + 8) }; - var del = rUs(data, offset + 22); - del = rUs(data, offset + 20) / (del == 0 ? 100 : del); - var frm = { rect: rct, delay: Math.round(del * 1e3), dispose: data[offset + 24], blend: data[offset + 25] }; - out.frames.push(frm); - } else if (type == "fdAT") { - for (var i = 0; i < len - 4; i++) fd[foff + i] = data[offset + i + 4]; - foff += len - 4; - } else if (type == "pHYs") { - out.tabs[type] = [bin.readUint(data, offset), bin.readUint(data, offset + 4), data[offset + 8]]; - } else if (type == "cHRM") { - out.tabs[type] = []; - for (var i = 0; i < 8; i++) out.tabs[type].push(bin.readUint(data, offset + i * 4)); - } else if (type == "tEXt") { - if (out.tabs[type] == null) out.tabs[type] = {}; - var nz = bin.nextZero(data, offset); - var keyw = bin.readASCII(data, offset, nz - offset); - var text = bin.readASCII(data, nz + 1, offset + len - nz - 1); - out.tabs[type][keyw] = text; - } else if (type == "iTXt") { - if (out.tabs[type] == null) out.tabs[type] = {}; - var nz = 0, off = offset; - nz = bin.nextZero(data, off); - var keyw = bin.readASCII(data, off, nz - off); - off = nz + 1; - var cflag = data[off], cmeth = data[off + 1]; - off += 2; - nz = bin.nextZero(data, off); - var ltag = bin.readASCII(data, off, nz - off); - off = nz + 1; - nz = bin.nextZero(data, off); - var tkeyw = bin.readUTF8(data, off, nz - off); - off = nz + 1; - var text = bin.readUTF8(data, off, len - (off - offset)); - out.tabs[type][keyw] = text; - } else if (type == "PLTE") { - out.tabs[type] = bin.readBytes(data, offset, len); - } else if (type == "hIST") { - var pl = out.tabs["PLTE"].length / 3; - out.tabs[type] = []; - for (var i = 0; i < pl; i++) out.tabs[type].push(rUs(data, offset + i * 2)); - } else if (type == "tRNS") { - if (out.ctype == 3) out.tabs[type] = bin.readBytes(data, offset, len); - else if (out.ctype == 0) out.tabs[type] = rUs(data, offset); - else if (out.ctype == 2) out.tabs[type] = [rUs(data, offset), rUs(data, offset + 2), rUs(data, offset + 4)]; - } else if (type == "gAMA") out.tabs[type] = bin.readUint(data, offset) / 1e5; - else if (type == "sRGB") out.tabs[type] = data[offset]; - else if (type == "bKGD") { - if (out.ctype == 0 || out.ctype == 4) out.tabs[type] = [rUs(data, offset)]; - else if (out.ctype == 2 || out.ctype == 6) out.tabs[type] = [rUs(data, offset), rUs(data, offset + 2), rUs(data, offset + 4)]; - else if (out.ctype == 3) out.tabs[type] = data[offset]; - } else if (type == "IEND") { - break; - } - offset += len; - var crc = bin.readUint(data, offset); - offset += 4; - } - if (foff != 0) { - var fr = out.frames[out.frames.length - 1]; - fr.data = UPNG.decode._decompress(out, fd.slice(0, foff), fr.rect.width, fr.rect.height); - foff = 0; - } - out.data = UPNG.decode._decompress(out, dd, out.width, out.height); - delete out.compress; - delete out.interlace; - delete out.filter; - return out; -}; -UPNG.decode._decompress = function(out, dd, w, h) { - var time = Date.now(); - var bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w * bpp / 8), buff = new Uint8Array((bpl + 1 + out.interlace) * h); - dd = UPNG.decode._inflate(dd, buff); - var time = Date.now(); - if (out.interlace == 0) dd = UPNG.decode._filterZero(dd, out, 0, w, h); - else if (out.interlace == 1) dd = UPNG.decode._readInterlace(dd, out); - return dd; -}; -UPNG.decode._inflate = function(data, buff) { - var out = UPNG["inflateRaw"](new Uint8Array(data.buffer, 2, data.length - 6), buff); - return out; -}; -UPNG.inflateRaw = function() { - var H = {}; - H.H = {}; - H.H.N = function(N, W) { - var R = Uint8Array, i = 0, m = 0, J = 0, h = 0, Q = 0, X = 0, u = 0, w = 0, d = 0, v, C; - if (N[0] == 3 && N[1] == 0) return W ? W : new R(0); - var V = H.H, n = V.b, A = V.e, l = V.R, M = V.n, I = V.A, e = V.Z, b = V.m, Z = W == null; - if (Z) W = new R(N.length >>> 2 << 3); - while (i == 0) { - i = n(N, d, 1); - m = n(N, d + 1, 2); - d += 3; - if (m == 0) { - if ((d & 7) != 0) d += 8 - (d & 7); - var D = (d >>> 3) + 4, q = N[D - 4] | N[D - 3] << 8; - if (Z) W = H.H.W(W, w + q); - W.set(new R(N.buffer, N.byteOffset + D, q), w); - d = D + q << 3; - w += q; - continue; - } - if (Z) W = H.H.W(W, w + (1 << 17)); - if (m == 1) { - v = b.J; - C = b.h; - X = (1 << 9) - 1; - u = (1 << 5) - 1; - } - if (m == 2) { - J = A(N, d, 5) + 257; - h = A(N, d + 5, 5) + 1; - Q = A(N, d + 10, 4) + 4; - d += 14; - var E = d, j = 1; - for (var c = 0; c < 38; c += 2) { - b.Q[c] = 0; - b.Q[c + 1] = 0; - } - for (var c = 0; c < Q; c++) { - var K = A(N, d + c * 3, 3); - b.Q[(b.X[c] << 1) + 1] = K; - if (K > j) j = K; - } - d += 3 * Q; - M(b.Q, j); - I(b.Q, j, b.u); - v = b.w; - C = b.d; - d = l(b.u, (1 << j) - 1, J + h, N, d, b.v); - var r = V.V(b.v, 0, J, b.C); - X = (1 << r) - 1; - var S = V.V(b.v, J, h, b.D); - u = (1 << S) - 1; - M(b.C, r); - I(b.C, r, v); - M(b.D, S); - I(b.D, S, C); - } - while (true) { - var T = v[e(N, d) & X]; - d += T & 15; - var p = T >>> 4; - if (p >>> 8 == 0) { - W[w++] = p; - } else if (p == 256) { - break; - } else { - var z = w + p - 254; - if (p > 264) { - var _ = b.q[p - 257]; - z = w + (_ >>> 3) + A(N, d, _ & 7); - d += _ & 7; - } - var $ = C[e(N, d) & u]; - d += $ & 15; - var s = $ >>> 4, Y = b.c[s], a = (Y >>> 4) + n(N, d, Y & 15); - d += Y & 15; - while (w < z) { - W[w] = W[w++ - a]; - W[w] = W[w++ - a]; - W[w] = W[w++ - a]; - W[w] = W[w++ - a]; - } - w = z; - } - } - } - return W.length == w ? W : W.slice(0, w); - }; - H.H.W = function(N, W) { - var R = N.length; - if (W <= R) return N; - var V = new Uint8Array(R << 1); - V.set(N, 0); - return V; - }; - H.H.R = function(N, W, R, V, n, A) { - var l = H.H.e, M = H.H.Z, I = 0; - while (I < R) { - var e = N[M(V, n) & W]; - n += e & 15; - var b = e >>> 4; - if (b <= 15) { - A[I] = b; - I++; - } else { - var Z = 0, m = 0; - if (b == 16) { - m = 3 + l(V, n, 2); - n += 2; - Z = A[I - 1]; - } else if (b == 17) { - m = 3 + l(V, n, 3); - n += 3; - } else if (b == 18) { - m = 11 + l(V, n, 7); - n += 7; - } - var J = I + m; - while (I < J) { - A[I] = Z; - I++; - } - } - } - return n; - }; - H.H.V = function(N, W, R, V) { - var n = 0, A = 0, l = V.length >>> 1; - while (A < R) { - var M = N[A + W]; - V[A << 1] = 0; - V[(A << 1) + 1] = M; - if (M > n) n = M; - A++; - } - while (A < l) { - V[A << 1] = 0; - V[(A << 1) + 1] = 0; - A++; - } - return n; - }; - H.H.n = function(N, W) { - var R = H.H.m, V = N.length, n, A, l, M, I, e = R.j; - for (var M = 0; M <= W; M++) e[M] = 0; - for (M = 1; M < V; M += 2) e[N[M]]++; - var b = R.K; - n = 0; - e[0] = 0; - for (A = 1; A <= W; A++) { - n = n + e[A - 1] << 1; - b[A] = n; - } - for (l = 0; l < V; l += 2) { - I = N[l + 1]; - if (I != 0) { - N[l] = b[I]; - b[I]++; - } - } - }; - H.H.A = function(N, W, R) { - var V = N.length, n = H.H.m, A = n.r; - for (var l = 0; l < V; l += 2) if (N[l + 1] != 0) { - var M = l >> 1, I = N[l + 1], e = M << 4 | I, b = W - I, Z = N[l] << b, m = Z + (1 << b); - while (Z != m) { - var J = A[Z] >>> 15 - W; - R[J] = e; - Z++; - } - } - }; - H.H.l = function(N, W) { - var R = H.H.m.r, V = 15 - W; - for (var n = 0; n < N.length; n += 2) { - var A = N[n] << W - N[n + 1]; - N[n] = R[A] >>> V; - } - }; - H.H.M = function(N, W, R) { - R = R << (W & 7); - var V = W >>> 3; - N[V] |= R; - N[V + 1] |= R >>> 8; - }; - H.H.I = function(N, W, R) { - R = R << (W & 7); - var V = W >>> 3; - N[V] |= R; - N[V + 1] |= R >>> 8; - N[V + 2] |= R >>> 16; - }; - H.H.e = function(N, W, R) { - return (N[W >>> 3] | N[(W >>> 3) + 1] << 8) >>> (W & 7) & (1 << R) - 1; - }; - H.H.b = function(N, W, R) { - return (N[W >>> 3] | N[(W >>> 3) + 1] << 8 | N[(W >>> 3) + 2] << 16) >>> (W & 7) & (1 << R) - 1; - }; - H.H.Z = function(N, W) { - return (N[W >>> 3] | N[(W >>> 3) + 1] << 8 | N[(W >>> 3) + 2] << 16) >>> (W & 7); - }; - H.H.i = function(N, W) { - return (N[W >>> 3] | N[(W >>> 3) + 1] << 8 | N[(W >>> 3) + 2] << 16 | N[(W >>> 3) + 3] << 24) >>> (W & 7); - }; - H.H.m = function() { - var N = Uint16Array, W = Uint32Array; - return { K: new N(16), j: new N(16), X: [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], S: [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 999, 999, 999], T: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0, 0], q: new N(32), p: [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 65535, 65535], z: [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0], c: new W(32), J: new N(512), _: [], h: new N(32), $: [], w: new N(32768), C: [], v: [], d: new N(32768), D: [], u: new N(512), Q: [], r: new N(1 << 15), s: new W(286), Y: new W(30), a: new W(19), t: new W(15e3), k: new N(1 << 16), g: new N(1 << 15) }; - }(); - (function() { - var N = H.H.m, W = 1 << 15; - for (var R = 0; R < W; R++) { - var V = R; - V = (V & 2863311530) >>> 1 | (V & 1431655765) << 1; - V = (V & 3435973836) >>> 2 | (V & 858993459) << 2; - V = (V & 4042322160) >>> 4 | (V & 252645135) << 4; - V = (V & 4278255360) >>> 8 | (V & 16711935) << 8; - N.r[R] = (V >>> 16 | V << 16) >>> 17; - } - function n(A, l, M) { - while (l-- != 0) A.push(0, M); - } - for (var R = 0; R < 32; R++) { - N.q[R] = N.S[R] << 3 | N.T[R]; - N.c[R] = N.p[R] << 4 | N.z[R]; - } - n(N._, 144, 8); - n(N._, 255 - 143, 9); - n(N._, 279 - 255, 7); - n(N._, 287 - 279, 8); - H.H.n(N._, 9); - H.H.A(N._, 9, N.J); - H.H.l(N._, 9); - n(N.$, 32, 5); - H.H.n(N.$, 5); - H.H.A(N.$, 5, N.h); - H.H.l(N.$, 5); - n(N.Q, 19, 0); - n(N.C, 286, 0); - n(N.D, 30, 0); - n(N.v, 320, 0); - })(); - return H.H.N; -}(); -UPNG.decode._readInterlace = function(data, out) { - var w = out.width, h = out.height; - var bpp = UPNG.decode._getBPP(out), cbpp = bpp >> 3, bpl = Math.ceil(w * bpp / 8); - var img = new Uint8Array(h * bpl); - var di = 0; - var starting_row = [0, 0, 4, 0, 2, 0, 1]; - var starting_col = [0, 4, 0, 2, 0, 1, 0]; - var row_increment = [8, 8, 8, 4, 4, 2, 2]; - var col_increment = [8, 8, 4, 4, 2, 2, 1]; - var pass = 0; - while (pass < 7) { - var ri = row_increment[pass], ci = col_increment[pass]; - var sw = 0, sh = 0; - var cr = starting_row[pass]; - while (cr < h) { - cr += ri; - sh++; - } - var cc = starting_col[pass]; - while (cc < w) { - cc += ci; - sw++; - } - var bpll = Math.ceil(sw * bpp / 8); - UPNG.decode._filterZero(data, out, di, sw, sh); - var y = 0, row = starting_row[pass]; - while (row < h) { - var col = starting_col[pass]; - var cdi = di + y * bpll << 3; - while (col < w) { - if (bpp == 1) { - var val = data[cdi >> 3]; - val = val >> 7 - (cdi & 7) & 1; - img[row * bpl + (col >> 3)] |= val << 7 - ((col & 7) << 0); - } - if (bpp == 2) { - var val = data[cdi >> 3]; - val = val >> 6 - (cdi & 7) & 3; - img[row * bpl + (col >> 2)] |= val << 6 - ((col & 3) << 1); - } - if (bpp == 4) { - var val = data[cdi >> 3]; - val = val >> 4 - (cdi & 7) & 15; - img[row * bpl + (col >> 1)] |= val << 4 - ((col & 1) << 2); - } - if (bpp >= 8) { - var ii = row * bpl + col * cbpp; - for (var j = 0; j < cbpp; j++) img[ii + j] = data[(cdi >> 3) + j]; - } - cdi += bpp; - col += ci; - } - y++; - row += ri; - } - if (sw * sh != 0) di += sh * (1 + bpll); - pass = pass + 1; - } - return img; -}; -UPNG.decode._getBPP = function(out) { - var noc = [1, null, 3, 1, 2, null, 4][out.ctype]; - return noc * out.depth; -}; -UPNG.decode._filterZero = function(data, out, off, w, h) { - var bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w * bpp / 8), paeth = UPNG.decode._paeth; - bpp = Math.ceil(bpp / 8); - var i = 0, di = 1, type = data[off], x = 0; - if (type > 1) data[off] = [0, 0, 1][type - 2]; - if (type == 3) for (x = bpp; x < bpl; x++) data[x + 1] = data[x + 1] + (data[x + 1 - bpp] >>> 1) & 255; - for (var y = 0; y < h; y++) { - i = off + y * bpl; - di = i + y + 1; - type = data[di - 1]; - x = 0; - if (type == 0) for (; x < bpl; x++) data[i + x] = data[di + x]; - else if (type == 1) { - for (; x < bpp; x++) data[i + x] = data[di + x]; - for (; x < bpl; x++) data[i + x] = data[di + x] + data[i + x - bpp]; - } else if (type == 2) { - for (; x < bpl; x++) data[i + x] = data[di + x] + data[i + x - bpl]; - } else if (type == 3) { - for (; x < bpp; x++) data[i + x] = data[di + x] + (data[i + x - bpl] >>> 1); - for (; x < bpl; x++) data[i + x] = data[di + x] + (data[i + x - bpl] + data[i + x - bpp] >>> 1); - } else { - for (; x < bpp; x++) data[i + x] = data[di + x] + paeth(0, data[i + x - bpl], 0); - for (; x < bpl; x++) data[i + x] = data[di + x] + paeth(data[i + x - bpp], data[i + x - bpl], data[i + x - bpp - bpl]); - } - } - return data; -}; -UPNG.decode._paeth = function(a, b, c) { - var p = a + b - c, pa = p - a, pb = p - b, pc = p - c; - if (pa * pa <= pb * pb && pa * pa <= pc * pc) return a; - else if (pb * pb <= pc * pc) return b; - return c; -}; -UPNG.decode._IHDR = function(data, offset, out) { - var bin = UPNG._bin; - out.width = bin.readUint(data, offset); - offset += 4; - out.height = bin.readUint(data, offset); - offset += 4; - out.depth = data[offset]; - offset++; - out.ctype = data[offset]; - offset++; - out.compress = data[offset]; - offset++; - out.filter = data[offset]; - offset++; - out.interlace = data[offset]; - offset++; -}; -UPNG._bin = { - nextZero: function(data, p) { - while (data[p] != 0) p++; - return p; - }, - readUshort: function(buff, p) { - return buff[p] << 8 | buff[p + 1]; - }, - writeUshort: function(buff, p, n) { - buff[p] = n >> 8 & 255; - buff[p + 1] = n & 255; - }, - readUint: function(buff, p) { - return buff[p] * (256 * 256 * 256) + (buff[p + 1] << 16 | buff[p + 2] << 8 | buff[p + 3]); - }, - writeUint: function(buff, p, n) { - buff[p] = n >> 24 & 255; - buff[p + 1] = n >> 16 & 255; - buff[p + 2] = n >> 8 & 255; - buff[p + 3] = n & 255; - }, - readASCII: function(buff, p, l) { - var s = ""; - for (var i = 0; i < l; i++) s += String.fromCharCode(buff[p + i]); - return s; - }, - writeASCII: function(data, p, s) { - for (var i = 0; i < s.length; i++) data[p + i] = s.charCodeAt(i); - }, - readBytes: function(buff, p, l) { - var arr = []; - for (var i = 0; i < l; i++) arr.push(buff[p + i]); - return arr; - }, - pad: function(n) { - return n.length < 2 ? "0" + n : n; - }, - readUTF8: function(buff, p, l) { - var s = "", ns; - for (var i = 0; i < l; i++) s += "%" + UPNG._bin.pad(buff[p + i].toString(16)); - try { - ns = decodeURIComponent(s); - } catch (e) { - return UPNG._bin.readASCII(buff, p, l); - } - return ns; - } -}; -UPNG._copyTile = function(sb, sw, sh, tb, tw, th, xoff, yoff, mode) { - var w = Math.min(sw, tw), h = Math.min(sh, th); - var si = 0, ti = 0; - for (var y = 0; y < h; y++) - for (var x = 0; x < w; x++) { - if (xoff >= 0 && yoff >= 0) { - si = y * sw + x << 2; - ti = (yoff + y) * tw + xoff + x << 2; - } else { - si = (-yoff + y) * sw - xoff + x << 2; - ti = y * tw + x << 2; - } - if (mode == 0) { - tb[ti] = sb[si]; - tb[ti + 1] = sb[si + 1]; - tb[ti + 2] = sb[si + 2]; - tb[ti + 3] = sb[si + 3]; - } else if (mode == 1) { - var fa = sb[si + 3] * (1 / 255), fr = sb[si] * fa, fg = sb[si + 1] * fa, fb = sb[si + 2] * fa; - var ba = tb[ti + 3] * (1 / 255), br = tb[ti] * ba, bg = tb[ti + 1] * ba, bb = tb[ti + 2] * ba; - var ifa = 1 - fa, oa = fa + ba * ifa, ioa = oa == 0 ? 0 : 1 / oa; - tb[ti + 3] = 255 * oa; - tb[ti + 0] = (fr + br * ifa) * ioa; - tb[ti + 1] = (fg + bg * ifa) * ioa; - tb[ti + 2] = (fb + bb * ifa) * ioa; - } else if (mode == 2) { - var fa = sb[si + 3], fr = sb[si], fg = sb[si + 1], fb = sb[si + 2]; - var ba = tb[ti + 3], br = tb[ti], bg = tb[ti + 1], bb = tb[ti + 2]; - if (fa == ba && fr == br && fg == bg && fb == bb) { - tb[ti] = 0; - tb[ti + 1] = 0; - tb[ti + 2] = 0; - tb[ti + 3] = 0; - } else { - tb[ti] = fr; - tb[ti + 1] = fg; - tb[ti + 2] = fb; - tb[ti + 3] = fa; - } - } else if (mode == 3) { - var fa = sb[si + 3], fr = sb[si], fg = sb[si + 1], fb = sb[si + 2]; - var ba = tb[ti + 3], br = tb[ti], bg = tb[ti + 1], bb = tb[ti + 2]; - if (fa == ba && fr == br && fg == bg && fb == bb) continue; - if (fa < 220 && ba > 20) return false; - } - } - return true; -}; -UPNG.encode = function(bufs, w, h, ps, dels, tabs, forbidPlte) { - if (ps == null) ps = 0; - if (forbidPlte == null) forbidPlte = false; - var nimg = UPNG.encode.compress(bufs, w, h, ps, [false, false, false, 0, forbidPlte]); - UPNG.encode.compressPNG(nimg, -1); - return UPNG.encode._main(nimg, w, h, dels, tabs); -}; -UPNG.encodeLL = function(bufs, w, h, cc, ac, depth, dels, tabs) { - var nimg = { ctype: 0 + (cc == 1 ? 0 : 2) + (ac == 0 ? 0 : 4), depth, frames: [] }; - var time = Date.now(); - var bipp = (cc + ac) * depth, bipl = bipp * w; - for (var i = 0; i < bufs.length; i++) - nimg.frames.push({ rect: { x: 0, y: 0, width: w, height: h }, img: new Uint8Array(bufs[i]), blend: 0, dispose: 1, bpp: Math.ceil(bipp / 8), bpl: Math.ceil(bipl / 8) }); - UPNG.encode.compressPNG(nimg, 0, true); - var out = UPNG.encode._main(nimg, w, h, dels, tabs); - return out; -}; -UPNG.encode._main = function(nimg, w, h, dels, tabs) { - if (tabs == null) tabs = {}; - var crc = UPNG.crc.crc, wUi = UPNG._bin.writeUint, wUs = UPNG._bin.writeUshort, wAs = UPNG._bin.writeASCII; - var offset = 8, anim = nimg.frames.length > 1, pltAlpha = false; - var leng = 8 + (16 + 5 + 4) + (anim ? 20 : 0); - if (tabs["sRGB"] != null) leng += 8 + 1 + 4; - if (tabs["pHYs"] != null) leng += 8 + 9 + 4; - if (nimg.ctype == 3) { - var dl = nimg.plte.length; - for (var i = 0; i < dl; i++) if (nimg.plte[i] >>> 24 != 255) pltAlpha = true; - leng += 8 + dl * 3 + 4 + (pltAlpha ? 8 + dl * 1 + 4 : 0); - } - for (var j = 0; j < nimg.frames.length; j++) { - var fr = nimg.frames[j]; - if (anim) leng += 38; - leng += fr.cimg.length + 12; - if (j != 0) leng += 4; - } - leng += 12; - var data = new Uint8Array(leng); - var wr = [137, 80, 78, 71, 13, 10, 26, 10]; - for (var i = 0; i < 8; i++) data[i] = wr[i]; - wUi(data, offset, 13); - offset += 4; - wAs(data, offset, "IHDR"); - offset += 4; - wUi(data, offset, w); - offset += 4; - wUi(data, offset, h); - offset += 4; - data[offset] = nimg.depth; - offset++; - data[offset] = nimg.ctype; - offset++; - data[offset] = 0; - offset++; - data[offset] = 0; - offset++; - data[offset] = 0; - offset++; - wUi(data, offset, crc(data, offset - 17, 17)); - offset += 4; - if (tabs["sRGB"] != null) { - wUi(data, offset, 1); - offset += 4; - wAs(data, offset, "sRGB"); - offset += 4; - data[offset] = tabs["sRGB"]; - offset++; - wUi(data, offset, crc(data, offset - 5, 5)); - offset += 4; - } - if (tabs["pHYs"] != null) { - wUi(data, offset, 9); - offset += 4; - wAs(data, offset, "pHYs"); - offset += 4; - wUi(data, offset, tabs["pHYs"][0]); - offset += 4; - wUi(data, offset, tabs["pHYs"][1]); - offset += 4; - data[offset] = tabs["pHYs"][2]; - offset++; - wUi(data, offset, crc(data, offset - 13, 13)); - offset += 4; - } - if (anim) { - wUi(data, offset, 8); - offset += 4; - wAs(data, offset, "acTL"); - offset += 4; - wUi(data, offset, nimg.frames.length); - offset += 4; - wUi(data, offset, tabs["loop"] != null ? tabs["loop"] : 0); - offset += 4; - wUi(data, offset, crc(data, offset - 12, 12)); - offset += 4; - } - if (nimg.ctype == 3) { - var dl = nimg.plte.length; - wUi(data, offset, dl * 3); - offset += 4; - wAs(data, offset, "PLTE"); - offset += 4; - for (var i = 0; i < dl; i++) { - var ti = i * 3, c = nimg.plte[i], r = c & 255, g = c >>> 8 & 255, b = c >>> 16 & 255; - data[offset + ti + 0] = r; - data[offset + ti + 1] = g; - data[offset + ti + 2] = b; - } - offset += dl * 3; - wUi(data, offset, crc(data, offset - dl * 3 - 4, dl * 3 + 4)); - offset += 4; - if (pltAlpha) { - wUi(data, offset, dl); - offset += 4; - wAs(data, offset, "tRNS"); - offset += 4; - for (var i = 0; i < dl; i++) data[offset + i] = nimg.plte[i] >>> 24 & 255; - offset += dl; - wUi(data, offset, crc(data, offset - dl - 4, dl + 4)); - offset += 4; - } - } - var fi = 0; - for (var j = 0; j < nimg.frames.length; j++) { - var fr = nimg.frames[j]; - if (anim) { - wUi(data, offset, 26); - offset += 4; - wAs(data, offset, "fcTL"); - offset += 4; - wUi(data, offset, fi++); - offset += 4; - wUi(data, offset, fr.rect.width); - offset += 4; - wUi(data, offset, fr.rect.height); - offset += 4; - wUi(data, offset, fr.rect.x); - offset += 4; - wUi(data, offset, fr.rect.y); - offset += 4; - wUs(data, offset, dels[j]); - offset += 2; - wUs(data, offset, 1e3); - offset += 2; - data[offset] = fr.dispose; - offset++; - data[offset] = fr.blend; - offset++; - wUi(data, offset, crc(data, offset - 30, 30)); - offset += 4; - } - var imgd = fr.cimg, dl = imgd.length; - wUi(data, offset, dl + (j == 0 ? 0 : 4)); - offset += 4; - var ioff = offset; - wAs(data, offset, j == 0 ? "IDAT" : "fdAT"); - offset += 4; - if (j != 0) { - wUi(data, offset, fi++); - offset += 4; - } - data.set(imgd, offset); - offset += dl; - wUi(data, offset, crc(data, ioff, offset - ioff)); - offset += 4; - } - wUi(data, offset, 0); - offset += 4; - wAs(data, offset, "IEND"); - offset += 4; - wUi(data, offset, crc(data, offset - 4, 4)); - offset += 4; - return data.buffer; -}; -UPNG.encode.compressPNG = function(out, filter, levelZero) { - for (var i = 0; i < out.frames.length; i++) { - var frm = out.frames[i], nw = frm.rect.width, nh = frm.rect.height; - var fdata = new Uint8Array(nh * frm.bpl + nh); - frm.cimg = UPNG.encode._filterZero(frm.img, nh, frm.bpp, frm.bpl, fdata, filter, levelZero); - } -}; -UPNG.encode.compress = function(bufs, w, h, ps, prms) { - var onlyBlend = prms[0], evenCrd = prms[1], forbidPrev = prms[2], minBits = prms[3], forbidPlte = prms[4]; - var ctype = 6, depth = 8, alphaAnd = 255; - for (var j = 0; j < bufs.length; j++) { - var img = new Uint8Array(bufs[j]), ilen = img.length; - for (var i = 0; i < ilen; i += 4) alphaAnd &= img[i + 3]; - } - var gotAlpha = alphaAnd != 255; - var frms = UPNG.encode.framize(bufs, w, h, onlyBlend, evenCrd, forbidPrev); - var cmap = {}, plte = [], inds = []; - if (ps != 0) { - var nbufs = []; - for (var i = 0; i < frms.length; i++) nbufs.push(frms[i].img.buffer); - var abuf = UPNG.encode.concatRGBA(nbufs), qres = UPNG.quantize(abuf, ps); - var cof = 0, bb = new Uint8Array(qres.abuf); - for (var i = 0; i < frms.length; i++) { - var ti = frms[i].img, bln = ti.length; - inds.push(new Uint8Array(qres.inds.buffer, cof >> 2, bln >> 2)); - for (var j = 0; j < bln; j += 4) { - ti[j] = bb[cof + j]; - ti[j + 1] = bb[cof + j + 1]; - ti[j + 2] = bb[cof + j + 2]; - ti[j + 3] = bb[cof + j + 3]; - } - cof += bln; - } - for (var i = 0; i < qres.plte.length; i++) plte.push(qres.plte[i].est.rgba); - } else { - for (var j = 0; j < frms.length; j++) { - var frm = frms[j], img32 = new Uint32Array(frm.img.buffer), nw = frm.rect.width, ilen = img32.length; - var ind = new Uint8Array(ilen); - inds.push(ind); - for (var i = 0; i < ilen; i++) { - var c = img32[i]; - if (i != 0 && c == img32[i - 1]) ind[i] = ind[i - 1]; - else if (i > nw && c == img32[i - nw]) ind[i] = ind[i - nw]; - else { - var cmc = cmap[c]; - if (cmc == null) { - cmap[c] = cmc = plte.length; - plte.push(c); - if (plte.length >= 300) break; - } - ind[i] = cmc; - } - } - } - } - var cc = plte.length; - if (cc <= 256 && forbidPlte == false) { - if (cc <= 2) depth = 1; - else if (cc <= 4) depth = 2; - else if (cc <= 16) depth = 4; - else depth = 8; - depth = Math.max(depth, minBits); - } - for (var j = 0; j < frms.length; j++) { - var frm = frms[j], nx = frm.rect.x, ny = frm.rect.y, nw = frm.rect.width, nh = frm.rect.height; - var cimg = frm.img, cimg32 = new Uint32Array(cimg.buffer); - var bpl = 4 * nw, bpp = 4; - if (cc <= 256 && forbidPlte == false) { - bpl = Math.ceil(depth * nw / 8); - var nimg = new Uint8Array(bpl * nh); - var inj = inds[j]; - for (var y = 0; y < nh; y++) { - var i = y * bpl, ii = y * nw; - if (depth == 8) for (var x = 0; x < nw; x++) nimg[i + x] = inj[ii + x]; - else if (depth == 4) for (var x = 0; x < nw; x++) nimg[i + (x >> 1)] |= inj[ii + x] << 4 - (x & 1) * 4; - else if (depth == 2) for (var x = 0; x < nw; x++) nimg[i + (x >> 2)] |= inj[ii + x] << 6 - (x & 3) * 2; - else if (depth == 1) for (var x = 0; x < nw; x++) nimg[i + (x >> 3)] |= inj[ii + x] << 7 - (x & 7) * 1; - } - cimg = nimg; - ctype = 3; - bpp = 1; - } else if (gotAlpha == false && frms.length == 1) { - var nimg = new Uint8Array(nw * nh * 3), area = nw * nh; - for (var i = 0; i < area; i++) { - var ti = i * 3, qi = i * 4; - nimg[ti] = cimg[qi]; - nimg[ti + 1] = cimg[qi + 1]; - nimg[ti + 2] = cimg[qi + 2]; - } - cimg = nimg; - ctype = 2; - bpp = 3; - bpl = 3 * nw; - } - frm.img = cimg; - frm.bpl = bpl; - frm.bpp = bpp; - } - return { ctype, depth, plte, frames: frms }; -}; -UPNG.encode.framize = function(bufs, w, h, alwaysBlend, evenCrd, forbidPrev) { - var frms = []; - for (var j = 0; j < bufs.length; j++) { - var cimg = new Uint8Array(bufs[j]), cimg32 = new Uint32Array(cimg.buffer); - var nimg; - var nx = 0, ny = 0, nw = w, nh = h, blend = alwaysBlend ? 1 : 0; - if (j != 0) { - var tlim = forbidPrev || alwaysBlend || j == 1 || frms[j - 2].dispose != 0 ? 1 : 2, tstp = 0, tarea = 1e9; - for (var it = 0; it < tlim; it++) { - var pimg = new Uint8Array(bufs[j - 1 - it]), p32 = new Uint32Array(bufs[j - 1 - it]); - var mix = w, miy = h, max = -1, may = -1; - for (var y = 0; y < h; y++) for (var x = 0; x < w; x++) { - var i = y * w + x; - if (cimg32[i] != p32[i]) { - if (x < mix) mix = x; - if (x > max) max = x; - if (y < miy) miy = y; - if (y > may) may = y; - } - } - if (max == -1) mix = miy = max = may = 0; - if (evenCrd) { - if ((mix & 1) == 1) mix--; - if ((miy & 1) == 1) miy--; - } - var sarea = (max - mix + 1) * (may - miy + 1); - if (sarea < tarea) { - tarea = sarea; - tstp = it; - nx = mix; - ny = miy; - nw = max - mix + 1; - nh = may - miy + 1; - } - } - var pimg = new Uint8Array(bufs[j - 1 - tstp]); - if (tstp == 1) frms[j - 1].dispose = 2; - nimg = new Uint8Array(nw * nh * 4); - UPNG._copyTile(pimg, w, h, nimg, nw, nh, -nx, -ny, 0); - blend = UPNG._copyTile(cimg, w, h, nimg, nw, nh, -nx, -ny, 3) ? 1 : 0; - if (blend == 1) UPNG.encode._prepareDiff(cimg, w, h, nimg, { x: nx, y: ny, width: nw, height: nh }); - else UPNG._copyTile(cimg, w, h, nimg, nw, nh, -nx, -ny, 0); - } else nimg = cimg.slice(0); - frms.push({ rect: { x: nx, y: ny, width: nw, height: nh }, img: nimg, blend, dispose: 0 }); - } - if (alwaysBlend) for (var j = 0; j < frms.length; j++) { - var frm = frms[j]; - if (frm.blend == 1) continue; - var r0 = frm.rect, r1 = frms[j - 1].rect; - var miX = Math.min(r0.x, r1.x), miY = Math.min(r0.y, r1.y); - var maX = Math.max(r0.x + r0.width, r1.x + r1.width), maY = Math.max(r0.y + r0.height, r1.y + r1.height); - var r = { x: miX, y: miY, width: maX - miX, height: maY - miY }; - frms[j - 1].dispose = 1; - if (j - 1 != 0) - UPNG.encode._updateFrame(bufs, w, h, frms, j - 1, r, evenCrd); - UPNG.encode._updateFrame(bufs, w, h, frms, j, r, evenCrd); - } - var area = 0; - if (bufs.length != 1) for (var i = 0; i < frms.length; i++) { - var frm = frms[i]; - area += frm.rect.width * frm.rect.height; - } - return frms; -}; -UPNG.encode._updateFrame = function(bufs, w, h, frms, i, r, evenCrd) { - var U8 = Uint8Array, U32 = Uint32Array; - var pimg = new U8(bufs[i - 1]), pimg32 = new U32(bufs[i - 1]), nimg = i + 1 < bufs.length ? new U8(bufs[i + 1]) : null; - var cimg = new U8(bufs[i]), cimg32 = new U32(cimg.buffer); - var mix = w, miy = h, max = -1, may = -1; - for (var y = 0; y < r.height; y++) for (var x = 0; x < r.width; x++) { - var cx2 = r.x + x, cy2 = r.y + y; - var j = cy2 * w + cx2, cc = cimg32[j]; - if (cc == 0 || frms[i - 1].dispose == 0 && pimg32[j] == cc && (nimg == null || nimg[j * 4 + 3] != 0)) { - } else { - if (cx2 < mix) mix = cx2; - if (cx2 > max) max = cx2; - if (cy2 < miy) miy = cy2; - if (cy2 > may) may = cy2; - } - } - if (max == -1) mix = miy = max = may = 0; - if (evenCrd) { - if ((mix & 1) == 1) mix--; - if ((miy & 1) == 1) miy--; - } - r = { x: mix, y: miy, width: max - mix + 1, height: may - miy + 1 }; - var fr = frms[i]; - fr.rect = r; - fr.blend = 1; - fr.img = new Uint8Array(r.width * r.height * 4); - if (frms[i - 1].dispose == 0) { - UPNG._copyTile(pimg, w, h, fr.img, r.width, r.height, -r.x, -r.y, 0); - UPNG.encode._prepareDiff(cimg, w, h, fr.img, r); - } else - UPNG._copyTile(cimg, w, h, fr.img, r.width, r.height, -r.x, -r.y, 0); -}; -UPNG.encode._prepareDiff = function(cimg, w, h, nimg, rec) { - UPNG._copyTile(cimg, w, h, nimg, rec.width, rec.height, -rec.x, -rec.y, 2); -}; -UPNG.encode._filterZero = function(img, h, bpp, bpl, data, filter, levelZero) { - var fls = [], ftry = [0, 1, 2, 3, 4]; - if (filter != -1) ftry = [filter]; - else if (h * bpl > 5e5 || bpp == 1) ftry = [0]; - var opts; - if (levelZero) opts = { level: 0 }; - var CMPR = levelZero && UZIP != null ? UZIP : import_pako4.default; - for (var i = 0; i < ftry.length; i++) { - for (var y = 0; y < h; y++) UPNG.encode._filterLine(data, img, y, bpl, bpp, ftry[i]); - fls.push(CMPR["deflate"](data, opts)); - } - var ti, tsize = 1e9; - for (var i = 0; i < fls.length; i++) if (fls[i].length < tsize) { - ti = i; - tsize = fls[i].length; - } - return fls[ti]; -}; -UPNG.encode._filterLine = function(data, img, y, bpl, bpp, type) { - var i = y * bpl, di = i + y, paeth = UPNG.decode._paeth; - data[di] = type; - di++; - if (type == 0) { - if (bpl < 500) for (var x = 0; x < bpl; x++) data[di + x] = img[i + x]; - else data.set(new Uint8Array(img.buffer, i, bpl), di); - } else if (type == 1) { - for (var x = 0; x < bpp; x++) data[di + x] = img[i + x]; - for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x] - img[i + x - bpp] + 256 & 255; - } else if (y == 0) { - for (var x = 0; x < bpp; x++) data[di + x] = img[i + x]; - if (type == 2) for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x]; - if (type == 3) for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x] - (img[i + x - bpp] >> 1) + 256 & 255; - if (type == 4) for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x] - paeth(img[i + x - bpp], 0, 0) + 256 & 255; - } else { - if (type == 2) { - for (var x = 0; x < bpl; x++) data[di + x] = img[i + x] + 256 - img[i + x - bpl] & 255; - } - if (type == 3) { - for (var x = 0; x < bpp; x++) data[di + x] = img[i + x] + 256 - (img[i + x - bpl] >> 1) & 255; - for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x] + 256 - (img[i + x - bpl] + img[i + x - bpp] >> 1) & 255; - } - if (type == 4) { - for (var x = 0; x < bpp; x++) data[di + x] = img[i + x] + 256 - paeth(0, img[i + x - bpl], 0) & 255; - for (var x = bpp; x < bpl; x++) data[di + x] = img[i + x] + 256 - paeth(img[i + x - bpp], img[i + x - bpl], img[i + x - bpp - bpl]) & 255; - } - } -}; -UPNG.crc = { - table: function() { - var tab = new Uint32Array(256); - for (var n = 0; n < 256; n++) { - var c = n; - for (var k = 0; k < 8; k++) { - if (c & 1) c = 3988292384 ^ c >>> 1; - else c = c >>> 1; - } - tab[n] = c; - } - return tab; - }(), - update: function(c, buf, off, len) { - for (var i = 0; i < len; i++) c = UPNG.crc.table[(c ^ buf[off + i]) & 255] ^ c >>> 8; - return c; - }, - crc: function(b, o, l) { - return UPNG.crc.update(4294967295, b, o, l) ^ 4294967295; - } -}; -UPNG.quantize = function(abuf, ps) { - var oimg = new Uint8Array(abuf), nimg = oimg.slice(0), nimg32 = new Uint32Array(nimg.buffer); - var KD = UPNG.quantize.getKDtree(nimg, ps); - var root = KD[0], leafs = KD[1]; - var planeDst = UPNG.quantize.planeDst; - var sb = oimg, tb = nimg32, len = sb.length; - var inds = new Uint8Array(oimg.length >> 2); - for (var i = 0; i < len; i += 4) { - var r = sb[i] * (1 / 255), g = sb[i + 1] * (1 / 255), b = sb[i + 2] * (1 / 255), a = sb[i + 3] * (1 / 255); - var nd = UPNG.quantize.getNearest(root, r, g, b, a); - inds[i >> 2] = nd.ind; - tb[i >> 2] = nd.est.rgba; - } - return { abuf: nimg.buffer, inds, plte: leafs }; -}; -UPNG.quantize.getKDtree = function(nimg, ps, err) { - if (err == null) err = 1e-4; - var nimg32 = new Uint32Array(nimg.buffer); - var root = { i0: 0, i1: nimg.length, bst: null, est: null, tdst: 0, left: null, right: null }; - root.bst = UPNG.quantize.stats(nimg, root.i0, root.i1); - root.est = UPNG.quantize.estats(root.bst); - var leafs = [root]; - while (leafs.length < ps) { - var maxL = 0, mi = 0; - for (var i = 0; i < leafs.length; i++) if (leafs[i].est.L > maxL) { - maxL = leafs[i].est.L; - mi = i; - } - if (maxL < err) break; - var node = leafs[mi]; - var s0 = UPNG.quantize.splitPixels(nimg, nimg32, node.i0, node.i1, node.est.e, node.est.eMq255); - var s0wrong = node.i0 >= s0 || node.i1 <= s0; - if (s0wrong) { - node.est.L = 0; - continue; - } - var ln = { i0: node.i0, i1: s0, bst: null, est: null, tdst: 0, left: null, right: null }; - ln.bst = UPNG.quantize.stats(nimg, ln.i0, ln.i1); - ln.est = UPNG.quantize.estats(ln.bst); - var rn = { i0: s0, i1: node.i1, bst: null, est: null, tdst: 0, left: null, right: null }; - rn.bst = { R: [], m: [], N: node.bst.N - ln.bst.N }; - for (var i = 0; i < 16; i++) rn.bst.R[i] = node.bst.R[i] - ln.bst.R[i]; - for (var i = 0; i < 4; i++) rn.bst.m[i] = node.bst.m[i] - ln.bst.m[i]; - rn.est = UPNG.quantize.estats(rn.bst); - node.left = ln; - node.right = rn; - leafs[mi] = ln; - leafs.push(rn); - } - leafs.sort(function(a, b) { - return b.bst.N - a.bst.N; - }); - for (var i = 0; i < leafs.length; i++) leafs[i].ind = i; - return [root, leafs]; -}; -UPNG.quantize.getNearest = function(nd, r, g, b, a) { - if (nd.left == null) { - nd.tdst = UPNG.quantize.dist(nd.est.q, r, g, b, a); - return nd; - } - var planeDst = UPNG.quantize.planeDst(nd.est, r, g, b, a); - var node0 = nd.left, node1 = nd.right; - if (planeDst > 0) { - node0 = nd.right; - node1 = nd.left; - } - var ln = UPNG.quantize.getNearest(node0, r, g, b, a); - if (ln.tdst <= planeDst * planeDst) return ln; - var rn = UPNG.quantize.getNearest(node1, r, g, b, a); - return rn.tdst < ln.tdst ? rn : ln; -}; -UPNG.quantize.planeDst = function(est, r, g, b, a) { - var e = est.e; - return e[0] * r + e[1] * g + e[2] * b + e[3] * a - est.eMq; -}; -UPNG.quantize.dist = function(q, r, g, b, a) { - var d0 = r - q[0], d1 = g - q[1], d2 = b - q[2], d3 = a - q[3]; - return d0 * d0 + d1 * d1 + d2 * d2 + d3 * d3; -}; -UPNG.quantize.splitPixels = function(nimg, nimg32, i0, i1, e, eMq) { - var vecDot = UPNG.quantize.vecDot; - i1 -= 4; - var shfs = 0; - while (i0 < i1) { - while (vecDot(nimg, i0, e) <= eMq) i0 += 4; - while (vecDot(nimg, i1, e) > eMq) i1 -= 4; - if (i0 >= i1) break; - var t = nimg32[i0 >> 2]; - nimg32[i0 >> 2] = nimg32[i1 >> 2]; - nimg32[i1 >> 2] = t; - i0 += 4; - i1 -= 4; - } - while (vecDot(nimg, i0, e) > eMq) i0 -= 4; - return i0 + 4; -}; -UPNG.quantize.vecDot = function(nimg, i, e) { - return nimg[i] * e[0] + nimg[i + 1] * e[1] + nimg[i + 2] * e[2] + nimg[i + 3] * e[3]; -}; -UPNG.quantize.stats = function(nimg, i0, i1) { - var R = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; - var m = [0, 0, 0, 0]; - var N = i1 - i0 >> 2; - for (var i = i0; i < i1; i += 4) { - var r = nimg[i] * (1 / 255), g = nimg[i + 1] * (1 / 255), b = nimg[i + 2] * (1 / 255), a = nimg[i + 3] * (1 / 255); - m[0] += r; - m[1] += g; - m[2] += b; - m[3] += a; - R[0] += r * r; - R[1] += r * g; - R[2] += r * b; - R[3] += r * a; - R[5] += g * g; - R[6] += g * b; - R[7] += g * a; - R[10] += b * b; - R[11] += b * a; - R[15] += a * a; - } - R[4] = R[1]; - R[8] = R[2]; - R[9] = R[6]; - R[12] = R[3]; - R[13] = R[7]; - R[14] = R[11]; - return { R, m, N }; -}; -UPNG.quantize.estats = function(stats) { - var R = stats.R, m = stats.m, N = stats.N; - var m0 = m[0], m1 = m[1], m2 = m[2], m3 = m[3], iN = N == 0 ? 0 : 1 / N; - var Rj = [ - R[0] - m0 * m0 * iN, - R[1] - m0 * m1 * iN, - R[2] - m0 * m2 * iN, - R[3] - m0 * m3 * iN, - R[4] - m1 * m0 * iN, - R[5] - m1 * m1 * iN, - R[6] - m1 * m2 * iN, - R[7] - m1 * m3 * iN, - R[8] - m2 * m0 * iN, - R[9] - m2 * m1 * iN, - R[10] - m2 * m2 * iN, - R[11] - m2 * m3 * iN, - R[12] - m3 * m0 * iN, - R[13] - m3 * m1 * iN, - R[14] - m3 * m2 * iN, - R[15] - m3 * m3 * iN - ]; - var A = Rj, M = UPNG.M4; - var b = [0.5, 0.5, 0.5, 0.5], mi = 0, tmi = 0; - if (N != 0) - for (var i = 0; i < 10; i++) { - b = M.multVec(A, b); - tmi = Math.sqrt(M.dot(b, b)); - b = M.sml(1 / tmi, b); - if (Math.abs(tmi - mi) < 1e-9) break; - mi = tmi; - } - var q = [m0 * iN, m1 * iN, m2 * iN, m3 * iN]; - var eMq255 = M.dot(M.sml(255, q), b); - return { - Cov: Rj, - q, - e: b, - L: mi, - eMq255, - eMq: M.dot(b, q), - rgba: (Math.round(255 * q[3]) << 24 | Math.round(255 * q[2]) << 16 | Math.round(255 * q[1]) << 8 | Math.round(255 * q[0]) << 0) >>> 0 - }; -}; -UPNG.M4 = { - multVec: function(m, v) { - return [ - m[0] * v[0] + m[1] * v[1] + m[2] * v[2] + m[3] * v[3], - m[4] * v[0] + m[5] * v[1] + m[6] * v[2] + m[7] * v[3], - m[8] * v[0] + m[9] * v[1] + m[10] * v[2] + m[11] * v[3], - m[12] * v[0] + m[13] * v[1] + m[14] * v[2] + m[15] * v[3] - ]; - }, - dot: function(x, y) { - return x[0] * y[0] + x[1] * y[1] + x[2] * y[2] + x[3] * y[3]; - }, - sml: function(a, y) { - return [a * y[0], a * y[1], a * y[2], a * y[3]]; - } -}; -UPNG.encode.concatRGBA = function(bufs) { - var tlen = 0; - for (var i = 0; i < bufs.length; i++) tlen += bufs[i].byteLength; - var nimg = new Uint8Array(tlen), noff = 0; - for (var i = 0; i < bufs.length; i++) { - var img = new Uint8Array(bufs[i]), il = img.length; - for (var j = 0; j < il; j += 4) { - var r = img[j], g = img[j + 1], b = img[j + 2], a = img[j + 3]; - if (a == 0) r = g = b = 0; - nimg[noff + j] = r; - nimg[noff + j + 1] = g; - nimg[noff + j + 2] = b; - nimg[noff + j + 3] = a; - } - noff += il; - } - return nimg.buffer; -}; -var UPNG_default = UPNG; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/utils/png.js -var getImageType = function(ctype) { - if (ctype === 0) - return PngType.Greyscale; - if (ctype === 2) - return PngType.Truecolour; - if (ctype === 3) - return PngType.IndexedColour; - if (ctype === 4) - return PngType.GreyscaleWithAlpha; - if (ctype === 6) - return PngType.TruecolourWithAlpha; - throw new Error("Unknown color type: " + ctype); -}; -var splitAlphaChannel = function(rgbaChannel) { - var pixelCount = Math.floor(rgbaChannel.length / 4); - var rgbChannel = new Uint8Array(pixelCount * 3); - var alphaChannel = new Uint8Array(pixelCount * 1); - var rgbaOffset = 0; - var rgbOffset = 0; - var alphaOffset = 0; - while (rgbaOffset < rgbaChannel.length) { - rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++]; - rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++]; - rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++]; - alphaChannel[alphaOffset++] = rgbaChannel[rgbaOffset++]; - } - return { rgbChannel, alphaChannel }; -}; -var PngType; -(function(PngType2) { - PngType2["Greyscale"] = "Greyscale"; - PngType2["Truecolour"] = "Truecolour"; - PngType2["IndexedColour"] = "IndexedColour"; - PngType2["GreyscaleWithAlpha"] = "GreyscaleWithAlpha"; - PngType2["TruecolourWithAlpha"] = "TruecolourWithAlpha"; -})(PngType || (PngType = {})); -var PNG = ( - /** @class */ - function() { - function PNG2(pngData) { - var upng = UPNG_default.decode(pngData); - var frames = UPNG_default.toRGBA8(upng); - if (frames.length > 1) - throw new Error("Animated PNGs are not supported"); - var frame = new Uint8Array(frames[0]); - var _a = splitAlphaChannel(frame), rgbChannel = _a.rgbChannel, alphaChannel = _a.alphaChannel; - this.rgbChannel = rgbChannel; - var hasAlphaValues = alphaChannel.some(function(a) { - return a < 255; - }); - if (hasAlphaValues) - this.alphaChannel = alphaChannel; - this.type = getImageType(upng.ctype); - this.width = upng.width; - this.height = upng.height; - this.bitsPerComponent = 8; - } - PNG2.load = function(pngData) { - return new PNG2(pngData); - }; - return PNG2; - }() -); - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/embedders/PngEmbedder.js -var PngEmbedder = ( - /** @class */ - function() { - function PngEmbedder2(png) { - this.image = png; - this.bitsPerComponent = png.bitsPerComponent; - this.width = png.width; - this.height = png.height; - this.colorSpace = "DeviceRGB"; - } - PngEmbedder2.for = function(imageData) { - return __awaiter(this, void 0, void 0, function() { - var png; - return __generator(this, function(_a) { - png = PNG.load(imageData); - return [2, new PngEmbedder2(png)]; - }); - }); - }; - PngEmbedder2.prototype.embedIntoContext = function(context, ref) { - return __awaiter(this, void 0, void 0, function() { - var SMask, xObject; - return __generator(this, function(_a) { - SMask = this.embedAlphaChannel(context); - xObject = context.flateStream(this.image.rgbChannel, { - Type: "XObject", - Subtype: "Image", - BitsPerComponent: this.image.bitsPerComponent, - Width: this.image.width, - Height: this.image.height, - ColorSpace: this.colorSpace, - SMask - }); - if (ref) { - context.assign(ref, xObject); - return [2, ref]; - } else { - return [2, context.register(xObject)]; - } - return [ - 2 - /*return*/ - ]; - }); - }); - }; - PngEmbedder2.prototype.embedAlphaChannel = function(context) { - if (!this.image.alphaChannel) - return void 0; - var xObject = context.flateStream(this.image.alphaChannel, { - Type: "XObject", - Subtype: "Image", - Height: this.image.height, - Width: this.image.width, - BitsPerComponent: this.image.bitsPerComponent, - ColorSpace: "DeviceGray", - Decode: [0, 1] - }); - return context.register(xObject); - }; - return PngEmbedder2; - }() -); -var PngEmbedder_default = PngEmbedder; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/streams/Stream.js -var Stream = ( - /** @class */ - function() { - function Stream2(buffer, start, length) { - this.bytes = buffer; - this.start = start || 0; - this.pos = this.start; - this.end = !!start && !!length ? start + length : this.bytes.length; - } - Object.defineProperty(Stream2.prototype, "length", { - get: function() { - return this.end - this.start; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Stream2.prototype, "isEmpty", { - get: function() { - return this.length === 0; - }, - enumerable: false, - configurable: true - }); - Stream2.prototype.getByte = function() { - if (this.pos >= this.end) { - return -1; - } - return this.bytes[this.pos++]; - }; - Stream2.prototype.getUint16 = function() { - var b0 = this.getByte(); - var b1 = this.getByte(); - if (b0 === -1 || b1 === -1) { - return -1; - } - return (b0 << 8) + b1; - }; - Stream2.prototype.getInt32 = function() { - var b0 = this.getByte(); - var b1 = this.getByte(); - var b2 = this.getByte(); - var b3 = this.getByte(); - return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3; - }; - Stream2.prototype.getBytes = function(length, forceClamped) { - if (forceClamped === void 0) { - forceClamped = false; - } - var bytes = this.bytes; - var pos = this.pos; - var strEnd = this.end; - if (!length) { - var subarray = bytes.subarray(pos, strEnd); - return forceClamped ? new Uint8ClampedArray(subarray) : subarray; - } else { - var end = pos + length; - if (end > strEnd) { - end = strEnd; - } - this.pos = end; - var subarray = bytes.subarray(pos, end); - return forceClamped ? new Uint8ClampedArray(subarray) : subarray; - } - }; - Stream2.prototype.peekByte = function() { - var peekedByte = this.getByte(); - this.pos--; - return peekedByte; - }; - Stream2.prototype.peekBytes = function(length, forceClamped) { - if (forceClamped === void 0) { - forceClamped = false; - } - var bytes = this.getBytes(length, forceClamped); - this.pos -= bytes.length; - return bytes; - }; - Stream2.prototype.skip = function(n) { - if (!n) { - n = 1; - } - this.pos += n; - }; - Stream2.prototype.reset = function() { - this.pos = this.start; - }; - Stream2.prototype.moveStart = function() { - this.start = this.pos; - }; - Stream2.prototype.makeSubStream = function(start, length) { - return new Stream2(this.bytes, start, length); - }; - Stream2.prototype.decode = function() { - return this.bytes; - }; - return Stream2; - }() -); -var Stream_default = Stream; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/streams/DecodeStream.js -var emptyBuffer = new Uint8Array(0); -var DecodeStream = ( - /** @class */ - function() { - function DecodeStream2(maybeMinBufferLength) { - this.pos = 0; - this.bufferLength = 0; - this.eof = false; - this.buffer = emptyBuffer; - this.minBufferLength = 512; - if (maybeMinBufferLength) { - while (this.minBufferLength < maybeMinBufferLength) { - this.minBufferLength *= 2; - } - } - } - Object.defineProperty(DecodeStream2.prototype, "isEmpty", { - get: function() { - while (!this.eof && this.bufferLength === 0) { - this.readBlock(); - } - return this.bufferLength === 0; - }, - enumerable: false, - configurable: true - }); - DecodeStream2.prototype.getByte = function() { - var pos = this.pos; - while (this.bufferLength <= pos) { - if (this.eof) { - return -1; - } - this.readBlock(); - } - return this.buffer[this.pos++]; - }; - DecodeStream2.prototype.getUint16 = function() { - var b0 = this.getByte(); - var b1 = this.getByte(); - if (b0 === -1 || b1 === -1) { - return -1; - } - return (b0 << 8) + b1; - }; - DecodeStream2.prototype.getInt32 = function() { - var b0 = this.getByte(); - var b1 = this.getByte(); - var b2 = this.getByte(); - var b3 = this.getByte(); - return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3; - }; - DecodeStream2.prototype.getBytes = function(length, forceClamped) { - if (forceClamped === void 0) { - forceClamped = false; - } - var end; - var pos = this.pos; - if (length) { - this.ensureBuffer(pos + length); - end = pos + length; - while (!this.eof && this.bufferLength < end) { - this.readBlock(); - } - var bufEnd = this.bufferLength; - if (end > bufEnd) { - end = bufEnd; - } - } else { - while (!this.eof) { - this.readBlock(); - } - end = this.bufferLength; - } - this.pos = end; - var subarray = this.buffer.subarray(pos, end); - return forceClamped && !(subarray instanceof Uint8ClampedArray) ? new Uint8ClampedArray(subarray) : subarray; - }; - DecodeStream2.prototype.peekByte = function() { - var peekedByte = this.getByte(); - this.pos--; - return peekedByte; - }; - DecodeStream2.prototype.peekBytes = function(length, forceClamped) { - if (forceClamped === void 0) { - forceClamped = false; - } - var bytes = this.getBytes(length, forceClamped); - this.pos -= bytes.length; - return bytes; - }; - DecodeStream2.prototype.skip = function(n) { - if (!n) { - n = 1; - } - this.pos += n; - }; - DecodeStream2.prototype.reset = function() { - this.pos = 0; - }; - DecodeStream2.prototype.makeSubStream = function(start, length) { - var end = start + length; - while (this.bufferLength <= end && !this.eof) { - this.readBlock(); - } - return new Stream_default( - this.buffer, - start, - length - /* dict */ - ); - }; - DecodeStream2.prototype.decode = function() { - while (!this.eof) - this.readBlock(); - return this.buffer.subarray(0, this.bufferLength); - }; - DecodeStream2.prototype.readBlock = function() { - throw new MethodNotImplementedError(this.constructor.name, "readBlock"); - }; - DecodeStream2.prototype.ensureBuffer = function(requested) { - var buffer = this.buffer; - if (requested <= buffer.byteLength) { - return buffer; - } - var size = this.minBufferLength; - while (size < requested) { - size *= 2; - } - var buffer2 = new Uint8Array(size); - buffer2.set(buffer); - return this.buffer = buffer2; - }; - return DecodeStream2; - }() -); -var DecodeStream_default = DecodeStream; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/streams/Ascii85Stream.js -var isSpace = function(ch) { - return ch === 32 || ch === 9 || ch === 13 || ch === 10; -}; -var Ascii85Stream = ( - /** @class */ - function(_super) { - __extends(Ascii85Stream2, _super); - function Ascii85Stream2(stream2, maybeLength) { - var _this = _super.call(this, maybeLength) || this; - _this.stream = stream2; - _this.input = new Uint8Array(5); - if (maybeLength) { - maybeLength = 0.8 * maybeLength; - } - return _this; - } - Ascii85Stream2.prototype.readBlock = function() { - var TILDA_CHAR = 126; - var Z_LOWER_CHAR = 122; - var EOF = -1; - var stream2 = this.stream; - var c = stream2.getByte(); - while (isSpace(c)) { - c = stream2.getByte(); - } - if (c === EOF || c === TILDA_CHAR) { - this.eof = true; - return; - } - var bufferLength = this.bufferLength; - var buffer; - var i; - if (c === Z_LOWER_CHAR) { - buffer = this.ensureBuffer(bufferLength + 4); - for (i = 0; i < 4; ++i) { - buffer[bufferLength + i] = 0; - } - this.bufferLength += 4; - } else { - var input = this.input; - input[0] = c; - for (i = 1; i < 5; ++i) { - c = stream2.getByte(); - while (isSpace(c)) { - c = stream2.getByte(); - } - input[i] = c; - if (c === EOF || c === TILDA_CHAR) { - break; - } - } - buffer = this.ensureBuffer(bufferLength + i - 1); - this.bufferLength += i - 1; - if (i < 5) { - for (; i < 5; ++i) { - input[i] = 33 + 84; - } - this.eof = true; - } - var t = 0; - for (i = 0; i < 5; ++i) { - t = t * 85 + (input[i] - 33); - } - for (i = 3; i >= 0; --i) { - buffer[bufferLength + i] = t & 255; - t >>= 8; - } - } - }; - return Ascii85Stream2; - }(DecodeStream_default) -); -var Ascii85Stream_default = Ascii85Stream; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/streams/AsciiHexStream.js -var AsciiHexStream = ( - /** @class */ - function(_super) { - __extends(AsciiHexStream2, _super); - function AsciiHexStream2(stream2, maybeLength) { - var _this = _super.call(this, maybeLength) || this; - _this.stream = stream2; - _this.firstDigit = -1; - if (maybeLength) { - maybeLength = 0.5 * maybeLength; - } - return _this; - } - AsciiHexStream2.prototype.readBlock = function() { - var UPSTREAM_BLOCK_SIZE = 8e3; - var bytes = this.stream.getBytes(UPSTREAM_BLOCK_SIZE); - if (!bytes.length) { - this.eof = true; - return; - } - var maxDecodeLength = bytes.length + 1 >> 1; - var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength); - var bufferLength = this.bufferLength; - var firstDigit = this.firstDigit; - for (var i = 0, ii = bytes.length; i < ii; i++) { - var ch = bytes[i]; - var digit = void 0; - if (ch >= 48 && ch <= 57) { - digit = ch & 15; - } else if (ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102) { - digit = (ch & 15) + 9; - } else if (ch === 62) { - this.eof = true; - break; - } else { - continue; - } - if (firstDigit < 0) { - firstDigit = digit; - } else { - buffer[bufferLength++] = firstDigit << 4 | digit; - firstDigit = -1; - } - } - if (firstDigit >= 0 && this.eof) { - buffer[bufferLength++] = firstDigit << 4; - firstDigit = -1; - } - this.firstDigit = firstDigit; - this.bufferLength = bufferLength; - }; - return AsciiHexStream2; - }(DecodeStream_default) -); -var AsciiHexStream_default = AsciiHexStream; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/streams/FlateStream.js -var codeLenCodeMap = new Int32Array([ - 16, - 17, - 18, - 0, - 8, - 7, - 9, - 6, - 10, - 5, - 11, - 4, - 12, - 3, - 13, - 2, - 14, - 1, - 15 -]); -var lengthDecode = new Int32Array([ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 65547, - 65549, - 65551, - 65553, - 131091, - 131095, - 131099, - 131103, - 196643, - 196651, - 196659, - 196667, - 262211, - 262227, - 262243, - 262259, - 327811, - 327843, - 327875, - 327907, - 258, - 258, - 258 -]); -var distDecode = new Int32Array([ - 1, - 2, - 3, - 4, - 65541, - 65543, - 131081, - 131085, - 196625, - 196633, - 262177, - 262193, - 327745, - 327777, - 393345, - 393409, - 459009, - 459137, - 524801, - 525057, - 590849, - 591361, - 657409, - 658433, - 724993, - 727041, - 794625, - 798721, - 868353, - 876545 -]); -var fixedLitCodeTab = [new Int32Array([ - 459008, - 524368, - 524304, - 524568, - 459024, - 524400, - 524336, - 590016, - 459016, - 524384, - 524320, - 589984, - 524288, - 524416, - 524352, - 590048, - 459012, - 524376, - 524312, - 589968, - 459028, - 524408, - 524344, - 590032, - 459020, - 524392, - 524328, - 59e4, - 524296, - 524424, - 524360, - 590064, - 459010, - 524372, - 524308, - 524572, - 459026, - 524404, - 524340, - 590024, - 459018, - 524388, - 524324, - 589992, - 524292, - 524420, - 524356, - 590056, - 459014, - 524380, - 524316, - 589976, - 459030, - 524412, - 524348, - 590040, - 459022, - 524396, - 524332, - 590008, - 524300, - 524428, - 524364, - 590072, - 459009, - 524370, - 524306, - 524570, - 459025, - 524402, - 524338, - 590020, - 459017, - 524386, - 524322, - 589988, - 524290, - 524418, - 524354, - 590052, - 459013, - 524378, - 524314, - 589972, - 459029, - 524410, - 524346, - 590036, - 459021, - 524394, - 524330, - 590004, - 524298, - 524426, - 524362, - 590068, - 459011, - 524374, - 524310, - 524574, - 459027, - 524406, - 524342, - 590028, - 459019, - 524390, - 524326, - 589996, - 524294, - 524422, - 524358, - 590060, - 459015, - 524382, - 524318, - 589980, - 459031, - 524414, - 524350, - 590044, - 459023, - 524398, - 524334, - 590012, - 524302, - 524430, - 524366, - 590076, - 459008, - 524369, - 524305, - 524569, - 459024, - 524401, - 524337, - 590018, - 459016, - 524385, - 524321, - 589986, - 524289, - 524417, - 524353, - 590050, - 459012, - 524377, - 524313, - 589970, - 459028, - 524409, - 524345, - 590034, - 459020, - 524393, - 524329, - 590002, - 524297, - 524425, - 524361, - 590066, - 459010, - 524373, - 524309, - 524573, - 459026, - 524405, - 524341, - 590026, - 459018, - 524389, - 524325, - 589994, - 524293, - 524421, - 524357, - 590058, - 459014, - 524381, - 524317, - 589978, - 459030, - 524413, - 524349, - 590042, - 459022, - 524397, - 524333, - 590010, - 524301, - 524429, - 524365, - 590074, - 459009, - 524371, - 524307, - 524571, - 459025, - 524403, - 524339, - 590022, - 459017, - 524387, - 524323, - 589990, - 524291, - 524419, - 524355, - 590054, - 459013, - 524379, - 524315, - 589974, - 459029, - 524411, - 524347, - 590038, - 459021, - 524395, - 524331, - 590006, - 524299, - 524427, - 524363, - 590070, - 459011, - 524375, - 524311, - 524575, - 459027, - 524407, - 524343, - 590030, - 459019, - 524391, - 524327, - 589998, - 524295, - 524423, - 524359, - 590062, - 459015, - 524383, - 524319, - 589982, - 459031, - 524415, - 524351, - 590046, - 459023, - 524399, - 524335, - 590014, - 524303, - 524431, - 524367, - 590078, - 459008, - 524368, - 524304, - 524568, - 459024, - 524400, - 524336, - 590017, - 459016, - 524384, - 524320, - 589985, - 524288, - 524416, - 524352, - 590049, - 459012, - 524376, - 524312, - 589969, - 459028, - 524408, - 524344, - 590033, - 459020, - 524392, - 524328, - 590001, - 524296, - 524424, - 524360, - 590065, - 459010, - 524372, - 524308, - 524572, - 459026, - 524404, - 524340, - 590025, - 459018, - 524388, - 524324, - 589993, - 524292, - 524420, - 524356, - 590057, - 459014, - 524380, - 524316, - 589977, - 459030, - 524412, - 524348, - 590041, - 459022, - 524396, - 524332, - 590009, - 524300, - 524428, - 524364, - 590073, - 459009, - 524370, - 524306, - 524570, - 459025, - 524402, - 524338, - 590021, - 459017, - 524386, - 524322, - 589989, - 524290, - 524418, - 524354, - 590053, - 459013, - 524378, - 524314, - 589973, - 459029, - 524410, - 524346, - 590037, - 459021, - 524394, - 524330, - 590005, - 524298, - 524426, - 524362, - 590069, - 459011, - 524374, - 524310, - 524574, - 459027, - 524406, - 524342, - 590029, - 459019, - 524390, - 524326, - 589997, - 524294, - 524422, - 524358, - 590061, - 459015, - 524382, - 524318, - 589981, - 459031, - 524414, - 524350, - 590045, - 459023, - 524398, - 524334, - 590013, - 524302, - 524430, - 524366, - 590077, - 459008, - 524369, - 524305, - 524569, - 459024, - 524401, - 524337, - 590019, - 459016, - 524385, - 524321, - 589987, - 524289, - 524417, - 524353, - 590051, - 459012, - 524377, - 524313, - 589971, - 459028, - 524409, - 524345, - 590035, - 459020, - 524393, - 524329, - 590003, - 524297, - 524425, - 524361, - 590067, - 459010, - 524373, - 524309, - 524573, - 459026, - 524405, - 524341, - 590027, - 459018, - 524389, - 524325, - 589995, - 524293, - 524421, - 524357, - 590059, - 459014, - 524381, - 524317, - 589979, - 459030, - 524413, - 524349, - 590043, - 459022, - 524397, - 524333, - 590011, - 524301, - 524429, - 524365, - 590075, - 459009, - 524371, - 524307, - 524571, - 459025, - 524403, - 524339, - 590023, - 459017, - 524387, - 524323, - 589991, - 524291, - 524419, - 524355, - 590055, - 459013, - 524379, - 524315, - 589975, - 459029, - 524411, - 524347, - 590039, - 459021, - 524395, - 524331, - 590007, - 524299, - 524427, - 524363, - 590071, - 459011, - 524375, - 524311, - 524575, - 459027, - 524407, - 524343, - 590031, - 459019, - 524391, - 524327, - 589999, - 524295, - 524423, - 524359, - 590063, - 459015, - 524383, - 524319, - 589983, - 459031, - 524415, - 524351, - 590047, - 459023, - 524399, - 524335, - 590015, - 524303, - 524431, - 524367, - 590079 -]), 9]; -var fixedDistCodeTab = [new Int32Array([ - 327680, - 327696, - 327688, - 327704, - 327684, - 327700, - 327692, - 327708, - 327682, - 327698, - 327690, - 327706, - 327686, - 327702, - 327694, - 0, - 327681, - 327697, - 327689, - 327705, - 327685, - 327701, - 327693, - 327709, - 327683, - 327699, - 327691, - 327707, - 327687, - 327703, - 327695, - 0 -]), 5]; -var FlateStream = ( - /** @class */ - function(_super) { - __extends(FlateStream2, _super); - function FlateStream2(stream2, maybeLength) { - var _this = _super.call(this, maybeLength) || this; - _this.stream = stream2; - var cmf = stream2.getByte(); - var flg = stream2.getByte(); - if (cmf === -1 || flg === -1) { - throw new Error("Invalid header in flate stream: " + cmf + ", " + flg); - } - if ((cmf & 15) !== 8) { - throw new Error("Unknown compression method in flate stream: " + cmf + ", " + flg); - } - if (((cmf << 8) + flg) % 31 !== 0) { - throw new Error("Bad FCHECK in flate stream: " + cmf + ", " + flg); - } - if (flg & 32) { - throw new Error("FDICT bit set in flate stream: " + cmf + ", " + flg); - } - _this.codeSize = 0; - _this.codeBuf = 0; - return _this; - } - FlateStream2.prototype.readBlock = function() { - var buffer; - var len; - var str = this.stream; - var hdr = this.getBits(3); - if (hdr & 1) { - this.eof = true; - } - hdr >>= 1; - if (hdr === 0) { - var b = void 0; - if ((b = str.getByte()) === -1) { - throw new Error("Bad block header in flate stream"); - } - var blockLen = b; - if ((b = str.getByte()) === -1) { - throw new Error("Bad block header in flate stream"); - } - blockLen |= b << 8; - if ((b = str.getByte()) === -1) { - throw new Error("Bad block header in flate stream"); - } - var check = b; - if ((b = str.getByte()) === -1) { - throw new Error("Bad block header in flate stream"); - } - check |= b << 8; - if (check !== (~blockLen & 65535) && (blockLen !== 0 || check !== 0)) { - throw new Error("Bad uncompressed block length in flate stream"); - } - this.codeBuf = 0; - this.codeSize = 0; - var bufferLength = this.bufferLength; - buffer = this.ensureBuffer(bufferLength + blockLen); - var end = bufferLength + blockLen; - this.bufferLength = end; - if (blockLen === 0) { - if (str.peekByte() === -1) { - this.eof = true; - } - } else { - for (var n = bufferLength; n < end; ++n) { - if ((b = str.getByte()) === -1) { - this.eof = true; - break; - } - buffer[n] = b; - } - } - return; - } - var litCodeTable; - var distCodeTable; - if (hdr === 1) { - litCodeTable = fixedLitCodeTab; - distCodeTable = fixedDistCodeTab; - } else if (hdr === 2) { - var numLitCodes = this.getBits(5) + 257; - var numDistCodes = this.getBits(5) + 1; - var numCodeLenCodes = this.getBits(4) + 4; - var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length); - var i = void 0; - for (i = 0; i < numCodeLenCodes; ++i) { - codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3); - } - var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths); - len = 0; - i = 0; - var codes = numLitCodes + numDistCodes; - var codeLengths = new Uint8Array(codes); - var bitsLength = void 0; - var bitsOffset = void 0; - var what = void 0; - while (i < codes) { - var code = this.getCode(codeLenCodeTab); - if (code === 16) { - bitsLength = 2; - bitsOffset = 3; - what = len; - } else if (code === 17) { - bitsLength = 3; - bitsOffset = 3; - what = len = 0; - } else if (code === 18) { - bitsLength = 7; - bitsOffset = 11; - what = len = 0; - } else { - codeLengths[i++] = len = code; - continue; - } - var repeatLength = this.getBits(bitsLength) + bitsOffset; - while (repeatLength-- > 0) { - codeLengths[i++] = what; - } - } - litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes)); - distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes)); - } else { - throw new Error("Unknown block type in flate stream"); - } - buffer = this.buffer; - var limit = buffer ? buffer.length : 0; - var pos = this.bufferLength; - while (true) { - var code1 = this.getCode(litCodeTable); - if (code1 < 256) { - if (pos + 1 >= limit) { - buffer = this.ensureBuffer(pos + 1); - limit = buffer.length; - } - buffer[pos++] = code1; - continue; - } - if (code1 === 256) { - this.bufferLength = pos; - return; - } - code1 -= 257; - code1 = lengthDecode[code1]; - var code2 = code1 >> 16; - if (code2 > 0) { - code2 = this.getBits(code2); - } - len = (code1 & 65535) + code2; - code1 = this.getCode(distCodeTable); - code1 = distDecode[code1]; - code2 = code1 >> 16; - if (code2 > 0) { - code2 = this.getBits(code2); - } - var dist = (code1 & 65535) + code2; - if (pos + len >= limit) { - buffer = this.ensureBuffer(pos + len); - limit = buffer.length; - } - for (var k = 0; k < len; ++k, ++pos) { - buffer[pos] = buffer[pos - dist]; - } - } - }; - FlateStream2.prototype.getBits = function(bits) { - var str = this.stream; - var codeSize = this.codeSize; - var codeBuf = this.codeBuf; - var b; - while (codeSize < bits) { - if ((b = str.getByte()) === -1) { - throw new Error("Bad encoding in flate stream"); - } - codeBuf |= b << codeSize; - codeSize += 8; - } - b = codeBuf & (1 << bits) - 1; - this.codeBuf = codeBuf >> bits; - this.codeSize = codeSize -= bits; - return b; - }; - FlateStream2.prototype.getCode = function(table) { - var str = this.stream; - var codes = table[0]; - var maxLen = table[1]; - var codeSize = this.codeSize; - var codeBuf = this.codeBuf; - var b; - while (codeSize < maxLen) { - if ((b = str.getByte()) === -1) { - break; - } - codeBuf |= b << codeSize; - codeSize += 8; - } - var code = codes[codeBuf & (1 << maxLen) - 1]; - if (typeof codes === "number") { - console.log("FLATE:", code); - } - var codeLen = code >> 16; - var codeVal = code & 65535; - if (codeLen < 1 || codeSize < codeLen) { - throw new Error("Bad encoding in flate stream"); - } - this.codeBuf = codeBuf >> codeLen; - this.codeSize = codeSize - codeLen; - return codeVal; - }; - FlateStream2.prototype.generateHuffmanTable = function(lengths) { - var n = lengths.length; - var maxLen = 0; - var i; - for (i = 0; i < n; ++i) { - if (lengths[i] > maxLen) { - maxLen = lengths[i]; - } - } - var size = 1 << maxLen; - var codes = new Int32Array(size); - for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) { - for (var val = 0; val < n; ++val) { - if (lengths[val] === len) { - var code2 = 0; - var t = code; - for (i = 0; i < len; ++i) { - code2 = code2 << 1 | t & 1; - t >>= 1; - } - for (i = code2; i < size; i += skip) { - codes[i] = len << 16 | val; - } - ++code; - } - } - } - return [codes, maxLen]; - }; - return FlateStream2; - }(DecodeStream_default) -); -var FlateStream_default = FlateStream; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/streams/LZWStream.js -var LZWStream = ( - /** @class */ - function(_super) { - __extends(LZWStream2, _super); - function LZWStream2(stream2, maybeLength, earlyChange) { - var _this = _super.call(this, maybeLength) || this; - _this.stream = stream2; - _this.cachedData = 0; - _this.bitsCached = 0; - var maxLzwDictionarySize = 4096; - var lzwState = { - earlyChange, - codeLength: 9, - nextCode: 258, - dictionaryValues: new Uint8Array(maxLzwDictionarySize), - dictionaryLengths: new Uint16Array(maxLzwDictionarySize), - dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize), - currentSequence: new Uint8Array(maxLzwDictionarySize), - currentSequenceLength: 0 - }; - for (var i = 0; i < 256; ++i) { - lzwState.dictionaryValues[i] = i; - lzwState.dictionaryLengths[i] = 1; - } - _this.lzwState = lzwState; - return _this; - } - LZWStream2.prototype.readBlock = function() { - var blockSize = 512; - var estimatedDecodedSize = blockSize * 2; - var decodedSizeDelta = blockSize; - var i; - var j; - var q; - var lzwState = this.lzwState; - if (!lzwState) { - return; - } - var earlyChange = lzwState.earlyChange; - var nextCode = lzwState.nextCode; - var dictionaryValues = lzwState.dictionaryValues; - var dictionaryLengths = lzwState.dictionaryLengths; - var dictionaryPrevCodes = lzwState.dictionaryPrevCodes; - var codeLength = lzwState.codeLength; - var prevCode = lzwState.prevCode; - var currentSequence = lzwState.currentSequence; - var currentSequenceLength = lzwState.currentSequenceLength; - var decodedLength = 0; - var currentBufferLength = this.bufferLength; - var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize); - for (i = 0; i < blockSize; i++) { - var code = this.readBits(codeLength); - var hasPrev = currentSequenceLength > 0; - if (!code || code < 256) { - currentSequence[0] = code; - currentSequenceLength = 1; - } else if (code >= 258) { - if (code < nextCode) { - currentSequenceLength = dictionaryLengths[code]; - for (j = currentSequenceLength - 1, q = code; j >= 0; j--) { - currentSequence[j] = dictionaryValues[q]; - q = dictionaryPrevCodes[q]; - } - } else { - currentSequence[currentSequenceLength++] = currentSequence[0]; - } - } else if (code === 256) { - codeLength = 9; - nextCode = 258; - currentSequenceLength = 0; - continue; - } else { - this.eof = true; - delete this.lzwState; - break; - } - if (hasPrev) { - dictionaryPrevCodes[nextCode] = prevCode; - dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1; - dictionaryValues[nextCode] = currentSequence[0]; - nextCode++; - codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0; - } - prevCode = code; - decodedLength += currentSequenceLength; - if (estimatedDecodedSize < decodedLength) { - do { - estimatedDecodedSize += decodedSizeDelta; - } while (estimatedDecodedSize < decodedLength); - buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize); - } - for (j = 0; j < currentSequenceLength; j++) { - buffer[currentBufferLength++] = currentSequence[j]; - } - } - lzwState.nextCode = nextCode; - lzwState.codeLength = codeLength; - lzwState.prevCode = prevCode; - lzwState.currentSequenceLength = currentSequenceLength; - this.bufferLength = currentBufferLength; - }; - LZWStream2.prototype.readBits = function(n) { - var bitsCached = this.bitsCached; - var cachedData = this.cachedData; - while (bitsCached < n) { - var c = this.stream.getByte(); - if (c === -1) { - this.eof = true; - return null; - } - cachedData = cachedData << 8 | c; - bitsCached += 8; - } - this.bitsCached = bitsCached -= n; - this.cachedData = cachedData; - return cachedData >>> bitsCached & (1 << n) - 1; - }; - return LZWStream2; - }(DecodeStream_default) -); -var LZWStream_default = LZWStream; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/streams/RunLengthStream.js -var RunLengthStream = ( - /** @class */ - function(_super) { - __extends(RunLengthStream2, _super); - function RunLengthStream2(stream2, maybeLength) { - var _this = _super.call(this, maybeLength) || this; - _this.stream = stream2; - return _this; - } - RunLengthStream2.prototype.readBlock = function() { - var repeatHeader = this.stream.getBytes(2); - if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) { - this.eof = true; - return; - } - var buffer; - var bufferLength = this.bufferLength; - var n = repeatHeader[0]; - if (n < 128) { - buffer = this.ensureBuffer(bufferLength + n + 1); - buffer[bufferLength++] = repeatHeader[1]; - if (n > 0) { - var source = this.stream.getBytes(n); - buffer.set(source, bufferLength); - bufferLength += n; - } - } else { - n = 257 - n; - var b = repeatHeader[1]; - buffer = this.ensureBuffer(bufferLength + n + 1); - for (var i = 0; i < n; i++) { - buffer[bufferLength++] = b; - } - } - this.bufferLength = bufferLength; - }; - return RunLengthStream2; - }(DecodeStream_default) -); -var RunLengthStream_default = RunLengthStream; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/streams/decode.js -var decodeStream = function(stream2, encoding, params) { - if (encoding === PDFName_default.of("FlateDecode")) { - return new FlateStream_default(stream2); - } - if (encoding === PDFName_default.of("LZWDecode")) { - var earlyChange = 1; - if (params instanceof PDFDict_default) { - var EarlyChange = params.lookup(PDFName_default.of("EarlyChange")); - if (EarlyChange instanceof PDFNumber_default) { - earlyChange = EarlyChange.asNumber(); - } - } - return new LZWStream_default(stream2, void 0, earlyChange); - } - if (encoding === PDFName_default.of("ASCII85Decode")) { - return new Ascii85Stream_default(stream2); - } - if (encoding === PDFName_default.of("ASCIIHexDecode")) { - return new AsciiHexStream_default(stream2); - } - if (encoding === PDFName_default.of("RunLengthDecode")) { - return new RunLengthStream_default(stream2); - } - throw new UnsupportedEncodingError(encoding.asString()); -}; -var decodePDFRawStream = function(_a) { - var dict = _a.dict, contents = _a.contents; - var stream2 = new Stream_default(contents); - var Filter = dict.lookup(PDFName_default.of("Filter")); - var DecodeParms = dict.lookup(PDFName_default.of("DecodeParms")); - if (Filter instanceof PDFName_default) { - stream2 = decodeStream(stream2, Filter, DecodeParms); - } else if (Filter instanceof PDFArray_default) { - for (var idx = 0, len = Filter.size(); idx < len; idx++) { - stream2 = decodeStream(stream2, Filter.lookup(idx, PDFName_default), DecodeParms && DecodeParms.lookupMaybe(idx, PDFDict_default)); - } - } else if (!!Filter) { - throw new UnexpectedObjectTypeError([PDFName_default, PDFArray_default], Filter); - } - return stream2; -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/embedders/PDFPageEmbedder.js -var fullPageBoundingBox = function(page) { - var mediaBox = page.MediaBox(); - var width = mediaBox.lookup(2, PDFNumber_default).asNumber() - mediaBox.lookup(0, PDFNumber_default).asNumber(); - var height = mediaBox.lookup(3, PDFNumber_default).asNumber() - mediaBox.lookup(1, PDFNumber_default).asNumber(); - return { left: 0, bottom: 0, right: width, top: height }; -}; -var boundingBoxAdjustedMatrix = function(bb) { - return [1, 0, 0, 1, -bb.left, -bb.bottom]; -}; -var PDFPageEmbedder = ( - /** @class */ - function() { - function PDFPageEmbedder2(page, boundingBox, transformationMatrix) { - this.page = page; - var bb = boundingBox !== null && boundingBox !== void 0 ? boundingBox : fullPageBoundingBox(page); - this.width = bb.right - bb.left; - this.height = bb.top - bb.bottom; - this.boundingBox = bb; - this.transformationMatrix = transformationMatrix !== null && transformationMatrix !== void 0 ? transformationMatrix : boundingBoxAdjustedMatrix(bb); - } - PDFPageEmbedder2.for = function(page, boundingBox, transformationMatrix) { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - return [2, new PDFPageEmbedder2(page, boundingBox, transformationMatrix)]; - }); - }); - }; - PDFPageEmbedder2.prototype.embedIntoContext = function(context, ref) { - return __awaiter(this, void 0, void 0, function() { - var _a, Contents, Resources, decodedContents, _b, left, bottom, right, top, xObject; - return __generator(this, function(_c) { - _a = this.page.normalizedEntries(), Contents = _a.Contents, Resources = _a.Resources; - if (!Contents) - throw new MissingPageContentsEmbeddingError(); - decodedContents = this.decodeContents(Contents); - _b = this.boundingBox, left = _b.left, bottom = _b.bottom, right = _b.right, top = _b.top; - xObject = context.flateStream(decodedContents, { - Type: "XObject", - Subtype: "Form", - FormType: 1, - BBox: [left, bottom, right, top], - Matrix: this.transformationMatrix, - Resources - }); - if (ref) { - context.assign(ref, xObject); - return [2, ref]; - } else { - return [2, context.register(xObject)]; - } - return [ - 2 - /*return*/ - ]; - }); - }); - }; - PDFPageEmbedder2.prototype.decodeContents = function(contents) { - var newline = Uint8Array.of(CharCodes_default.Newline); - var decodedContents = []; - for (var idx = 0, len = contents.size(); idx < len; idx++) { - var stream2 = contents.lookup(idx, PDFStream_default); - var content = void 0; - if (stream2 instanceof PDFRawStream_default) { - content = decodePDFRawStream(stream2).decode(); - } else if (stream2 instanceof PDFContentStream_default) { - content = stream2.getUnencodedContents(); - } else { - throw new UnrecognizedStreamTypeError(stream2); - } - decodedContents.push(content, newline); - } - return mergeIntoTypedArray.apply(void 0, decodedContents); - }; - return PDFPageEmbedder2; - }() -); -var PDFPageEmbedder_default = PDFPageEmbedder; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/interactive/ViewerPreferences.js -var asEnum = function(rawValue, enumType) { - if (rawValue === void 0) - return void 0; - return enumType[rawValue]; -}; -var NonFullScreenPageMode; -(function(NonFullScreenPageMode2) { - NonFullScreenPageMode2["UseNone"] = "UseNone"; - NonFullScreenPageMode2["UseOutlines"] = "UseOutlines"; - NonFullScreenPageMode2["UseThumbs"] = "UseThumbs"; - NonFullScreenPageMode2["UseOC"] = "UseOC"; -})(NonFullScreenPageMode || (NonFullScreenPageMode = {})); -var ReadingDirection; -(function(ReadingDirection2) { - ReadingDirection2["L2R"] = "L2R"; - ReadingDirection2["R2L"] = "R2L"; -})(ReadingDirection || (ReadingDirection = {})); -var PrintScaling; -(function(PrintScaling2) { - PrintScaling2["None"] = "None"; - PrintScaling2["AppDefault"] = "AppDefault"; -})(PrintScaling || (PrintScaling = {})); -var Duplex; -(function(Duplex2) { - Duplex2["Simplex"] = "Simplex"; - Duplex2["DuplexFlipShortEdge"] = "DuplexFlipShortEdge"; - Duplex2["DuplexFlipLongEdge"] = "DuplexFlipLongEdge"; -})(Duplex || (Duplex = {})); -var ViewerPreferences = ( - /** @class */ - function() { - function ViewerPreferences2(dict) { - this.dict = dict; - } - ViewerPreferences2.prototype.lookupBool = function(key) { - var returnObj = this.dict.lookup(PDFName_default.of(key)); - if (returnObj instanceof PDFBool_default) - return returnObj; - return void 0; - }; - ViewerPreferences2.prototype.lookupName = function(key) { - var returnObj = this.dict.lookup(PDFName_default.of(key)); - if (returnObj instanceof PDFName_default) - return returnObj; - return void 0; - }; - ViewerPreferences2.prototype.HideToolbar = function() { - return this.lookupBool("HideToolbar"); - }; - ViewerPreferences2.prototype.HideMenubar = function() { - return this.lookupBool("HideMenubar"); - }; - ViewerPreferences2.prototype.HideWindowUI = function() { - return this.lookupBool("HideWindowUI"); - }; - ViewerPreferences2.prototype.FitWindow = function() { - return this.lookupBool("FitWindow"); - }; - ViewerPreferences2.prototype.CenterWindow = function() { - return this.lookupBool("CenterWindow"); - }; - ViewerPreferences2.prototype.DisplayDocTitle = function() { - return this.lookupBool("DisplayDocTitle"); - }; - ViewerPreferences2.prototype.NonFullScreenPageMode = function() { - return this.lookupName("NonFullScreenPageMode"); - }; - ViewerPreferences2.prototype.Direction = function() { - return this.lookupName("Direction"); - }; - ViewerPreferences2.prototype.PrintScaling = function() { - return this.lookupName("PrintScaling"); - }; - ViewerPreferences2.prototype.Duplex = function() { - return this.lookupName("Duplex"); - }; - ViewerPreferences2.prototype.PickTrayByPDFSize = function() { - return this.lookupBool("PickTrayByPDFSize"); - }; - ViewerPreferences2.prototype.PrintPageRange = function() { - var PrintPageRange = this.dict.lookup(PDFName_default.of("PrintPageRange")); - if (PrintPageRange instanceof PDFArray_default) - return PrintPageRange; - return void 0; - }; - ViewerPreferences2.prototype.NumCopies = function() { - var NumCopies = this.dict.lookup(PDFName_default.of("NumCopies")); - if (NumCopies instanceof PDFNumber_default) - return NumCopies; - return void 0; - }; - ViewerPreferences2.prototype.getHideToolbar = function() { - var _a, _b; - return (_b = (_a = this.HideToolbar()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; - }; - ViewerPreferences2.prototype.getHideMenubar = function() { - var _a, _b; - return (_b = (_a = this.HideMenubar()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; - }; - ViewerPreferences2.prototype.getHideWindowUI = function() { - var _a, _b; - return (_b = (_a = this.HideWindowUI()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; - }; - ViewerPreferences2.prototype.getFitWindow = function() { - var _a, _b; - return (_b = (_a = this.FitWindow()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; - }; - ViewerPreferences2.prototype.getCenterWindow = function() { - var _a, _b; - return (_b = (_a = this.CenterWindow()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; - }; - ViewerPreferences2.prototype.getDisplayDocTitle = function() { - var _a, _b; - return (_b = (_a = this.DisplayDocTitle()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; - }; - ViewerPreferences2.prototype.getNonFullScreenPageMode = function() { - var _a, _b; - var mode = (_a = this.NonFullScreenPageMode()) === null || _a === void 0 ? void 0 : _a.decodeText(); - return (_b = asEnum(mode, NonFullScreenPageMode)) !== null && _b !== void 0 ? _b : NonFullScreenPageMode.UseNone; - }; - ViewerPreferences2.prototype.getReadingDirection = function() { - var _a, _b; - var direction = (_a = this.Direction()) === null || _a === void 0 ? void 0 : _a.decodeText(); - return (_b = asEnum(direction, ReadingDirection)) !== null && _b !== void 0 ? _b : ReadingDirection.L2R; - }; - ViewerPreferences2.prototype.getPrintScaling = function() { - var _a, _b; - var scaling = (_a = this.PrintScaling()) === null || _a === void 0 ? void 0 : _a.decodeText(); - return (_b = asEnum(scaling, PrintScaling)) !== null && _b !== void 0 ? _b : PrintScaling.AppDefault; - }; - ViewerPreferences2.prototype.getDuplex = function() { - var _a; - var duplex = (_a = this.Duplex()) === null || _a === void 0 ? void 0 : _a.decodeText(); - return asEnum(duplex, Duplex); - }; - ViewerPreferences2.prototype.getPickTrayByPDFSize = function() { - var _a; - return (_a = this.PickTrayByPDFSize()) === null || _a === void 0 ? void 0 : _a.asBoolean(); - }; - ViewerPreferences2.prototype.getPrintPageRange = function() { - var rng = this.PrintPageRange(); - if (!rng) - return []; - var pageRanges = []; - for (var i = 0; i < rng.size(); i += 2) { - var start = rng.lookup(i, PDFNumber_default).asNumber(); - var end = rng.lookup(i + 1, PDFNumber_default).asNumber(); - pageRanges.push({ start, end }); - } - return pageRanges; - }; - ViewerPreferences2.prototype.getNumCopies = function() { - var _a, _b; - return (_b = (_a = this.NumCopies()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 1; - }; - ViewerPreferences2.prototype.setHideToolbar = function(hideToolbar) { - var HideToolbar = this.dict.context.obj(hideToolbar); - this.dict.set(PDFName_default.of("HideToolbar"), HideToolbar); - }; - ViewerPreferences2.prototype.setHideMenubar = function(hideMenubar) { - var HideMenubar = this.dict.context.obj(hideMenubar); - this.dict.set(PDFName_default.of("HideMenubar"), HideMenubar); - }; - ViewerPreferences2.prototype.setHideWindowUI = function(hideWindowUI) { - var HideWindowUI = this.dict.context.obj(hideWindowUI); - this.dict.set(PDFName_default.of("HideWindowUI"), HideWindowUI); - }; - ViewerPreferences2.prototype.setFitWindow = function(fitWindow) { - var FitWindow = this.dict.context.obj(fitWindow); - this.dict.set(PDFName_default.of("FitWindow"), FitWindow); - }; - ViewerPreferences2.prototype.setCenterWindow = function(centerWindow) { - var CenterWindow = this.dict.context.obj(centerWindow); - this.dict.set(PDFName_default.of("CenterWindow"), CenterWindow); - }; - ViewerPreferences2.prototype.setDisplayDocTitle = function(displayTitle) { - var DisplayDocTitle = this.dict.context.obj(displayTitle); - this.dict.set(PDFName_default.of("DisplayDocTitle"), DisplayDocTitle); - }; - ViewerPreferences2.prototype.setNonFullScreenPageMode = function(nonFullScreenPageMode) { - assertIsOneOf(nonFullScreenPageMode, "nonFullScreenPageMode", NonFullScreenPageMode); - var mode = PDFName_default.of(nonFullScreenPageMode); - this.dict.set(PDFName_default.of("NonFullScreenPageMode"), mode); - }; - ViewerPreferences2.prototype.setReadingDirection = function(readingDirection) { - assertIsOneOf(readingDirection, "readingDirection", ReadingDirection); - var direction = PDFName_default.of(readingDirection); - this.dict.set(PDFName_default.of("Direction"), direction); - }; - ViewerPreferences2.prototype.setPrintScaling = function(printScaling) { - assertIsOneOf(printScaling, "printScaling", PrintScaling); - var scaling = PDFName_default.of(printScaling); - this.dict.set(PDFName_default.of("PrintScaling"), scaling); - }; - ViewerPreferences2.prototype.setDuplex = function(duplex) { - assertIsOneOf(duplex, "duplex", Duplex); - var dup = PDFName_default.of(duplex); - this.dict.set(PDFName_default.of("Duplex"), dup); - }; - ViewerPreferences2.prototype.setPickTrayByPDFSize = function(pickTrayByPDFSize) { - var PickTrayByPDFSize = this.dict.context.obj(pickTrayByPDFSize); - this.dict.set(PDFName_default.of("PickTrayByPDFSize"), PickTrayByPDFSize); - }; - ViewerPreferences2.prototype.setPrintPageRange = function(printPageRange) { - if (!Array.isArray(printPageRange)) - printPageRange = [printPageRange]; - var flatRange = []; - for (var idx = 0, len = printPageRange.length; idx < len; idx++) { - flatRange.push(printPageRange[idx].start); - flatRange.push(printPageRange[idx].end); - } - assertEachIs(flatRange, "printPageRange", ["number"]); - var pageRanges = this.dict.context.obj(flatRange); - this.dict.set(PDFName_default.of("PrintPageRange"), pageRanges); - }; - ViewerPreferences2.prototype.setNumCopies = function(numCopies) { - assertRange(numCopies, "numCopies", 1, Number.MAX_VALUE); - assertInteger(numCopies, "numCopies"); - var NumCopies = this.dict.context.obj(numCopies); - this.dict.set(PDFName_default.of("NumCopies"), NumCopies); - }; - ViewerPreferences2.fromDict = function(dict) { - return new ViewerPreferences2(dict); - }; - ViewerPreferences2.create = function(context) { - var dict = context.obj({}); - return new ViewerPreferences2(dict); - }; - return ViewerPreferences2; - }() -); -var ViewerPreferences_default = ViewerPreferences; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/acroform/PDFAcroField.js -var tfRegex = /\/([^\0\t\n\f\r\ ]+)[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]+Tf/; -var PDFAcroField = ( - /** @class */ - function() { - function PDFAcroField2(dict, ref) { - this.dict = dict; - this.ref = ref; - } - PDFAcroField2.prototype.T = function() { - return this.dict.lookupMaybe(PDFName_default.of("T"), PDFString_default, PDFHexString_default); - }; - PDFAcroField2.prototype.Ff = function() { - var numberOrRef = this.getInheritableAttribute(PDFName_default.of("Ff")); - return this.dict.context.lookupMaybe(numberOrRef, PDFNumber_default); - }; - PDFAcroField2.prototype.V = function() { - var valueOrRef = this.getInheritableAttribute(PDFName_default.of("V")); - return this.dict.context.lookup(valueOrRef); - }; - PDFAcroField2.prototype.Kids = function() { - return this.dict.lookupMaybe(PDFName_default.of("Kids"), PDFArray_default); - }; - PDFAcroField2.prototype.DA = function() { - var da = this.dict.lookup(PDFName_default.of("DA")); - if (da instanceof PDFString_default || da instanceof PDFHexString_default) - return da; - return void 0; - }; - PDFAcroField2.prototype.setKids = function(kids) { - this.dict.set(PDFName_default.of("Kids"), this.dict.context.obj(kids)); - }; - PDFAcroField2.prototype.getParent = function() { - var parentRef = this.dict.get(PDFName_default.of("Parent")); - if (parentRef instanceof PDFRef_default) { - var parent_1 = this.dict.lookup(PDFName_default.of("Parent"), PDFDict_default); - return new PDFAcroField2(parent_1, parentRef); - } - return void 0; - }; - PDFAcroField2.prototype.setParent = function(parent) { - if (!parent) - this.dict.delete(PDFName_default.of("Parent")); - else - this.dict.set(PDFName_default.of("Parent"), parent); - }; - PDFAcroField2.prototype.getFullyQualifiedName = function() { - var parent = this.getParent(); - if (!parent) - return this.getPartialName(); - return parent.getFullyQualifiedName() + "." + this.getPartialName(); - }; - PDFAcroField2.prototype.getPartialName = function() { - var _a; - return (_a = this.T()) === null || _a === void 0 ? void 0 : _a.decodeText(); - }; - PDFAcroField2.prototype.setPartialName = function(partialName) { - if (!partialName) - this.dict.delete(PDFName_default.of("T")); - else - this.dict.set(PDFName_default.of("T"), PDFHexString_default.fromText(partialName)); - }; - PDFAcroField2.prototype.setDefaultAppearance = function(appearance) { - this.dict.set(PDFName_default.of("DA"), PDFString_default.of(appearance)); - }; - PDFAcroField2.prototype.getDefaultAppearance = function() { - var DA = this.DA(); - if (DA instanceof PDFHexString_default) { - return DA.decodeText(); - } - return DA === null || DA === void 0 ? void 0 : DA.asString(); - }; - PDFAcroField2.prototype.setFontSize = function(fontSize) { - var _a; - var name = (_a = this.getFullyQualifiedName()) !== null && _a !== void 0 ? _a : ""; - var da = this.getDefaultAppearance(); - if (!da) - throw new MissingDAEntryError(name); - var daMatch = findLastMatch(da, tfRegex); - if (!daMatch.match) - throw new MissingTfOperatorError(name); - var daStart = da.slice(0, daMatch.pos - daMatch.match[0].length); - var daEnd = daMatch.pos <= da.length ? da.slice(daMatch.pos) : ""; - var fontName = daMatch.match[1]; - var modifiedDa = daStart + " /" + fontName + " " + fontSize + " Tf " + daEnd; - this.setDefaultAppearance(modifiedDa); - }; - PDFAcroField2.prototype.getFlags = function() { - var _a, _b; - return (_b = (_a = this.Ff()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 0; - }; - PDFAcroField2.prototype.setFlags = function(flags) { - this.dict.set(PDFName_default.of("Ff"), PDFNumber_default.of(flags)); - }; - PDFAcroField2.prototype.hasFlag = function(flag3) { - var flags = this.getFlags(); - return (flags & flag3) !== 0; - }; - PDFAcroField2.prototype.setFlag = function(flag3) { - var flags = this.getFlags(); - this.setFlags(flags | flag3); - }; - PDFAcroField2.prototype.clearFlag = function(flag3) { - var flags = this.getFlags(); - this.setFlags(flags & ~flag3); - }; - PDFAcroField2.prototype.setFlagTo = function(flag3, enable) { - if (enable) - this.setFlag(flag3); - else - this.clearFlag(flag3); - }; - PDFAcroField2.prototype.getInheritableAttribute = function(name) { - var attribute; - this.ascend(function(node) { - if (!attribute) - attribute = node.dict.get(name); - }); - return attribute; - }; - PDFAcroField2.prototype.ascend = function(visitor) { - visitor(this); - var parent = this.getParent(); - if (parent) - parent.ascend(visitor); - }; - return PDFAcroField2; - }() -); -var PDFAcroField_default = PDFAcroField; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/annotation/BorderStyle.js -var BorderStyle = ( - /** @class */ - function() { - function BorderStyle2(dict) { - this.dict = dict; - } - BorderStyle2.prototype.W = function() { - var W = this.dict.lookup(PDFName_default.of("W")); - if (W instanceof PDFNumber_default) - return W; - return void 0; - }; - BorderStyle2.prototype.getWidth = function() { - var _a, _b; - return (_b = (_a = this.W()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 1; - }; - BorderStyle2.prototype.setWidth = function(width) { - var W = this.dict.context.obj(width); - this.dict.set(PDFName_default.of("W"), W); - }; - BorderStyle2.fromDict = function(dict) { - return new BorderStyle2(dict); - }; - return BorderStyle2; - }() -); -var BorderStyle_default = BorderStyle; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/annotation/PDFAnnotation.js -var PDFAnnotation = ( - /** @class */ - function() { - function PDFAnnotation2(dict) { - this.dict = dict; - } - PDFAnnotation2.prototype.Rect = function() { - return this.dict.lookup(PDFName_default.of("Rect"), PDFArray_default); - }; - PDFAnnotation2.prototype.AP = function() { - return this.dict.lookupMaybe(PDFName_default.of("AP"), PDFDict_default); - }; - PDFAnnotation2.prototype.F = function() { - var numberOrRef = this.dict.lookup(PDFName_default.of("F")); - return this.dict.context.lookupMaybe(numberOrRef, PDFNumber_default); - }; - PDFAnnotation2.prototype.getRectangle = function() { - var _a; - var Rect = this.Rect(); - return (_a = Rect === null || Rect === void 0 ? void 0 : Rect.asRectangle()) !== null && _a !== void 0 ? _a : { x: 0, y: 0, width: 0, height: 0 }; - }; - PDFAnnotation2.prototype.setRectangle = function(rect) { - var x = rect.x, y = rect.y, width = rect.width, height = rect.height; - var Rect = this.dict.context.obj([x, y, x + width, y + height]); - this.dict.set(PDFName_default.of("Rect"), Rect); - }; - PDFAnnotation2.prototype.getAppearanceState = function() { - var AS = this.dict.lookup(PDFName_default.of("AS")); - if (AS instanceof PDFName_default) - return AS; - return void 0; - }; - PDFAnnotation2.prototype.setAppearanceState = function(state) { - this.dict.set(PDFName_default.of("AS"), state); - }; - PDFAnnotation2.prototype.setAppearances = function(appearances) { - this.dict.set(PDFName_default.of("AP"), appearances); - }; - PDFAnnotation2.prototype.ensureAP = function() { - var AP = this.AP(); - if (!AP) { - AP = this.dict.context.obj({}); - this.dict.set(PDFName_default.of("AP"), AP); - } - return AP; - }; - PDFAnnotation2.prototype.getNormalAppearance = function() { - var AP = this.ensureAP(); - var N = AP.get(PDFName_default.of("N")); - if (N instanceof PDFRef_default || N instanceof PDFDict_default) - return N; - throw new Error("Unexpected N type: " + (N === null || N === void 0 ? void 0 : N.constructor.name)); - }; - PDFAnnotation2.prototype.setNormalAppearance = function(appearance) { - var AP = this.ensureAP(); - AP.set(PDFName_default.of("N"), appearance); - }; - PDFAnnotation2.prototype.setRolloverAppearance = function(appearance) { - var AP = this.ensureAP(); - AP.set(PDFName_default.of("R"), appearance); - }; - PDFAnnotation2.prototype.setDownAppearance = function(appearance) { - var AP = this.ensureAP(); - AP.set(PDFName_default.of("D"), appearance); - }; - PDFAnnotation2.prototype.removeRolloverAppearance = function() { - var AP = this.AP(); - AP === null || AP === void 0 ? void 0 : AP.delete(PDFName_default.of("R")); - }; - PDFAnnotation2.prototype.removeDownAppearance = function() { - var AP = this.AP(); - AP === null || AP === void 0 ? void 0 : AP.delete(PDFName_default.of("D")); - }; - PDFAnnotation2.prototype.getAppearances = function() { - var AP = this.AP(); - if (!AP) - return void 0; - var N = AP.lookup(PDFName_default.of("N"), PDFDict_default, PDFStream_default); - var R = AP.lookupMaybe(PDFName_default.of("R"), PDFDict_default, PDFStream_default); - var D = AP.lookupMaybe(PDFName_default.of("D"), PDFDict_default, PDFStream_default); - return { normal: N, rollover: R, down: D }; - }; - PDFAnnotation2.prototype.getFlags = function() { - var _a, _b; - return (_b = (_a = this.F()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 0; - }; - PDFAnnotation2.prototype.setFlags = function(flags) { - this.dict.set(PDFName_default.of("F"), PDFNumber_default.of(flags)); - }; - PDFAnnotation2.prototype.hasFlag = function(flag3) { - var flags = this.getFlags(); - return (flags & flag3) !== 0; - }; - PDFAnnotation2.prototype.setFlag = function(flag3) { - var flags = this.getFlags(); - this.setFlags(flags | flag3); - }; - PDFAnnotation2.prototype.clearFlag = function(flag3) { - var flags = this.getFlags(); - this.setFlags(flags & ~flag3); - }; - PDFAnnotation2.prototype.setFlagTo = function(flag3, enable) { - if (enable) - this.setFlag(flag3); - else - this.clearFlag(flag3); - }; - PDFAnnotation2.fromDict = function(dict) { - return new PDFAnnotation2(dict); - }; - return PDFAnnotation2; - }() -); -var PDFAnnotation_default = PDFAnnotation; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/annotation/AppearanceCharacteristics.js -var AppearanceCharacteristics = ( - /** @class */ - function() { - function AppearanceCharacteristics2(dict) { - this.dict = dict; - } - AppearanceCharacteristics2.prototype.R = function() { - var R = this.dict.lookup(PDFName_default.of("R")); - if (R instanceof PDFNumber_default) - return R; - return void 0; - }; - AppearanceCharacteristics2.prototype.BC = function() { - var BC = this.dict.lookup(PDFName_default.of("BC")); - if (BC instanceof PDFArray_default) - return BC; - return void 0; - }; - AppearanceCharacteristics2.prototype.BG = function() { - var BG = this.dict.lookup(PDFName_default.of("BG")); - if (BG instanceof PDFArray_default) - return BG; - return void 0; - }; - AppearanceCharacteristics2.prototype.CA = function() { - var CA = this.dict.lookup(PDFName_default.of("CA")); - if (CA instanceof PDFHexString_default || CA instanceof PDFString_default) - return CA; - return void 0; - }; - AppearanceCharacteristics2.prototype.RC = function() { - var RC = this.dict.lookup(PDFName_default.of("RC")); - if (RC instanceof PDFHexString_default || RC instanceof PDFString_default) - return RC; - return void 0; - }; - AppearanceCharacteristics2.prototype.AC = function() { - var AC = this.dict.lookup(PDFName_default.of("AC")); - if (AC instanceof PDFHexString_default || AC instanceof PDFString_default) - return AC; - return void 0; - }; - AppearanceCharacteristics2.prototype.getRotation = function() { - var _a; - return (_a = this.R()) === null || _a === void 0 ? void 0 : _a.asNumber(); - }; - AppearanceCharacteristics2.prototype.getBorderColor = function() { - var BC = this.BC(); - if (!BC) - return void 0; - var components = []; - for (var idx = 0, len = BC === null || BC === void 0 ? void 0 : BC.size(); idx < len; idx++) { - var component = BC.get(idx); - if (component instanceof PDFNumber_default) - components.push(component.asNumber()); - } - return components; - }; - AppearanceCharacteristics2.prototype.getBackgroundColor = function() { - var BG = this.BG(); - if (!BG) - return void 0; - var components = []; - for (var idx = 0, len = BG === null || BG === void 0 ? void 0 : BG.size(); idx < len; idx++) { - var component = BG.get(idx); - if (component instanceof PDFNumber_default) - components.push(component.asNumber()); - } - return components; - }; - AppearanceCharacteristics2.prototype.getCaptions = function() { - var CA = this.CA(); - var RC = this.RC(); - var AC = this.AC(); - return { - normal: CA === null || CA === void 0 ? void 0 : CA.decodeText(), - rollover: RC === null || RC === void 0 ? void 0 : RC.decodeText(), - down: AC === null || AC === void 0 ? void 0 : AC.decodeText() - }; - }; - AppearanceCharacteristics2.prototype.setRotation = function(rotation) { - var R = this.dict.context.obj(rotation); - this.dict.set(PDFName_default.of("R"), R); - }; - AppearanceCharacteristics2.prototype.setBorderColor = function(color) { - var BC = this.dict.context.obj(color); - this.dict.set(PDFName_default.of("BC"), BC); - }; - AppearanceCharacteristics2.prototype.setBackgroundColor = function(color) { - var BG = this.dict.context.obj(color); - this.dict.set(PDFName_default.of("BG"), BG); - }; - AppearanceCharacteristics2.prototype.setCaptions = function(captions) { - var CA = PDFHexString_default.fromText(captions.normal); - this.dict.set(PDFName_default.of("CA"), CA); - if (captions.rollover) { - var RC = PDFHexString_default.fromText(captions.rollover); - this.dict.set(PDFName_default.of("RC"), RC); - } else { - this.dict.delete(PDFName_default.of("RC")); - } - if (captions.down) { - var AC = PDFHexString_default.fromText(captions.down); - this.dict.set(PDFName_default.of("AC"), AC); - } else { - this.dict.delete(PDFName_default.of("AC")); - } - }; - AppearanceCharacteristics2.fromDict = function(dict) { - return new AppearanceCharacteristics2(dict); - }; - return AppearanceCharacteristics2; - }() -); -var AppearanceCharacteristics_default = AppearanceCharacteristics; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/annotation/PDFWidgetAnnotation.js -var PDFWidgetAnnotation = ( - /** @class */ - function(_super) { - __extends(PDFWidgetAnnotation2, _super); - function PDFWidgetAnnotation2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFWidgetAnnotation2.prototype.MK = function() { - var MK = this.dict.lookup(PDFName_default.of("MK")); - if (MK instanceof PDFDict_default) - return MK; - return void 0; - }; - PDFWidgetAnnotation2.prototype.BS = function() { - var BS = this.dict.lookup(PDFName_default.of("BS")); - if (BS instanceof PDFDict_default) - return BS; - return void 0; - }; - PDFWidgetAnnotation2.prototype.DA = function() { - var da = this.dict.lookup(PDFName_default.of("DA")); - if (da instanceof PDFString_default || da instanceof PDFHexString_default) - return da; - return void 0; - }; - PDFWidgetAnnotation2.prototype.P = function() { - var P = this.dict.get(PDFName_default.of("P")); - if (P instanceof PDFRef_default) - return P; - return void 0; - }; - PDFWidgetAnnotation2.prototype.setP = function(page) { - this.dict.set(PDFName_default.of("P"), page); - }; - PDFWidgetAnnotation2.prototype.setDefaultAppearance = function(appearance) { - this.dict.set(PDFName_default.of("DA"), PDFString_default.of(appearance)); - }; - PDFWidgetAnnotation2.prototype.getDefaultAppearance = function() { - var DA = this.DA(); - if (DA instanceof PDFHexString_default) { - return DA.decodeText(); - } - return DA === null || DA === void 0 ? void 0 : DA.asString(); - }; - PDFWidgetAnnotation2.prototype.getAppearanceCharacteristics = function() { - var MK = this.MK(); - if (MK) - return AppearanceCharacteristics_default.fromDict(MK); - return void 0; - }; - PDFWidgetAnnotation2.prototype.getOrCreateAppearanceCharacteristics = function() { - var MK = this.MK(); - if (MK) - return AppearanceCharacteristics_default.fromDict(MK); - var ac = AppearanceCharacteristics_default.fromDict(this.dict.context.obj({})); - this.dict.set(PDFName_default.of("MK"), ac.dict); - return ac; - }; - PDFWidgetAnnotation2.prototype.getBorderStyle = function() { - var BS = this.BS(); - if (BS) - return BorderStyle_default.fromDict(BS); - return void 0; - }; - PDFWidgetAnnotation2.prototype.getOrCreateBorderStyle = function() { - var BS = this.BS(); - if (BS) - return BorderStyle_default.fromDict(BS); - var bs = BorderStyle_default.fromDict(this.dict.context.obj({})); - this.dict.set(PDFName_default.of("BS"), bs.dict); - return bs; - }; - PDFWidgetAnnotation2.prototype.getOnValue = function() { - var _a; - var normal = (_a = this.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal; - if (normal instanceof PDFDict_default) { - var keys = normal.keys(); - for (var idx = 0, len = keys.length; idx < len; idx++) { - var key = keys[idx]; - if (key !== PDFName_default.of("Off")) - return key; - } - } - return void 0; - }; - PDFWidgetAnnotation2.fromDict = function(dict) { - return new PDFWidgetAnnotation2(dict); - }; - PDFWidgetAnnotation2.create = function(context, parent) { - var dict = context.obj({ - Type: "Annot", - Subtype: "Widget", - Rect: [0, 0, 0, 0], - Parent: parent - }); - return new PDFWidgetAnnotation2(dict); - }; - return PDFWidgetAnnotation2; - }(PDFAnnotation_default) -); -var PDFWidgetAnnotation_default = PDFWidgetAnnotation; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js -var PDFAcroTerminal = ( - /** @class */ - function(_super) { - __extends(PDFAcroTerminal2, _super); - function PDFAcroTerminal2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroTerminal2.prototype.FT = function() { - var nameOrRef = this.getInheritableAttribute(PDFName_default.of("FT")); - return this.dict.context.lookup(nameOrRef, PDFName_default); - }; - PDFAcroTerminal2.prototype.getWidgets = function() { - var kidDicts = this.Kids(); - if (!kidDicts) - return [PDFWidgetAnnotation_default.fromDict(this.dict)]; - var widgets = new Array(kidDicts.size()); - for (var idx = 0, len = kidDicts.size(); idx < len; idx++) { - var dict = kidDicts.lookup(idx, PDFDict_default); - widgets[idx] = PDFWidgetAnnotation_default.fromDict(dict); - } - return widgets; - }; - PDFAcroTerminal2.prototype.addWidget = function(ref) { - var Kids = this.normalizedEntries().Kids; - Kids.push(ref); - }; - PDFAcroTerminal2.prototype.removeWidget = function(idx) { - var kidDicts = this.Kids(); - if (!kidDicts) { - if (idx !== 0) - throw new IndexOutOfBoundsError(idx, 0, 0); - this.setKids([]); - } else { - if (idx < 0 || idx > kidDicts.size()) { - throw new IndexOutOfBoundsError(idx, 0, kidDicts.size()); - } - kidDicts.remove(idx); - } - }; - PDFAcroTerminal2.prototype.normalizedEntries = function() { - var Kids = this.Kids(); - if (!Kids) { - Kids = this.dict.context.obj([this.ref]); - this.dict.set(PDFName_default.of("Kids"), Kids); - } - return { Kids }; - }; - PDFAcroTerminal2.fromDict = function(dict, ref) { - return new PDFAcroTerminal2(dict, ref); - }; - return PDFAcroTerminal2; - }(PDFAcroField_default) -); -var PDFAcroTerminal_default = PDFAcroTerminal; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js -var PDFAcroButton = ( - /** @class */ - function(_super) { - __extends(PDFAcroButton2, _super); - function PDFAcroButton2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroButton2.prototype.Opt = function() { - return this.dict.lookupMaybe(PDFName_default.of("Opt"), PDFString_default, PDFHexString_default, PDFArray_default); - }; - PDFAcroButton2.prototype.setOpt = function(opt) { - this.dict.set(PDFName_default.of("Opt"), this.dict.context.obj(opt)); - }; - PDFAcroButton2.prototype.getExportValues = function() { - var opt = this.Opt(); - if (!opt) - return void 0; - if (opt instanceof PDFString_default || opt instanceof PDFHexString_default) { - return [opt]; - } - var values2 = []; - for (var idx = 0, len = opt.size(); idx < len; idx++) { - var value = opt.lookup(idx); - if (value instanceof PDFString_default || value instanceof PDFHexString_default) { - values2.push(value); - } - } - return values2; - }; - PDFAcroButton2.prototype.removeExportValue = function(idx) { - var opt = this.Opt(); - if (!opt) - return; - if (opt instanceof PDFString_default || opt instanceof PDFHexString_default) { - if (idx !== 0) - throw new IndexOutOfBoundsError(idx, 0, 0); - this.setOpt([]); - } else { - if (idx < 0 || idx > opt.size()) { - throw new IndexOutOfBoundsError(idx, 0, opt.size()); - } - opt.remove(idx); - } - }; - PDFAcroButton2.prototype.normalizeExportValues = function() { - var _a, _b, _c, _d; - var exportValues = (_a = this.getExportValues()) !== null && _a !== void 0 ? _a : []; - var Opt = []; - var widgets = this.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var exportVal = (_b = exportValues[idx]) !== null && _b !== void 0 ? _b : PDFHexString_default.fromText((_d = (_c = widget.getOnValue()) === null || _c === void 0 ? void 0 : _c.decodeText()) !== null && _d !== void 0 ? _d : ""); - Opt.push(exportVal); - } - this.setOpt(Opt); - }; - PDFAcroButton2.prototype.addOpt = function(opt, useExistingOptIdx) { - var _a; - this.normalizeExportValues(); - var optText = opt.decodeText(); - var existingIdx; - if (useExistingOptIdx) { - var exportValues = (_a = this.getExportValues()) !== null && _a !== void 0 ? _a : []; - for (var idx = 0, len = exportValues.length; idx < len; idx++) { - var exportVal = exportValues[idx]; - if (exportVal.decodeText() === optText) - existingIdx = idx; - } - } - var Opt = this.Opt(); - Opt.push(opt); - return existingIdx !== null && existingIdx !== void 0 ? existingIdx : Opt.size() - 1; - }; - PDFAcroButton2.prototype.addWidgetWithOpt = function(widget, opt, useExistingOptIdx) { - var optIdx = this.addOpt(opt, useExistingOptIdx); - var apStateValue = PDFName_default.of(String(optIdx)); - this.addWidget(widget); - return apStateValue; - }; - return PDFAcroButton2; - }(PDFAcroTerminal_default) -); -var PDFAcroButton_default = PDFAcroButton; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/acroform/PDFAcroCheckBox.js -var PDFAcroCheckBox = ( - /** @class */ - function(_super) { - __extends(PDFAcroCheckBox2, _super); - function PDFAcroCheckBox2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroCheckBox2.prototype.setValue = function(value) { - var _a; - var onValue = (_a = this.getOnValue()) !== null && _a !== void 0 ? _a : PDFName_default.of("Yes"); - if (value !== onValue && value !== PDFName_default.of("Off")) { - throw new InvalidAcroFieldValueError(); - } - this.dict.set(PDFName_default.of("V"), value); - var widgets = this.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var state = widget.getOnValue() === value ? value : PDFName_default.of("Off"); - widget.setAppearanceState(state); - } - }; - PDFAcroCheckBox2.prototype.getValue = function() { - var v = this.V(); - if (v instanceof PDFName_default) - return v; - return PDFName_default.of("Off"); - }; - PDFAcroCheckBox2.prototype.getOnValue = function() { - var widget = this.getWidgets()[0]; - return widget === null || widget === void 0 ? void 0 : widget.getOnValue(); - }; - PDFAcroCheckBox2.fromDict = function(dict, ref) { - return new PDFAcroCheckBox2(dict, ref); - }; - PDFAcroCheckBox2.create = function(context) { - var dict = context.obj({ - FT: "Btn", - Kids: [] - }); - var ref = context.register(dict); - return new PDFAcroCheckBox2(dict, ref); - }; - return PDFAcroCheckBox2; - }(PDFAcroButton_default) -); -var PDFAcroCheckBox_default = PDFAcroCheckBox; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/acroform/flags.js -var flag = function(bitIndex) { - return 1 << bitIndex; -}; -var AcroFieldFlags; -(function(AcroFieldFlags2) { - AcroFieldFlags2[AcroFieldFlags2["ReadOnly"] = flag(1 - 1)] = "ReadOnly"; - AcroFieldFlags2[AcroFieldFlags2["Required"] = flag(2 - 1)] = "Required"; - AcroFieldFlags2[AcroFieldFlags2["NoExport"] = flag(3 - 1)] = "NoExport"; -})(AcroFieldFlags || (AcroFieldFlags = {})); -var AcroButtonFlags; -(function(AcroButtonFlags2) { - AcroButtonFlags2[AcroButtonFlags2["NoToggleToOff"] = flag(15 - 1)] = "NoToggleToOff"; - AcroButtonFlags2[AcroButtonFlags2["Radio"] = flag(16 - 1)] = "Radio"; - AcroButtonFlags2[AcroButtonFlags2["PushButton"] = flag(17 - 1)] = "PushButton"; - AcroButtonFlags2[AcroButtonFlags2["RadiosInUnison"] = flag(26 - 1)] = "RadiosInUnison"; -})(AcroButtonFlags || (AcroButtonFlags = {})); -var AcroTextFlags; -(function(AcroTextFlags2) { - AcroTextFlags2[AcroTextFlags2["Multiline"] = flag(13 - 1)] = "Multiline"; - AcroTextFlags2[AcroTextFlags2["Password"] = flag(14 - 1)] = "Password"; - AcroTextFlags2[AcroTextFlags2["FileSelect"] = flag(21 - 1)] = "FileSelect"; - AcroTextFlags2[AcroTextFlags2["DoNotSpellCheck"] = flag(23 - 1)] = "DoNotSpellCheck"; - AcroTextFlags2[AcroTextFlags2["DoNotScroll"] = flag(24 - 1)] = "DoNotScroll"; - AcroTextFlags2[AcroTextFlags2["Comb"] = flag(25 - 1)] = "Comb"; - AcroTextFlags2[AcroTextFlags2["RichText"] = flag(26 - 1)] = "RichText"; -})(AcroTextFlags || (AcroTextFlags = {})); -var AcroChoiceFlags; -(function(AcroChoiceFlags2) { - AcroChoiceFlags2[AcroChoiceFlags2["Combo"] = flag(18 - 1)] = "Combo"; - AcroChoiceFlags2[AcroChoiceFlags2["Edit"] = flag(19 - 1)] = "Edit"; - AcroChoiceFlags2[AcroChoiceFlags2["Sort"] = flag(20 - 1)] = "Sort"; - AcroChoiceFlags2[AcroChoiceFlags2["MultiSelect"] = flag(22 - 1)] = "MultiSelect"; - AcroChoiceFlags2[AcroChoiceFlags2["DoNotSpellCheck"] = flag(23 - 1)] = "DoNotSpellCheck"; - AcroChoiceFlags2[AcroChoiceFlags2["CommitOnSelChange"] = flag(27 - 1)] = "CommitOnSelChange"; -})(AcroChoiceFlags || (AcroChoiceFlags = {})); - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js -var PDFAcroChoice = ( - /** @class */ - function(_super) { - __extends(PDFAcroChoice2, _super); - function PDFAcroChoice2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroChoice2.prototype.setValues = function(values2) { - if (this.hasFlag(AcroChoiceFlags.Combo) && !this.hasFlag(AcroChoiceFlags.Edit) && !this.valuesAreValid(values2)) { - throw new InvalidAcroFieldValueError(); - } - if (values2.length === 0) { - this.dict.delete(PDFName_default.of("V")); - } - if (values2.length === 1) { - this.dict.set(PDFName_default.of("V"), values2[0]); - } - if (values2.length > 1) { - if (!this.hasFlag(AcroChoiceFlags.MultiSelect)) { - throw new MultiSelectValueError(); - } - this.dict.set(PDFName_default.of("V"), this.dict.context.obj(values2)); - } - this.updateSelectedIndices(values2); - }; - PDFAcroChoice2.prototype.valuesAreValid = function(values2) { - var options = this.getOptions(); - var _loop_1 = function(idx2, len2) { - var val = values2[idx2].decodeText(); - if (!options.find(function(o) { - return val === (o.display || o.value).decodeText(); - })) { - return { value: false }; - } - }; - for (var idx = 0, len = values2.length; idx < len; idx++) { - var state_1 = _loop_1(idx, len); - if (typeof state_1 === "object") - return state_1.value; - } - return true; - }; - PDFAcroChoice2.prototype.updateSelectedIndices = function(values2) { - if (values2.length > 1) { - var indices = new Array(values2.length); - var options = this.getOptions(); - var _loop_2 = function(idx2, len2) { - var val = values2[idx2].decodeText(); - indices[idx2] = options.findIndex(function(o) { - return val === (o.display || o.value).decodeText(); - }); - }; - for (var idx = 0, len = values2.length; idx < len; idx++) { - _loop_2(idx, len); - } - this.dict.set(PDFName_default.of("I"), this.dict.context.obj(indices.sort())); - } else { - this.dict.delete(PDFName_default.of("I")); - } - }; - PDFAcroChoice2.prototype.getValues = function() { - var v = this.V(); - if (v instanceof PDFString_default || v instanceof PDFHexString_default) - return [v]; - if (v instanceof PDFArray_default) { - var values2 = []; - for (var idx = 0, len = v.size(); idx < len; idx++) { - var value = v.lookup(idx); - if (value instanceof PDFString_default || value instanceof PDFHexString_default) { - values2.push(value); - } - } - return values2; - } - return []; - }; - PDFAcroChoice2.prototype.Opt = function() { - return this.dict.lookupMaybe(PDFName_default.of("Opt"), PDFString_default, PDFHexString_default, PDFArray_default); - }; - PDFAcroChoice2.prototype.setOptions = function(options) { - var newOpt = new Array(options.length); - for (var idx = 0, len = options.length; idx < len; idx++) { - var _a = options[idx], value = _a.value, display = _a.display; - newOpt[idx] = this.dict.context.obj([value, display || value]); - } - this.dict.set(PDFName_default.of("Opt"), this.dict.context.obj(newOpt)); - }; - PDFAcroChoice2.prototype.getOptions = function() { - var Opt = this.Opt(); - if (Opt instanceof PDFString_default || Opt instanceof PDFHexString_default) { - return [{ value: Opt, display: Opt }]; - } - if (Opt instanceof PDFArray_default) { - var res = []; - for (var idx = 0, len = Opt.size(); idx < len; idx++) { - var item = Opt.lookup(idx); - if (item instanceof PDFString_default || item instanceof PDFHexString_default) { - res.push({ value: item, display: item }); - } - if (item instanceof PDFArray_default) { - if (item.size() > 0) { - var first = item.lookup(0, PDFString_default, PDFHexString_default); - var second = item.lookupMaybe(1, PDFString_default, PDFHexString_default); - res.push({ value: first, display: second || first }); - } - } - } - return res; - } - return []; - }; - return PDFAcroChoice2; - }(PDFAcroTerminal_default) -); -var PDFAcroChoice_default = PDFAcroChoice; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/acroform/PDFAcroComboBox.js -var PDFAcroComboBox = ( - /** @class */ - function(_super) { - __extends(PDFAcroComboBox2, _super); - function PDFAcroComboBox2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroComboBox2.fromDict = function(dict, ref) { - return new PDFAcroComboBox2(dict, ref); - }; - PDFAcroComboBox2.create = function(context) { - var dict = context.obj({ - FT: "Ch", - Ff: AcroChoiceFlags.Combo, - Kids: [] - }); - var ref = context.register(dict); - return new PDFAcroComboBox2(dict, ref); - }; - return PDFAcroComboBox2; - }(PDFAcroChoice_default) -); -var PDFAcroComboBox_default = PDFAcroComboBox; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js -var PDFAcroNonTerminal = ( - /** @class */ - function(_super) { - __extends(PDFAcroNonTerminal2, _super); - function PDFAcroNonTerminal2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroNonTerminal2.prototype.addField = function(field) { - var Kids = this.normalizedEntries().Kids; - Kids === null || Kids === void 0 ? void 0 : Kids.push(field); - }; - PDFAcroNonTerminal2.prototype.normalizedEntries = function() { - var Kids = this.Kids(); - if (!Kids) { - Kids = this.dict.context.obj([]); - this.dict.set(PDFName_default.of("Kids"), Kids); - } - return { Kids }; - }; - PDFAcroNonTerminal2.fromDict = function(dict, ref) { - return new PDFAcroNonTerminal2(dict, ref); - }; - PDFAcroNonTerminal2.create = function(context) { - var dict = context.obj({}); - var ref = context.register(dict); - return new PDFAcroNonTerminal2(dict, ref); - }; - return PDFAcroNonTerminal2; - }(PDFAcroField_default) -); -var PDFAcroNonTerminal_default = PDFAcroNonTerminal; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/acroform/PDFAcroSignature.js -var PDFAcroSignature = ( - /** @class */ - function(_super) { - __extends(PDFAcroSignature2, _super); - function PDFAcroSignature2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroSignature2.fromDict = function(dict, ref) { - return new PDFAcroSignature2(dict, ref); - }; - return PDFAcroSignature2; - }(PDFAcroTerminal_default) -); -var PDFAcroSignature_default = PDFAcroSignature; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/acroform/PDFAcroText.js -var PDFAcroText = ( - /** @class */ - function(_super) { - __extends(PDFAcroText2, _super); - function PDFAcroText2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroText2.prototype.MaxLen = function() { - var maxLen = this.dict.lookup(PDFName_default.of("MaxLen")); - if (maxLen instanceof PDFNumber_default) - return maxLen; - return void 0; - }; - PDFAcroText2.prototype.Q = function() { - var q = this.dict.lookup(PDFName_default.of("Q")); - if (q instanceof PDFNumber_default) - return q; - return void 0; - }; - PDFAcroText2.prototype.setMaxLength = function(maxLength) { - this.dict.set(PDFName_default.of("MaxLen"), PDFNumber_default.of(maxLength)); - }; - PDFAcroText2.prototype.removeMaxLength = function() { - this.dict.delete(PDFName_default.of("MaxLen")); - }; - PDFAcroText2.prototype.getMaxLength = function() { - var _a; - return (_a = this.MaxLen()) === null || _a === void 0 ? void 0 : _a.asNumber(); - }; - PDFAcroText2.prototype.setQuadding = function(quadding) { - this.dict.set(PDFName_default.of("Q"), PDFNumber_default.of(quadding)); - }; - PDFAcroText2.prototype.getQuadding = function() { - var _a; - return (_a = this.Q()) === null || _a === void 0 ? void 0 : _a.asNumber(); - }; - PDFAcroText2.prototype.setValue = function(value) { - this.dict.set(PDFName_default.of("V"), value); - }; - PDFAcroText2.prototype.removeValue = function() { - this.dict.delete(PDFName_default.of("V")); - }; - PDFAcroText2.prototype.getValue = function() { - var v = this.V(); - if (v instanceof PDFString_default || v instanceof PDFHexString_default) - return v; - return void 0; - }; - PDFAcroText2.fromDict = function(dict, ref) { - return new PDFAcroText2(dict, ref); - }; - PDFAcroText2.create = function(context) { - var dict = context.obj({ - FT: "Tx", - Kids: [] - }); - var ref = context.register(dict); - return new PDFAcroText2(dict, ref); - }; - return PDFAcroText2; - }(PDFAcroTerminal_default) -); -var PDFAcroText_default = PDFAcroText; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/acroform/PDFAcroPushButton.js -var PDFAcroPushButton = ( - /** @class */ - function(_super) { - __extends(PDFAcroPushButton2, _super); - function PDFAcroPushButton2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroPushButton2.fromDict = function(dict, ref) { - return new PDFAcroPushButton2(dict, ref); - }; - PDFAcroPushButton2.create = function(context) { - var dict = context.obj({ - FT: "Btn", - Ff: AcroButtonFlags.PushButton, - Kids: [] - }); - var ref = context.register(dict); - return new PDFAcroPushButton2(dict, ref); - }; - return PDFAcroPushButton2; - }(PDFAcroButton_default) -); -var PDFAcroPushButton_default = PDFAcroPushButton; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/acroform/PDFAcroRadioButton.js -var PDFAcroRadioButton = ( - /** @class */ - function(_super) { - __extends(PDFAcroRadioButton2, _super); - function PDFAcroRadioButton2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroRadioButton2.prototype.setValue = function(value) { - var onValues = this.getOnValues(); - if (!onValues.includes(value) && value !== PDFName_default.of("Off")) { - throw new InvalidAcroFieldValueError(); - } - this.dict.set(PDFName_default.of("V"), value); - var widgets = this.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var state = widget.getOnValue() === value ? value : PDFName_default.of("Off"); - widget.setAppearanceState(state); - } - }; - PDFAcroRadioButton2.prototype.getValue = function() { - var v = this.V(); - if (v instanceof PDFName_default) - return v; - return PDFName_default.of("Off"); - }; - PDFAcroRadioButton2.prototype.getOnValues = function() { - var widgets = this.getWidgets(); - var onValues = []; - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var onValue = widgets[idx].getOnValue(); - if (onValue) - onValues.push(onValue); - } - return onValues; - }; - PDFAcroRadioButton2.fromDict = function(dict, ref) { - return new PDFAcroRadioButton2(dict, ref); - }; - PDFAcroRadioButton2.create = function(context) { - var dict = context.obj({ - FT: "Btn", - Ff: AcroButtonFlags.Radio, - Kids: [] - }); - var ref = context.register(dict); - return new PDFAcroRadioButton2(dict, ref); - }; - return PDFAcroRadioButton2; - }(PDFAcroButton_default) -); -var PDFAcroRadioButton_default = PDFAcroRadioButton; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/acroform/PDFAcroListBox.js -var PDFAcroListBox = ( - /** @class */ - function(_super) { - __extends(PDFAcroListBox2, _super); - function PDFAcroListBox2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFAcroListBox2.fromDict = function(dict, ref) { - return new PDFAcroListBox2(dict, ref); - }; - PDFAcroListBox2.create = function(context) { - var dict = context.obj({ - FT: "Ch", - Kids: [] - }); - var ref = context.register(dict); - return new PDFAcroListBox2(dict, ref); - }; - return PDFAcroListBox2; - }(PDFAcroChoice_default) -); -var PDFAcroListBox_default = PDFAcroListBox; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/acroform/utils.js -var createPDFAcroFields = function(kidDicts) { - if (!kidDicts) - return []; - var kids = []; - for (var idx = 0, len = kidDicts.size(); idx < len; idx++) { - var ref = kidDicts.get(idx); - var dict = kidDicts.lookup(idx); - if (ref instanceof PDFRef_default && dict instanceof PDFDict_default) { - kids.push([createPDFAcroField(dict, ref), ref]); - } - } - return kids; -}; -var createPDFAcroField = function(dict, ref) { - var isNonTerminal = isNonTerminalAcroField(dict); - if (isNonTerminal) - return PDFAcroNonTerminal_default.fromDict(dict, ref); - return createPDFAcroTerminal(dict, ref); -}; -var isNonTerminalAcroField = function(dict) { - var kids = dict.lookup(PDFName_default.of("Kids")); - if (kids instanceof PDFArray_default) { - for (var idx = 0, len = kids.size(); idx < len; idx++) { - var kid = kids.lookup(idx); - var kidIsField = kid instanceof PDFDict_default && kid.has(PDFName_default.of("T")); - if (kidIsField) - return true; - } - } - return false; -}; -var createPDFAcroTerminal = function(dict, ref) { - var ftNameOrRef = getInheritableAttribute(dict, PDFName_default.of("FT")); - var type = dict.context.lookup(ftNameOrRef, PDFName_default); - if (type === PDFName_default.of("Btn")) - return createPDFAcroButton(dict, ref); - if (type === PDFName_default.of("Ch")) - return createPDFAcroChoice(dict, ref); - if (type === PDFName_default.of("Tx")) - return PDFAcroText_default.fromDict(dict, ref); - if (type === PDFName_default.of("Sig")) - return PDFAcroSignature_default.fromDict(dict, ref); - return PDFAcroTerminal_default.fromDict(dict, ref); -}; -var createPDFAcroButton = function(dict, ref) { - var _a; - var ffNumberOrRef = getInheritableAttribute(dict, PDFName_default.of("Ff")); - var ffNumber = dict.context.lookupMaybe(ffNumberOrRef, PDFNumber_default); - var flags = (_a = ffNumber === null || ffNumber === void 0 ? void 0 : ffNumber.asNumber()) !== null && _a !== void 0 ? _a : 0; - if (flagIsSet(flags, AcroButtonFlags.PushButton)) { - return PDFAcroPushButton_default.fromDict(dict, ref); - } else if (flagIsSet(flags, AcroButtonFlags.Radio)) { - return PDFAcroRadioButton_default.fromDict(dict, ref); - } else { - return PDFAcroCheckBox_default.fromDict(dict, ref); - } -}; -var createPDFAcroChoice = function(dict, ref) { - var _a; - var ffNumberOrRef = getInheritableAttribute(dict, PDFName_default.of("Ff")); - var ffNumber = dict.context.lookupMaybe(ffNumberOrRef, PDFNumber_default); - var flags = (_a = ffNumber === null || ffNumber === void 0 ? void 0 : ffNumber.asNumber()) !== null && _a !== void 0 ? _a : 0; - if (flagIsSet(flags, AcroChoiceFlags.Combo)) { - return PDFAcroComboBox_default.fromDict(dict, ref); - } else { - return PDFAcroListBox_default.fromDict(dict, ref); - } -}; -var flagIsSet = function(flags, flag3) { - return (flags & flag3) !== 0; -}; -var getInheritableAttribute = function(startNode, name) { - var attribute; - ascend(startNode, function(node) { - if (!attribute) - attribute = node.get(name); - }); - return attribute; -}; -var ascend = function(startNode, visitor) { - visitor(startNode); - var Parent = startNode.lookupMaybe(PDFName_default.of("Parent"), PDFDict_default); - if (Parent) - ascend(Parent, visitor); -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/acroform/PDFAcroForm.js -var PDFAcroForm = ( - /** @class */ - function() { - function PDFAcroForm2(dict) { - this.dict = dict; - } - PDFAcroForm2.prototype.Fields = function() { - var fields = this.dict.lookup(PDFName_default.of("Fields")); - if (fields instanceof PDFArray_default) - return fields; - return void 0; - }; - PDFAcroForm2.prototype.getFields = function() { - var Fields = this.normalizedEntries().Fields; - var fields = new Array(Fields.size()); - for (var idx = 0, len = Fields.size(); idx < len; idx++) { - var ref = Fields.get(idx); - var dict = Fields.lookup(idx, PDFDict_default); - fields[idx] = [createPDFAcroField(dict, ref), ref]; - } - return fields; - }; - PDFAcroForm2.prototype.getAllFields = function() { - var allFields = []; - var pushFields = function(fields) { - if (!fields) - return; - for (var idx = 0, len = fields.length; idx < len; idx++) { - var field = fields[idx]; - allFields.push(field); - var fieldModel = field[0]; - if (fieldModel instanceof PDFAcroNonTerminal_default) { - pushFields(createPDFAcroFields(fieldModel.Kids())); - } - } - }; - pushFields(this.getFields()); - return allFields; - }; - PDFAcroForm2.prototype.addField = function(field) { - var Fields = this.normalizedEntries().Fields; - Fields === null || Fields === void 0 ? void 0 : Fields.push(field); - }; - PDFAcroForm2.prototype.removeField = function(field) { - var parent = field.getParent(); - var fields = parent === void 0 ? this.normalizedEntries().Fields : parent.Kids(); - var index = fields === null || fields === void 0 ? void 0 : fields.indexOf(field.ref); - if (fields === void 0 || index === void 0) { - throw new Error("Tried to remove inexistent field " + field.getFullyQualifiedName()); - } - fields.remove(index); - if (parent !== void 0 && fields.size() === 0) { - this.removeField(parent); - } - }; - PDFAcroForm2.prototype.normalizedEntries = function() { - var Fields = this.Fields(); - if (!Fields) { - Fields = this.dict.context.obj([]); - this.dict.set(PDFName_default.of("Fields"), Fields); - } - return { Fields }; - }; - PDFAcroForm2.fromDict = function(dict) { - return new PDFAcroForm2(dict); - }; - PDFAcroForm2.create = function(context) { - var dict = context.obj({ Fields: [] }); - return new PDFAcroForm2(dict); - }; - return PDFAcroForm2; - }() -); -var PDFAcroForm_default = PDFAcroForm; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/structures/PDFCatalog.js -var PDFCatalog = ( - /** @class */ - function(_super) { - __extends(PDFCatalog2, _super); - function PDFCatalog2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFCatalog2.prototype.Pages = function() { - return this.lookup(PDFName_default.of("Pages"), PDFDict_default); - }; - PDFCatalog2.prototype.AcroForm = function() { - return this.lookupMaybe(PDFName_default.of("AcroForm"), PDFDict_default); - }; - PDFCatalog2.prototype.getAcroForm = function() { - var dict = this.AcroForm(); - if (!dict) - return void 0; - return PDFAcroForm_default.fromDict(dict); - }; - PDFCatalog2.prototype.getOrCreateAcroForm = function() { - var acroForm = this.getAcroForm(); - if (!acroForm) { - acroForm = PDFAcroForm_default.create(this.context); - var acroFormRef = this.context.register(acroForm.dict); - this.set(PDFName_default.of("AcroForm"), acroFormRef); - } - return acroForm; - }; - PDFCatalog2.prototype.ViewerPreferences = function() { - return this.lookupMaybe(PDFName_default.of("ViewerPreferences"), PDFDict_default); - }; - PDFCatalog2.prototype.getViewerPreferences = function() { - var dict = this.ViewerPreferences(); - if (!dict) - return void 0; - return ViewerPreferences_default.fromDict(dict); - }; - PDFCatalog2.prototype.getOrCreateViewerPreferences = function() { - var viewerPrefs = this.getViewerPreferences(); - if (!viewerPrefs) { - viewerPrefs = ViewerPreferences_default.create(this.context); - var viewerPrefsRef = this.context.register(viewerPrefs.dict); - this.set(PDFName_default.of("ViewerPreferences"), viewerPrefsRef); - } - return viewerPrefs; - }; - PDFCatalog2.prototype.insertLeafNode = function(leafRef, index) { - var pagesRef = this.get(PDFName_default.of("Pages")); - var maybeParentRef = this.Pages().insertLeafNode(leafRef, index); - return maybeParentRef || pagesRef; - }; - PDFCatalog2.prototype.removeLeafNode = function(index) { - this.Pages().removeLeafNode(index); - }; - PDFCatalog2.withContextAndPages = function(context, pages) { - var dict = /* @__PURE__ */ new Map(); - dict.set(PDFName_default.of("Type"), PDFName_default.of("Catalog")); - dict.set(PDFName_default.of("Pages"), pages); - return new PDFCatalog2(dict, context); - }; - PDFCatalog2.fromMapWithContext = function(map, context) { - return new PDFCatalog2(map, context); - }; - return PDFCatalog2; - }(PDFDict_default) -); -var PDFCatalog_default = PDFCatalog; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/structures/PDFPageTree.js -var PDFPageTree = ( - /** @class */ - function(_super) { - __extends(PDFPageTree2, _super); - function PDFPageTree2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PDFPageTree2.prototype.Parent = function() { - return this.lookup(PDFName_default.of("Parent")); - }; - PDFPageTree2.prototype.Kids = function() { - return this.lookup(PDFName_default.of("Kids"), PDFArray_default); - }; - PDFPageTree2.prototype.Count = function() { - return this.lookup(PDFName_default.of("Count"), PDFNumber_default); - }; - PDFPageTree2.prototype.pushTreeNode = function(treeRef) { - var Kids = this.Kids(); - Kids.push(treeRef); - }; - PDFPageTree2.prototype.pushLeafNode = function(leafRef) { - var Kids = this.Kids(); - this.insertLeafKid(Kids.size(), leafRef); - }; - PDFPageTree2.prototype.insertLeafNode = function(leafRef, targetIndex) { - var Kids = this.Kids(); - var Count = this.Count().asNumber(); - if (targetIndex > Count) { - throw new InvalidTargetIndexError(targetIndex, Count); - } - var leafsRemainingUntilTarget = targetIndex; - for (var idx = 0, len = Kids.size(); idx < len; idx++) { - if (leafsRemainingUntilTarget === 0) { - this.insertLeafKid(idx, leafRef); - return void 0; - } - var kidRef = Kids.get(idx); - var kid = this.context.lookup(kidRef); - if (kid instanceof PDFPageTree2) { - if (kid.Count().asNumber() > leafsRemainingUntilTarget) { - return kid.insertLeafNode(leafRef, leafsRemainingUntilTarget) || kidRef; - } else { - leafsRemainingUntilTarget -= kid.Count().asNumber(); - } - } - if (kid instanceof PDFPageLeaf_default) { - leafsRemainingUntilTarget -= 1; - } - } - if (leafsRemainingUntilTarget === 0) { - this.insertLeafKid(Kids.size(), leafRef); - return void 0; - } - throw new CorruptPageTreeError(targetIndex, "insertLeafNode"); - }; - PDFPageTree2.prototype.removeLeafNode = function(targetIndex, prune) { - if (prune === void 0) { - prune = true; - } - var Kids = this.Kids(); - var Count = this.Count().asNumber(); - if (targetIndex >= Count) { - throw new InvalidTargetIndexError(targetIndex, Count); - } - var leafsRemainingUntilTarget = targetIndex; - for (var idx = 0, len = Kids.size(); idx < len; idx++) { - var kidRef = Kids.get(idx); - var kid = this.context.lookup(kidRef); - if (kid instanceof PDFPageTree2) { - if (kid.Count().asNumber() > leafsRemainingUntilTarget) { - kid.removeLeafNode(leafsRemainingUntilTarget, prune); - if (prune && kid.Kids().size() === 0) - Kids.remove(idx); - return; - } else { - leafsRemainingUntilTarget -= kid.Count().asNumber(); - } - } - if (kid instanceof PDFPageLeaf_default) { - if (leafsRemainingUntilTarget === 0) { - this.removeKid(idx); - return; - } else { - leafsRemainingUntilTarget -= 1; - } - } - } - throw new CorruptPageTreeError(targetIndex, "removeLeafNode"); - }; - PDFPageTree2.prototype.ascend = function(visitor) { - visitor(this); - var Parent = this.Parent(); - if (Parent) - Parent.ascend(visitor); - }; - PDFPageTree2.prototype.traverse = function(visitor) { - var Kids = this.Kids(); - for (var idx = 0, len = Kids.size(); idx < len; idx++) { - var kidRef = Kids.get(idx); - var kid = this.context.lookup(kidRef); - if (kid instanceof PDFPageTree2) - kid.traverse(visitor); - visitor(kid, kidRef); - } - }; - PDFPageTree2.prototype.insertLeafKid = function(kidIdx, leafRef) { - var Kids = this.Kids(); - this.ascend(function(node) { - var newCount = node.Count().asNumber() + 1; - node.set(PDFName_default.of("Count"), PDFNumber_default.of(newCount)); - }); - Kids.insert(kidIdx, leafRef); - }; - PDFPageTree2.prototype.removeKid = function(kidIdx) { - var Kids = this.Kids(); - var kid = Kids.lookup(kidIdx); - if (kid instanceof PDFPageLeaf_default) { - this.ascend(function(node) { - var newCount = node.Count().asNumber() - 1; - node.set(PDFName_default.of("Count"), PDFNumber_default.of(newCount)); - }); - } - Kids.remove(kidIdx); - }; - PDFPageTree2.withContext = function(context, parent) { - var dict = /* @__PURE__ */ new Map(); - dict.set(PDFName_default.of("Type"), PDFName_default.of("Pages")); - dict.set(PDFName_default.of("Kids"), context.obj([])); - dict.set(PDFName_default.of("Count"), context.obj(0)); - if (parent) - dict.set(PDFName_default.of("Parent"), parent); - return new PDFPageTree2(dict, context); - }; - PDFPageTree2.fromMapWithContext = function(map, context) { - return new PDFPageTree2(map, context); - }; - return PDFPageTree2; - }(PDFDict_default) -); -var PDFPageTree_default = PDFPageTree; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/syntax/Numeric.js -var IsDigit = new Uint8Array(256); -IsDigit[CharCodes_default.Zero] = 1; -IsDigit[CharCodes_default.One] = 1; -IsDigit[CharCodes_default.Two] = 1; -IsDigit[CharCodes_default.Three] = 1; -IsDigit[CharCodes_default.Four] = 1; -IsDigit[CharCodes_default.Five] = 1; -IsDigit[CharCodes_default.Six] = 1; -IsDigit[CharCodes_default.Seven] = 1; -IsDigit[CharCodes_default.Eight] = 1; -IsDigit[CharCodes_default.Nine] = 1; -var IsNumericPrefix = new Uint8Array(256); -IsNumericPrefix[CharCodes_default.Period] = 1; -IsNumericPrefix[CharCodes_default.Plus] = 1; -IsNumericPrefix[CharCodes_default.Minus] = 1; -var IsNumeric = new Uint8Array(256); -for (idx = 0, len = 256; idx < len; idx++) { - IsNumeric[idx] = IsDigit[idx] || IsNumericPrefix[idx] ? 1 : 0; -} -var idx; -var len; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/parser/BaseParser.js -var Newline = CharCodes_default.Newline; -var CarriageReturn = CharCodes_default.CarriageReturn; -var BaseParser = ( - /** @class */ - function() { - function BaseParser2(bytes, capNumbers) { - if (capNumbers === void 0) { - capNumbers = false; - } - this.bytes = bytes; - this.capNumbers = capNumbers; - } - BaseParser2.prototype.parseRawInt = function() { - var value = ""; - while (!this.bytes.done()) { - var byte = this.bytes.peek(); - if (!IsDigit[byte]) - break; - value += charFromCode(this.bytes.next()); - } - var numberValue = Number(value); - if (!value || !isFinite(numberValue)) { - throw new NumberParsingError(this.bytes.position(), value); - } - return numberValue; - }; - BaseParser2.prototype.parseRawNumber = function() { - var value = ""; - while (!this.bytes.done()) { - var byte = this.bytes.peek(); - if (!IsNumeric[byte]) - break; - value += charFromCode(this.bytes.next()); - if (byte === CharCodes_default.Period) - break; - } - while (!this.bytes.done()) { - var byte = this.bytes.peek(); - if (!IsDigit[byte]) - break; - value += charFromCode(this.bytes.next()); - } - var numberValue = Number(value); - if (!value || !isFinite(numberValue)) { - throw new NumberParsingError(this.bytes.position(), value); - } - if (numberValue > Number.MAX_SAFE_INTEGER) { - if (this.capNumbers) { - var msg = "Parsed number that is too large for some PDF readers: " + value + ", using Number.MAX_SAFE_INTEGER instead."; - console.warn(msg); - return Number.MAX_SAFE_INTEGER; - } else { - var msg = "Parsed number that is too large for some PDF readers: " + value + ", not capping."; - console.warn(msg); - } - } - return numberValue; - }; - BaseParser2.prototype.skipWhitespace = function() { - while (!this.bytes.done() && IsWhitespace[this.bytes.peek()]) { - this.bytes.next(); - } - }; - BaseParser2.prototype.skipLine = function() { - while (!this.bytes.done()) { - var byte = this.bytes.peek(); - if (byte === Newline || byte === CarriageReturn) - return; - this.bytes.next(); - } - }; - BaseParser2.prototype.skipComment = function() { - if (this.bytes.peek() !== CharCodes_default.Percent) - return false; - while (!this.bytes.done()) { - var byte = this.bytes.peek(); - if (byte === Newline || byte === CarriageReturn) - return true; - this.bytes.next(); - } - return true; - }; - BaseParser2.prototype.skipWhitespaceAndComments = function() { - this.skipWhitespace(); - while (this.skipComment()) - this.skipWhitespace(); - }; - BaseParser2.prototype.matchKeyword = function(keyword) { - var initialOffset = this.bytes.offset(); - for (var idx = 0, len = keyword.length; idx < len; idx++) { - if (this.bytes.done() || this.bytes.next() !== keyword[idx]) { - this.bytes.moveTo(initialOffset); - return false; - } - } - return true; - }; - return BaseParser2; - }() -); -var BaseParser_default = BaseParser; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/parser/ByteStream.js -var ByteStream = ( - /** @class */ - function() { - function ByteStream2(bytes) { - this.idx = 0; - this.line = 0; - this.column = 0; - this.bytes = bytes; - this.length = this.bytes.length; - } - ByteStream2.prototype.moveTo = function(offset) { - this.idx = offset; - }; - ByteStream2.prototype.next = function() { - var byte = this.bytes[this.idx++]; - if (byte === CharCodes_default.Newline) { - this.line += 1; - this.column = 0; - } else { - this.column += 1; - } - return byte; - }; - ByteStream2.prototype.assertNext = function(expected) { - if (this.peek() !== expected) { - throw new NextByteAssertionError(this.position(), expected, this.peek()); - } - return this.next(); - }; - ByteStream2.prototype.peek = function() { - return this.bytes[this.idx]; - }; - ByteStream2.prototype.peekAhead = function(steps) { - return this.bytes[this.idx + steps]; - }; - ByteStream2.prototype.peekAt = function(offset) { - return this.bytes[offset]; - }; - ByteStream2.prototype.done = function() { - return this.idx >= this.length; - }; - ByteStream2.prototype.offset = function() { - return this.idx; - }; - ByteStream2.prototype.slice = function(start, end) { - return this.bytes.slice(start, end); - }; - ByteStream2.prototype.position = function() { - return { line: this.line, column: this.column, offset: this.idx }; - }; - ByteStream2.of = function(bytes) { - return new ByteStream2(bytes); - }; - ByteStream2.fromPDFRawStream = function(rawStream) { - return ByteStream2.of(decodePDFRawStream(rawStream).decode()); - }; - return ByteStream2; - }() -); -var ByteStream_default = ByteStream; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/syntax/Keywords.js -var Space = CharCodes_default.Space; -var CarriageReturn2 = CharCodes_default.CarriageReturn; -var Newline2 = CharCodes_default.Newline; -var stream = [ - CharCodes_default.s, - CharCodes_default.t, - CharCodes_default.r, - CharCodes_default.e, - CharCodes_default.a, - CharCodes_default.m -]; -var endstream = [ - CharCodes_default.e, - CharCodes_default.n, - CharCodes_default.d, - CharCodes_default.s, - CharCodes_default.t, - CharCodes_default.r, - CharCodes_default.e, - CharCodes_default.a, - CharCodes_default.m -]; -var Keywords = { - header: [ - CharCodes_default.Percent, - CharCodes_default.P, - CharCodes_default.D, - CharCodes_default.F, - CharCodes_default.Dash - ], - eof: [ - CharCodes_default.Percent, - CharCodes_default.Percent, - CharCodes_default.E, - CharCodes_default.O, - CharCodes_default.F - ], - obj: [CharCodes_default.o, CharCodes_default.b, CharCodes_default.j], - endobj: [ - CharCodes_default.e, - CharCodes_default.n, - CharCodes_default.d, - CharCodes_default.o, - CharCodes_default.b, - CharCodes_default.j - ], - xref: [CharCodes_default.x, CharCodes_default.r, CharCodes_default.e, CharCodes_default.f], - trailer: [ - CharCodes_default.t, - CharCodes_default.r, - CharCodes_default.a, - CharCodes_default.i, - CharCodes_default.l, - CharCodes_default.e, - CharCodes_default.r - ], - startxref: [ - CharCodes_default.s, - CharCodes_default.t, - CharCodes_default.a, - CharCodes_default.r, - CharCodes_default.t, - CharCodes_default.x, - CharCodes_default.r, - CharCodes_default.e, - CharCodes_default.f - ], - true: [CharCodes_default.t, CharCodes_default.r, CharCodes_default.u, CharCodes_default.e], - false: [CharCodes_default.f, CharCodes_default.a, CharCodes_default.l, CharCodes_default.s, CharCodes_default.e], - null: [CharCodes_default.n, CharCodes_default.u, CharCodes_default.l, CharCodes_default.l], - stream, - streamEOF1: __spreadArrays(stream, [Space, CarriageReturn2, Newline2]), - streamEOF2: __spreadArrays(stream, [CarriageReturn2, Newline2]), - streamEOF3: __spreadArrays(stream, [CarriageReturn2]), - streamEOF4: __spreadArrays(stream, [Newline2]), - endstream, - EOF1endstream: __spreadArrays([CarriageReturn2, Newline2], endstream), - EOF2endstream: __spreadArrays([CarriageReturn2], endstream), - EOF3endstream: __spreadArrays([Newline2], endstream) -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/parser/PDFObjectParser.js -var PDFObjectParser = ( - /** @class */ - function(_super) { - __extends(PDFObjectParser2, _super); - function PDFObjectParser2(byteStream, context, capNumbers) { - if (capNumbers === void 0) { - capNumbers = false; - } - var _this = _super.call(this, byteStream, capNumbers) || this; - _this.context = context; - return _this; - } - PDFObjectParser2.prototype.parseObject = function() { - this.skipWhitespaceAndComments(); - if (this.matchKeyword(Keywords.true)) - return PDFBool_default.True; - if (this.matchKeyword(Keywords.false)) - return PDFBool_default.False; - if (this.matchKeyword(Keywords.null)) - return PDFNull_default; - var byte = this.bytes.peek(); - if (byte === CharCodes_default.LessThan && this.bytes.peekAhead(1) === CharCodes_default.LessThan) { - return this.parseDictOrStream(); - } - if (byte === CharCodes_default.LessThan) - return this.parseHexString(); - if (byte === CharCodes_default.LeftParen) - return this.parseString(); - if (byte === CharCodes_default.ForwardSlash) - return this.parseName(); - if (byte === CharCodes_default.LeftSquareBracket) - return this.parseArray(); - if (IsNumeric[byte]) - return this.parseNumberOrRef(); - throw new PDFObjectParsingError(this.bytes.position(), byte); - }; - PDFObjectParser2.prototype.parseNumberOrRef = function() { - var firstNum = this.parseRawNumber(); - this.skipWhitespaceAndComments(); - var lookaheadStart = this.bytes.offset(); - if (IsDigit[this.bytes.peek()]) { - var secondNum = this.parseRawNumber(); - this.skipWhitespaceAndComments(); - if (this.bytes.peek() === CharCodes_default.R) { - this.bytes.assertNext(CharCodes_default.R); - return PDFRef_default.of(firstNum, secondNum); - } - } - this.bytes.moveTo(lookaheadStart); - return PDFNumber_default.of(firstNum); - }; - PDFObjectParser2.prototype.parseHexString = function() { - var value = ""; - this.bytes.assertNext(CharCodes_default.LessThan); - while (!this.bytes.done() && this.bytes.peek() !== CharCodes_default.GreaterThan) { - value += charFromCode(this.bytes.next()); - } - this.bytes.assertNext(CharCodes_default.GreaterThan); - return PDFHexString_default.of(value); - }; - PDFObjectParser2.prototype.parseString = function() { - var nestingLvl = 0; - var isEscaped = false; - var value = ""; - while (!this.bytes.done()) { - var byte = this.bytes.next(); - value += charFromCode(byte); - if (!isEscaped) { - if (byte === CharCodes_default.LeftParen) - nestingLvl += 1; - if (byte === CharCodes_default.RightParen) - nestingLvl -= 1; - } - if (byte === CharCodes_default.BackSlash) { - isEscaped = !isEscaped; - } else if (isEscaped) { - isEscaped = false; - } - if (nestingLvl === 0) { - return PDFString_default.of(value.substring(1, value.length - 1)); - } - } - throw new UnbalancedParenthesisError(this.bytes.position()); - }; - PDFObjectParser2.prototype.parseName = function() { - this.bytes.assertNext(CharCodes_default.ForwardSlash); - var name = ""; - while (!this.bytes.done()) { - var byte = this.bytes.peek(); - if (IsWhitespace[byte] || IsDelimiter[byte]) - break; - name += charFromCode(byte); - this.bytes.next(); - } - return PDFName_default.of(name); - }; - PDFObjectParser2.prototype.parseArray = function() { - this.bytes.assertNext(CharCodes_default.LeftSquareBracket); - this.skipWhitespaceAndComments(); - var pdfArray = PDFArray_default.withContext(this.context); - while (this.bytes.peek() !== CharCodes_default.RightSquareBracket) { - var element = this.parseObject(); - pdfArray.push(element); - this.skipWhitespaceAndComments(); - } - this.bytes.assertNext(CharCodes_default.RightSquareBracket); - return pdfArray; - }; - PDFObjectParser2.prototype.parseDict = function() { - this.bytes.assertNext(CharCodes_default.LessThan); - this.bytes.assertNext(CharCodes_default.LessThan); - this.skipWhitespaceAndComments(); - var dict = /* @__PURE__ */ new Map(); - while (!this.bytes.done() && this.bytes.peek() !== CharCodes_default.GreaterThan && this.bytes.peekAhead(1) !== CharCodes_default.GreaterThan) { - var key = this.parseName(); - var value = this.parseObject(); - dict.set(key, value); - this.skipWhitespaceAndComments(); - } - this.skipWhitespaceAndComments(); - this.bytes.assertNext(CharCodes_default.GreaterThan); - this.bytes.assertNext(CharCodes_default.GreaterThan); - var Type = dict.get(PDFName_default.of("Type")); - if (Type === PDFName_default.of("Catalog")) { - return PDFCatalog_default.fromMapWithContext(dict, this.context); - } else if (Type === PDFName_default.of("Pages")) { - return PDFPageTree_default.fromMapWithContext(dict, this.context); - } else if (Type === PDFName_default.of("Page")) { - return PDFPageLeaf_default.fromMapWithContext(dict, this.context); - } else { - return PDFDict_default.fromMapWithContext(dict, this.context); - } - }; - PDFObjectParser2.prototype.parseDictOrStream = function() { - var startPos = this.bytes.position(); - var dict = this.parseDict(); - this.skipWhitespaceAndComments(); - if (!this.matchKeyword(Keywords.streamEOF1) && !this.matchKeyword(Keywords.streamEOF2) && !this.matchKeyword(Keywords.streamEOF3) && !this.matchKeyword(Keywords.streamEOF4) && !this.matchKeyword(Keywords.stream)) { - return dict; - } - var start = this.bytes.offset(); - var end; - var Length = dict.get(PDFName_default.of("Length")); - if (Length instanceof PDFNumber_default) { - end = start + Length.asNumber(); - this.bytes.moveTo(end); - this.skipWhitespaceAndComments(); - if (!this.matchKeyword(Keywords.endstream)) { - this.bytes.moveTo(start); - end = this.findEndOfStreamFallback(startPos); - } - } else { - end = this.findEndOfStreamFallback(startPos); - } - var contents = this.bytes.slice(start, end); - return PDFRawStream_default.of(dict, contents); - }; - PDFObjectParser2.prototype.findEndOfStreamFallback = function(startPos) { - var nestingLvl = 1; - var end = this.bytes.offset(); - while (!this.bytes.done()) { - end = this.bytes.offset(); - if (this.matchKeyword(Keywords.stream)) { - nestingLvl += 1; - } else if (this.matchKeyword(Keywords.EOF1endstream) || this.matchKeyword(Keywords.EOF2endstream) || this.matchKeyword(Keywords.EOF3endstream) || this.matchKeyword(Keywords.endstream)) { - nestingLvl -= 1; - } else { - this.bytes.next(); - } - if (nestingLvl === 0) - break; - } - if (nestingLvl !== 0) - throw new PDFStreamParsingError(startPos); - return end; - }; - PDFObjectParser2.forBytes = function(bytes, context, capNumbers) { - return new PDFObjectParser2(ByteStream_default.of(bytes), context, capNumbers); - }; - PDFObjectParser2.forByteStream = function(byteStream, context, capNumbers) { - if (capNumbers === void 0) { - capNumbers = false; - } - return new PDFObjectParser2(byteStream, context, capNumbers); - }; - return PDFObjectParser2; - }(BaseParser_default) -); -var PDFObjectParser_default = PDFObjectParser; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/parser/PDFObjectStreamParser.js -var PDFObjectStreamParser = ( - /** @class */ - function(_super) { - __extends(PDFObjectStreamParser2, _super); - function PDFObjectStreamParser2(rawStream, shouldWaitForTick) { - var _this = _super.call(this, ByteStream_default.fromPDFRawStream(rawStream), rawStream.dict.context) || this; - var dict = rawStream.dict; - _this.alreadyParsed = false; - _this.shouldWaitForTick = shouldWaitForTick || function() { - return false; - }; - _this.firstOffset = dict.lookup(PDFName_default.of("First"), PDFNumber_default).asNumber(); - _this.objectCount = dict.lookup(PDFName_default.of("N"), PDFNumber_default).asNumber(); - return _this; - } - PDFObjectStreamParser2.prototype.parseIntoContext = function() { - return __awaiter(this, void 0, void 0, function() { - var offsetsAndObjectNumbers, idx, len, _a, objectNumber, offset, object, ref; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - if (this.alreadyParsed) { - throw new ReparseError("PDFObjectStreamParser", "parseIntoContext"); - } - this.alreadyParsed = true; - offsetsAndObjectNumbers = this.parseOffsetsAndObjectNumbers(); - idx = 0, len = offsetsAndObjectNumbers.length; - _b.label = 1; - case 1: - if (!(idx < len)) return [3, 4]; - _a = offsetsAndObjectNumbers[idx], objectNumber = _a.objectNumber, offset = _a.offset; - this.bytes.moveTo(this.firstOffset + offset); - object = this.parseObject(); - ref = PDFRef_default.of(objectNumber, 0); - this.context.assign(ref, object); - if (!this.shouldWaitForTick()) return [3, 3]; - return [4, waitForTick()]; - case 2: - _b.sent(); - _b.label = 3; - case 3: - idx++; - return [3, 1]; - case 4: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFObjectStreamParser2.prototype.parseOffsetsAndObjectNumbers = function() { - var offsetsAndObjectNumbers = []; - for (var idx = 0, len = this.objectCount; idx < len; idx++) { - this.skipWhitespaceAndComments(); - var objectNumber = this.parseRawInt(); - this.skipWhitespaceAndComments(); - var offset = this.parseRawInt(); - offsetsAndObjectNumbers.push({ objectNumber, offset }); - } - return offsetsAndObjectNumbers; - }; - PDFObjectStreamParser2.forStream = function(rawStream, shouldWaitForTick) { - return new PDFObjectStreamParser2(rawStream, shouldWaitForTick); - }; - return PDFObjectStreamParser2; - }(PDFObjectParser_default) -); -var PDFObjectStreamParser_default = PDFObjectStreamParser; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/parser/PDFXRefStreamParser.js -var PDFXRefStreamParser = ( - /** @class */ - function() { - function PDFXRefStreamParser2(rawStream) { - this.alreadyParsed = false; - this.dict = rawStream.dict; - this.bytes = ByteStream_default.fromPDFRawStream(rawStream); - this.context = this.dict.context; - var Size = this.dict.lookup(PDFName_default.of("Size"), PDFNumber_default); - var Index = this.dict.lookup(PDFName_default.of("Index")); - if (Index instanceof PDFArray_default) { - this.subsections = []; - for (var idx = 0, len = Index.size(); idx < len; idx += 2) { - var firstObjectNumber = Index.lookup(idx + 0, PDFNumber_default).asNumber(); - var length_1 = Index.lookup(idx + 1, PDFNumber_default).asNumber(); - this.subsections.push({ firstObjectNumber, length: length_1 }); - } - } else { - this.subsections = [{ firstObjectNumber: 0, length: Size.asNumber() }]; - } - var W = this.dict.lookup(PDFName_default.of("W"), PDFArray_default); - this.byteWidths = [-1, -1, -1]; - for (var idx = 0, len = W.size(); idx < len; idx++) { - this.byteWidths[idx] = W.lookup(idx, PDFNumber_default).asNumber(); - } - } - PDFXRefStreamParser2.prototype.parseIntoContext = function() { - if (this.alreadyParsed) { - throw new ReparseError("PDFXRefStreamParser", "parseIntoContext"); - } - this.alreadyParsed = true; - this.context.trailerInfo = { - Root: this.dict.get(PDFName_default.of("Root")), - Encrypt: this.dict.get(PDFName_default.of("Encrypt")), - Info: this.dict.get(PDFName_default.of("Info")), - ID: this.dict.get(PDFName_default.of("ID")) - }; - var entries = this.parseEntries(); - return entries; - }; - PDFXRefStreamParser2.prototype.parseEntries = function() { - var entries = []; - var _a = this.byteWidths, typeFieldWidth = _a[0], offsetFieldWidth = _a[1], genFieldWidth = _a[2]; - for (var subsectionIdx = 0, subsectionLen = this.subsections.length; subsectionIdx < subsectionLen; subsectionIdx++) { - var _b = this.subsections[subsectionIdx], firstObjectNumber = _b.firstObjectNumber, length_2 = _b.length; - for (var objIdx = 0; objIdx < length_2; objIdx++) { - var type = 0; - for (var idx = 0, len = typeFieldWidth; idx < len; idx++) { - type = type << 8 | this.bytes.next(); - } - var offset = 0; - for (var idx = 0, len = offsetFieldWidth; idx < len; idx++) { - offset = offset << 8 | this.bytes.next(); - } - var generationNumber = 0; - for (var idx = 0, len = genFieldWidth; idx < len; idx++) { - generationNumber = generationNumber << 8 | this.bytes.next(); - } - if (typeFieldWidth === 0) - type = 1; - var objectNumber = firstObjectNumber + objIdx; - var entry = { - ref: PDFRef_default.of(objectNumber, generationNumber), - offset, - deleted: type === 0, - inObjectStream: type === 2 - }; - entries.push(entry); - } - } - return entries; - }; - PDFXRefStreamParser2.forStream = function(rawStream) { - return new PDFXRefStreamParser2(rawStream); - }; - return PDFXRefStreamParser2; - }() -); -var PDFXRefStreamParser_default = PDFXRefStreamParser; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/parser/PDFParser.js -var PDFParser = ( - /** @class */ - function(_super) { - __extends(PDFParser2, _super); - function PDFParser2(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers) { - if (objectsPerTick === void 0) { - objectsPerTick = Infinity; - } - if (throwOnInvalidObject === void 0) { - throwOnInvalidObject = false; - } - if (capNumbers === void 0) { - capNumbers = false; - } - var _this = _super.call(this, ByteStream_default.of(pdfBytes), PDFContext_default.create(), capNumbers) || this; - _this.alreadyParsed = false; - _this.parsedObjects = 0; - _this.shouldWaitForTick = function() { - _this.parsedObjects += 1; - return _this.parsedObjects % _this.objectsPerTick === 0; - }; - _this.objectsPerTick = objectsPerTick; - _this.throwOnInvalidObject = throwOnInvalidObject; - return _this; - } - PDFParser2.prototype.parseDocument = function() { - return __awaiter(this, void 0, void 0, function() { - var prevOffset, offset; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (this.alreadyParsed) { - throw new ReparseError("PDFParser", "parseDocument"); - } - this.alreadyParsed = true; - this.context.header = this.parseHeader(); - _a.label = 1; - case 1: - if (!!this.bytes.done()) return [3, 3]; - return [4, this.parseDocumentSection()]; - case 2: - _a.sent(); - offset = this.bytes.offset(); - if (offset === prevOffset) { - throw new StalledParserError(this.bytes.position()); - } - prevOffset = offset; - return [3, 1]; - case 3: - this.maybeRecoverRoot(); - if (this.context.lookup(PDFRef_default.of(0))) { - console.warn("Removing parsed object: 0 0 R"); - this.context.delete(PDFRef_default.of(0)); - } - return [2, this.context]; - } - }); - }); - }; - PDFParser2.prototype.maybeRecoverRoot = function() { - var isValidCatalog = function(obj) { - return obj instanceof PDFDict_default && obj.lookup(PDFName_default.of("Type")) === PDFName_default.of("Catalog"); - }; - var catalog = this.context.lookup(this.context.trailerInfo.Root); - if (!isValidCatalog(catalog)) { - var indirectObjects = this.context.enumerateIndirectObjects(); - for (var idx = 0, len = indirectObjects.length; idx < len; idx++) { - var _a = indirectObjects[idx], ref = _a[0], object = _a[1]; - if (isValidCatalog(object)) { - this.context.trailerInfo.Root = ref; - } - } - } - }; - PDFParser2.prototype.parseHeader = function() { - while (!this.bytes.done()) { - if (this.matchKeyword(Keywords.header)) { - var major = this.parseRawInt(); - this.bytes.assertNext(CharCodes_default.Period); - var minor = this.parseRawInt(); - var header = PDFHeader_default.forVersion(major, minor); - this.skipBinaryHeaderComment(); - return header; - } - this.bytes.next(); - } - throw new MissingPDFHeaderError(this.bytes.position()); - }; - PDFParser2.prototype.parseIndirectObjectHeader = function() { - this.skipWhitespaceAndComments(); - var objectNumber = this.parseRawInt(); - this.skipWhitespaceAndComments(); - var generationNumber = this.parseRawInt(); - this.skipWhitespaceAndComments(); - if (!this.matchKeyword(Keywords.obj)) { - throw new MissingKeywordError(this.bytes.position(), Keywords.obj); - } - return PDFRef_default.of(objectNumber, generationNumber); - }; - PDFParser2.prototype.matchIndirectObjectHeader = function() { - var initialOffset = this.bytes.offset(); - try { - this.parseIndirectObjectHeader(); - return true; - } catch (e) { - this.bytes.moveTo(initialOffset); - return false; - } - }; - PDFParser2.prototype.parseIndirectObject = function() { - return __awaiter(this, void 0, void 0, function() { - var ref, object; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - ref = this.parseIndirectObjectHeader(); - this.skipWhitespaceAndComments(); - object = this.parseObject(); - this.skipWhitespaceAndComments(); - this.matchKeyword(Keywords.endobj); - if (!(object instanceof PDFRawStream_default && object.dict.lookup(PDFName_default.of("Type")) === PDFName_default.of("ObjStm"))) return [3, 2]; - return [4, PDFObjectStreamParser_default.forStream(object, this.shouldWaitForTick).parseIntoContext()]; - case 1: - _a.sent(); - return [3, 3]; - case 2: - if (object instanceof PDFRawStream_default && object.dict.lookup(PDFName_default.of("Type")) === PDFName_default.of("XRef")) { - PDFXRefStreamParser_default.forStream(object).parseIntoContext(); - } else { - this.context.assign(ref, object); - } - _a.label = 3; - case 3: - return [2, ref]; - } - }); - }); - }; - PDFParser2.prototype.tryToParseInvalidIndirectObject = function() { - var startPos = this.bytes.position(); - var msg = "Trying to parse invalid object: " + JSON.stringify(startPos) + ")"; - if (this.throwOnInvalidObject) - throw new Error(msg); - console.warn(msg); - var ref = this.parseIndirectObjectHeader(); - console.warn("Invalid object ref: " + ref); - this.skipWhitespaceAndComments(); - var start = this.bytes.offset(); - var failed = true; - while (!this.bytes.done()) { - if (this.matchKeyword(Keywords.endobj)) { - failed = false; - } - if (!failed) - break; - this.bytes.next(); - } - if (failed) - throw new PDFInvalidObjectParsingError(startPos); - var end = this.bytes.offset() - Keywords.endobj.length; - var object = PDFInvalidObject_default.of(this.bytes.slice(start, end)); - this.context.assign(ref, object); - return ref; - }; - PDFParser2.prototype.parseIndirectObjects = function() { - return __awaiter(this, void 0, void 0, function() { - var initialOffset, e_1; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - this.skipWhitespaceAndComments(); - _a.label = 1; - case 1: - if (!(!this.bytes.done() && IsDigit[this.bytes.peek()])) return [3, 8]; - initialOffset = this.bytes.offset(); - _a.label = 2; - case 2: - _a.trys.push([2, 4, , 5]); - return [4, this.parseIndirectObject()]; - case 3: - _a.sent(); - return [3, 5]; - case 4: - e_1 = _a.sent(); - this.bytes.moveTo(initialOffset); - this.tryToParseInvalidIndirectObject(); - return [3, 5]; - case 5: - this.skipWhitespaceAndComments(); - this.skipJibberish(); - if (!this.shouldWaitForTick()) return [3, 7]; - return [4, waitForTick()]; - case 6: - _a.sent(); - _a.label = 7; - case 7: - return [3, 1]; - case 8: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFParser2.prototype.maybeParseCrossRefSection = function() { - this.skipWhitespaceAndComments(); - if (!this.matchKeyword(Keywords.xref)) - return; - this.skipWhitespaceAndComments(); - var objectNumber = -1; - var xref = PDFCrossRefSection_default.createEmpty(); - while (!this.bytes.done() && IsDigit[this.bytes.peek()]) { - var firstInt = this.parseRawInt(); - this.skipWhitespaceAndComments(); - var secondInt = this.parseRawInt(); - this.skipWhitespaceAndComments(); - var byte = this.bytes.peek(); - if (byte === CharCodes_default.n || byte === CharCodes_default.f) { - var ref = PDFRef_default.of(objectNumber, secondInt); - if (this.bytes.next() === CharCodes_default.n) { - xref.addEntry(ref, firstInt); - } else { - xref.addDeletedEntry(ref, firstInt); - } - objectNumber += 1; - } else { - objectNumber = firstInt; - } - this.skipWhitespaceAndComments(); - } - return xref; - }; - PDFParser2.prototype.maybeParseTrailerDict = function() { - this.skipWhitespaceAndComments(); - if (!this.matchKeyword(Keywords.trailer)) - return; - this.skipWhitespaceAndComments(); - var dict = this.parseDict(); - var context = this.context; - context.trailerInfo = { - Root: dict.get(PDFName_default.of("Root")) || context.trailerInfo.Root, - Encrypt: dict.get(PDFName_default.of("Encrypt")) || context.trailerInfo.Encrypt, - Info: dict.get(PDFName_default.of("Info")) || context.trailerInfo.Info, - ID: dict.get(PDFName_default.of("ID")) || context.trailerInfo.ID - }; - }; - PDFParser2.prototype.maybeParseTrailer = function() { - this.skipWhitespaceAndComments(); - if (!this.matchKeyword(Keywords.startxref)) - return; - this.skipWhitespaceAndComments(); - var offset = this.parseRawInt(); - this.skipWhitespace(); - this.matchKeyword(Keywords.eof); - this.skipWhitespaceAndComments(); - this.matchKeyword(Keywords.eof); - this.skipWhitespaceAndComments(); - return PDFTrailer_default.forLastCrossRefSectionOffset(offset); - }; - PDFParser2.prototype.parseDocumentSection = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.parseIndirectObjects()]; - case 1: - _a.sent(); - this.maybeParseCrossRefSection(); - this.maybeParseTrailerDict(); - this.maybeParseTrailer(); - this.skipJibberish(); - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFParser2.prototype.skipJibberish = function() { - this.skipWhitespaceAndComments(); - while (!this.bytes.done()) { - var initialOffset = this.bytes.offset(); - var byte = this.bytes.peek(); - var isAlphaNumeric = byte >= CharCodes_default.Space && byte <= CharCodes_default.Tilde; - if (isAlphaNumeric) { - if (this.matchKeyword(Keywords.xref) || this.matchKeyword(Keywords.trailer) || this.matchKeyword(Keywords.startxref) || this.matchIndirectObjectHeader()) { - this.bytes.moveTo(initialOffset); - break; - } - } - this.bytes.next(); - } - }; - PDFParser2.prototype.skipBinaryHeaderComment = function() { - this.skipWhitespaceAndComments(); - try { - var initialOffset = this.bytes.offset(); - this.parseIndirectObjectHeader(); - this.bytes.moveTo(initialOffset); - } catch (e) { - this.bytes.next(); - this.skipWhitespaceAndComments(); - } - }; - PDFParser2.forBytesWithOptions = function(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers) { - return new PDFParser2(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers); - }; - return PDFParser2; - }(PDFObjectParser_default) -); -var PDFParser_default = PDFParser; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/annotation/flags.js -var flag2 = function(bitIndex) { - return 1 << bitIndex; -}; -var AnnotationFlags; -(function(AnnotationFlags2) { - AnnotationFlags2[AnnotationFlags2["Invisible"] = flag2(1 - 1)] = "Invisible"; - AnnotationFlags2[AnnotationFlags2["Hidden"] = flag2(2 - 1)] = "Hidden"; - AnnotationFlags2[AnnotationFlags2["Print"] = flag2(3 - 1)] = "Print"; - AnnotationFlags2[AnnotationFlags2["NoZoom"] = flag2(4 - 1)] = "NoZoom"; - AnnotationFlags2[AnnotationFlags2["NoRotate"] = flag2(5 - 1)] = "NoRotate"; - AnnotationFlags2[AnnotationFlags2["NoView"] = flag2(6 - 1)] = "NoView"; - AnnotationFlags2[AnnotationFlags2["ReadOnly"] = flag2(7 - 1)] = "ReadOnly"; - AnnotationFlags2[AnnotationFlags2["Locked"] = flag2(8 - 1)] = "Locked"; - AnnotationFlags2[AnnotationFlags2["ToggleNoView"] = flag2(9 - 1)] = "ToggleNoView"; - AnnotationFlags2[AnnotationFlags2["LockedContents"] = flag2(10 - 1)] = "LockedContents"; -})(AnnotationFlags || (AnnotationFlags = {})); - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/objects.js -var asPDFName = function(name) { - return name instanceof PDFName_default ? name : PDFName_default.of(name); -}; -var asPDFNumber = function(num) { - return num instanceof PDFNumber_default ? num : PDFNumber_default.of(num); -}; -var asNumber = function(num) { - return num instanceof PDFNumber_default ? num.asNumber() : num; -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/rotations.js -var RotationTypes; -(function(RotationTypes2) { - RotationTypes2["Degrees"] = "degrees"; - RotationTypes2["Radians"] = "radians"; -})(RotationTypes || (RotationTypes = {})); -var degrees = function(degreeAngle) { - assertIs(degreeAngle, "degreeAngle", ["number"]); - return { type: RotationTypes.Degrees, angle: degreeAngle }; -}; -var Radians = RotationTypes.Radians; -var Degrees = RotationTypes.Degrees; -var degreesToRadians = function(degree) { - return degree * Math.PI / 180; -}; -var radiansToDegrees = function(radian) { - return radian * 180 / Math.PI; -}; -var toRadians = function(rotation) { - return rotation.type === Radians ? rotation.angle : rotation.type === Degrees ? degreesToRadians(rotation.angle) : error("Invalid rotation: " + JSON.stringify(rotation)); -}; -var toDegrees = function(rotation) { - return rotation.type === Radians ? radiansToDegrees(rotation.angle) : rotation.type === Degrees ? rotation.angle : error("Invalid rotation: " + JSON.stringify(rotation)); -}; -var reduceRotation = function(degreeAngle) { - if (degreeAngle === void 0) { - degreeAngle = 0; - } - var quadrants = degreeAngle / 90 % 4; - if (quadrants === 0) - return 0; - if (quadrants === 1) - return 90; - if (quadrants === 2) - return 180; - if (quadrants === 3) - return 270; - return 0; -}; -var adjustDimsForRotation = function(dims, degreeAngle) { - if (degreeAngle === void 0) { - degreeAngle = 0; - } - var rotation = reduceRotation(degreeAngle); - return rotation === 90 || rotation === 270 ? { width: dims.height, height: dims.width } : { width: dims.width, height: dims.height }; -}; -var rotateRectangle = function(rectangle, borderWidth, degreeAngle) { - if (borderWidth === void 0) { - borderWidth = 0; - } - if (degreeAngle === void 0) { - degreeAngle = 0; - } - var x = rectangle.x, y = rectangle.y, w = rectangle.width, h = rectangle.height; - var r = reduceRotation(degreeAngle); - var b = borderWidth / 2; - if (r === 0) - return { x: x - b, y: y - b, width: w, height: h }; - else if (r === 90) - return { x: x - h + b, y: y - b, width: h, height: w }; - else if (r === 180) - return { x: x - w + b, y: y - h + b, width: w, height: h }; - else if (r === 270) - return { x: x - b, y: y - w + b, width: h, height: w }; - else - return { x: x - b, y: y - b, width: w, height: h }; -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/operators.js -var clip = function() { - return PDFOperator_default.of(PDFOperatorNames_default.ClipNonZero); -}; -var cos = Math.cos; -var sin = Math.sin; -var tan = Math.tan; -var concatTransformationMatrix = function(a, b, c, d, e, f) { - return PDFOperator_default.of(PDFOperatorNames_default.ConcatTransformationMatrix, [ - asPDFNumber(a), - asPDFNumber(b), - asPDFNumber(c), - asPDFNumber(d), - asPDFNumber(e), - asPDFNumber(f) - ]); -}; -var translate = function(xPos, yPos) { - return concatTransformationMatrix(1, 0, 0, 1, xPos, yPos); -}; -var scale = function(xPos, yPos) { - return concatTransformationMatrix(xPos, 0, 0, yPos, 0, 0); -}; -var rotateRadians = function(angle) { - return concatTransformationMatrix(cos(asNumber(angle)), sin(asNumber(angle)), -sin(asNumber(angle)), cos(asNumber(angle)), 0, 0); -}; -var rotateDegrees = function(angle) { - return rotateRadians(degreesToRadians(asNumber(angle))); -}; -var skewRadians = function(xSkewAngle, ySkewAngle) { - return concatTransformationMatrix(1, tan(asNumber(xSkewAngle)), tan(asNumber(ySkewAngle)), 1, 0, 0); -}; -var setDashPattern = function(dashArray, dashPhase) { - return PDFOperator_default.of(PDFOperatorNames_default.SetLineDashPattern, [ - "[" + dashArray.map(asPDFNumber).join(" ") + "]", - asPDFNumber(dashPhase) - ]); -}; -var LineCapStyle; -(function(LineCapStyle2) { - LineCapStyle2[LineCapStyle2["Butt"] = 0] = "Butt"; - LineCapStyle2[LineCapStyle2["Round"] = 1] = "Round"; - LineCapStyle2[LineCapStyle2["Projecting"] = 2] = "Projecting"; -})(LineCapStyle || (LineCapStyle = {})); -var setLineCap = function(style) { - return PDFOperator_default.of(PDFOperatorNames_default.SetLineCapStyle, [asPDFNumber(style)]); -}; -var LineJoinStyle; -(function(LineJoinStyle2) { - LineJoinStyle2[LineJoinStyle2["Miter"] = 0] = "Miter"; - LineJoinStyle2[LineJoinStyle2["Round"] = 1] = "Round"; - LineJoinStyle2[LineJoinStyle2["Bevel"] = 2] = "Bevel"; -})(LineJoinStyle || (LineJoinStyle = {})); -var setGraphicsState = function(state) { - return PDFOperator_default.of(PDFOperatorNames_default.SetGraphicsStateParams, [asPDFName(state)]); -}; -var pushGraphicsState = function() { - return PDFOperator_default.of(PDFOperatorNames_default.PushGraphicsState); -}; -var popGraphicsState = function() { - return PDFOperator_default.of(PDFOperatorNames_default.PopGraphicsState); -}; -var setLineWidth = function(width) { - return PDFOperator_default.of(PDFOperatorNames_default.SetLineWidth, [asPDFNumber(width)]); -}; -var appendBezierCurve = function(x1, y1, x2, y2, x3, y3) { - return PDFOperator_default.of(PDFOperatorNames_default.AppendBezierCurve, [ - asPDFNumber(x1), - asPDFNumber(y1), - asPDFNumber(x2), - asPDFNumber(y2), - asPDFNumber(x3), - asPDFNumber(y3) - ]); -}; -var appendQuadraticCurve = function(x1, y1, x2, y2) { - return PDFOperator_default.of(PDFOperatorNames_default.CurveToReplicateInitialPoint, [ - asPDFNumber(x1), - asPDFNumber(y1), - asPDFNumber(x2), - asPDFNumber(y2) - ]); -}; -var closePath = function() { - return PDFOperator_default.of(PDFOperatorNames_default.ClosePath); -}; -var moveTo = function(xPos, yPos) { - return PDFOperator_default.of(PDFOperatorNames_default.MoveTo, [asPDFNumber(xPos), asPDFNumber(yPos)]); -}; -var lineTo = function(xPos, yPos) { - return PDFOperator_default.of(PDFOperatorNames_default.LineTo, [asPDFNumber(xPos), asPDFNumber(yPos)]); -}; -var stroke = function() { - return PDFOperator_default.of(PDFOperatorNames_default.StrokePath); -}; -var fill = function() { - return PDFOperator_default.of(PDFOperatorNames_default.FillNonZero); -}; -var fillAndStroke = function() { - return PDFOperator_default.of(PDFOperatorNames_default.FillNonZeroAndStroke); -}; -var endPath = function() { - return PDFOperator_default.of(PDFOperatorNames_default.EndPath); -}; -var nextLine = function() { - return PDFOperator_default.of(PDFOperatorNames_default.NextLine); -}; -var showText = function(text) { - return PDFOperator_default.of(PDFOperatorNames_default.ShowText, [text]); -}; -var beginText = function() { - return PDFOperator_default.of(PDFOperatorNames_default.BeginText); -}; -var endText = function() { - return PDFOperator_default.of(PDFOperatorNames_default.EndText); -}; -var setFontAndSize = function(name, size) { - return PDFOperator_default.of(PDFOperatorNames_default.SetFontAndSize, [asPDFName(name), asPDFNumber(size)]); -}; -var setLineHeight = function(lineHeight) { - return PDFOperator_default.of(PDFOperatorNames_default.SetTextLineHeight, [asPDFNumber(lineHeight)]); -}; -var TextRenderingMode; -(function(TextRenderingMode2) { - TextRenderingMode2[TextRenderingMode2["Fill"] = 0] = "Fill"; - TextRenderingMode2[TextRenderingMode2["Outline"] = 1] = "Outline"; - TextRenderingMode2[TextRenderingMode2["FillAndOutline"] = 2] = "FillAndOutline"; - TextRenderingMode2[TextRenderingMode2["Invisible"] = 3] = "Invisible"; - TextRenderingMode2[TextRenderingMode2["FillAndClip"] = 4] = "FillAndClip"; - TextRenderingMode2[TextRenderingMode2["OutlineAndClip"] = 5] = "OutlineAndClip"; - TextRenderingMode2[TextRenderingMode2["FillAndOutlineAndClip"] = 6] = "FillAndOutlineAndClip"; - TextRenderingMode2[TextRenderingMode2["Clip"] = 7] = "Clip"; -})(TextRenderingMode || (TextRenderingMode = {})); -var setTextMatrix = function(a, b, c, d, e, f) { - return PDFOperator_default.of(PDFOperatorNames_default.SetTextMatrix, [ - asPDFNumber(a), - asPDFNumber(b), - asPDFNumber(c), - asPDFNumber(d), - asPDFNumber(e), - asPDFNumber(f) - ]); -}; -var rotateAndSkewTextRadiansAndTranslate = function(rotationAngle, xSkewAngle, ySkewAngle, x, y) { - return setTextMatrix(cos(asNumber(rotationAngle)), sin(asNumber(rotationAngle)) + tan(asNumber(xSkewAngle)), -sin(asNumber(rotationAngle)) + tan(asNumber(ySkewAngle)), cos(asNumber(rotationAngle)), x, y); -}; -var drawObject = function(name) { - return PDFOperator_default.of(PDFOperatorNames_default.DrawObject, [asPDFName(name)]); -}; -var setFillingGrayscaleColor = function(gray) { - return PDFOperator_default.of(PDFOperatorNames_default.NonStrokingColorGray, [asPDFNumber(gray)]); -}; -var setStrokingGrayscaleColor = function(gray) { - return PDFOperator_default.of(PDFOperatorNames_default.StrokingColorGray, [asPDFNumber(gray)]); -}; -var setFillingRgbColor = function(red, green, blue) { - return PDFOperator_default.of(PDFOperatorNames_default.NonStrokingColorRgb, [ - asPDFNumber(red), - asPDFNumber(green), - asPDFNumber(blue) - ]); -}; -var setStrokingRgbColor = function(red, green, blue) { - return PDFOperator_default.of(PDFOperatorNames_default.StrokingColorRgb, [ - asPDFNumber(red), - asPDFNumber(green), - asPDFNumber(blue) - ]); -}; -var setFillingCmykColor = function(cyan, magenta, yellow, key) { - return PDFOperator_default.of(PDFOperatorNames_default.NonStrokingColorCmyk, [ - asPDFNumber(cyan), - asPDFNumber(magenta), - asPDFNumber(yellow), - asPDFNumber(key) - ]); -}; -var setStrokingCmykColor = function(cyan, magenta, yellow, key) { - return PDFOperator_default.of(PDFOperatorNames_default.StrokingColorCmyk, [ - asPDFNumber(cyan), - asPDFNumber(magenta), - asPDFNumber(yellow), - asPDFNumber(key) - ]); -}; -var beginMarkedContent = function(tag) { - return PDFOperator_default.of(PDFOperatorNames_default.BeginMarkedContent, [asPDFName(tag)]); -}; -var endMarkedContent = function() { - return PDFOperator_default.of(PDFOperatorNames_default.EndMarkedContent); -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/colors.js -var ColorTypes; -(function(ColorTypes2) { - ColorTypes2["Grayscale"] = "Grayscale"; - ColorTypes2["RGB"] = "RGB"; - ColorTypes2["CMYK"] = "CMYK"; -})(ColorTypes || (ColorTypes = {})); -var grayscale = function(gray) { - assertRange(gray, "gray", 0, 1); - return { type: ColorTypes.Grayscale, gray }; -}; -var rgb = function(red, green, blue) { - assertRange(red, "red", 0, 1); - assertRange(green, "green", 0, 1); - assertRange(blue, "blue", 0, 1); - return { type: ColorTypes.RGB, red, green, blue }; -}; -var cmyk = function(cyan, magenta, yellow, key) { - assertRange(cyan, "cyan", 0, 1); - assertRange(magenta, "magenta", 0, 1); - assertRange(yellow, "yellow", 0, 1); - assertRange(key, "key", 0, 1); - return { type: ColorTypes.CMYK, cyan, magenta, yellow, key }; -}; -var Grayscale = ColorTypes.Grayscale; -var RGB = ColorTypes.RGB; -var CMYK = ColorTypes.CMYK; -var setFillingColor = function(color) { - return color.type === Grayscale ? setFillingGrayscaleColor(color.gray) : color.type === RGB ? setFillingRgbColor(color.red, color.green, color.blue) : color.type === CMYK ? setFillingCmykColor(color.cyan, color.magenta, color.yellow, color.key) : error("Invalid color: " + JSON.stringify(color)); -}; -var setStrokingColor = function(color) { - return color.type === Grayscale ? setStrokingGrayscaleColor(color.gray) : color.type === RGB ? setStrokingRgbColor(color.red, color.green, color.blue) : color.type === CMYK ? setStrokingCmykColor(color.cyan, color.magenta, color.yellow, color.key) : error("Invalid color: " + JSON.stringify(color)); -}; -var componentsToColor = function(comps, scale2) { - if (scale2 === void 0) { - scale2 = 1; - } - return (comps === null || comps === void 0 ? void 0 : comps.length) === 1 ? grayscale(comps[0] * scale2) : (comps === null || comps === void 0 ? void 0 : comps.length) === 3 ? rgb(comps[0] * scale2, comps[1] * scale2, comps[2] * scale2) : (comps === null || comps === void 0 ? void 0 : comps.length) === 4 ? cmyk(comps[0] * scale2, comps[1] * scale2, comps[2] * scale2, comps[3] * scale2) : void 0; -}; -var colorToComponents = function(color) { - return color.type === Grayscale ? [color.gray] : color.type === RGB ? [color.red, color.green, color.blue] : color.type === CMYK ? [color.cyan, color.magenta, color.yellow, color.key] : error("Invalid color: " + JSON.stringify(color)); -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/svgPath.js -var cx = 0; -var cy = 0; -var px = 0; -var py = 0; -var sx = 0; -var sy = 0; -var parameters = /* @__PURE__ */ new Map([ - ["A", 7], - ["a", 7], - ["C", 6], - ["c", 6], - ["H", 1], - ["h", 1], - ["L", 2], - ["l", 2], - ["M", 2], - ["m", 2], - ["Q", 4], - ["q", 4], - ["S", 4], - ["s", 4], - ["T", 2], - ["t", 2], - ["V", 1], - ["v", 1], - ["Z", 0], - ["z", 0] -]); -var parse = function(path3) { - var cmd; - var ret = []; - var args = []; - var curArg = ""; - var foundDecimal = false; - var params = 0; - for (var _i = 0, path_1 = path3; _i < path_1.length; _i++) { - var c = path_1[_i]; - if (parameters.has(c)) { - params = parameters.get(c); - if (cmd) { - if (curArg.length > 0) { - args[args.length] = +curArg; - } - ret[ret.length] = { cmd, args }; - args = []; - curArg = ""; - foundDecimal = false; - } - cmd = c; - } else if ([" ", ","].includes(c) || c === "-" && curArg.length > 0 && curArg[curArg.length - 1] !== "e" || c === "." && foundDecimal) { - if (curArg.length === 0) { - continue; - } - if (args.length === params) { - ret[ret.length] = { cmd, args }; - args = [+curArg]; - if (cmd === "M") { - cmd = "L"; - } - if (cmd === "m") { - cmd = "l"; - } - } else { - args[args.length] = +curArg; - } - foundDecimal = c === "."; - curArg = ["-", "."].includes(c) ? c : ""; - } else { - curArg += c; - if (c === ".") { - foundDecimal = true; - } - } - } - if (curArg.length > 0) { - if (args.length === params) { - ret[ret.length] = { cmd, args }; - args = [+curArg]; - if (cmd === "M") { - cmd = "L"; - } - if (cmd === "m") { - cmd = "l"; - } - } else { - args[args.length] = +curArg; - } - } - ret[ret.length] = { cmd, args }; - return ret; -}; -var apply = function(commands) { - cx = cy = px = py = sx = sy = 0; - var cmds = []; - for (var i = 0; i < commands.length; i++) { - var c = commands[i]; - if (c.cmd && typeof runners[c.cmd] === "function") { - var cmd = runners[c.cmd](c.args); - if (Array.isArray(cmd)) { - cmds = cmds.concat(cmd); - } else { - cmds.push(cmd); - } - } - } - return cmds; -}; -var runners = { - M: function(a) { - cx = a[0]; - cy = a[1]; - px = py = null; - sx = cx; - sy = cy; - return moveTo(cx, cy); - }, - m: function(a) { - cx += a[0]; - cy += a[1]; - px = py = null; - sx = cx; - sy = cy; - return moveTo(cx, cy); - }, - C: function(a) { - cx = a[4]; - cy = a[5]; - px = a[2]; - py = a[3]; - return appendBezierCurve(a[0], a[1], a[2], a[3], a[4], a[5]); - }, - c: function(a) { - var cmd = appendBezierCurve(a[0] + cx, a[1] + cy, a[2] + cx, a[3] + cy, a[4] + cx, a[5] + cy); - px = cx + a[2]; - py = cy + a[3]; - cx += a[4]; - cy += a[5]; - return cmd; - }, - S: function(a) { - if (px === null || py === null) { - px = cx; - py = cy; - } - var cmd = appendBezierCurve(cx - (px - cx), cy - (py - cy), a[0], a[1], a[2], a[3]); - px = a[0]; - py = a[1]; - cx = a[2]; - cy = a[3]; - return cmd; - }, - s: function(a) { - if (px === null || py === null) { - px = cx; - py = cy; - } - var cmd = appendBezierCurve(cx - (px - cx), cy - (py - cy), cx + a[0], cy + a[1], cx + a[2], cy + a[3]); - px = cx + a[0]; - py = cy + a[1]; - cx += a[2]; - cy += a[3]; - return cmd; - }, - Q: function(a) { - px = a[0]; - py = a[1]; - cx = a[2]; - cy = a[3]; - return appendQuadraticCurve(a[0], a[1], cx, cy); - }, - q: function(a) { - var cmd = appendQuadraticCurve(a[0] + cx, a[1] + cy, a[2] + cx, a[3] + cy); - px = cx + a[0]; - py = cy + a[1]; - cx += a[2]; - cy += a[3]; - return cmd; - }, - T: function(a) { - if (px === null || py === null) { - px = cx; - py = cy; - } else { - px = cx - (px - cx); - py = cy - (py - cy); - } - var cmd = appendQuadraticCurve(px, py, a[0], a[1]); - px = cx - (px - cx); - py = cy - (py - cy); - cx = a[0]; - cy = a[1]; - return cmd; - }, - t: function(a) { - if (px === null || py === null) { - px = cx; - py = cy; - } else { - px = cx - (px - cx); - py = cy - (py - cy); - } - var cmd = appendQuadraticCurve(px, py, cx + a[0], cy + a[1]); - cx += a[0]; - cy += a[1]; - return cmd; - }, - A: function(a) { - var cmds = solveArc(cx, cy, a); - cx = a[5]; - cy = a[6]; - return cmds; - }, - a: function(a) { - a[5] += cx; - a[6] += cy; - var cmds = solveArc(cx, cy, a); - cx = a[5]; - cy = a[6]; - return cmds; - }, - L: function(a) { - cx = a[0]; - cy = a[1]; - px = py = null; - return lineTo(cx, cy); - }, - l: function(a) { - cx += a[0]; - cy += a[1]; - px = py = null; - return lineTo(cx, cy); - }, - H: function(a) { - cx = a[0]; - px = py = null; - return lineTo(cx, cy); - }, - h: function(a) { - cx += a[0]; - px = py = null; - return lineTo(cx, cy); - }, - V: function(a) { - cy = a[0]; - px = py = null; - return lineTo(cx, cy); - }, - v: function(a) { - cy += a[0]; - px = py = null; - return lineTo(cx, cy); - }, - Z: function() { - var cmd = closePath(); - cx = sx; - cy = sy; - return cmd; - }, - z: function() { - var cmd = closePath(); - cx = sx; - cy = sy; - return cmd; - } -}; -var solveArc = function(x, y, coords) { - var rx = coords[0], ry = coords[1], rot = coords[2], large = coords[3], sweep = coords[4], ex = coords[5], ey = coords[6]; - var segs = arcToSegments(ex, ey, rx, ry, large, sweep, rot, x, y); - var cmds = []; - for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) { - var seg = segs_1[_i]; - var bez = segmentToBezier.apply(void 0, seg); - cmds.push(appendBezierCurve.apply(void 0, bez)); - } - return cmds; -}; -var arcToSegments = function(x, y, rx, ry, large, sweep, rotateX, ox, oy) { - var th = rotateX * (Math.PI / 180); - var sinTh = Math.sin(th); - var cosTh = Math.cos(th); - rx = Math.abs(rx); - ry = Math.abs(ry); - px = cosTh * (ox - x) * 0.5 + sinTh * (oy - y) * 0.5; - py = cosTh * (oy - y) * 0.5 - sinTh * (ox - x) * 0.5; - var pl = px * px / (rx * rx) + py * py / (ry * ry); - if (pl > 1) { - pl = Math.sqrt(pl); - rx *= pl; - ry *= pl; - } - var a00 = cosTh / rx; - var a01 = sinTh / rx; - var a10 = -sinTh / ry; - var a11 = cosTh / ry; - var x0 = a00 * ox + a01 * oy; - var y0 = a10 * ox + a11 * oy; - var x1 = a00 * x + a01 * y; - var y1 = a10 * x + a11 * y; - var d = (x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0); - var sfactorSq = 1 / d - 0.25; - if (sfactorSq < 0) { - sfactorSq = 0; - } - var sfactor = Math.sqrt(sfactorSq); - if (sweep === large) { - sfactor = -sfactor; - } - var xc = 0.5 * (x0 + x1) - sfactor * (y1 - y0); - var yc = 0.5 * (y0 + y1) + sfactor * (x1 - x0); - var th0 = Math.atan2(y0 - yc, x0 - xc); - var th1 = Math.atan2(y1 - yc, x1 - xc); - var thArc = th1 - th0; - if (thArc < 0 && sweep === 1) { - thArc += 2 * Math.PI; - } else if (thArc > 0 && sweep === 0) { - thArc -= 2 * Math.PI; - } - var segments = Math.ceil(Math.abs(thArc / (Math.PI * 0.5 + 1e-3))); - var result = []; - for (var i = 0; i < segments; i++) { - var th2 = th0 + i * thArc / segments; - var th3 = th0 + (i + 1) * thArc / segments; - result[i] = [xc, yc, th2, th3, rx, ry, sinTh, cosTh]; - } - return result; -}; -var segmentToBezier = function(cx1, cy1, th0, th1, rx, ry, sinTh, cosTh) { - var a00 = cosTh * rx; - var a01 = -sinTh * ry; - var a10 = sinTh * rx; - var a11 = cosTh * ry; - var thHalf = 0.5 * (th1 - th0); - var t = 8 / 3 * Math.sin(thHalf * 0.5) * Math.sin(thHalf * 0.5) / Math.sin(thHalf); - var x1 = cx1 + Math.cos(th0) - t * Math.sin(th0); - var y1 = cy1 + Math.sin(th0) + t * Math.cos(th0); - var x3 = cx1 + Math.cos(th1); - var y3 = cy1 + Math.sin(th1); - var x2 = x3 + t * Math.sin(th1); - var y2 = y3 - t * Math.cos(th1); - var result = [ - a00 * x1 + a01 * y1, - a10 * x1 + a11 * y1, - a00 * x2 + a01 * y2, - a10 * x2 + a11 * y2, - a00 * x3 + a01 * y3, - a10 * x3 + a11 * y3 - ]; - return result; -}; -var svgPathToOperators = function(path3) { - return apply(parse(path3)); -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/operations.js -var drawLinesOfText = function(lines, options) { - var operators = [ - pushGraphicsState(), - options.graphicsState && setGraphicsState(options.graphicsState), - beginText(), - setFillingColor(options.color), - setFontAndSize(options.font, options.size), - setLineHeight(options.lineHeight), - rotateAndSkewTextRadiansAndTranslate(toRadians(options.rotate), toRadians(options.xSkew), toRadians(options.ySkew), options.x, options.y) - ].filter(Boolean); - for (var idx = 0, len = lines.length; idx < len; idx++) { - operators.push(showText(lines[idx]), nextLine()); - } - operators.push(endText(), popGraphicsState()); - return operators; -}; -var drawImage = function(name, options) { - return [ - pushGraphicsState(), - options.graphicsState && setGraphicsState(options.graphicsState), - translate(options.x, options.y), - rotateRadians(toRadians(options.rotate)), - scale(options.width, options.height), - skewRadians(toRadians(options.xSkew), toRadians(options.ySkew)), - drawObject(name), - popGraphicsState() - ].filter(Boolean); -}; -var drawPage = function(name, options) { - return [ - pushGraphicsState(), - options.graphicsState && setGraphicsState(options.graphicsState), - translate(options.x, options.y), - rotateRadians(toRadians(options.rotate)), - scale(options.xScale, options.yScale), - skewRadians(toRadians(options.xSkew), toRadians(options.ySkew)), - drawObject(name), - popGraphicsState() - ].filter(Boolean); -}; -var drawLine = function(options) { - var _a, _b; - return [ - pushGraphicsState(), - options.graphicsState && setGraphicsState(options.graphicsState), - options.color && setStrokingColor(options.color), - setLineWidth(options.thickness), - setDashPattern((_a = options.dashArray) !== null && _a !== void 0 ? _a : [], (_b = options.dashPhase) !== null && _b !== void 0 ? _b : 0), - moveTo(options.start.x, options.start.y), - options.lineCap && setLineCap(options.lineCap), - moveTo(options.start.x, options.start.y), - lineTo(options.end.x, options.end.y), - stroke(), - popGraphicsState() - ].filter(Boolean); -}; -var drawRectangle = function(options) { - var _a, _b; - return [ - pushGraphicsState(), - options.graphicsState && setGraphicsState(options.graphicsState), - options.color && setFillingColor(options.color), - options.borderColor && setStrokingColor(options.borderColor), - setLineWidth(options.borderWidth), - options.borderLineCap && setLineCap(options.borderLineCap), - setDashPattern((_a = options.borderDashArray) !== null && _a !== void 0 ? _a : [], (_b = options.borderDashPhase) !== null && _b !== void 0 ? _b : 0), - translate(options.x, options.y), - rotateRadians(toRadians(options.rotate)), - skewRadians(toRadians(options.xSkew), toRadians(options.ySkew)), - moveTo(0, 0), - lineTo(0, options.height), - lineTo(options.width, options.height), - lineTo(options.width, 0), - closePath(), - // prettier-ignore - options.color && options.borderWidth ? fillAndStroke() : options.color ? fill() : options.borderColor ? stroke() : closePath(), - popGraphicsState() - ].filter(Boolean); -}; -var KAPPA = 4 * ((Math.sqrt(2) - 1) / 3); -var drawEllipsePath = function(config) { - var x = asNumber(config.x); - var y = asNumber(config.y); - var xScale = asNumber(config.xScale); - var yScale = asNumber(config.yScale); - x -= xScale; - y -= yScale; - var ox = xScale * KAPPA; - var oy = yScale * KAPPA; - var xe = x + xScale * 2; - var ye = y + yScale * 2; - var xm = x + xScale; - var ym = y + yScale; - return [ - pushGraphicsState(), - moveTo(x, ym), - appendBezierCurve(x, ym - oy, xm - ox, y, xm, y), - appendBezierCurve(xm + ox, y, xe, ym - oy, xe, ym), - appendBezierCurve(xe, ym + oy, xm + ox, ye, xm, ye), - appendBezierCurve(xm - ox, ye, x, ym + oy, x, ym), - popGraphicsState() - ]; -}; -var drawEllipseCurves = function(config) { - var centerX = asNumber(config.x); - var centerY = asNumber(config.y); - var xScale = asNumber(config.xScale); - var yScale = asNumber(config.yScale); - var x = -xScale; - var y = -yScale; - var ox = xScale * KAPPA; - var oy = yScale * KAPPA; - var xe = x + xScale * 2; - var ye = y + yScale * 2; - var xm = x + xScale; - var ym = y + yScale; - return [ - translate(centerX, centerY), - rotateRadians(toRadians(config.rotate)), - moveTo(x, ym), - appendBezierCurve(x, ym - oy, xm - ox, y, xm, y), - appendBezierCurve(xm + ox, y, xe, ym - oy, xe, ym), - appendBezierCurve(xe, ym + oy, xm + ox, ye, xm, ye), - appendBezierCurve(xm - ox, ye, x, ym + oy, x, ym) - ]; -}; -var drawEllipse = function(options) { - var _a, _b, _c; - return __spreadArrays([ - pushGraphicsState(), - options.graphicsState && setGraphicsState(options.graphicsState), - options.color && setFillingColor(options.color), - options.borderColor && setStrokingColor(options.borderColor), - setLineWidth(options.borderWidth), - options.borderLineCap && setLineCap(options.borderLineCap), - setDashPattern((_a = options.borderDashArray) !== null && _a !== void 0 ? _a : [], (_b = options.borderDashPhase) !== null && _b !== void 0 ? _b : 0) - ], options.rotate === void 0 ? drawEllipsePath({ - x: options.x, - y: options.y, - xScale: options.xScale, - yScale: options.yScale - }) : drawEllipseCurves({ - x: options.x, - y: options.y, - xScale: options.xScale, - yScale: options.yScale, - rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : degrees(0) - }), [ - // prettier-ignore - options.color && options.borderWidth ? fillAndStroke() : options.color ? fill() : options.borderColor ? stroke() : closePath(), - popGraphicsState() - ]).filter(Boolean); -}; -var drawSvgPath = function(path3, options) { - var _a, _b, _c; - return __spreadArrays([ - pushGraphicsState(), - options.graphicsState && setGraphicsState(options.graphicsState), - translate(options.x, options.y), - rotateRadians(toRadians((_a = options.rotate) !== null && _a !== void 0 ? _a : degrees(0))), - // SVG path Y axis is opposite pdf-lib's - options.scale ? scale(options.scale, -options.scale) : scale(1, -1), - options.color && setFillingColor(options.color), - options.borderColor && setStrokingColor(options.borderColor), - options.borderWidth && setLineWidth(options.borderWidth), - options.borderLineCap && setLineCap(options.borderLineCap), - setDashPattern((_b = options.borderDashArray) !== null && _b !== void 0 ? _b : [], (_c = options.borderDashPhase) !== null && _c !== void 0 ? _c : 0) - ], svgPathToOperators(path3), [ - // prettier-ignore - options.color && options.borderWidth ? fillAndStroke() : options.color ? fill() : options.borderColor ? stroke() : closePath(), - popGraphicsState() - ]).filter(Boolean); -}; -var drawCheckMark = function(options) { - var size = asNumber(options.size); - var p2x = -1 + 0.75; - var p2y = -1 + 0.51; - var p3y = 1 - 0.525; - var p3x = 1 - 0.31; - var p1x = -1 + 0.325; - var p1y = -((p1x - p2x) * (p3x - p2x)) / (p3y - p2y) + p2y; - return [ - pushGraphicsState(), - options.color && setStrokingColor(options.color), - setLineWidth(options.thickness), - translate(options.x, options.y), - moveTo(p1x * size, p1y * size), - lineTo(p2x * size, p2y * size), - lineTo(p3x * size, p3y * size), - stroke(), - popGraphicsState() - ].filter(Boolean); -}; -var rotateInPlace = function(options) { - return options.rotation === 0 ? [ - translate(0, 0), - rotateDegrees(0) - ] : options.rotation === 90 ? [ - translate(options.width, 0), - rotateDegrees(90) - ] : options.rotation === 180 ? [ - translate(options.width, options.height), - rotateDegrees(180) - ] : options.rotation === 270 ? [ - translate(0, options.height), - rotateDegrees(270) - ] : []; -}; -var drawCheckBox = function(options) { - var outline = drawRectangle({ - x: options.x, - y: options.y, - width: options.width, - height: options.height, - borderWidth: options.borderWidth, - color: options.color, - borderColor: options.borderColor, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }); - if (!options.filled) - return outline; - var width = asNumber(options.width); - var height = asNumber(options.height); - var checkMarkSize = Math.min(width, height) / 2; - var checkMark = drawCheckMark({ - x: width / 2, - y: height / 2, - size: checkMarkSize, - thickness: options.thickness, - color: options.markColor - }); - return __spreadArrays([pushGraphicsState()], outline, checkMark, [popGraphicsState()]); -}; -var drawRadioButton = function(options) { - var width = asNumber(options.width); - var height = asNumber(options.height); - var outlineScale = Math.min(width, height) / 2; - var outline = drawEllipse({ - x: options.x, - y: options.y, - xScale: outlineScale, - yScale: outlineScale, - color: options.color, - borderColor: options.borderColor, - borderWidth: options.borderWidth - }); - if (!options.filled) - return outline; - var dot = drawEllipse({ - x: options.x, - y: options.y, - xScale: outlineScale * 0.45, - yScale: outlineScale * 0.45, - color: options.dotColor, - borderColor: void 0, - borderWidth: 0 - }); - return __spreadArrays([pushGraphicsState()], outline, dot, [popGraphicsState()]); -}; -var drawButton = function(options) { - var x = asNumber(options.x); - var y = asNumber(options.y); - var width = asNumber(options.width); - var height = asNumber(options.height); - var background = drawRectangle({ - x, - y, - width, - height, - borderWidth: options.borderWidth, - color: options.color, - borderColor: options.borderColor, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }); - var lines = drawTextLines(options.textLines, { - color: options.textColor, - font: options.font, - size: options.fontSize, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }); - return __spreadArrays([pushGraphicsState()], background, lines, [popGraphicsState()]); -}; -var drawTextLines = function(lines, options) { - var operators = [ - beginText(), - setFillingColor(options.color), - setFontAndSize(options.font, options.size) - ]; - for (var idx = 0, len = lines.length; idx < len; idx++) { - var _a = lines[idx], encoded = _a.encoded, x = _a.x, y = _a.y; - operators.push(rotateAndSkewTextRadiansAndTranslate(toRadians(options.rotate), toRadians(options.xSkew), toRadians(options.ySkew), x, y), showText(encoded)); - } - operators.push(endText()); - return operators; -}; -var drawTextField = function(options) { - var x = asNumber(options.x); - var y = asNumber(options.y); - var width = asNumber(options.width); - var height = asNumber(options.height); - var borderWidth = asNumber(options.borderWidth); - var padding = asNumber(options.padding); - var clipX = x + borderWidth / 2 + padding; - var clipY = y + borderWidth / 2 + padding; - var clipWidth = width - (borderWidth / 2 + padding) * 2; - var clipHeight = height - (borderWidth / 2 + padding) * 2; - var clippingArea = [ - moveTo(clipX, clipY), - lineTo(clipX, clipY + clipHeight), - lineTo(clipX + clipWidth, clipY + clipHeight), - lineTo(clipX + clipWidth, clipY), - closePath(), - clip(), - endPath() - ]; - var background = drawRectangle({ - x, - y, - width, - height, - borderWidth: options.borderWidth, - color: options.color, - borderColor: options.borderColor, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }); - var lines = drawTextLines(options.textLines, { - color: options.textColor, - font: options.font, - size: options.fontSize, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }); - var markedContent = __spreadArrays([ - beginMarkedContent("Tx"), - pushGraphicsState() - ], lines, [ - popGraphicsState(), - endMarkedContent() - ]); - return __spreadArrays([ - pushGraphicsState() - ], background, clippingArea, markedContent, [ - popGraphicsState() - ]); -}; -var drawOptionList = function(options) { - var x = asNumber(options.x); - var y = asNumber(options.y); - var width = asNumber(options.width); - var height = asNumber(options.height); - var lineHeight = asNumber(options.lineHeight); - var borderWidth = asNumber(options.borderWidth); - var padding = asNumber(options.padding); - var clipX = x + borderWidth / 2 + padding; - var clipY = y + borderWidth / 2 + padding; - var clipWidth = width - (borderWidth / 2 + padding) * 2; - var clipHeight = height - (borderWidth / 2 + padding) * 2; - var clippingArea = [ - moveTo(clipX, clipY), - lineTo(clipX, clipY + clipHeight), - lineTo(clipX + clipWidth, clipY + clipHeight), - lineTo(clipX + clipWidth, clipY), - closePath(), - clip(), - endPath() - ]; - var background = drawRectangle({ - x, - y, - width, - height, - borderWidth: options.borderWidth, - color: options.color, - borderColor: options.borderColor, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }); - var highlights = []; - for (var idx = 0, len = options.selectedLines.length; idx < len; idx++) { - var line = options.textLines[options.selectedLines[idx]]; - highlights.push.apply(highlights, drawRectangle({ - x: line.x - padding, - y: line.y - (lineHeight - line.height) / 2, - width: width - borderWidth, - height: line.height + (lineHeight - line.height) / 2, - borderWidth: 0, - color: options.selectedColor, - borderColor: void 0, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - })); - } - var lines = drawTextLines(options.textLines, { - color: options.textColor, - font: options.font, - size: options.fontSize, - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }); - var markedContent = __spreadArrays([ - beginMarkedContent("Tx"), - pushGraphicsState() - ], lines, [ - popGraphicsState(), - endMarkedContent() - ]); - return __spreadArrays([ - pushGraphicsState() - ], background, highlights, clippingArea, markedContent, [ - popGraphicsState() - ]); -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/errors.js -var EncryptedPDFError = ( - /** @class */ - function(_super) { - __extends(EncryptedPDFError2, _super); - function EncryptedPDFError2() { - var _this = this; - var msg = "Input document to `PDFDocument.load` is encrypted. You can use `PDFDocument.load(..., { ignoreEncryption: true })` if you wish to load the document anyways."; - _this = _super.call(this, msg) || this; - return _this; - } - return EncryptedPDFError2; - }(Error) -); -var FontkitNotRegisteredError = ( - /** @class */ - function(_super) { - __extends(FontkitNotRegisteredError2, _super); - function FontkitNotRegisteredError2() { - var _this = this; - var msg = "Input to `PDFDocument.embedFont` was a custom font, but no `fontkit` instance was found. You must register a `fontkit` instance with `PDFDocument.registerFontkit(...)` before embedding custom fonts."; - _this = _super.call(this, msg) || this; - return _this; - } - return FontkitNotRegisteredError2; - }(Error) -); -var ForeignPageError = ( - /** @class */ - function(_super) { - __extends(ForeignPageError2, _super); - function ForeignPageError2() { - var _this = this; - var msg = "A `page` passed to `PDFDocument.addPage` or `PDFDocument.insertPage` was from a different (foreign) PDF document. If you want to copy pages from one PDFDocument to another, you must use `PDFDocument.copyPages(...)` to copy the pages before adding or inserting them."; - _this = _super.call(this, msg) || this; - return _this; - } - return ForeignPageError2; - }(Error) -); -var RemovePageFromEmptyDocumentError = ( - /** @class */ - function(_super) { - __extends(RemovePageFromEmptyDocumentError2, _super); - function RemovePageFromEmptyDocumentError2() { - var _this = this; - var msg = "PDFDocument has no pages so `PDFDocument.removePage` cannot be called"; - _this = _super.call(this, msg) || this; - return _this; - } - return RemovePageFromEmptyDocumentError2; - }(Error) -); -var NoSuchFieldError = ( - /** @class */ - function(_super) { - __extends(NoSuchFieldError2, _super); - function NoSuchFieldError2(name) { - var _this = this; - var msg = 'PDFDocument has no form field with the name "' + name + '"'; - _this = _super.call(this, msg) || this; - return _this; - } - return NoSuchFieldError2; - }(Error) -); -var UnexpectedFieldTypeError = ( - /** @class */ - function(_super) { - __extends(UnexpectedFieldTypeError2, _super); - function UnexpectedFieldTypeError2(name, expected, actual) { - var _a, _b; - var _this = this; - var expectedType = expected === null || expected === void 0 ? void 0 : expected.name; - var actualType = (_b = (_a = actual === null || actual === void 0 ? void 0 : actual.constructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : actual; - var msg = 'Expected field "' + name + '" to be of type ' + expectedType + ", " + ("but it is actually of type " + actualType); - _this = _super.call(this, msg) || this; - return _this; - } - return UnexpectedFieldTypeError2; - }(Error) -); -var MissingOnValueCheckError = ( - /** @class */ - function(_super) { - __extends(MissingOnValueCheckError2, _super); - function MissingOnValueCheckError2(onValue) { - var _this = this; - var msg = 'Failed to select check box due to missing onValue: "' + onValue + '"'; - _this = _super.call(this, msg) || this; - return _this; - } - return MissingOnValueCheckError2; - }(Error) -); -var FieldAlreadyExistsError = ( - /** @class */ - function(_super) { - __extends(FieldAlreadyExistsError2, _super); - function FieldAlreadyExistsError2(name) { - var _this = this; - var msg = 'A field already exists with the specified name: "' + name + '"'; - _this = _super.call(this, msg) || this; - return _this; - } - return FieldAlreadyExistsError2; - }(Error) -); -var InvalidFieldNamePartError = ( - /** @class */ - function(_super) { - __extends(InvalidFieldNamePartError2, _super); - function InvalidFieldNamePartError2(namePart) { - var _this = this; - var msg = 'Field name contains invalid component: "' + namePart + '"'; - _this = _super.call(this, msg) || this; - return _this; - } - return InvalidFieldNamePartError2; - }(Error) -); -var FieldExistsAsNonTerminalError = ( - /** @class */ - function(_super) { - __extends(FieldExistsAsNonTerminalError2, _super); - function FieldExistsAsNonTerminalError2(name) { - var _this = this; - var msg = 'A non-terminal field already exists with the specified name: "' + name + '"'; - _this = _super.call(this, msg) || this; - return _this; - } - return FieldExistsAsNonTerminalError2; - }(Error) -); -var RichTextFieldReadError = ( - /** @class */ - function(_super) { - __extends(RichTextFieldReadError2, _super); - function RichTextFieldReadError2(fieldName) { - var _this = this; - var msg = "Reading rich text fields is not supported: Attempted to read rich text field: " + fieldName; - _this = _super.call(this, msg) || this; - return _this; - } - return RichTextFieldReadError2; - }(Error) -); -var CombedTextLayoutError = ( - /** @class */ - function(_super) { - __extends(CombedTextLayoutError2, _super); - function CombedTextLayoutError2(lineLength, cellCount) { - var _this = this; - var msg = "Failed to layout combed text as lineLength=" + lineLength + " is greater than cellCount=" + cellCount; - _this = _super.call(this, msg) || this; - return _this; - } - return CombedTextLayoutError2; - }(Error) -); -var ExceededMaxLengthError = ( - /** @class */ - function(_super) { - __extends(ExceededMaxLengthError2, _super); - function ExceededMaxLengthError2(textLength, maxLength, name) { - var _this = this; - var msg = "Attempted to set text with length=" + textLength + " for TextField with maxLength=" + maxLength + " and name=" + name; - _this = _super.call(this, msg) || this; - return _this; - } - return ExceededMaxLengthError2; - }(Error) -); -var InvalidMaxLengthError = ( - /** @class */ - function(_super) { - __extends(InvalidMaxLengthError2, _super); - function InvalidMaxLengthError2(textLength, maxLength, name) { - var _this = this; - var msg = "Attempted to set maxLength=" + maxLength + ", which is less than " + textLength + ", the length of this field's current value (name=" + name + ")"; - _this = _super.call(this, msg) || this; - return _this; - } - return InvalidMaxLengthError2; - }(Error) -); - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/text/alignment.js -var TextAlignment; -(function(TextAlignment2) { - TextAlignment2[TextAlignment2["Left"] = 0] = "Left"; - TextAlignment2[TextAlignment2["Center"] = 1] = "Center"; - TextAlignment2[TextAlignment2["Right"] = 2] = "Right"; -})(TextAlignment || (TextAlignment = {})); - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/text/layout.js -var MIN_FONT_SIZE = 4; -var MAX_FONT_SIZE = 500; -var computeFontSize = function(lines, font, bounds, multiline) { - if (multiline === void 0) { - multiline = false; - } - var fontSize = MIN_FONT_SIZE; - while (fontSize < MAX_FONT_SIZE) { - var linesUsed = 0; - for (var lineIdx = 0, lineLen = lines.length; lineIdx < lineLen; lineIdx++) { - linesUsed += 1; - var line = lines[lineIdx]; - var words = line.split(" "); - var spaceInLineRemaining = bounds.width; - for (var idx = 0, len = words.length; idx < len; idx++) { - var isLastWord = idx === len - 1; - var word = isLastWord ? words[idx] : words[idx] + " "; - var widthOfWord = font.widthOfTextAtSize(word, fontSize); - spaceInLineRemaining -= widthOfWord; - if (spaceInLineRemaining <= 0) { - linesUsed += 1; - spaceInLineRemaining = bounds.width - widthOfWord; - } - } - } - if (!multiline && linesUsed > lines.length) - return fontSize - 1; - var height = font.heightAtSize(fontSize); - var lineHeight = height + height * 0.2; - var totalHeight = lineHeight * linesUsed; - if (totalHeight > Math.abs(bounds.height)) - return fontSize - 1; - fontSize += 1; - } - return fontSize; -}; -var computeCombedFontSize = function(line, font, bounds, cellCount) { - var cellWidth = bounds.width / cellCount; - var cellHeight = bounds.height; - var fontSize = MIN_FONT_SIZE; - var chars3 = charSplit(line); - while (fontSize < MAX_FONT_SIZE) { - for (var idx = 0, len = chars3.length; idx < len; idx++) { - var c = chars3[idx]; - var tooLong = font.widthOfTextAtSize(c, fontSize) > cellWidth * 0.75; - if (tooLong) - return fontSize - 1; - } - var height = font.heightAtSize(fontSize, { descender: false }); - if (height > cellHeight) - return fontSize - 1; - fontSize += 1; - } - return fontSize; -}; -var lastIndexOfWhitespace = function(line) { - for (var idx = line.length; idx > 0; idx--) { - if (/\s/.test(line[idx])) - return idx; - } - return void 0; -}; -var splitOutLines = function(input, maxWidth, font, fontSize) { - var _a; - var lastWhitespaceIdx = input.length; - while (lastWhitespaceIdx > 0) { - var line = input.substring(0, lastWhitespaceIdx); - var encoded = font.encodeText(line); - var width = font.widthOfTextAtSize(line, fontSize); - if (width < maxWidth) { - var remainder = input.substring(lastWhitespaceIdx) || void 0; - return { line, encoded, width, remainder }; - } - lastWhitespaceIdx = (_a = lastIndexOfWhitespace(line)) !== null && _a !== void 0 ? _a : 0; - } - return { - line: input, - encoded: font.encodeText(input), - width: font.widthOfTextAtSize(input, fontSize), - remainder: void 0 - }; -}; -var layoutMultilineText = function(text, _a) { - var alignment = _a.alignment, fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds; - var lines = lineSplit(cleanText(text)); - if (fontSize === void 0 || fontSize === 0) { - fontSize = computeFontSize(lines, font, bounds, true); - } - var height = font.heightAtSize(fontSize); - var lineHeight = height + height * 0.2; - var textLines = []; - var minX = bounds.x; - var minY = bounds.y; - var maxX = bounds.x + bounds.width; - var maxY = bounds.y + bounds.height; - var y = bounds.y + bounds.height; - for (var idx = 0, len = lines.length; idx < len; idx++) { - var prevRemainder = lines[idx]; - while (prevRemainder !== void 0) { - var _b = splitOutLines(prevRemainder, bounds.width, font, fontSize), line = _b.line, encoded = _b.encoded, width = _b.width, remainder = _b.remainder; - var x = alignment === TextAlignment.Left ? bounds.x : alignment === TextAlignment.Center ? bounds.x + bounds.width / 2 - width / 2 : alignment === TextAlignment.Right ? bounds.x + bounds.width - width : bounds.x; - y -= lineHeight; - if (x < minX) - minX = x; - if (y < minY) - minY = y; - if (x + width > maxX) - maxX = x + width; - if (y + height > maxY) - maxY = y + height; - textLines.push({ text: line, encoded, width, height, x, y }); - prevRemainder = remainder === null || remainder === void 0 ? void 0 : remainder.trim(); - } - } - return { - fontSize, - lineHeight, - lines: textLines, - bounds: { - x: minX, - y: minY, - width: maxX - minX, - height: maxY - minY - } - }; -}; -var layoutCombedText = function(text, _a) { - var fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds, cellCount = _a.cellCount; - var line = mergeLines(cleanText(text)); - if (line.length > cellCount) { - throw new CombedTextLayoutError(line.length, cellCount); - } - if (fontSize === void 0 || fontSize === 0) { - fontSize = computeCombedFontSize(line, font, bounds, cellCount); - } - var cellWidth = bounds.width / cellCount; - var height = font.heightAtSize(fontSize, { descender: false }); - var y = bounds.y + (bounds.height / 2 - height / 2); - var cells = []; - var minX = bounds.x; - var minY = bounds.y; - var maxX = bounds.x + bounds.width; - var maxY = bounds.y + bounds.height; - var cellOffset = 0; - var charOffset = 0; - while (cellOffset < cellCount) { - var _b = charAtIndex(line, charOffset), char = _b[0], charLength = _b[1]; - var encoded = font.encodeText(char); - var width = font.widthOfTextAtSize(char, fontSize); - var cellCenter = bounds.x + (cellWidth * cellOffset + cellWidth / 2); - var x = cellCenter - width / 2; - if (x < minX) - minX = x; - if (y < minY) - minY = y; - if (x + width > maxX) - maxX = x + width; - if (y + height > maxY) - maxY = y + height; - cells.push({ text: line, encoded, width, height, x, y }); - cellOffset += 1; - charOffset += charLength; - } - return { - fontSize, - cells, - bounds: { - x: minX, - y: minY, - width: maxX - minX, - height: maxY - minY - } - }; -}; -var layoutSinglelineText = function(text, _a) { - var alignment = _a.alignment, fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds; - var line = mergeLines(cleanText(text)); - if (fontSize === void 0 || fontSize === 0) { - fontSize = computeFontSize([line], font, bounds); - } - var encoded = font.encodeText(line); - var width = font.widthOfTextAtSize(line, fontSize); - var height = font.heightAtSize(fontSize, { descender: false }); - var x = alignment === TextAlignment.Left ? bounds.x : alignment === TextAlignment.Center ? bounds.x + bounds.width / 2 - width / 2 : alignment === TextAlignment.Right ? bounds.x + bounds.width - width : bounds.x; - var y = bounds.y + (bounds.height / 2 - height / 2); - return { - fontSize, - line: { text: line, encoded, width, height, x, y }, - bounds: { x, y, width, height } - }; -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/form/appearances.js -var normalizeAppearance = function(appearance) { - if ("normal" in appearance) - return appearance; - return { normal: appearance }; -}; -var tfRegex2 = /\/([^\0\t\n\f\r\ ]+)[\0\t\n\f\r\ ]+(\d*\.\d+|\d+)[\0\t\n\f\r\ ]+Tf/; -var getDefaultFontSize = function(field) { - var _a, _b; - var da = (_a = field.getDefaultAppearance()) !== null && _a !== void 0 ? _a : ""; - var daMatch = (_b = findLastMatch(da, tfRegex2).match) !== null && _b !== void 0 ? _b : []; - var defaultFontSize = Number(daMatch[2]); - return isFinite(defaultFontSize) ? defaultFontSize : void 0; -}; -var colorRegex = /(\d*\.\d+|\d+)[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]+(g|rg|k)/; -var getDefaultColor = function(field) { - var _a; - var da = (_a = field.getDefaultAppearance()) !== null && _a !== void 0 ? _a : ""; - var daMatch = findLastMatch(da, colorRegex).match; - var _b = daMatch !== null && daMatch !== void 0 ? daMatch : [], c1 = _b[1], c2 = _b[2], c3 = _b[3], c4 = _b[4], colorSpace = _b[5]; - if (colorSpace === "g" && c1) { - return grayscale(Number(c1)); - } - if (colorSpace === "rg" && c1 && c2 && c3) { - return rgb(Number(c1), Number(c2), Number(c3)); - } - if (colorSpace === "k" && c1 && c2 && c3 && c4) { - return cmyk(Number(c1), Number(c2), Number(c3), Number(c4)); - } - return void 0; -}; -var updateDefaultAppearance = function(field, color, font, fontSize) { - var _a; - if (fontSize === void 0) { - fontSize = 0; - } - var da = [ - setFillingColor(color).toString(), - setFontAndSize((_a = font === null || font === void 0 ? void 0 : font.name) !== null && _a !== void 0 ? _a : "dummy__noop", fontSize).toString() - ].join("\n"); - field.setDefaultAppearance(da); -}; -var defaultCheckBoxAppearanceProvider = function(checkBox, widget) { - var _a, _b, _c; - var widgetColor = getDefaultColor(widget); - var fieldColor = getDefaultColor(checkBox.acroField); - var rectangle = widget.getRectangle(); - var ap = widget.getAppearanceCharacteristics(); - var bs = widget.getBorderStyle(); - var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0; - var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); - var _d = adjustDimsForRotation(rectangle, rotation), width = _d.width, height = _d.height; - var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); - var black = rgb(0, 0, 0); - var borderColor = (_b = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor())) !== null && _b !== void 0 ? _b : black; - var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); - var downBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8); - var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black; - if (widgetColor) { - updateDefaultAppearance(widget, textColor); - } else { - updateDefaultAppearance(checkBox.acroField, textColor); - } - var options = { - x: 0 + borderWidth / 2, - y: 0 + borderWidth / 2, - width: width - borderWidth, - height: height - borderWidth, - thickness: 1.5, - borderWidth, - borderColor, - markColor: textColor - }; - return { - normal: { - on: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: normalBackgroundColor, filled: true }))), - off: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: normalBackgroundColor, filled: false }))) - }, - down: { - on: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: downBackgroundColor, filled: true }))), - off: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: downBackgroundColor, filled: false }))) - } - }; -}; -var defaultRadioGroupAppearanceProvider = function(radioGroup, widget) { - var _a, _b, _c; - var widgetColor = getDefaultColor(widget); - var fieldColor = getDefaultColor(radioGroup.acroField); - var rectangle = widget.getRectangle(); - var ap = widget.getAppearanceCharacteristics(); - var bs = widget.getBorderStyle(); - var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0; - var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); - var _d = adjustDimsForRotation(rectangle, rotation), width = _d.width, height = _d.height; - var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); - var black = rgb(0, 0, 0); - var borderColor = (_b = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor())) !== null && _b !== void 0 ? _b : black; - var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); - var downBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8); - var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black; - if (widgetColor) { - updateDefaultAppearance(widget, textColor); - } else { - updateDefaultAppearance(radioGroup.acroField, textColor); - } - var options = { - x: width / 2, - y: height / 2, - width: width - borderWidth, - height: height - borderWidth, - borderWidth, - borderColor, - dotColor: textColor - }; - return { - normal: { - on: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: normalBackgroundColor, filled: true }))), - off: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: normalBackgroundColor, filled: false }))) - }, - down: { - on: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: downBackgroundColor, filled: true }))), - off: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: downBackgroundColor, filled: false }))) - } - }; -}; -var defaultButtonAppearanceProvider = function(button, widget, font) { - var _a, _b, _c, _d, _e; - var widgetColor = getDefaultColor(widget); - var fieldColor = getDefaultColor(button.acroField); - var widgetFontSize = getDefaultFontSize(widget); - var fieldFontSize = getDefaultFontSize(button.acroField); - var rectangle = widget.getRectangle(); - var ap = widget.getAppearanceCharacteristics(); - var bs = widget.getBorderStyle(); - var captions = ap === null || ap === void 0 ? void 0 : ap.getCaptions(); - var normalText = (_a = captions === null || captions === void 0 ? void 0 : captions.normal) !== null && _a !== void 0 ? _a : ""; - var downText = (_c = (_b = captions === null || captions === void 0 ? void 0 : captions.down) !== null && _b !== void 0 ? _b : normalText) !== null && _c !== void 0 ? _c : ""; - var borderWidth = (_d = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _d !== void 0 ? _d : 0; - var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); - var _f = adjustDimsForRotation(rectangle, rotation), width = _f.width, height = _f.height; - var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); - var black = rgb(0, 0, 0); - var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); - var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); - var downBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8); - var bounds = { - x: borderWidth, - y: borderWidth, - width: width - borderWidth * 2, - height: height - borderWidth * 2 - }; - var normalLayout = layoutSinglelineText(normalText, { - alignment: TextAlignment.Center, - fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, - font, - bounds - }); - var downLayout = layoutSinglelineText(downText, { - alignment: TextAlignment.Center, - fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, - font, - bounds - }); - var fontSize = Math.min(normalLayout.fontSize, downLayout.fontSize); - var textColor = (_e = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _e !== void 0 ? _e : black; - if (widgetColor || widgetFontSize !== void 0) { - updateDefaultAppearance(widget, textColor, font, fontSize); - } else { - updateDefaultAppearance(button.acroField, textColor, font, fontSize); - } - var options = { - x: 0 + borderWidth / 2, - y: 0 + borderWidth / 2, - width: width - borderWidth, - height: height - borderWidth, - borderWidth, - borderColor, - textColor, - font: font.name, - fontSize - }; - return { - normal: __spreadArrays(rotate, drawButton(__assign(__assign({}, options), { color: normalBackgroundColor, textLines: [normalLayout.line] }))), - down: __spreadArrays(rotate, drawButton(__assign(__assign({}, options), { color: downBackgroundColor, textLines: [downLayout.line] }))) - }; -}; -var defaultTextFieldAppearanceProvider = function(textField, widget, font) { - var _a, _b, _c, _d; - var widgetColor = getDefaultColor(widget); - var fieldColor = getDefaultColor(textField.acroField); - var widgetFontSize = getDefaultFontSize(widget); - var fieldFontSize = getDefaultFontSize(textField.acroField); - var rectangle = widget.getRectangle(); - var ap = widget.getAppearanceCharacteristics(); - var bs = widget.getBorderStyle(); - var text = (_a = textField.getText()) !== null && _a !== void 0 ? _a : ""; - var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0; - var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); - var _e = adjustDimsForRotation(rectangle, rotation), width = _e.width, height = _e.height; - var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); - var black = rgb(0, 0, 0); - var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); - var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); - var textLines; - var fontSize; - var padding = textField.isCombed() ? 0 : 1; - var bounds = { - x: borderWidth + padding, - y: borderWidth + padding, - width: width - (borderWidth + padding) * 2, - height: height - (borderWidth + padding) * 2 - }; - if (textField.isMultiline()) { - var layout = layoutMultilineText(text, { - alignment: textField.getAlignment(), - fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, - font, - bounds - }); - textLines = layout.lines; - fontSize = layout.fontSize; - } else if (textField.isCombed()) { - var layout = layoutCombedText(text, { - fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, - font, - bounds, - cellCount: (_c = textField.getMaxLength()) !== null && _c !== void 0 ? _c : 0 - }); - textLines = layout.cells; - fontSize = layout.fontSize; - } else { - var layout = layoutSinglelineText(text, { - alignment: textField.getAlignment(), - fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, - font, - bounds - }); - textLines = [layout.line]; - fontSize = layout.fontSize; - } - var textColor = (_d = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _d !== void 0 ? _d : black; - if (widgetColor || widgetFontSize !== void 0) { - updateDefaultAppearance(widget, textColor, font, fontSize); - } else { - updateDefaultAppearance(textField.acroField, textColor, font, fontSize); - } - var options = { - x: 0 + borderWidth / 2, - y: 0 + borderWidth / 2, - width: width - borderWidth, - height: height - borderWidth, - borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0, - borderColor, - textColor, - font: font.name, - fontSize, - color: normalBackgroundColor, - textLines, - padding - }; - return __spreadArrays(rotate, drawTextField(options)); -}; -var defaultDropdownAppearanceProvider = function(dropdown, widget, font) { - var _a, _b, _c; - var widgetColor = getDefaultColor(widget); - var fieldColor = getDefaultColor(dropdown.acroField); - var widgetFontSize = getDefaultFontSize(widget); - var fieldFontSize = getDefaultFontSize(dropdown.acroField); - var rectangle = widget.getRectangle(); - var ap = widget.getAppearanceCharacteristics(); - var bs = widget.getBorderStyle(); - var text = (_a = dropdown.getSelected()[0]) !== null && _a !== void 0 ? _a : ""; - var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0; - var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); - var _d = adjustDimsForRotation(rectangle, rotation), width = _d.width, height = _d.height; - var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); - var black = rgb(0, 0, 0); - var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); - var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); - var padding = 1; - var bounds = { - x: borderWidth + padding, - y: borderWidth + padding, - width: width - (borderWidth + padding) * 2, - height: height - (borderWidth + padding) * 2 - }; - var _e = layoutSinglelineText(text, { - alignment: TextAlignment.Left, - fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, - font, - bounds - }), line = _e.line, fontSize = _e.fontSize; - var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black; - if (widgetColor || widgetFontSize !== void 0) { - updateDefaultAppearance(widget, textColor, font, fontSize); - } else { - updateDefaultAppearance(dropdown.acroField, textColor, font, fontSize); - } - var options = { - x: 0 + borderWidth / 2, - y: 0 + borderWidth / 2, - width: width - borderWidth, - height: height - borderWidth, - borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0, - borderColor, - textColor, - font: font.name, - fontSize, - color: normalBackgroundColor, - textLines: [line], - padding - }; - return __spreadArrays(rotate, drawTextField(options)); -}; -var defaultOptionListAppearanceProvider = function(optionList, widget, font) { - var _a, _b; - var widgetColor = getDefaultColor(widget); - var fieldColor = getDefaultColor(optionList.acroField); - var widgetFontSize = getDefaultFontSize(widget); - var fieldFontSize = getDefaultFontSize(optionList.acroField); - var rectangle = widget.getRectangle(); - var ap = widget.getAppearanceCharacteristics(); - var bs = widget.getBorderStyle(); - var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0; - var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); - var _c = adjustDimsForRotation(rectangle, rotation), width = _c.width, height = _c.height; - var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); - var black = rgb(0, 0, 0); - var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); - var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); - var options = optionList.getOptions(); - var selected = optionList.getSelected(); - if (optionList.isSorted()) - options.sort(); - var text = ""; - for (var idx = 0, len = options.length; idx < len; idx++) { - text += options[idx]; - if (idx < len - 1) - text += "\n"; - } - var padding = 1; - var bounds = { - x: borderWidth + padding, - y: borderWidth + padding, - width: width - (borderWidth + padding) * 2, - height: height - (borderWidth + padding) * 2 - }; - var _d = layoutMultilineText(text, { - alignment: TextAlignment.Left, - fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, - font, - bounds - }), lines = _d.lines, fontSize = _d.fontSize, lineHeight = _d.lineHeight; - var selectedLines = []; - for (var idx = 0, len = lines.length; idx < len; idx++) { - var line = lines[idx]; - if (selected.includes(line.text)) - selectedLines.push(idx); - } - var blue = rgb(153 / 255, 193 / 255, 218 / 255); - var textColor = (_b = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _b !== void 0 ? _b : black; - if (widgetColor || widgetFontSize !== void 0) { - updateDefaultAppearance(widget, textColor, font, fontSize); - } else { - updateDefaultAppearance(optionList.acroField, textColor, font, fontSize); - } - return __spreadArrays(rotate, drawOptionList({ - x: 0 + borderWidth / 2, - y: 0 + borderWidth / 2, - width: width - borderWidth, - height: height - borderWidth, - borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0, - borderColor, - textColor, - font: font.name, - fontSize, - color: normalBackgroundColor, - textLines: lines, - lineHeight, - selectedColor: blue, - selectedLines, - padding - })); -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/PDFEmbeddedPage.js -var PDFEmbeddedPage = ( - /** @class */ - function() { - function PDFEmbeddedPage2(ref, doc, embedder) { - this.alreadyEmbedded = false; - assertIs(ref, "ref", [[PDFRef_default, "PDFRef"]]); - assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); - assertIs(embedder, "embedder", [[PDFPageEmbedder_default, "PDFPageEmbedder"]]); - this.ref = ref; - this.doc = doc; - this.width = embedder.width; - this.height = embedder.height; - this.embedder = embedder; - } - PDFEmbeddedPage2.prototype.scale = function(factor) { - assertIs(factor, "factor", ["number"]); - return { width: this.width * factor, height: this.height * factor }; - }; - PDFEmbeddedPage2.prototype.size = function() { - return this.scale(1); - }; - PDFEmbeddedPage2.prototype.embed = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (!!this.alreadyEmbedded) return [3, 2]; - return [4, this.embedder.embedIntoContext(this.doc.context, this.ref)]; - case 1: - _a.sent(); - this.alreadyEmbedded = true; - _a.label = 2; - case 2: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFEmbeddedPage2.of = function(ref, doc, embedder) { - return new PDFEmbeddedPage2(ref, doc, embedder); - }; - return PDFEmbeddedPage2; - }() -); -var PDFEmbeddedPage_default = PDFEmbeddedPage; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/PDFFont.js -var PDFFont = ( - /** @class */ - function() { - function PDFFont2(ref, doc, embedder) { - this.modified = true; - assertIs(ref, "ref", [[PDFRef_default, "PDFRef"]]); - assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); - assertIs(embedder, "embedder", [ - [CustomFontEmbedder_default, "CustomFontEmbedder"], - [StandardFontEmbedder_default, "StandardFontEmbedder"] - ]); - this.ref = ref; - this.doc = doc; - this.name = embedder.fontName; - this.embedder = embedder; - } - PDFFont2.prototype.encodeText = function(text) { - assertIs(text, "text", ["string"]); - this.modified = true; - return this.embedder.encodeText(text); - }; - PDFFont2.prototype.widthOfTextAtSize = function(text, size) { - assertIs(text, "text", ["string"]); - assertIs(size, "size", ["number"]); - return this.embedder.widthOfTextAtSize(text, size); - }; - PDFFont2.prototype.heightAtSize = function(size, options) { - var _a; - assertIs(size, "size", ["number"]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.descender, "options.descender", ["boolean"]); - return this.embedder.heightOfFontAtSize(size, { - descender: (_a = options === null || options === void 0 ? void 0 : options.descender) !== null && _a !== void 0 ? _a : true - }); - }; - PDFFont2.prototype.sizeAtHeight = function(height) { - assertIs(height, "height", ["number"]); - return this.embedder.sizeOfFontAtHeight(height); - }; - PDFFont2.prototype.getCharacterSet = function() { - if (this.embedder instanceof StandardFontEmbedder_default) { - return this.embedder.encoding.supportedCodePoints; - } else { - return this.embedder.font.characterSet; - } - }; - PDFFont2.prototype.embed = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (!this.modified) return [3, 2]; - return [4, this.embedder.embedIntoContext(this.doc.context, this.ref)]; - case 1: - _a.sent(); - this.modified = false; - _a.label = 2; - case 2: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFFont2.of = function(ref, doc, embedder) { - return new PDFFont2(ref, doc, embedder); - }; - return PDFFont2; - }() -); -var PDFFont_default = PDFFont; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/PDFImage.js -var PDFImage = ( - /** @class */ - function() { - function PDFImage2(ref, doc, embedder) { - assertIs(ref, "ref", [[PDFRef_default, "PDFRef"]]); - assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); - assertIs(embedder, "embedder", [ - [JpegEmbedder_default, "JpegEmbedder"], - [PngEmbedder_default, "PngEmbedder"] - ]); - this.ref = ref; - this.doc = doc; - this.width = embedder.width; - this.height = embedder.height; - this.embedder = embedder; - } - PDFImage2.prototype.scale = function(factor) { - assertIs(factor, "factor", ["number"]); - return { width: this.width * factor, height: this.height * factor }; - }; - PDFImage2.prototype.scaleToFit = function(width, height) { - assertIs(width, "width", ["number"]); - assertIs(height, "height", ["number"]); - var imgWidthScale = width / this.width; - var imgHeightScale = height / this.height; - var scale2 = Math.min(imgWidthScale, imgHeightScale); - return this.scale(scale2); - }; - PDFImage2.prototype.size = function() { - return this.scale(1); - }; - PDFImage2.prototype.embed = function() { - return __awaiter(this, void 0, void 0, function() { - var _a, doc, ref; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - if (!this.embedder) - return [ - 2 - /*return*/ - ]; - if (!this.embedTask) { - _a = this, doc = _a.doc, ref = _a.ref; - this.embedTask = this.embedder.embedIntoContext(doc.context, ref); - } - return [4, this.embedTask]; - case 1: - _b.sent(); - this.embedder = void 0; - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFImage2.of = function(ref, doc, embedder) { - return new PDFImage2(ref, doc, embedder); - }; - return PDFImage2; - }() -); -var PDFImage_default = PDFImage; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/image/alignment.js -var ImageAlignment; -(function(ImageAlignment2) { - ImageAlignment2[ImageAlignment2["Left"] = 0] = "Left"; - ImageAlignment2[ImageAlignment2["Center"] = 1] = "Center"; - ImageAlignment2[ImageAlignment2["Right"] = 2] = "Right"; -})(ImageAlignment || (ImageAlignment = {})); - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/form/PDFField.js -var assertFieldAppearanceOptions = function(options) { - assertOrUndefined(options === null || options === void 0 ? void 0 : options.x, "options.x", ["number"]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.y, "options.y", ["number"]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.width, "options.width", ["number"]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.height, "options.height", ["number"]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.textColor, "options.textColor", [ - [Object, "Color"] - ]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.backgroundColor, "options.backgroundColor", [ - [Object, "Color"] - ]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.borderColor, "options.borderColor", [ - [Object, "Color"] - ]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.borderWidth, "options.borderWidth", ["number"]); - assertOrUndefined(options === null || options === void 0 ? void 0 : options.rotate, "options.rotate", [[Object, "Rotation"]]); -}; -var PDFField = ( - /** @class */ - function() { - function PDFField2(acroField, ref, doc) { - assertIs(acroField, "acroField", [[PDFAcroTerminal_default, "PDFAcroTerminal"]]); - assertIs(ref, "ref", [[PDFRef_default, "PDFRef"]]); - assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); - this.acroField = acroField; - this.ref = ref; - this.doc = doc; - } - PDFField2.prototype.getName = function() { - var _a; - return (_a = this.acroField.getFullyQualifiedName()) !== null && _a !== void 0 ? _a : ""; - }; - PDFField2.prototype.isReadOnly = function() { - return this.acroField.hasFlag(AcroFieldFlags.ReadOnly); - }; - PDFField2.prototype.enableReadOnly = function() { - this.acroField.setFlagTo(AcroFieldFlags.ReadOnly, true); - }; - PDFField2.prototype.disableReadOnly = function() { - this.acroField.setFlagTo(AcroFieldFlags.ReadOnly, false); - }; - PDFField2.prototype.isRequired = function() { - return this.acroField.hasFlag(AcroFieldFlags.Required); - }; - PDFField2.prototype.enableRequired = function() { - this.acroField.setFlagTo(AcroFieldFlags.Required, true); - }; - PDFField2.prototype.disableRequired = function() { - this.acroField.setFlagTo(AcroFieldFlags.Required, false); - }; - PDFField2.prototype.isExported = function() { - return !this.acroField.hasFlag(AcroFieldFlags.NoExport); - }; - PDFField2.prototype.enableExporting = function() { - this.acroField.setFlagTo(AcroFieldFlags.NoExport, false); - }; - PDFField2.prototype.disableExporting = function() { - this.acroField.setFlagTo(AcroFieldFlags.NoExport, true); - }; - PDFField2.prototype.needsAppearancesUpdate = function() { - throw new MethodNotImplementedError(this.constructor.name, "needsAppearancesUpdate"); - }; - PDFField2.prototype.defaultUpdateAppearances = function(_font) { - throw new MethodNotImplementedError(this.constructor.name, "defaultUpdateAppearances"); - }; - PDFField2.prototype.markAsDirty = function() { - this.doc.getForm().markFieldAsDirty(this.ref); - }; - PDFField2.prototype.markAsClean = function() { - this.doc.getForm().markFieldAsClean(this.ref); - }; - PDFField2.prototype.isDirty = function() { - return this.doc.getForm().fieldIsDirty(this.ref); - }; - PDFField2.prototype.createWidget = function(options) { - var _a; - var textColor = options.textColor; - var backgroundColor = options.backgroundColor; - var borderColor = options.borderColor; - var borderWidth = options.borderWidth; - var degreesAngle = toDegrees(options.rotate); - var caption = options.caption; - var x = options.x; - var y = options.y; - var width = options.width + borderWidth; - var height = options.height + borderWidth; - var hidden = Boolean(options.hidden); - var pageRef = options.page; - assertMultiple(degreesAngle, "degreesAngle", 90); - var widget = PDFWidgetAnnotation_default.create(this.doc.context, this.ref); - var rect = rotateRectangle({ x, y, width, height }, borderWidth, degreesAngle); - widget.setRectangle(rect); - if (pageRef) - widget.setP(pageRef); - var ac = widget.getOrCreateAppearanceCharacteristics(); - if (backgroundColor) { - ac.setBackgroundColor(colorToComponents(backgroundColor)); - } - ac.setRotation(degreesAngle); - if (caption) - ac.setCaptions({ normal: caption }); - if (borderColor) - ac.setBorderColor(colorToComponents(borderColor)); - var bs = widget.getOrCreateBorderStyle(); - if (borderWidth !== void 0) - bs.setWidth(borderWidth); - widget.setFlagTo(AnnotationFlags.Print, true); - widget.setFlagTo(AnnotationFlags.Hidden, hidden); - widget.setFlagTo(AnnotationFlags.Invisible, false); - if (textColor) { - var da = (_a = this.acroField.getDefaultAppearance()) !== null && _a !== void 0 ? _a : ""; - var newDa = da + "\n" + setFillingColor(textColor).toString(); - this.acroField.setDefaultAppearance(newDa); - } - return widget; - }; - PDFField2.prototype.updateWidgetAppearanceWithFont = function(widget, font, _a) { - var normal = _a.normal, rollover = _a.rollover, down = _a.down; - this.updateWidgetAppearances(widget, { - normal: this.createAppearanceStream(widget, normal, font), - rollover: rollover && this.createAppearanceStream(widget, rollover, font), - down: down && this.createAppearanceStream(widget, down, font) - }); - }; - PDFField2.prototype.updateOnOffWidgetAppearance = function(widget, onValue, _a) { - var normal = _a.normal, rollover = _a.rollover, down = _a.down; - this.updateWidgetAppearances(widget, { - normal: this.createAppearanceDict(widget, normal, onValue), - rollover: rollover && this.createAppearanceDict(widget, rollover, onValue), - down: down && this.createAppearanceDict(widget, down, onValue) - }); - }; - PDFField2.prototype.updateWidgetAppearances = function(widget, _a) { - var normal = _a.normal, rollover = _a.rollover, down = _a.down; - widget.setNormalAppearance(normal); - if (rollover) { - widget.setRolloverAppearance(rollover); - } else { - widget.removeRolloverAppearance(); - } - if (down) { - widget.setDownAppearance(down); - } else { - widget.removeDownAppearance(); - } - }; - PDFField2.prototype.createAppearanceStream = function(widget, appearance, font) { - var _a; - var context = this.acroField.dict.context; - var _b = widget.getRectangle(), width = _b.width, height = _b.height; - var Resources = font && { Font: (_a = {}, _a[font.name] = font.ref, _a) }; - var stream2 = context.formXObject(appearance, { - Resources, - BBox: context.obj([0, 0, width, height]), - Matrix: context.obj([1, 0, 0, 1, 0, 0]) - }); - var streamRef = context.register(stream2); - return streamRef; - }; - PDFField2.prototype.createImageAppearanceStream = function(widget, image, alignment) { - var _a; - var _b; - var context = this.acroField.dict.context; - var rectangle = widget.getRectangle(); - var ap = widget.getAppearanceCharacteristics(); - var bs = widget.getBorderStyle(); - var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0; - var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); - var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation })); - var adj = adjustDimsForRotation(rectangle, rotation); - var imageDims = image.scaleToFit(adj.width - borderWidth * 2, adj.height - borderWidth * 2); - var options = { - x: borderWidth, - y: borderWidth, - width: imageDims.width, - height: imageDims.height, - // - rotate: degrees(0), - xSkew: degrees(0), - ySkew: degrees(0) - }; - if (alignment === ImageAlignment.Center) { - options.x += (adj.width - borderWidth * 2) / 2 - imageDims.width / 2; - options.y += (adj.height - borderWidth * 2) / 2 - imageDims.height / 2; - } else if (alignment === ImageAlignment.Right) { - options.x = adj.width - borderWidth - imageDims.width; - options.y = adj.height - borderWidth - imageDims.height; - } - var imageName = this.doc.context.addRandomSuffix("Image", 10); - var appearance = __spreadArrays(rotate, drawImage(imageName, options)); - var Resources = { XObject: (_a = {}, _a[imageName] = image.ref, _a) }; - var stream2 = context.formXObject(appearance, { - Resources, - BBox: context.obj([0, 0, rectangle.width, rectangle.height]), - Matrix: context.obj([1, 0, 0, 1, 0, 0]) - }); - return context.register(stream2); - }; - PDFField2.prototype.createAppearanceDict = function(widget, appearance, onValue) { - var context = this.acroField.dict.context; - var onStreamRef = this.createAppearanceStream(widget, appearance.on); - var offStreamRef = this.createAppearanceStream(widget, appearance.off); - var appearanceDict = context.obj({}); - appearanceDict.set(onValue, onStreamRef); - appearanceDict.set(PDFName_default.of("Off"), offStreamRef); - return appearanceDict; - }; - return PDFField2; - }() -); -var PDFField_default = PDFField; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/form/PDFCheckBox.js -var PDFCheckBox = ( - /** @class */ - function(_super) { - __extends(PDFCheckBox2, _super); - function PDFCheckBox2(acroCheckBox, ref, doc) { - var _this = _super.call(this, acroCheckBox, ref, doc) || this; - assertIs(acroCheckBox, "acroCheckBox", [ - [PDFAcroCheckBox_default, "PDFAcroCheckBox"] - ]); - _this.acroField = acroCheckBox; - return _this; - } - PDFCheckBox2.prototype.check = function() { - var _a; - var onValue = (_a = this.acroField.getOnValue()) !== null && _a !== void 0 ? _a : PDFName_default.of("Yes"); - this.markAsDirty(); - this.acroField.setValue(onValue); - }; - PDFCheckBox2.prototype.uncheck = function() { - this.markAsDirty(); - this.acroField.setValue(PDFName_default.of("Off")); - }; - PDFCheckBox2.prototype.isChecked = function() { - var onValue = this.acroField.getOnValue(); - return !!onValue && onValue === this.acroField.getValue(); - }; - PDFCheckBox2.prototype.addToPage = function(page, options) { - var _a, _b, _c, _d, _e, _f; - assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); - assertFieldAppearanceOptions(options); - if (!options) - options = {}; - if (!("textColor" in options)) - options.textColor = rgb(0, 0, 0); - if (!("backgroundColor" in options)) - options.backgroundColor = rgb(1, 1, 1); - if (!("borderColor" in options)) - options.borderColor = rgb(0, 0, 0); - if (!("borderWidth" in options)) - options.borderWidth = 1; - var widget = this.createWidget({ - x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, - y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, - width: (_c = options.width) !== null && _c !== void 0 ? _c : 50, - height: (_d = options.height) !== null && _d !== void 0 ? _d : 50, - textColor: options.textColor, - backgroundColor: options.backgroundColor, - borderColor: options.borderColor, - borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, - rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), - hidden: options.hidden, - page: page.ref - }); - var widgetRef = this.doc.context.register(widget.dict); - this.acroField.addWidget(widgetRef); - widget.setAppearanceState(PDFName_default.of("Off")); - this.updateWidgetAppearance(widget, PDFName_default.of("Yes")); - page.node.addAnnot(widgetRef); - }; - PDFCheckBox2.prototype.needsAppearancesUpdate = function() { - var _a; - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var state = widget.getAppearanceState(); - var normal = (_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal; - if (!(normal instanceof PDFDict_default)) - return true; - if (state && !normal.has(state)) - return true; - } - return false; - }; - PDFCheckBox2.prototype.defaultUpdateAppearances = function() { - this.updateAppearances(); - }; - PDFCheckBox2.prototype.updateAppearances = function(provider) { - var _a; - assertOrUndefined(provider, "provider", [Function]); - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var onValue = (_a = widget.getOnValue()) !== null && _a !== void 0 ? _a : PDFName_default.of("Yes"); - if (!onValue) - continue; - this.updateWidgetAppearance(widget, onValue, provider); - } - this.markAsClean(); - }; - PDFCheckBox2.prototype.updateWidgetAppearance = function(widget, onValue, provider) { - var apProvider = provider !== null && provider !== void 0 ? provider : defaultCheckBoxAppearanceProvider; - var appearances = normalizeAppearance(apProvider(this, widget)); - this.updateOnOffWidgetAppearance(widget, onValue, appearances); - }; - PDFCheckBox2.of = function(acroCheckBox, ref, doc) { - return new PDFCheckBox2(acroCheckBox, ref, doc); - }; - return PDFCheckBox2; - }(PDFField_default) -); -var PDFCheckBox_default = PDFCheckBox; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/form/PDFDropdown.js -var PDFDropdown = ( - /** @class */ - function(_super) { - __extends(PDFDropdown2, _super); - function PDFDropdown2(acroComboBox, ref, doc) { - var _this = _super.call(this, acroComboBox, ref, doc) || this; - assertIs(acroComboBox, "acroComboBox", [ - [PDFAcroComboBox_default, "PDFAcroComboBox"] - ]); - _this.acroField = acroComboBox; - return _this; - } - PDFDropdown2.prototype.getOptions = function() { - var rawOptions = this.acroField.getOptions(); - var options = new Array(rawOptions.length); - for (var idx = 0, len = options.length; idx < len; idx++) { - var _a = rawOptions[idx], display = _a.display, value = _a.value; - options[idx] = (display !== null && display !== void 0 ? display : value).decodeText(); - } - return options; - }; - PDFDropdown2.prototype.getSelected = function() { - var values2 = this.acroField.getValues(); - var selected = new Array(values2.length); - for (var idx = 0, len = values2.length; idx < len; idx++) { - selected[idx] = values2[idx].decodeText(); - } - return selected; - }; - PDFDropdown2.prototype.setOptions = function(options) { - assertIs(options, "options", [Array]); - var optionObjects = new Array(options.length); - for (var idx = 0, len = options.length; idx < len; idx++) { - optionObjects[idx] = { value: PDFHexString_default.fromText(options[idx]) }; - } - this.acroField.setOptions(optionObjects); - }; - PDFDropdown2.prototype.addOptions = function(options) { - assertIs(options, "options", ["string", Array]); - var optionsArr = Array.isArray(options) ? options : [options]; - var existingOptions = this.acroField.getOptions(); - var newOptions = new Array(optionsArr.length); - for (var idx = 0, len = optionsArr.length; idx < len; idx++) { - newOptions[idx] = { value: PDFHexString_default.fromText(optionsArr[idx]) }; - } - this.acroField.setOptions(existingOptions.concat(newOptions)); - }; - PDFDropdown2.prototype.select = function(options, merge2) { - if (merge2 === void 0) { - merge2 = false; - } - assertIs(options, "options", ["string", Array]); - assertIs(merge2, "merge", ["boolean"]); - var optionsArr = Array.isArray(options) ? options : [options]; - var validOptions = this.getOptions(); - var hasCustomOption = optionsArr.find(function(option) { - return !validOptions.includes(option); - }); - if (hasCustomOption) - this.enableEditing(); - this.markAsDirty(); - if (optionsArr.length > 1 || optionsArr.length === 1 && merge2) { - this.enableMultiselect(); - } - var values2 = new Array(optionsArr.length); - for (var idx = 0, len = optionsArr.length; idx < len; idx++) { - values2[idx] = PDFHexString_default.fromText(optionsArr[idx]); - } - if (merge2) { - var existingValues = this.acroField.getValues(); - this.acroField.setValues(existingValues.concat(values2)); - } else { - this.acroField.setValues(values2); - } - }; - PDFDropdown2.prototype.clear = function() { - this.markAsDirty(); - this.acroField.setValues([]); - }; - PDFDropdown2.prototype.setFontSize = function(fontSize) { - assertPositive(fontSize, "fontSize"); - this.acroField.setFontSize(fontSize); - this.markAsDirty(); - }; - PDFDropdown2.prototype.isEditable = function() { - return this.acroField.hasFlag(AcroChoiceFlags.Edit); - }; - PDFDropdown2.prototype.enableEditing = function() { - this.acroField.setFlagTo(AcroChoiceFlags.Edit, true); - }; - PDFDropdown2.prototype.disableEditing = function() { - this.acroField.setFlagTo(AcroChoiceFlags.Edit, false); - }; - PDFDropdown2.prototype.isSorted = function() { - return this.acroField.hasFlag(AcroChoiceFlags.Sort); - }; - PDFDropdown2.prototype.enableSorting = function() { - this.acroField.setFlagTo(AcroChoiceFlags.Sort, true); - }; - PDFDropdown2.prototype.disableSorting = function() { - this.acroField.setFlagTo(AcroChoiceFlags.Sort, false); - }; - PDFDropdown2.prototype.isMultiselect = function() { - return this.acroField.hasFlag(AcroChoiceFlags.MultiSelect); - }; - PDFDropdown2.prototype.enableMultiselect = function() { - this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, true); - }; - PDFDropdown2.prototype.disableMultiselect = function() { - this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, false); - }; - PDFDropdown2.prototype.isSpellChecked = function() { - return !this.acroField.hasFlag(AcroChoiceFlags.DoNotSpellCheck); - }; - PDFDropdown2.prototype.enableSpellChecking = function() { - this.acroField.setFlagTo(AcroChoiceFlags.DoNotSpellCheck, false); - }; - PDFDropdown2.prototype.disableSpellChecking = function() { - this.acroField.setFlagTo(AcroChoiceFlags.DoNotSpellCheck, true); - }; - PDFDropdown2.prototype.isSelectOnClick = function() { - return this.acroField.hasFlag(AcroChoiceFlags.CommitOnSelChange); - }; - PDFDropdown2.prototype.enableSelectOnClick = function() { - this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, true); - }; - PDFDropdown2.prototype.disableSelectOnClick = function() { - this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, false); - }; - PDFDropdown2.prototype.addToPage = function(page, options) { - var _a, _b, _c, _d, _e, _f, _g; - assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); - assertFieldAppearanceOptions(options); - if (!options) - options = {}; - if (!("textColor" in options)) - options.textColor = rgb(0, 0, 0); - if (!("backgroundColor" in options)) - options.backgroundColor = rgb(1, 1, 1); - if (!("borderColor" in options)) - options.borderColor = rgb(0, 0, 0); - if (!("borderWidth" in options)) - options.borderWidth = 1; - var widget = this.createWidget({ - x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, - y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, - width: (_c = options.width) !== null && _c !== void 0 ? _c : 200, - height: (_d = options.height) !== null && _d !== void 0 ? _d : 50, - textColor: options.textColor, - backgroundColor: options.backgroundColor, - borderColor: options.borderColor, - borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, - rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), - hidden: options.hidden, - page: page.ref - }); - var widgetRef = this.doc.context.register(widget.dict); - this.acroField.addWidget(widgetRef); - var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont(); - this.updateWidgetAppearance(widget, font); - page.node.addAnnot(widgetRef); - }; - PDFDropdown2.prototype.needsAppearancesUpdate = function() { - var _a; - if (this.isDirty()) - return true; - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream_default; - if (!hasAppearances) - return true; - } - return false; - }; - PDFDropdown2.prototype.defaultUpdateAppearances = function(font) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - this.updateAppearances(font); - }; - PDFDropdown2.prototype.updateAppearances = function(font, provider) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - assertOrUndefined(provider, "provider", [Function]); - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - this.updateWidgetAppearance(widget, font, provider); - } - this.markAsClean(); - }; - PDFDropdown2.prototype.updateWidgetAppearance = function(widget, font, provider) { - var apProvider = provider !== null && provider !== void 0 ? provider : defaultDropdownAppearanceProvider; - var appearances = normalizeAppearance(apProvider(this, widget, font)); - this.updateWidgetAppearanceWithFont(widget, font, appearances); - }; - PDFDropdown2.of = function(acroComboBox, ref, doc) { - return new PDFDropdown2(acroComboBox, ref, doc); - }; - return PDFDropdown2; - }(PDFField_default) -); -var PDFDropdown_default = PDFDropdown; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/form/PDFOptionList.js -var PDFOptionList = ( - /** @class */ - function(_super) { - __extends(PDFOptionList2, _super); - function PDFOptionList2(acroListBox, ref, doc) { - var _this = _super.call(this, acroListBox, ref, doc) || this; - assertIs(acroListBox, "acroListBox", [[PDFAcroListBox_default, "PDFAcroListBox"]]); - _this.acroField = acroListBox; - return _this; - } - PDFOptionList2.prototype.getOptions = function() { - var rawOptions = this.acroField.getOptions(); - var options = new Array(rawOptions.length); - for (var idx = 0, len = options.length; idx < len; idx++) { - var _a = rawOptions[idx], display = _a.display, value = _a.value; - options[idx] = (display !== null && display !== void 0 ? display : value).decodeText(); - } - return options; - }; - PDFOptionList2.prototype.getSelected = function() { - var values2 = this.acroField.getValues(); - var selected = new Array(values2.length); - for (var idx = 0, len = values2.length; idx < len; idx++) { - selected[idx] = values2[idx].decodeText(); - } - return selected; - }; - PDFOptionList2.prototype.setOptions = function(options) { - assertIs(options, "options", [Array]); - this.markAsDirty(); - var optionObjects = new Array(options.length); - for (var idx = 0, len = options.length; idx < len; idx++) { - optionObjects[idx] = { value: PDFHexString_default.fromText(options[idx]) }; - } - this.acroField.setOptions(optionObjects); - }; - PDFOptionList2.prototype.addOptions = function(options) { - assertIs(options, "options", ["string", Array]); - this.markAsDirty(); - var optionsArr = Array.isArray(options) ? options : [options]; - var existingOptions = this.acroField.getOptions(); - var newOptions = new Array(optionsArr.length); - for (var idx = 0, len = optionsArr.length; idx < len; idx++) { - newOptions[idx] = { value: PDFHexString_default.fromText(optionsArr[idx]) }; - } - this.acroField.setOptions(existingOptions.concat(newOptions)); - }; - PDFOptionList2.prototype.select = function(options, merge2) { - if (merge2 === void 0) { - merge2 = false; - } - assertIs(options, "options", ["string", Array]); - assertIs(merge2, "merge", ["boolean"]); - var optionsArr = Array.isArray(options) ? options : [options]; - var validOptions = this.getOptions(); - assertIsSubset(optionsArr, "option", validOptions); - this.markAsDirty(); - if (optionsArr.length > 1 || optionsArr.length === 1 && merge2) { - this.enableMultiselect(); - } - var values2 = new Array(optionsArr.length); - for (var idx = 0, len = optionsArr.length; idx < len; idx++) { - values2[idx] = PDFHexString_default.fromText(optionsArr[idx]); - } - if (merge2) { - var existingValues = this.acroField.getValues(); - this.acroField.setValues(existingValues.concat(values2)); - } else { - this.acroField.setValues(values2); - } - }; - PDFOptionList2.prototype.clear = function() { - this.markAsDirty(); - this.acroField.setValues([]); - }; - PDFOptionList2.prototype.setFontSize = function(fontSize) { - assertPositive(fontSize, "fontSize"); - this.acroField.setFontSize(fontSize); - this.markAsDirty(); - }; - PDFOptionList2.prototype.isSorted = function() { - return this.acroField.hasFlag(AcroChoiceFlags.Sort); - }; - PDFOptionList2.prototype.enableSorting = function() { - this.acroField.setFlagTo(AcroChoiceFlags.Sort, true); - }; - PDFOptionList2.prototype.disableSorting = function() { - this.acroField.setFlagTo(AcroChoiceFlags.Sort, false); - }; - PDFOptionList2.prototype.isMultiselect = function() { - return this.acroField.hasFlag(AcroChoiceFlags.MultiSelect); - }; - PDFOptionList2.prototype.enableMultiselect = function() { - this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, true); - }; - PDFOptionList2.prototype.disableMultiselect = function() { - this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, false); - }; - PDFOptionList2.prototype.isSelectOnClick = function() { - return this.acroField.hasFlag(AcroChoiceFlags.CommitOnSelChange); - }; - PDFOptionList2.prototype.enableSelectOnClick = function() { - this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, true); - }; - PDFOptionList2.prototype.disableSelectOnClick = function() { - this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, false); - }; - PDFOptionList2.prototype.addToPage = function(page, options) { - var _a, _b, _c, _d, _e, _f, _g; - assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); - assertFieldAppearanceOptions(options); - if (!options) - options = {}; - if (!("textColor" in options)) - options.textColor = rgb(0, 0, 0); - if (!("backgroundColor" in options)) - options.backgroundColor = rgb(1, 1, 1); - if (!("borderColor" in options)) - options.borderColor = rgb(0, 0, 0); - if (!("borderWidth" in options)) - options.borderWidth = 1; - var widget = this.createWidget({ - x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, - y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, - width: (_c = options.width) !== null && _c !== void 0 ? _c : 200, - height: (_d = options.height) !== null && _d !== void 0 ? _d : 100, - textColor: options.textColor, - backgroundColor: options.backgroundColor, - borderColor: options.borderColor, - borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, - rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), - hidden: options.hidden, - page: page.ref - }); - var widgetRef = this.doc.context.register(widget.dict); - this.acroField.addWidget(widgetRef); - var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont(); - this.updateWidgetAppearance(widget, font); - page.node.addAnnot(widgetRef); - }; - PDFOptionList2.prototype.needsAppearancesUpdate = function() { - var _a; - if (this.isDirty()) - return true; - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream_default; - if (!hasAppearances) - return true; - } - return false; - }; - PDFOptionList2.prototype.defaultUpdateAppearances = function(font) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - this.updateAppearances(font); - }; - PDFOptionList2.prototype.updateAppearances = function(font, provider) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - assertOrUndefined(provider, "provider", [Function]); - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - this.updateWidgetAppearance(widget, font, provider); - } - this.markAsClean(); - }; - PDFOptionList2.prototype.updateWidgetAppearance = function(widget, font, provider) { - var apProvider = provider !== null && provider !== void 0 ? provider : defaultOptionListAppearanceProvider; - var appearances = normalizeAppearance(apProvider(this, widget, font)); - this.updateWidgetAppearanceWithFont(widget, font, appearances); - }; - PDFOptionList2.of = function(acroListBox, ref, doc) { - return new PDFOptionList2(acroListBox, ref, doc); - }; - return PDFOptionList2; - }(PDFField_default) -); -var PDFOptionList_default = PDFOptionList; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/form/PDFRadioGroup.js -var PDFRadioGroup = ( - /** @class */ - function(_super) { - __extends(PDFRadioGroup2, _super); - function PDFRadioGroup2(acroRadioButton, ref, doc) { - var _this = _super.call(this, acroRadioButton, ref, doc) || this; - assertIs(acroRadioButton, "acroRadioButton", [ - [PDFAcroRadioButton_default, "PDFAcroRadioButton"] - ]); - _this.acroField = acroRadioButton; - return _this; - } - PDFRadioGroup2.prototype.getOptions = function() { - var exportValues = this.acroField.getExportValues(); - if (exportValues) { - var exportOptions = new Array(exportValues.length); - for (var idx = 0, len = exportValues.length; idx < len; idx++) { - exportOptions[idx] = exportValues[idx].decodeText(); - } - return exportOptions; - } - var onValues = this.acroField.getOnValues(); - var onOptions = new Array(onValues.length); - for (var idx = 0, len = onOptions.length; idx < len; idx++) { - onOptions[idx] = onValues[idx].decodeText(); - } - return onOptions; - }; - PDFRadioGroup2.prototype.getSelected = function() { - var value = this.acroField.getValue(); - if (value === PDFName_default.of("Off")) - return void 0; - var exportValues = this.acroField.getExportValues(); - if (exportValues) { - var onValues = this.acroField.getOnValues(); - for (var idx = 0, len = onValues.length; idx < len; idx++) { - if (onValues[idx] === value) - return exportValues[idx].decodeText(); - } - } - return value.decodeText(); - }; - PDFRadioGroup2.prototype.select = function(option) { - assertIs(option, "option", ["string"]); - var validOptions = this.getOptions(); - assertIsOneOf(option, "option", validOptions); - this.markAsDirty(); - var onValues = this.acroField.getOnValues(); - var exportValues = this.acroField.getExportValues(); - if (exportValues) { - for (var idx = 0, len = exportValues.length; idx < len; idx++) { - if (exportValues[idx].decodeText() === option) { - this.acroField.setValue(onValues[idx]); - } - } - } else { - for (var idx = 0, len = onValues.length; idx < len; idx++) { - var value = onValues[idx]; - if (value.decodeText() === option) - this.acroField.setValue(value); - } - } - }; - PDFRadioGroup2.prototype.clear = function() { - this.markAsDirty(); - this.acroField.setValue(PDFName_default.of("Off")); - }; - PDFRadioGroup2.prototype.isOffToggleable = function() { - return !this.acroField.hasFlag(AcroButtonFlags.NoToggleToOff); - }; - PDFRadioGroup2.prototype.enableOffToggling = function() { - this.acroField.setFlagTo(AcroButtonFlags.NoToggleToOff, false); - }; - PDFRadioGroup2.prototype.disableOffToggling = function() { - this.acroField.setFlagTo(AcroButtonFlags.NoToggleToOff, true); - }; - PDFRadioGroup2.prototype.isMutuallyExclusive = function() { - return !this.acroField.hasFlag(AcroButtonFlags.RadiosInUnison); - }; - PDFRadioGroup2.prototype.enableMutualExclusion = function() { - this.acroField.setFlagTo(AcroButtonFlags.RadiosInUnison, false); - }; - PDFRadioGroup2.prototype.disableMutualExclusion = function() { - this.acroField.setFlagTo(AcroButtonFlags.RadiosInUnison, true); - }; - PDFRadioGroup2.prototype.addOptionToPage = function(option, page, options) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j; - assertIs(option, "option", ["string"]); - assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); - assertFieldAppearanceOptions(options); - var widget = this.createWidget({ - x: (_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0, - y: (_b = options === null || options === void 0 ? void 0 : options.y) !== null && _b !== void 0 ? _b : 0, - width: (_c = options === null || options === void 0 ? void 0 : options.width) !== null && _c !== void 0 ? _c : 50, - height: (_d = options === null || options === void 0 ? void 0 : options.height) !== null && _d !== void 0 ? _d : 50, - textColor: (_e = options === null || options === void 0 ? void 0 : options.textColor) !== null && _e !== void 0 ? _e : rgb(0, 0, 0), - backgroundColor: (_f = options === null || options === void 0 ? void 0 : options.backgroundColor) !== null && _f !== void 0 ? _f : rgb(1, 1, 1), - borderColor: (_g = options === null || options === void 0 ? void 0 : options.borderColor) !== null && _g !== void 0 ? _g : rgb(0, 0, 0), - borderWidth: (_h = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _h !== void 0 ? _h : 1, - rotate: (_j = options === null || options === void 0 ? void 0 : options.rotate) !== null && _j !== void 0 ? _j : degrees(0), - hidden: options === null || options === void 0 ? void 0 : options.hidden, - page: page.ref - }); - var widgetRef = this.doc.context.register(widget.dict); - var apStateValue = this.acroField.addWidgetWithOpt(widgetRef, PDFHexString_default.fromText(option), !this.isMutuallyExclusive()); - widget.setAppearanceState(PDFName_default.of("Off")); - this.updateWidgetAppearance(widget, apStateValue); - page.node.addAnnot(widgetRef); - }; - PDFRadioGroup2.prototype.needsAppearancesUpdate = function() { - var _a; - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var state = widget.getAppearanceState(); - var normal = (_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal; - if (!(normal instanceof PDFDict_default)) - return true; - if (state && !normal.has(state)) - return true; - } - return false; - }; - PDFRadioGroup2.prototype.defaultUpdateAppearances = function() { - this.updateAppearances(); - }; - PDFRadioGroup2.prototype.updateAppearances = function(provider) { - assertOrUndefined(provider, "provider", [Function]); - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var onValue = widget.getOnValue(); - if (!onValue) - continue; - this.updateWidgetAppearance(widget, onValue, provider); - } - }; - PDFRadioGroup2.prototype.updateWidgetAppearance = function(widget, onValue, provider) { - var apProvider = provider !== null && provider !== void 0 ? provider : defaultRadioGroupAppearanceProvider; - var appearances = normalizeAppearance(apProvider(this, widget)); - this.updateOnOffWidgetAppearance(widget, onValue, appearances); - }; - PDFRadioGroup2.of = function(acroRadioButton, ref, doc) { - return new PDFRadioGroup2(acroRadioButton, ref, doc); - }; - return PDFRadioGroup2; - }(PDFField_default) -); -var PDFRadioGroup_default = PDFRadioGroup; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/form/PDFSignature.js -var PDFSignature = ( - /** @class */ - function(_super) { - __extends(PDFSignature2, _super); - function PDFSignature2(acroSignature, ref, doc) { - var _this = _super.call(this, acroSignature, ref, doc) || this; - assertIs(acroSignature, "acroSignature", [ - [PDFAcroSignature_default, "PDFAcroSignature"] - ]); - _this.acroField = acroSignature; - return _this; - } - PDFSignature2.prototype.needsAppearancesUpdate = function() { - return false; - }; - PDFSignature2.of = function(acroSignature, ref, doc) { - return new PDFSignature2(acroSignature, ref, doc); - }; - return PDFSignature2; - }(PDFField_default) -); -var PDFSignature_default = PDFSignature; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/form/PDFTextField.js -var PDFTextField = ( - /** @class */ - function(_super) { - __extends(PDFTextField2, _super); - function PDFTextField2(acroText, ref, doc) { - var _this = _super.call(this, acroText, ref, doc) || this; - assertIs(acroText, "acroText", [[PDFAcroText_default, "PDFAcroText"]]); - _this.acroField = acroText; - return _this; - } - PDFTextField2.prototype.getText = function() { - var value = this.acroField.getValue(); - if (!value && this.isRichFormatted()) { - throw new RichTextFieldReadError(this.getName()); - } - return value === null || value === void 0 ? void 0 : value.decodeText(); - }; - PDFTextField2.prototype.setText = function(text) { - assertOrUndefined(text, "text", ["string"]); - var maxLength = this.getMaxLength(); - if (maxLength !== void 0 && text && text.length > maxLength) { - throw new ExceededMaxLengthError(text.length, maxLength, this.getName()); - } - this.markAsDirty(); - this.disableRichFormatting(); - if (text) { - this.acroField.setValue(PDFHexString_default.fromText(text)); - } else { - this.acroField.removeValue(); - } - }; - PDFTextField2.prototype.getAlignment = function() { - var quadding = this.acroField.getQuadding(); - return quadding === 0 ? TextAlignment.Left : quadding === 1 ? TextAlignment.Center : quadding === 2 ? TextAlignment.Right : TextAlignment.Left; - }; - PDFTextField2.prototype.setAlignment = function(alignment) { - assertIsOneOf(alignment, "alignment", TextAlignment); - this.markAsDirty(); - this.acroField.setQuadding(alignment); - }; - PDFTextField2.prototype.getMaxLength = function() { - return this.acroField.getMaxLength(); - }; - PDFTextField2.prototype.setMaxLength = function(maxLength) { - assertRangeOrUndefined(maxLength, "maxLength", 0, Number.MAX_SAFE_INTEGER); - this.markAsDirty(); - if (maxLength === void 0) { - this.acroField.removeMaxLength(); - } else { - var text = this.getText(); - if (text && text.length > maxLength) { - throw new InvalidMaxLengthError(text.length, maxLength, this.getName()); - } - this.acroField.setMaxLength(maxLength); - } - }; - PDFTextField2.prototype.removeMaxLength = function() { - this.markAsDirty(); - this.acroField.removeMaxLength(); - }; - PDFTextField2.prototype.setImage = function(image) { - var fieldAlignment = this.getAlignment(); - var alignment = fieldAlignment === TextAlignment.Center ? ImageAlignment.Center : fieldAlignment === TextAlignment.Right ? ImageAlignment.Right : ImageAlignment.Left; - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var streamRef = this.createImageAppearanceStream(widget, image, alignment); - this.updateWidgetAppearances(widget, { normal: streamRef }); - } - this.markAsClean(); - }; - PDFTextField2.prototype.setFontSize = function(fontSize) { - assertPositive(fontSize, "fontSize"); - this.acroField.setFontSize(fontSize); - this.markAsDirty(); - }; - PDFTextField2.prototype.isMultiline = function() { - return this.acroField.hasFlag(AcroTextFlags.Multiline); - }; - PDFTextField2.prototype.enableMultiline = function() { - this.markAsDirty(); - this.acroField.setFlagTo(AcroTextFlags.Multiline, true); - }; - PDFTextField2.prototype.disableMultiline = function() { - this.markAsDirty(); - this.acroField.setFlagTo(AcroTextFlags.Multiline, false); - }; - PDFTextField2.prototype.isPassword = function() { - return this.acroField.hasFlag(AcroTextFlags.Password); - }; - PDFTextField2.prototype.enablePassword = function() { - this.acroField.setFlagTo(AcroTextFlags.Password, true); - }; - PDFTextField2.prototype.disablePassword = function() { - this.acroField.setFlagTo(AcroTextFlags.Password, false); - }; - PDFTextField2.prototype.isFileSelector = function() { - return this.acroField.hasFlag(AcroTextFlags.FileSelect); - }; - PDFTextField2.prototype.enableFileSelection = function() { - this.acroField.setFlagTo(AcroTextFlags.FileSelect, true); - }; - PDFTextField2.prototype.disableFileSelection = function() { - this.acroField.setFlagTo(AcroTextFlags.FileSelect, false); - }; - PDFTextField2.prototype.isSpellChecked = function() { - return !this.acroField.hasFlag(AcroTextFlags.DoNotSpellCheck); - }; - PDFTextField2.prototype.enableSpellChecking = function() { - this.acroField.setFlagTo(AcroTextFlags.DoNotSpellCheck, false); - }; - PDFTextField2.prototype.disableSpellChecking = function() { - this.acroField.setFlagTo(AcroTextFlags.DoNotSpellCheck, true); - }; - PDFTextField2.prototype.isScrollable = function() { - return !this.acroField.hasFlag(AcroTextFlags.DoNotScroll); - }; - PDFTextField2.prototype.enableScrolling = function() { - this.acroField.setFlagTo(AcroTextFlags.DoNotScroll, false); - }; - PDFTextField2.prototype.disableScrolling = function() { - this.acroField.setFlagTo(AcroTextFlags.DoNotScroll, true); - }; - PDFTextField2.prototype.isCombed = function() { - return this.acroField.hasFlag(AcroTextFlags.Comb) && !this.isMultiline() && !this.isPassword() && !this.isFileSelector() && this.getMaxLength() !== void 0; - }; - PDFTextField2.prototype.enableCombing = function() { - if (this.getMaxLength() === void 0) { - var msg = "PDFTextFields must have a max length in order to be combed"; - console.warn(msg); - } - this.markAsDirty(); - this.disableMultiline(); - this.disablePassword(); - this.disableFileSelection(); - this.acroField.setFlagTo(AcroTextFlags.Comb, true); - }; - PDFTextField2.prototype.disableCombing = function() { - this.markAsDirty(); - this.acroField.setFlagTo(AcroTextFlags.Comb, false); - }; - PDFTextField2.prototype.isRichFormatted = function() { - return this.acroField.hasFlag(AcroTextFlags.RichText); - }; - PDFTextField2.prototype.enableRichFormatting = function() { - this.acroField.setFlagTo(AcroTextFlags.RichText, true); - }; - PDFTextField2.prototype.disableRichFormatting = function() { - this.acroField.setFlagTo(AcroTextFlags.RichText, false); - }; - PDFTextField2.prototype.addToPage = function(page, options) { - var _a, _b, _c, _d, _e, _f, _g; - assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); - assertFieldAppearanceOptions(options); - if (!options) - options = {}; - if (!("textColor" in options)) - options.textColor = rgb(0, 0, 0); - if (!("backgroundColor" in options)) - options.backgroundColor = rgb(1, 1, 1); - if (!("borderColor" in options)) - options.borderColor = rgb(0, 0, 0); - if (!("borderWidth" in options)) - options.borderWidth = 1; - var widget = this.createWidget({ - x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, - y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, - width: (_c = options.width) !== null && _c !== void 0 ? _c : 200, - height: (_d = options.height) !== null && _d !== void 0 ? _d : 50, - textColor: options.textColor, - backgroundColor: options.backgroundColor, - borderColor: options.borderColor, - borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, - rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), - hidden: options.hidden, - page: page.ref - }); - var widgetRef = this.doc.context.register(widget.dict); - this.acroField.addWidget(widgetRef); - var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont(); - this.updateWidgetAppearance(widget, font); - page.node.addAnnot(widgetRef); - }; - PDFTextField2.prototype.needsAppearancesUpdate = function() { - var _a; - if (this.isDirty()) - return true; - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream_default; - if (!hasAppearances) - return true; - } - return false; - }; - PDFTextField2.prototype.defaultUpdateAppearances = function(font) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - this.updateAppearances(font); - }; - PDFTextField2.prototype.updateAppearances = function(font, provider) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - assertOrUndefined(provider, "provider", [Function]); - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - this.updateWidgetAppearance(widget, font, provider); - } - this.markAsClean(); - }; - PDFTextField2.prototype.updateWidgetAppearance = function(widget, font, provider) { - var apProvider = provider !== null && provider !== void 0 ? provider : defaultTextFieldAppearanceProvider; - var appearances = normalizeAppearance(apProvider(this, widget, font)); - this.updateWidgetAppearanceWithFont(widget, font, appearances); - }; - PDFTextField2.of = function(acroText, ref, doc) { - return new PDFTextField2(acroText, ref, doc); - }; - return PDFTextField2; - }(PDFField_default) -); -var PDFTextField_default = PDFTextField; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/StandardFonts.js -var StandardFonts; -(function(StandardFonts2) { - StandardFonts2["Courier"] = "Courier"; - StandardFonts2["CourierBold"] = "Courier-Bold"; - StandardFonts2["CourierOblique"] = "Courier-Oblique"; - StandardFonts2["CourierBoldOblique"] = "Courier-BoldOblique"; - StandardFonts2["Helvetica"] = "Helvetica"; - StandardFonts2["HelveticaBold"] = "Helvetica-Bold"; - StandardFonts2["HelveticaOblique"] = "Helvetica-Oblique"; - StandardFonts2["HelveticaBoldOblique"] = "Helvetica-BoldOblique"; - StandardFonts2["TimesRoman"] = "Times-Roman"; - StandardFonts2["TimesRomanBold"] = "Times-Bold"; - StandardFonts2["TimesRomanItalic"] = "Times-Italic"; - StandardFonts2["TimesRomanBoldItalic"] = "Times-BoldItalic"; - StandardFonts2["Symbol"] = "Symbol"; - StandardFonts2["ZapfDingbats"] = "ZapfDingbats"; -})(StandardFonts || (StandardFonts = {})); - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/form/PDFForm.js -var PDFForm = ( - /** @class */ - function() { - function PDFForm2(acroForm, doc) { - var _this = this; - this.embedDefaultFont = function() { - return _this.doc.embedStandardFont(StandardFonts.Helvetica); - }; - assertIs(acroForm, "acroForm", [[PDFAcroForm_default, "PDFAcroForm"]]); - assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); - this.acroForm = acroForm; - this.doc = doc; - this.dirtyFields = /* @__PURE__ */ new Set(); - this.defaultFontCache = Cache_default.populatedBy(this.embedDefaultFont); - } - PDFForm2.prototype.hasXFA = function() { - return this.acroForm.dict.has(PDFName_default.of("XFA")); - }; - PDFForm2.prototype.deleteXFA = function() { - this.acroForm.dict.delete(PDFName_default.of("XFA")); - }; - PDFForm2.prototype.getFields = function() { - var allFields = this.acroForm.getAllFields(); - var fields = []; - for (var idx = 0, len = allFields.length; idx < len; idx++) { - var _a = allFields[idx], acroField = _a[0], ref = _a[1]; - var field = convertToPDFField(acroField, ref, this.doc); - if (field) - fields.push(field); - } - return fields; - }; - PDFForm2.prototype.getFieldMaybe = function(name) { - assertIs(name, "name", ["string"]); - var fields = this.getFields(); - for (var idx = 0, len = fields.length; idx < len; idx++) { - var field = fields[idx]; - if (field.getName() === name) - return field; - } - return void 0; - }; - PDFForm2.prototype.getField = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getFieldMaybe(name); - if (field) - return field; - throw new NoSuchFieldError(name); - }; - PDFForm2.prototype.getButton = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getField(name); - if (field instanceof PDFButton_default) - return field; - throw new UnexpectedFieldTypeError(name, PDFButton_default, field); - }; - PDFForm2.prototype.getCheckBox = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getField(name); - if (field instanceof PDFCheckBox_default) - return field; - throw new UnexpectedFieldTypeError(name, PDFCheckBox_default, field); - }; - PDFForm2.prototype.getDropdown = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getField(name); - if (field instanceof PDFDropdown_default) - return field; - throw new UnexpectedFieldTypeError(name, PDFDropdown_default, field); - }; - PDFForm2.prototype.getOptionList = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getField(name); - if (field instanceof PDFOptionList_default) - return field; - throw new UnexpectedFieldTypeError(name, PDFOptionList_default, field); - }; - PDFForm2.prototype.getRadioGroup = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getField(name); - if (field instanceof PDFRadioGroup_default) - return field; - throw new UnexpectedFieldTypeError(name, PDFRadioGroup_default, field); - }; - PDFForm2.prototype.getSignature = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getField(name); - if (field instanceof PDFSignature_default) - return field; - throw new UnexpectedFieldTypeError(name, PDFSignature_default, field); - }; - PDFForm2.prototype.getTextField = function(name) { - assertIs(name, "name", ["string"]); - var field = this.getField(name); - if (field instanceof PDFTextField_default) - return field; - throw new UnexpectedFieldTypeError(name, PDFTextField_default, field); - }; - PDFForm2.prototype.createButton = function(name) { - assertIs(name, "name", ["string"]); - var nameParts = splitFieldName(name); - var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); - var button = PDFAcroPushButton_default.create(this.doc.context); - button.setPartialName(nameParts.terminal); - addFieldToParent(parent, [button, button.ref], nameParts.terminal); - return PDFButton_default.of(button, button.ref, this.doc); - }; - PDFForm2.prototype.createCheckBox = function(name) { - assertIs(name, "name", ["string"]); - var nameParts = splitFieldName(name); - var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); - var checkBox = PDFAcroCheckBox_default.create(this.doc.context); - checkBox.setPartialName(nameParts.terminal); - addFieldToParent(parent, [checkBox, checkBox.ref], nameParts.terminal); - return PDFCheckBox_default.of(checkBox, checkBox.ref, this.doc); - }; - PDFForm2.prototype.createDropdown = function(name) { - assertIs(name, "name", ["string"]); - var nameParts = splitFieldName(name); - var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); - var comboBox = PDFAcroComboBox_default.create(this.doc.context); - comboBox.setPartialName(nameParts.terminal); - addFieldToParent(parent, [comboBox, comboBox.ref], nameParts.terminal); - return PDFDropdown_default.of(comboBox, comboBox.ref, this.doc); - }; - PDFForm2.prototype.createOptionList = function(name) { - assertIs(name, "name", ["string"]); - var nameParts = splitFieldName(name); - var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); - var listBox = PDFAcroListBox_default.create(this.doc.context); - listBox.setPartialName(nameParts.terminal); - addFieldToParent(parent, [listBox, listBox.ref], nameParts.terminal); - return PDFOptionList_default.of(listBox, listBox.ref, this.doc); - }; - PDFForm2.prototype.createRadioGroup = function(name) { - assertIs(name, "name", ["string"]); - var nameParts = splitFieldName(name); - var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); - var radioButton = PDFAcroRadioButton_default.create(this.doc.context); - radioButton.setPartialName(nameParts.terminal); - addFieldToParent(parent, [radioButton, radioButton.ref], nameParts.terminal); - return PDFRadioGroup_default.of(radioButton, radioButton.ref, this.doc); - }; - PDFForm2.prototype.createTextField = function(name) { - assertIs(name, "name", ["string"]); - var nameParts = splitFieldName(name); - var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); - var text = PDFAcroText_default.create(this.doc.context); - text.setPartialName(nameParts.terminal); - addFieldToParent(parent, [text, text.ref], nameParts.terminal); - return PDFTextField_default.of(text, text.ref, this.doc); - }; - PDFForm2.prototype.flatten = function(options) { - if (options === void 0) { - options = { updateFieldAppearances: true }; - } - if (options.updateFieldAppearances) { - this.updateFieldAppearances(); - } - var fields = this.getFields(); - for (var i = 0, lenFields = fields.length; i < lenFields; i++) { - var field = fields[i]; - var widgets = field.acroField.getWidgets(); - for (var j = 0, lenWidgets = widgets.length; j < lenWidgets; j++) { - var widget = widgets[j]; - var page = this.findWidgetPage(widget); - var widgetRef = this.findWidgetAppearanceRef(field, widget); - var xObjectKey = page.node.newXObject("FlatWidget", widgetRef); - var rectangle = widget.getRectangle(); - var operators = __spreadArrays([ - pushGraphicsState(), - translate(rectangle.x, rectangle.y) - ], rotateInPlace(__assign(__assign({}, rectangle), { rotation: 0 })), [ - drawObject(xObjectKey), - popGraphicsState() - ]).filter(Boolean); - page.pushOperators.apply(page, operators); - } - this.removeField(field); - } - }; - PDFForm2.prototype.removeField = function(field) { - var widgets = field.acroField.getWidgets(); - var pages = /* @__PURE__ */ new Set(); - for (var i = 0, len = widgets.length; i < len; i++) { - var widget = widgets[i]; - var widgetRef = this.findWidgetAppearanceRef(field, widget); - var page = this.findWidgetPage(widget); - pages.add(page); - page.node.removeAnnot(widgetRef); - } - pages.forEach(function(page2) { - return page2.node.removeAnnot(field.ref); - }); - this.acroForm.removeField(field.acroField); - var fieldKids = field.acroField.normalizedEntries().Kids; - var kidsCount = fieldKids.size(); - for (var childIndex = 0; childIndex < kidsCount; childIndex++) { - var child = fieldKids.get(childIndex); - if (child instanceof PDFRef_default) { - this.doc.context.delete(child); - } - } - this.doc.context.delete(field.ref); - }; - PDFForm2.prototype.updateFieldAppearances = function(font) { - assertOrUndefined(font, "font", [[PDFFont_default, "PDFFont"]]); - font = font !== null && font !== void 0 ? font : this.getDefaultFont(); - var fields = this.getFields(); - for (var idx = 0, len = fields.length; idx < len; idx++) { - var field = fields[idx]; - if (field.needsAppearancesUpdate()) { - field.defaultUpdateAppearances(font); - } - } - }; - PDFForm2.prototype.markFieldAsDirty = function(fieldRef) { - assertOrUndefined(fieldRef, "fieldRef", [[PDFRef_default, "PDFRef"]]); - this.dirtyFields.add(fieldRef); - }; - PDFForm2.prototype.markFieldAsClean = function(fieldRef) { - assertOrUndefined(fieldRef, "fieldRef", [[PDFRef_default, "PDFRef"]]); - this.dirtyFields.delete(fieldRef); - }; - PDFForm2.prototype.fieldIsDirty = function(fieldRef) { - assertOrUndefined(fieldRef, "fieldRef", [[PDFRef_default, "PDFRef"]]); - return this.dirtyFields.has(fieldRef); - }; - PDFForm2.prototype.getDefaultFont = function() { - return this.defaultFontCache.access(); - }; - PDFForm2.prototype.findWidgetPage = function(widget) { - var pageRef = widget.P(); - var page = this.doc.getPages().find(function(x) { - return x.ref === pageRef; - }); - if (page === void 0) { - var widgetRef = this.doc.context.getObjectRef(widget.dict); - if (widgetRef === void 0) { - throw new Error("Could not find PDFRef for PDFObject"); - } - page = this.doc.findPageForAnnotationRef(widgetRef); - if (page === void 0) { - throw new Error("Could not find page for PDFRef " + widgetRef); - } - } - return page; - }; - PDFForm2.prototype.findWidgetAppearanceRef = function(field, widget) { - var _a; - var refOrDict = widget.getNormalAppearance(); - if (refOrDict instanceof PDFDict_default && (field instanceof PDFCheckBox_default || field instanceof PDFRadioGroup_default)) { - var value = field.acroField.getValue(); - var ref = (_a = refOrDict.get(value)) !== null && _a !== void 0 ? _a : refOrDict.get(PDFName_default.of("Off")); - if (ref instanceof PDFRef_default) { - refOrDict = ref; - } - } - if (!(refOrDict instanceof PDFRef_default)) { - var name_1 = field.getName(); - throw new Error("Failed to extract appearance ref for: " + name_1); - } - return refOrDict; - }; - PDFForm2.prototype.findOrCreateNonTerminals = function(partialNames) { - var nonTerminal = [ - this.acroForm - ]; - for (var idx = 0, len = partialNames.length; idx < len; idx++) { - var namePart = partialNames[idx]; - if (!namePart) - throw new InvalidFieldNamePartError(namePart); - var parent_1 = nonTerminal[0], parentRef = nonTerminal[1]; - var res = this.findNonTerminal(namePart, parent_1); - if (res) { - nonTerminal = res; - } else { - var node = PDFAcroNonTerminal_default.create(this.doc.context); - node.setPartialName(namePart); - node.setParent(parentRef); - var nodeRef = this.doc.context.register(node.dict); - parent_1.addField(nodeRef); - nonTerminal = [node, nodeRef]; - } - } - return nonTerminal; - }; - PDFForm2.prototype.findNonTerminal = function(partialName, parent) { - var fields = parent instanceof PDFAcroForm_default ? this.acroForm.getFields() : createPDFAcroFields(parent.Kids()); - for (var idx = 0, len = fields.length; idx < len; idx++) { - var _a = fields[idx], field = _a[0], ref = _a[1]; - if (field.getPartialName() === partialName) { - if (field instanceof PDFAcroNonTerminal_default) - return [field, ref]; - throw new FieldAlreadyExistsError(partialName); - } - } - return void 0; - }; - PDFForm2.of = function(acroForm, doc) { - return new PDFForm2(acroForm, doc); - }; - return PDFForm2; - }() -); -var PDFForm_default = PDFForm; -var convertToPDFField = function(field, ref, doc) { - if (field instanceof PDFAcroPushButton_default) - return PDFButton_default.of(field, ref, doc); - if (field instanceof PDFAcroCheckBox_default) - return PDFCheckBox_default.of(field, ref, doc); - if (field instanceof PDFAcroComboBox_default) - return PDFDropdown_default.of(field, ref, doc); - if (field instanceof PDFAcroListBox_default) - return PDFOptionList_default.of(field, ref, doc); - if (field instanceof PDFAcroText_default) - return PDFTextField_default.of(field, ref, doc); - if (field instanceof PDFAcroRadioButton_default) { - return PDFRadioGroup_default.of(field, ref, doc); - } - if (field instanceof PDFAcroSignature_default) { - return PDFSignature_default.of(field, ref, doc); - } - return void 0; -}; -var splitFieldName = function(fullyQualifiedName) { - if (fullyQualifiedName.length === 0) { - throw new Error("PDF field names must not be empty strings"); - } - var parts = fullyQualifiedName.split("."); - for (var idx = 0, len = parts.length; idx < len; idx++) { - if (parts[idx] === "") { - throw new Error('Periods in PDF field names must be separated by at least one character: "' + fullyQualifiedName + '"'); - } - } - if (parts.length === 1) - return { nonTerminal: [], terminal: parts[0] }; - return { - nonTerminal: parts.slice(0, parts.length - 1), - terminal: parts[parts.length - 1] - }; -}; -var addFieldToParent = function(_a, _b, partialName) { - var parent = _a[0], parentRef = _a[1]; - var field = _b[0], fieldRef = _b[1]; - var entries = parent.normalizedEntries(); - var fields = createPDFAcroFields("Kids" in entries ? entries.Kids : entries.Fields); - for (var idx = 0, len = fields.length; idx < len; idx++) { - if (fields[idx][0].getPartialName() === partialName) { - throw new FieldAlreadyExistsError(partialName); - } - } - parent.addField(fieldRef); - field.setParent(parentRef); -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/sizes.js -var PageSizes = { - "4A0": [4767.87, 6740.79], - "2A0": [3370.39, 4767.87], - A0: [2383.94, 3370.39], - A1: [1683.78, 2383.94], - A2: [1190.55, 1683.78], - A3: [841.89, 1190.55], - A4: [595.28, 841.89], - A5: [419.53, 595.28], - A6: [297.64, 419.53], - A7: [209.76, 297.64], - A8: [147.4, 209.76], - A9: [104.88, 147.4], - A10: [73.7, 104.88], - B0: [2834.65, 4008.19], - B1: [2004.09, 2834.65], - B2: [1417.32, 2004.09], - B3: [1000.63, 1417.32], - B4: [708.66, 1000.63], - B5: [498.9, 708.66], - B6: [354.33, 498.9], - B7: [249.45, 354.33], - B8: [175.75, 249.45], - B9: [124.72, 175.75], - B10: [87.87, 124.72], - C0: [2599.37, 3676.54], - C1: [1836.85, 2599.37], - C2: [1298.27, 1836.85], - C3: [918.43, 1298.27], - C4: [649.13, 918.43], - C5: [459.21, 649.13], - C6: [323.15, 459.21], - C7: [229.61, 323.15], - C8: [161.57, 229.61], - C9: [113.39, 161.57], - C10: [79.37, 113.39], - RA0: [2437.8, 3458.27], - RA1: [1729.13, 2437.8], - RA2: [1218.9, 1729.13], - RA3: [864.57, 1218.9], - RA4: [609.45, 864.57], - SRA0: [2551.18, 3628.35], - SRA1: [1814.17, 2551.18], - SRA2: [1275.59, 1814.17], - SRA3: [907.09, 1275.59], - SRA4: [637.8, 907.09], - Executive: [521.86, 756], - Folio: [612, 936], - Legal: [612, 1008], - Letter: [612, 792], - Tabloid: [792, 1224] -}; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/PDFDocumentOptions.js -var ParseSpeeds; -(function(ParseSpeeds2) { - ParseSpeeds2[ParseSpeeds2["Fastest"] = Infinity] = "Fastest"; - ParseSpeeds2[ParseSpeeds2["Fast"] = 1500] = "Fast"; - ParseSpeeds2[ParseSpeeds2["Medium"] = 500] = "Medium"; - ParseSpeeds2[ParseSpeeds2["Slow"] = 100] = "Slow"; -})(ParseSpeeds || (ParseSpeeds = {})); - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/PDFEmbeddedFile.js -var PDFEmbeddedFile = ( - /** @class */ - function() { - function PDFEmbeddedFile2(ref, doc, embedder) { - this.alreadyEmbedded = false; - this.ref = ref; - this.doc = doc; - this.embedder = embedder; - } - PDFEmbeddedFile2.prototype.embed = function() { - return __awaiter(this, void 0, void 0, function() { - var ref, Names, EmbeddedFiles, EFNames, AF; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (!!this.alreadyEmbedded) return [3, 2]; - return [4, this.embedder.embedIntoContext(this.doc.context, this.ref)]; - case 1: - ref = _a.sent(); - if (!this.doc.catalog.has(PDFName_default.of("Names"))) { - this.doc.catalog.set(PDFName_default.of("Names"), this.doc.context.obj({})); - } - Names = this.doc.catalog.lookup(PDFName_default.of("Names"), PDFDict_default); - if (!Names.has(PDFName_default.of("EmbeddedFiles"))) { - Names.set(PDFName_default.of("EmbeddedFiles"), this.doc.context.obj({})); - } - EmbeddedFiles = Names.lookup(PDFName_default.of("EmbeddedFiles"), PDFDict_default); - if (!EmbeddedFiles.has(PDFName_default.of("Names"))) { - EmbeddedFiles.set(PDFName_default.of("Names"), this.doc.context.obj([])); - } - EFNames = EmbeddedFiles.lookup(PDFName_default.of("Names"), PDFArray_default); - EFNames.push(PDFHexString_default.fromText(this.embedder.fileName)); - EFNames.push(ref); - if (!this.doc.catalog.has(PDFName_default.of("AF"))) { - this.doc.catalog.set(PDFName_default.of("AF"), this.doc.context.obj([])); - } - AF = this.doc.catalog.lookup(PDFName_default.of("AF"), PDFArray_default); - AF.push(ref); - this.alreadyEmbedded = true; - _a.label = 2; - case 2: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFEmbeddedFile2.of = function(ref, doc, embedder) { - return new PDFEmbeddedFile2(ref, doc, embedder); - }; - return PDFEmbeddedFile2; - }() -); -var PDFEmbeddedFile_default = PDFEmbeddedFile; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/PDFJavaScript.js -var PDFJavaScript = ( - /** @class */ - function() { - function PDFJavaScript2(ref, doc, embedder) { - this.alreadyEmbedded = false; - this.ref = ref; - this.doc = doc; - this.embedder = embedder; - } - PDFJavaScript2.prototype.embed = function() { - return __awaiter(this, void 0, void 0, function() { - var _a, catalog, context, ref, Names, Javascript, JSNames; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - if (!!this.alreadyEmbedded) return [3, 2]; - _a = this.doc, catalog = _a.catalog, context = _a.context; - return [4, this.embedder.embedIntoContext(this.doc.context, this.ref)]; - case 1: - ref = _b.sent(); - if (!catalog.has(PDFName_default.of("Names"))) { - catalog.set(PDFName_default.of("Names"), context.obj({})); - } - Names = catalog.lookup(PDFName_default.of("Names"), PDFDict_default); - if (!Names.has(PDFName_default.of("JavaScript"))) { - Names.set(PDFName_default.of("JavaScript"), context.obj({})); - } - Javascript = Names.lookup(PDFName_default.of("JavaScript"), PDFDict_default); - if (!Javascript.has(PDFName_default.of("Names"))) { - Javascript.set(PDFName_default.of("Names"), context.obj([])); - } - JSNames = Javascript.lookup(PDFName_default.of("Names"), PDFArray_default); - JSNames.push(PDFHexString_default.fromText(this.embedder.scriptName)); - JSNames.push(ref); - this.alreadyEmbedded = true; - _b.label = 2; - case 2: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFJavaScript2.of = function(ref, doc, embedder) { - return new PDFJavaScript2(ref, doc, embedder); - }; - return PDFJavaScript2; - }() -); -var PDFJavaScript_default = PDFJavaScript; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/core/embedders/JavaScriptEmbedder.js -var JavaScriptEmbedder = ( - /** @class */ - function() { - function JavaScriptEmbedder2(script, scriptName) { - this.script = script; - this.scriptName = scriptName; - } - JavaScriptEmbedder2.for = function(script, scriptName) { - return new JavaScriptEmbedder2(script, scriptName); - }; - JavaScriptEmbedder2.prototype.embedIntoContext = function(context, ref) { - return __awaiter(this, void 0, void 0, function() { - var jsActionDict; - return __generator(this, function(_a) { - jsActionDict = context.obj({ - Type: "Action", - S: "JavaScript", - JS: PDFHexString_default.fromText(this.script) - }); - if (ref) { - context.assign(ref, jsActionDict); - return [2, ref]; - } else { - return [2, context.register(jsActionDict)]; - } - return [ - 2 - /*return*/ - ]; - }); - }); - }; - return JavaScriptEmbedder2; - }() -); -var JavaScriptEmbedder_default = JavaScriptEmbedder; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/PDFDocument.js -var PDFDocument = ( - /** @class */ - function() { - function PDFDocument2(context, ignoreEncryption, updateMetadata) { - var _this = this; - this.defaultWordBreaks = [" "]; - this.computePages = function() { - var pages = []; - _this.catalog.Pages().traverse(function(node, ref) { - if (node instanceof PDFPageLeaf_default) { - var page = _this.pageMap.get(node); - if (!page) { - page = PDFPage_default.of(node, ref, _this); - _this.pageMap.set(node, page); - } - pages.push(page); - } - }); - return pages; - }; - this.getOrCreateForm = function() { - var acroForm = _this.catalog.getOrCreateAcroForm(); - return PDFForm_default.of(acroForm, _this); - }; - assertIs(context, "context", [[PDFContext_default, "PDFContext"]]); - assertIs(ignoreEncryption, "ignoreEncryption", ["boolean"]); - this.context = context; - this.catalog = context.lookup(context.trailerInfo.Root); - this.isEncrypted = !!context.lookup(context.trailerInfo.Encrypt); - this.pageCache = Cache_default.populatedBy(this.computePages); - this.pageMap = /* @__PURE__ */ new Map(); - this.formCache = Cache_default.populatedBy(this.getOrCreateForm); - this.fonts = []; - this.images = []; - this.embeddedPages = []; - this.embeddedFiles = []; - this.javaScripts = []; - if (!ignoreEncryption && this.isEncrypted) - throw new EncryptedPDFError(); - if (updateMetadata) - this.updateInfoDict(); - } - PDFDocument2.load = function(pdf, options) { - if (options === void 0) { - options = {}; - } - return __awaiter(this, void 0, void 0, function() { - var _a, ignoreEncryption, _b, parseSpeed, _c, throwOnInvalidObject, _d, updateMetadata, _e, capNumbers, bytes, context; - return __generator(this, function(_f) { - switch (_f.label) { - case 0: - _a = options.ignoreEncryption, ignoreEncryption = _a === void 0 ? false : _a, _b = options.parseSpeed, parseSpeed = _b === void 0 ? ParseSpeeds.Slow : _b, _c = options.throwOnInvalidObject, throwOnInvalidObject = _c === void 0 ? false : _c, _d = options.updateMetadata, updateMetadata = _d === void 0 ? true : _d, _e = options.capNumbers, capNumbers = _e === void 0 ? false : _e; - assertIs(pdf, "pdf", ["string", Uint8Array, ArrayBuffer]); - assertIs(ignoreEncryption, "ignoreEncryption", ["boolean"]); - assertIs(parseSpeed, "parseSpeed", ["number"]); - assertIs(throwOnInvalidObject, "throwOnInvalidObject", ["boolean"]); - bytes = toUint8Array(pdf); - return [4, PDFParser_default.forBytesWithOptions(bytes, parseSpeed, throwOnInvalidObject, capNumbers).parseDocument()]; - case 1: - context = _f.sent(); - return [2, new PDFDocument2(context, ignoreEncryption, updateMetadata)]; - } - }); - }); - }; - PDFDocument2.create = function(options) { - if (options === void 0) { - options = {}; - } - return __awaiter(this, void 0, void 0, function() { - var _a, updateMetadata, context, pageTree, pageTreeRef, catalog; - return __generator(this, function(_b) { - _a = options.updateMetadata, updateMetadata = _a === void 0 ? true : _a; - context = PDFContext_default.create(); - pageTree = PDFPageTree_default.withContext(context); - pageTreeRef = context.register(pageTree); - catalog = PDFCatalog_default.withContextAndPages(context, pageTreeRef); - context.trailerInfo.Root = context.register(catalog); - return [2, new PDFDocument2(context, false, updateMetadata)]; - }); - }); - }; - PDFDocument2.prototype.registerFontkit = function(fontkit) { - this.fontkit = fontkit; - }; - PDFDocument2.prototype.getForm = function() { - var form = this.formCache.access(); - if (form.hasXFA()) { - console.warn("Removing XFA form data as pdf-lib does not support reading or writing XFA"); - form.deleteXFA(); - } - return form; - }; - PDFDocument2.prototype.getTitle = function() { - var title = this.getInfoDict().lookup(PDFName_default.Title); - if (!title) - return void 0; - assertIsLiteralOrHexString(title); - return title.decodeText(); - }; - PDFDocument2.prototype.getAuthor = function() { - var author = this.getInfoDict().lookup(PDFName_default.Author); - if (!author) - return void 0; - assertIsLiteralOrHexString(author); - return author.decodeText(); - }; - PDFDocument2.prototype.getSubject = function() { - var subject = this.getInfoDict().lookup(PDFName_default.Subject); - if (!subject) - return void 0; - assertIsLiteralOrHexString(subject); - return subject.decodeText(); - }; - PDFDocument2.prototype.getKeywords = function() { - var keywords = this.getInfoDict().lookup(PDFName_default.Keywords); - if (!keywords) - return void 0; - assertIsLiteralOrHexString(keywords); - return keywords.decodeText(); - }; - PDFDocument2.prototype.getCreator = function() { - var creator = this.getInfoDict().lookup(PDFName_default.Creator); - if (!creator) - return void 0; - assertIsLiteralOrHexString(creator); - return creator.decodeText(); - }; - PDFDocument2.prototype.getProducer = function() { - var producer = this.getInfoDict().lookup(PDFName_default.Producer); - if (!producer) - return void 0; - assertIsLiteralOrHexString(producer); - return producer.decodeText(); - }; - PDFDocument2.prototype.getCreationDate = function() { - var creationDate = this.getInfoDict().lookup(PDFName_default.CreationDate); - if (!creationDate) - return void 0; - assertIsLiteralOrHexString(creationDate); - return creationDate.decodeDate(); - }; - PDFDocument2.prototype.getModificationDate = function() { - var modificationDate = this.getInfoDict().lookup(PDFName_default.ModDate); - if (!modificationDate) - return void 0; - assertIsLiteralOrHexString(modificationDate); - return modificationDate.decodeDate(); - }; - PDFDocument2.prototype.setTitle = function(title, options) { - assertIs(title, "title", ["string"]); - var key = PDFName_default.of("Title"); - this.getInfoDict().set(key, PDFHexString_default.fromText(title)); - if (options === null || options === void 0 ? void 0 : options.showInWindowTitleBar) { - var prefs = this.catalog.getOrCreateViewerPreferences(); - prefs.setDisplayDocTitle(true); - } - }; - PDFDocument2.prototype.setAuthor = function(author) { - assertIs(author, "author", ["string"]); - var key = PDFName_default.of("Author"); - this.getInfoDict().set(key, PDFHexString_default.fromText(author)); - }; - PDFDocument2.prototype.setSubject = function(subject) { - assertIs(subject, "author", ["string"]); - var key = PDFName_default.of("Subject"); - this.getInfoDict().set(key, PDFHexString_default.fromText(subject)); - }; - PDFDocument2.prototype.setKeywords = function(keywords) { - assertIs(keywords, "keywords", [Array]); - var key = PDFName_default.of("Keywords"); - this.getInfoDict().set(key, PDFHexString_default.fromText(keywords.join(" "))); - }; - PDFDocument2.prototype.setCreator = function(creator) { - assertIs(creator, "creator", ["string"]); - var key = PDFName_default.of("Creator"); - this.getInfoDict().set(key, PDFHexString_default.fromText(creator)); - }; - PDFDocument2.prototype.setProducer = function(producer) { - assertIs(producer, "creator", ["string"]); - var key = PDFName_default.of("Producer"); - this.getInfoDict().set(key, PDFHexString_default.fromText(producer)); - }; - PDFDocument2.prototype.setLanguage = function(language) { - assertIs(language, "language", ["string"]); - var key = PDFName_default.of("Lang"); - this.catalog.set(key, PDFString_default.of(language)); - }; - PDFDocument2.prototype.setCreationDate = function(creationDate) { - assertIs(creationDate, "creationDate", [[Date, "Date"]]); - var key = PDFName_default.of("CreationDate"); - this.getInfoDict().set(key, PDFString_default.fromDate(creationDate)); - }; - PDFDocument2.prototype.setModificationDate = function(modificationDate) { - assertIs(modificationDate, "modificationDate", [[Date, "Date"]]); - var key = PDFName_default.of("ModDate"); - this.getInfoDict().set(key, PDFString_default.fromDate(modificationDate)); - }; - PDFDocument2.prototype.getPageCount = function() { - if (this.pageCount === void 0) - this.pageCount = this.getPages().length; - return this.pageCount; - }; - PDFDocument2.prototype.getPages = function() { - return this.pageCache.access(); - }; - PDFDocument2.prototype.getPage = function(index) { - var pages = this.getPages(); - assertRange(index, "index", 0, pages.length - 1); - return pages[index]; - }; - PDFDocument2.prototype.getPageIndices = function() { - return range(0, this.getPageCount()); - }; - PDFDocument2.prototype.removePage = function(index) { - var pageCount = this.getPageCount(); - if (this.pageCount === 0) - throw new RemovePageFromEmptyDocumentError(); - assertRange(index, "index", 0, pageCount - 1); - this.catalog.removeLeafNode(index); - this.pageCount = pageCount - 1; - }; - PDFDocument2.prototype.addPage = function(page) { - assertIs(page, "page", ["undefined", [PDFPage_default, "PDFPage"], Array]); - return this.insertPage(this.getPageCount(), page); - }; - PDFDocument2.prototype.insertPage = function(index, page) { - var pageCount = this.getPageCount(); - assertRange(index, "index", 0, pageCount); - assertIs(page, "page", ["undefined", [PDFPage_default, "PDFPage"], Array]); - if (!page || Array.isArray(page)) { - var dims = Array.isArray(page) ? page : PageSizes.A4; - page = PDFPage_default.create(this); - page.setSize.apply(page, dims); - } else if (page.doc !== this) { - throw new ForeignPageError(); - } - var parentRef = this.catalog.insertLeafNode(page.ref, index); - page.node.setParent(parentRef); - this.pageMap.set(page.node, page); - this.pageCache.invalidate(); - this.pageCount = pageCount + 1; - return page; - }; - PDFDocument2.prototype.copyPages = function(srcDoc, indices) { - return __awaiter(this, void 0, void 0, function() { - var copier, srcPages, copiedPages, idx, len, srcPage, copiedPage, ref; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - assertIs(srcDoc, "srcDoc", [[PDFDocument2, "PDFDocument"]]); - assertIs(indices, "indices", [Array]); - return [4, srcDoc.flush()]; - case 1: - _a.sent(); - copier = PDFObjectCopier_default.for(srcDoc.context, this.context); - srcPages = srcDoc.getPages(); - copiedPages = new Array(indices.length); - for (idx = 0, len = indices.length; idx < len; idx++) { - srcPage = srcPages[indices[idx]]; - copiedPage = copier.copy(srcPage.node); - ref = this.context.register(copiedPage); - copiedPages[idx] = PDFPage_default.of(copiedPage, ref, this); - } - return [2, copiedPages]; - } - }); - }); - }; - PDFDocument2.prototype.copy = function() { - return __awaiter(this, void 0, void 0, function() { - var pdfCopy, contentPages, idx, len; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, PDFDocument2.create()]; - case 1: - pdfCopy = _a.sent(); - return [4, pdfCopy.copyPages(this, this.getPageIndices())]; - case 2: - contentPages = _a.sent(); - for (idx = 0, len = contentPages.length; idx < len; idx++) { - pdfCopy.addPage(contentPages[idx]); - } - if (this.getAuthor() !== void 0) { - pdfCopy.setAuthor(this.getAuthor()); - } - if (this.getCreationDate() !== void 0) { - pdfCopy.setCreationDate(this.getCreationDate()); - } - if (this.getCreator() !== void 0) { - pdfCopy.setCreator(this.getCreator()); - } - if (this.getModificationDate() !== void 0) { - pdfCopy.setModificationDate(this.getModificationDate()); - } - if (this.getProducer() !== void 0) { - pdfCopy.setProducer(this.getProducer()); - } - if (this.getSubject() !== void 0) { - pdfCopy.setSubject(this.getSubject()); - } - if (this.getTitle() !== void 0) { - pdfCopy.setTitle(this.getTitle()); - } - pdfCopy.defaultWordBreaks = this.defaultWordBreaks; - return [2, pdfCopy]; - } - }); - }); - }; - PDFDocument2.prototype.addJavaScript = function(name, script) { - assertIs(name, "name", ["string"]); - assertIs(script, "script", ["string"]); - var embedder = JavaScriptEmbedder_default.for(script, name); - var ref = this.context.nextRef(); - var javaScript = PDFJavaScript_default.of(ref, this, embedder); - this.javaScripts.push(javaScript); - }; - PDFDocument2.prototype.attach = function(attachment, name, options) { - if (options === void 0) { - options = {}; - } - return __awaiter(this, void 0, void 0, function() { - var bytes, embedder, ref, embeddedFile; - return __generator(this, function(_a) { - assertIs(attachment, "attachment", ["string", Uint8Array, ArrayBuffer]); - assertIs(name, "name", ["string"]); - assertOrUndefined(options.mimeType, "mimeType", ["string"]); - assertOrUndefined(options.description, "description", ["string"]); - assertOrUndefined(options.creationDate, "options.creationDate", [Date]); - assertOrUndefined(options.modificationDate, "options.modificationDate", [ - Date - ]); - assertIsOneOfOrUndefined(options.afRelationship, "options.afRelationship", AFRelationship); - bytes = toUint8Array(attachment); - embedder = FileEmbedder_default.for(bytes, name, options); - ref = this.context.nextRef(); - embeddedFile = PDFEmbeddedFile_default.of(ref, this, embedder); - this.embeddedFiles.push(embeddedFile); - return [ - 2 - /*return*/ - ]; - }); - }); - }; - PDFDocument2.prototype.embedFont = function(font, options) { - if (options === void 0) { - options = {}; - } - return __awaiter(this, void 0, void 0, function() { - var _a, subset, customName, features, embedder, bytes, fontkit, _b, ref, pdfFont; - return __generator(this, function(_c) { - switch (_c.label) { - case 0: - _a = options.subset, subset = _a === void 0 ? false : _a, customName = options.customName, features = options.features; - assertIs(font, "font", ["string", Uint8Array, ArrayBuffer]); - assertIs(subset, "subset", ["boolean"]); - if (!isStandardFont(font)) return [3, 1]; - embedder = StandardFontEmbedder_default.for(font, customName); - return [3, 7]; - case 1: - if (!canBeConvertedToUint8Array(font)) return [3, 6]; - bytes = toUint8Array(font); - fontkit = this.assertFontkit(); - if (!subset) return [3, 3]; - return [4, CustomFontSubsetEmbedder_default.for(fontkit, bytes, customName, features)]; - case 2: - _b = _c.sent(); - return [3, 5]; - case 3: - return [4, CustomFontEmbedder_default.for(fontkit, bytes, customName, features)]; - case 4: - _b = _c.sent(); - _c.label = 5; - case 5: - embedder = _b; - return [3, 7]; - case 6: - throw new TypeError("`font` must be one of `StandardFonts | string | Uint8Array | ArrayBuffer`"); - case 7: - ref = this.context.nextRef(); - pdfFont = PDFFont_default.of(ref, this, embedder); - this.fonts.push(pdfFont); - return [2, pdfFont]; - } - }); - }); - }; - PDFDocument2.prototype.embedStandardFont = function(font, customName) { - assertIs(font, "font", ["string"]); - if (!isStandardFont(font)) { - throw new TypeError("`font` must be one of type `StandardFonts`"); - } - var embedder = StandardFontEmbedder_default.for(font, customName); - var ref = this.context.nextRef(); - var pdfFont = PDFFont_default.of(ref, this, embedder); - this.fonts.push(pdfFont); - return pdfFont; - }; - PDFDocument2.prototype.embedJpg = function(jpg) { - return __awaiter(this, void 0, void 0, function() { - var bytes, embedder, ref, pdfImage; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - assertIs(jpg, "jpg", ["string", Uint8Array, ArrayBuffer]); - bytes = toUint8Array(jpg); - return [4, JpegEmbedder_default.for(bytes)]; - case 1: - embedder = _a.sent(); - ref = this.context.nextRef(); - pdfImage = PDFImage_default.of(ref, this, embedder); - this.images.push(pdfImage); - return [2, pdfImage]; - } - }); - }); - }; - PDFDocument2.prototype.embedPng = function(png) { - return __awaiter(this, void 0, void 0, function() { - var bytes, embedder, ref, pdfImage; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - assertIs(png, "png", ["string", Uint8Array, ArrayBuffer]); - bytes = toUint8Array(png); - return [4, PngEmbedder_default.for(bytes)]; - case 1: - embedder = _a.sent(); - ref = this.context.nextRef(); - pdfImage = PDFImage_default.of(ref, this, embedder); - this.images.push(pdfImage); - return [2, pdfImage]; - } - }); - }); - }; - PDFDocument2.prototype.embedPdf = function(pdf, indices) { - if (indices === void 0) { - indices = [0]; - } - return __awaiter(this, void 0, void 0, function() { - var srcDoc, _a, srcPages; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - assertIs(pdf, "pdf", [ - "string", - Uint8Array, - ArrayBuffer, - [PDFDocument2, "PDFDocument"] - ]); - assertIs(indices, "indices", [Array]); - if (!(pdf instanceof PDFDocument2)) return [3, 1]; - _a = pdf; - return [3, 3]; - case 1: - return [4, PDFDocument2.load(pdf)]; - case 2: - _a = _b.sent(); - _b.label = 3; - case 3: - srcDoc = _a; - srcPages = pluckIndices(srcDoc.getPages(), indices); - return [2, this.embedPages(srcPages)]; - } - }); - }); - }; - PDFDocument2.prototype.embedPage = function(page, boundingBox, transformationMatrix) { - return __awaiter(this, void 0, void 0, function() { - var embeddedPage; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - assertIs(page, "page", [[PDFPage_default, "PDFPage"]]); - return [4, this.embedPages([page], [boundingBox], [transformationMatrix])]; - case 1: - embeddedPage = _a.sent()[0]; - return [2, embeddedPage]; - } - }); - }); - }; - PDFDocument2.prototype.embedPages = function(pages, boundingBoxes, transformationMatrices) { - if (boundingBoxes === void 0) { - boundingBoxes = []; - } - if (transformationMatrices === void 0) { - transformationMatrices = []; - } - return __awaiter(this, void 0, void 0, function() { - var idx, len, currPage, nextPage, context, maybeCopyPage, embeddedPages, idx, len, page, box, matrix, embedder, ref; - var _a; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - if (pages.length === 0) - return [2, []]; - for (idx = 0, len = pages.length - 1; idx < len; idx++) { - currPage = pages[idx]; - nextPage = pages[idx + 1]; - if (currPage.node.context !== nextPage.node.context) { - throw new PageEmbeddingMismatchedContextError(); - } - } - context = pages[0].node.context; - maybeCopyPage = context === this.context ? function(p) { - return p; - } : PDFObjectCopier_default.for(context, this.context).copy; - embeddedPages = new Array(pages.length); - idx = 0, len = pages.length; - _b.label = 1; - case 1: - if (!(idx < len)) return [3, 4]; - page = maybeCopyPage(pages[idx].node); - box = boundingBoxes[idx]; - matrix = transformationMatrices[idx]; - return [4, PDFPageEmbedder_default.for(page, box, matrix)]; - case 2: - embedder = _b.sent(); - ref = this.context.nextRef(); - embeddedPages[idx] = PDFEmbeddedPage_default.of(ref, this, embedder); - _b.label = 3; - case 3: - idx++; - return [3, 1]; - case 4: - (_a = this.embeddedPages).push.apply(_a, embeddedPages); - return [2, embeddedPages]; - } - }); - }); - }; - PDFDocument2.prototype.flush = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.embedAll(this.fonts)]; - case 1: - _a.sent(); - return [4, this.embedAll(this.images)]; - case 2: - _a.sent(); - return [4, this.embedAll(this.embeddedPages)]; - case 3: - _a.sent(); - return [4, this.embedAll(this.embeddedFiles)]; - case 4: - _a.sent(); - return [4, this.embedAll(this.javaScripts)]; - case 5: - _a.sent(); - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFDocument2.prototype.save = function(options) { - if (options === void 0) { - options = {}; - } - return __awaiter(this, void 0, void 0, function() { - var _a, useObjectStreams, _b, addDefaultPage, _c, objectsPerTick, _d, updateFieldAppearances, form, Writer; - return __generator(this, function(_e) { - switch (_e.label) { - case 0: - _a = options.useObjectStreams, useObjectStreams = _a === void 0 ? true : _a, _b = options.addDefaultPage, addDefaultPage = _b === void 0 ? true : _b, _c = options.objectsPerTick, objectsPerTick = _c === void 0 ? 50 : _c, _d = options.updateFieldAppearances, updateFieldAppearances = _d === void 0 ? true : _d; - assertIs(useObjectStreams, "useObjectStreams", ["boolean"]); - assertIs(addDefaultPage, "addDefaultPage", ["boolean"]); - assertIs(objectsPerTick, "objectsPerTick", ["number"]); - assertIs(updateFieldAppearances, "updateFieldAppearances", ["boolean"]); - if (addDefaultPage && this.getPageCount() === 0) - this.addPage(); - if (updateFieldAppearances) { - form = this.formCache.getValue(); - if (form) - form.updateFieldAppearances(); - } - return [4, this.flush()]; - case 1: - _e.sent(); - Writer = useObjectStreams ? PDFStreamWriter_default : PDFWriter_default; - return [2, Writer.forContext(this.context, objectsPerTick).serializeToBuffer()]; - } - }); - }); - }; - PDFDocument2.prototype.saveAsBase64 = function(options) { - if (options === void 0) { - options = {}; - } - return __awaiter(this, void 0, void 0, function() { - var _a, dataUri, otherOptions, bytes, base64; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - _a = options.dataUri, dataUri = _a === void 0 ? false : _a, otherOptions = __rest(options, ["dataUri"]); - assertIs(dataUri, "dataUri", ["boolean"]); - return [4, this.save(otherOptions)]; - case 1: - bytes = _b.sent(); - base64 = encodeToBase64(bytes); - return [2, dataUri ? "data:application/pdf;base64," + base64 : base64]; - } - }); - }); - }; - PDFDocument2.prototype.findPageForAnnotationRef = function(ref) { - var pages = this.getPages(); - for (var idx = 0, len = pages.length; idx < len; idx++) { - var page = pages[idx]; - var annotations = page.node.Annots(); - if ((annotations === null || annotations === void 0 ? void 0 : annotations.indexOf(ref)) !== void 0) { - return page; - } - } - return void 0; - }; - PDFDocument2.prototype.embedAll = function(embeddables) { - return __awaiter(this, void 0, void 0, function() { - var idx, len; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - idx = 0, len = embeddables.length; - _a.label = 1; - case 1: - if (!(idx < len)) return [3, 4]; - return [4, embeddables[idx].embed()]; - case 2: - _a.sent(); - _a.label = 3; - case 3: - idx++; - return [3, 1]; - case 4: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - PDFDocument2.prototype.updateInfoDict = function() { - var pdfLib = "pdf-lib (https://github.com/Hopding/pdf-lib)"; - var now = /* @__PURE__ */ new Date(); - var info = this.getInfoDict(); - this.setProducer(pdfLib); - this.setModificationDate(now); - if (!info.get(PDFName_default.of("Creator"))) - this.setCreator(pdfLib); - if (!info.get(PDFName_default.of("CreationDate"))) - this.setCreationDate(now); - }; - PDFDocument2.prototype.getInfoDict = function() { - var existingInfo = this.context.lookup(this.context.trailerInfo.Info); - if (existingInfo instanceof PDFDict_default) - return existingInfo; - var newInfo = this.context.obj({}); - this.context.trailerInfo.Info = this.context.register(newInfo); - return newInfo; - }; - PDFDocument2.prototype.assertFontkit = function() { - if (!this.fontkit) - throw new FontkitNotRegisteredError(); - return this.fontkit; - }; - return PDFDocument2; - }() -); -var PDFDocument_default = PDFDocument; -function assertIsLiteralOrHexString(pdfObject) { - if (!(pdfObject instanceof PDFHexString_default) && !(pdfObject instanceof PDFString_default)) { - throw new UnexpectedObjectTypeError([PDFHexString_default, PDFString_default], pdfObject); - } -} - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/PDFPageOptions.js -var BlendMode; -(function(BlendMode2) { - BlendMode2["Normal"] = "Normal"; - BlendMode2["Multiply"] = "Multiply"; - BlendMode2["Screen"] = "Screen"; - BlendMode2["Overlay"] = "Overlay"; - BlendMode2["Darken"] = "Darken"; - BlendMode2["Lighten"] = "Lighten"; - BlendMode2["ColorDodge"] = "ColorDodge"; - BlendMode2["ColorBurn"] = "ColorBurn"; - BlendMode2["HardLight"] = "HardLight"; - BlendMode2["SoftLight"] = "SoftLight"; - BlendMode2["Difference"] = "Difference"; - BlendMode2["Exclusion"] = "Exclusion"; -})(BlendMode || (BlendMode = {})); - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/PDFPage.js -var PDFPage = ( - /** @class */ - function() { - function PDFPage2(leafNode, ref, doc) { - this.fontSize = 24; - this.fontColor = rgb(0, 0, 0); - this.lineHeight = 24; - this.x = 0; - this.y = 0; - assertIs(leafNode, "leafNode", [[PDFPageLeaf_default, "PDFPageLeaf"]]); - assertIs(ref, "ref", [[PDFRef_default, "PDFRef"]]); - assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); - this.node = leafNode; - this.ref = ref; - this.doc = doc; - } - PDFPage2.prototype.setRotation = function(angle) { - var degreesAngle = toDegrees(angle); - assertMultiple(degreesAngle, "degreesAngle", 90); - this.node.set(PDFName_default.of("Rotate"), this.doc.context.obj(degreesAngle)); - }; - PDFPage2.prototype.getRotation = function() { - var Rotate = this.node.Rotate(); - return degrees(Rotate ? Rotate.asNumber() : 0); - }; - PDFPage2.prototype.setSize = function(width, height) { - assertIs(width, "width", ["number"]); - assertIs(height, "height", ["number"]); - var mediaBox = this.getMediaBox(); - this.setMediaBox(mediaBox.x, mediaBox.y, width, height); - var cropBox = this.getCropBox(); - var bleedBox = this.getBleedBox(); - var trimBox = this.getTrimBox(); - var artBox = this.getArtBox(); - var hasCropBox = this.node.CropBox(); - var hasBleedBox = this.node.BleedBox(); - var hasTrimBox = this.node.TrimBox(); - var hasArtBox = this.node.ArtBox(); - if (hasCropBox && rectanglesAreEqual(cropBox, mediaBox)) { - this.setCropBox(mediaBox.x, mediaBox.y, width, height); - } - if (hasBleedBox && rectanglesAreEqual(bleedBox, mediaBox)) { - this.setBleedBox(mediaBox.x, mediaBox.y, width, height); - } - if (hasTrimBox && rectanglesAreEqual(trimBox, mediaBox)) { - this.setTrimBox(mediaBox.x, mediaBox.y, width, height); - } - if (hasArtBox && rectanglesAreEqual(artBox, mediaBox)) { - this.setArtBox(mediaBox.x, mediaBox.y, width, height); - } - }; - PDFPage2.prototype.setWidth = function(width) { - assertIs(width, "width", ["number"]); - this.setSize(width, this.getSize().height); - }; - PDFPage2.prototype.setHeight = function(height) { - assertIs(height, "height", ["number"]); - this.setSize(this.getSize().width, height); - }; - PDFPage2.prototype.setMediaBox = function(x, y, width, height) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - assertIs(width, "width", ["number"]); - assertIs(height, "height", ["number"]); - var mediaBox = this.doc.context.obj([x, y, x + width, y + height]); - this.node.set(PDFName_default.MediaBox, mediaBox); - }; - PDFPage2.prototype.setCropBox = function(x, y, width, height) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - assertIs(width, "width", ["number"]); - assertIs(height, "height", ["number"]); - var cropBox = this.doc.context.obj([x, y, x + width, y + height]); - this.node.set(PDFName_default.CropBox, cropBox); - }; - PDFPage2.prototype.setBleedBox = function(x, y, width, height) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - assertIs(width, "width", ["number"]); - assertIs(height, "height", ["number"]); - var bleedBox = this.doc.context.obj([x, y, x + width, y + height]); - this.node.set(PDFName_default.BleedBox, bleedBox); - }; - PDFPage2.prototype.setTrimBox = function(x, y, width, height) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - assertIs(width, "width", ["number"]); - assertIs(height, "height", ["number"]); - var trimBox = this.doc.context.obj([x, y, x + width, y + height]); - this.node.set(PDFName_default.TrimBox, trimBox); - }; - PDFPage2.prototype.setArtBox = function(x, y, width, height) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - assertIs(width, "width", ["number"]); - assertIs(height, "height", ["number"]); - var artBox = this.doc.context.obj([x, y, x + width, y + height]); - this.node.set(PDFName_default.ArtBox, artBox); - }; - PDFPage2.prototype.getSize = function() { - var _a = this.getMediaBox(), width = _a.width, height = _a.height; - return { width, height }; - }; - PDFPage2.prototype.getWidth = function() { - return this.getSize().width; - }; - PDFPage2.prototype.getHeight = function() { - return this.getSize().height; - }; - PDFPage2.prototype.getMediaBox = function() { - var mediaBox = this.node.MediaBox(); - return mediaBox.asRectangle(); - }; - PDFPage2.prototype.getCropBox = function() { - var _a; - var cropBox = this.node.CropBox(); - return (_a = cropBox === null || cropBox === void 0 ? void 0 : cropBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getMediaBox(); - }; - PDFPage2.prototype.getBleedBox = function() { - var _a; - var bleedBox = this.node.BleedBox(); - return (_a = bleedBox === null || bleedBox === void 0 ? void 0 : bleedBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox(); - }; - PDFPage2.prototype.getTrimBox = function() { - var _a; - var trimBox = this.node.TrimBox(); - return (_a = trimBox === null || trimBox === void 0 ? void 0 : trimBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox(); - }; - PDFPage2.prototype.getArtBox = function() { - var _a; - var artBox = this.node.ArtBox(); - return (_a = artBox === null || artBox === void 0 ? void 0 : artBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox(); - }; - PDFPage2.prototype.translateContent = function(x, y) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - this.node.normalize(); - this.getContentStream(); - var start = this.createContentStream(pushGraphicsState(), translate(x, y)); - var startRef = this.doc.context.register(start); - var end = this.createContentStream(popGraphicsState()); - var endRef = this.doc.context.register(end); - this.node.wrapContentStreams(startRef, endRef); - }; - PDFPage2.prototype.scale = function(x, y) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - this.setSize(this.getWidth() * x, this.getHeight() * y); - this.scaleContent(x, y); - this.scaleAnnotations(x, y); - }; - PDFPage2.prototype.scaleContent = function(x, y) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - this.node.normalize(); - this.getContentStream(); - var start = this.createContentStream(pushGraphicsState(), scale(x, y)); - var startRef = this.doc.context.register(start); - var end = this.createContentStream(popGraphicsState()); - var endRef = this.doc.context.register(end); - this.node.wrapContentStreams(startRef, endRef); - }; - PDFPage2.prototype.scaleAnnotations = function(x, y) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - var annots = this.node.Annots(); - if (!annots) - return; - for (var idx = 0; idx < annots.size(); idx++) { - var annot = annots.lookup(idx); - if (annot instanceof PDFDict_default) - this.scaleAnnot(annot, x, y); - } - }; - PDFPage2.prototype.resetPosition = function() { - this.getContentStream(false); - this.x = 0; - this.y = 0; - }; - PDFPage2.prototype.setFont = function(font) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - this.font = font; - this.fontKey = this.node.newFontDictionary(this.font.name, this.font.ref); - }; - PDFPage2.prototype.setFontSize = function(fontSize) { - assertIs(fontSize, "fontSize", ["number"]); - this.fontSize = fontSize; - }; - PDFPage2.prototype.setFontColor = function(fontColor) { - assertIs(fontColor, "fontColor", [[Object, "Color"]]); - this.fontColor = fontColor; - }; - PDFPage2.prototype.setLineHeight = function(lineHeight) { - assertIs(lineHeight, "lineHeight", ["number"]); - this.lineHeight = lineHeight; - }; - PDFPage2.prototype.getPosition = function() { - return { x: this.x, y: this.y }; - }; - PDFPage2.prototype.getX = function() { - return this.x; - }; - PDFPage2.prototype.getY = function() { - return this.y; - }; - PDFPage2.prototype.moveTo = function(x, y) { - assertIs(x, "x", ["number"]); - assertIs(y, "y", ["number"]); - this.x = x; - this.y = y; - }; - PDFPage2.prototype.moveDown = function(yDecrease) { - assertIs(yDecrease, "yDecrease", ["number"]); - this.y -= yDecrease; - }; - PDFPage2.prototype.moveUp = function(yIncrease) { - assertIs(yIncrease, "yIncrease", ["number"]); - this.y += yIncrease; - }; - PDFPage2.prototype.moveLeft = function(xDecrease) { - assertIs(xDecrease, "xDecrease", ["number"]); - this.x -= xDecrease; - }; - PDFPage2.prototype.moveRight = function(xIncrease) { - assertIs(xIncrease, "xIncrease", ["number"]); - this.x += xIncrease; - }; - PDFPage2.prototype.pushOperators = function() { - var operator = []; - for (var _i = 0; _i < arguments.length; _i++) { - operator[_i] = arguments[_i]; - } - assertEachIs(operator, "operator", [[PDFOperator_default, "PDFOperator"]]); - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, operator); - }; - PDFPage2.prototype.drawText = function(text, options) { - var _a, _b, _c, _d, _e, _f, _g; - if (options === void 0) { - options = {}; - } - assertIs(text, "text", ["string"]); - assertOrUndefined(options.color, "options.color", [[Object, "Color"]]); - assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); - assertOrUndefined(options.font, "options.font", [[PDFFont_default, "PDFFont"]]); - assertOrUndefined(options.size, "options.size", ["number"]); - assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); - assertOrUndefined(options.xSkew, "options.xSkew", [[Object, "Rotation"]]); - assertOrUndefined(options.ySkew, "options.ySkew", [[Object, "Rotation"]]); - assertOrUndefined(options.x, "options.x", ["number"]); - assertOrUndefined(options.y, "options.y", ["number"]); - assertOrUndefined(options.lineHeight, "options.lineHeight", ["number"]); - assertOrUndefined(options.maxWidth, "options.maxWidth", ["number"]); - assertOrUndefined(options.wordBreaks, "options.wordBreaks", [Array]); - assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); - var _h = this.setOrEmbedFont(options.font), oldFont = _h.oldFont, newFont = _h.newFont, newFontKey = _h.newFontKey; - var fontSize = options.size || this.fontSize; - var wordBreaks = options.wordBreaks || this.doc.defaultWordBreaks; - var textWidth = function(t) { - return newFont.widthOfTextAtSize(t, fontSize); - }; - var lines = options.maxWidth === void 0 ? lineSplit(cleanText(text)) : breakTextIntoLines(text, wordBreaks, options.maxWidth, textWidth); - var encodedLines = new Array(lines.length); - for (var idx = 0, len = lines.length; idx < len; idx++) { - encodedLines[idx] = newFont.encodeText(lines[idx]); - } - var graphicsStateKey = this.maybeEmbedGraphicsState({ - opacity: options.opacity, - blendMode: options.blendMode - }); - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, drawLinesOfText(encodedLines, { - color: (_a = options.color) !== null && _a !== void 0 ? _a : this.fontColor, - font: newFontKey, - size: fontSize, - rotate: (_b = options.rotate) !== null && _b !== void 0 ? _b : degrees(0), - xSkew: (_c = options.xSkew) !== null && _c !== void 0 ? _c : degrees(0), - ySkew: (_d = options.ySkew) !== null && _d !== void 0 ? _d : degrees(0), - x: (_e = options.x) !== null && _e !== void 0 ? _e : this.x, - y: (_f = options.y) !== null && _f !== void 0 ? _f : this.y, - lineHeight: (_g = options.lineHeight) !== null && _g !== void 0 ? _g : this.lineHeight, - graphicsState: graphicsStateKey - })); - if (options.font) { - if (oldFont) - this.setFont(oldFont); - else - this.resetFont(); - } - }; - PDFPage2.prototype.drawImage = function(image, options) { - var _a, _b, _c, _d, _e, _f, _g; - if (options === void 0) { - options = {}; - } - assertIs(image, "image", [[PDFImage_default, "PDFImage"]]); - assertOrUndefined(options.x, "options.x", ["number"]); - assertOrUndefined(options.y, "options.y", ["number"]); - assertOrUndefined(options.width, "options.width", ["number"]); - assertOrUndefined(options.height, "options.height", ["number"]); - assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); - assertOrUndefined(options.xSkew, "options.xSkew", [[Object, "Rotation"]]); - assertOrUndefined(options.ySkew, "options.ySkew", [[Object, "Rotation"]]); - assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); - assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); - var xObjectKey = this.node.newXObject("Image", image.ref); - var graphicsStateKey = this.maybeEmbedGraphicsState({ - opacity: options.opacity, - blendMode: options.blendMode - }); - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, drawImage(xObjectKey, { - x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, - y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, - width: (_c = options.width) !== null && _c !== void 0 ? _c : image.size().width, - height: (_d = options.height) !== null && _d !== void 0 ? _d : image.size().height, - rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : degrees(0), - xSkew: (_f = options.xSkew) !== null && _f !== void 0 ? _f : degrees(0), - ySkew: (_g = options.ySkew) !== null && _g !== void 0 ? _g : degrees(0), - graphicsState: graphicsStateKey - })); - }; - PDFPage2.prototype.drawPage = function(embeddedPage, options) { - var _a, _b, _c, _d, _e; - if (options === void 0) { - options = {}; - } - assertIs(embeddedPage, "embeddedPage", [ - [PDFEmbeddedPage_default, "PDFEmbeddedPage"] - ]); - assertOrUndefined(options.x, "options.x", ["number"]); - assertOrUndefined(options.y, "options.y", ["number"]); - assertOrUndefined(options.xScale, "options.xScale", ["number"]); - assertOrUndefined(options.yScale, "options.yScale", ["number"]); - assertOrUndefined(options.width, "options.width", ["number"]); - assertOrUndefined(options.height, "options.height", ["number"]); - assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); - assertOrUndefined(options.xSkew, "options.xSkew", [[Object, "Rotation"]]); - assertOrUndefined(options.ySkew, "options.ySkew", [[Object, "Rotation"]]); - assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); - assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); - var xObjectKey = this.node.newXObject("EmbeddedPdfPage", embeddedPage.ref); - var graphicsStateKey = this.maybeEmbedGraphicsState({ - opacity: options.opacity, - blendMode: options.blendMode - }); - var xScale = options.width !== void 0 ? options.width / embeddedPage.width : options.xScale !== void 0 ? options.xScale : 1; - var yScale = options.height !== void 0 ? options.height / embeddedPage.height : options.yScale !== void 0 ? options.yScale : 1; - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, drawPage(xObjectKey, { - x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, - y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, - xScale, - yScale, - rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : degrees(0), - xSkew: (_d = options.xSkew) !== null && _d !== void 0 ? _d : degrees(0), - ySkew: (_e = options.ySkew) !== null && _e !== void 0 ? _e : degrees(0), - graphicsState: graphicsStateKey - })); - }; - PDFPage2.prototype.drawSvgPath = function(path3, options) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j; - if (options === void 0) { - options = {}; - } - assertIs(path3, "path", ["string"]); - assertOrUndefined(options.x, "options.x", ["number"]); - assertOrUndefined(options.y, "options.y", ["number"]); - assertOrUndefined(options.scale, "options.scale", ["number"]); - assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); - assertOrUndefined(options.borderWidth, "options.borderWidth", ["number"]); - assertOrUndefined(options.color, "options.color", [[Object, "Color"]]); - assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); - assertOrUndefined(options.borderColor, "options.borderColor", [ - [Object, "Color"] - ]); - assertOrUndefined(options.borderDashArray, "options.borderDashArray", [ - Array - ]); - assertOrUndefined(options.borderDashPhase, "options.borderDashPhase", [ - "number" - ]); - assertIsOneOfOrUndefined(options.borderLineCap, "options.borderLineCap", LineCapStyle); - assertRangeOrUndefined(options.borderOpacity, "options.borderOpacity", 0, 1); - assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); - var graphicsStateKey = this.maybeEmbedGraphicsState({ - opacity: options.opacity, - borderOpacity: options.borderOpacity, - blendMode: options.blendMode - }); - if (!("color" in options) && !("borderColor" in options)) { - options.borderColor = rgb(0, 0, 0); - } - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, drawSvgPath(path3, { - x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, - y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, - scale: options.scale, - rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : degrees(0), - color: (_d = options.color) !== null && _d !== void 0 ? _d : void 0, - borderColor: (_e = options.borderColor) !== null && _e !== void 0 ? _e : void 0, - borderWidth: (_f = options.borderWidth) !== null && _f !== void 0 ? _f : 0, - borderDashArray: (_g = options.borderDashArray) !== null && _g !== void 0 ? _g : void 0, - borderDashPhase: (_h = options.borderDashPhase) !== null && _h !== void 0 ? _h : void 0, - borderLineCap: (_j = options.borderLineCap) !== null && _j !== void 0 ? _j : void 0, - graphicsState: graphicsStateKey - })); - }; - PDFPage2.prototype.drawLine = function(options) { - var _a, _b, _c, _d, _e; - assertIs(options.start, "options.start", [ - [Object, "{ x: number, y: number }"] - ]); - assertIs(options.end, "options.end", [ - [Object, "{ x: number, y: number }"] - ]); - assertIs(options.start.x, "options.start.x", ["number"]); - assertIs(options.start.y, "options.start.y", ["number"]); - assertIs(options.end.x, "options.end.x", ["number"]); - assertIs(options.end.y, "options.end.y", ["number"]); - assertOrUndefined(options.thickness, "options.thickness", ["number"]); - assertOrUndefined(options.color, "options.color", [[Object, "Color"]]); - assertOrUndefined(options.dashArray, "options.dashArray", [Array]); - assertOrUndefined(options.dashPhase, "options.dashPhase", ["number"]); - assertIsOneOfOrUndefined(options.lineCap, "options.lineCap", LineCapStyle); - assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); - assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); - var graphicsStateKey = this.maybeEmbedGraphicsState({ - borderOpacity: options.opacity, - blendMode: options.blendMode - }); - if (!("color" in options)) { - options.color = rgb(0, 0, 0); - } - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, drawLine({ - start: options.start, - end: options.end, - thickness: (_a = options.thickness) !== null && _a !== void 0 ? _a : 1, - color: (_b = options.color) !== null && _b !== void 0 ? _b : void 0, - dashArray: (_c = options.dashArray) !== null && _c !== void 0 ? _c : void 0, - dashPhase: (_d = options.dashPhase) !== null && _d !== void 0 ? _d : void 0, - lineCap: (_e = options.lineCap) !== null && _e !== void 0 ? _e : void 0, - graphicsState: graphicsStateKey - })); - }; - PDFPage2.prototype.drawRectangle = function(options) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o; - if (options === void 0) { - options = {}; - } - assertOrUndefined(options.x, "options.x", ["number"]); - assertOrUndefined(options.y, "options.y", ["number"]); - assertOrUndefined(options.width, "options.width", ["number"]); - assertOrUndefined(options.height, "options.height", ["number"]); - assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); - assertOrUndefined(options.xSkew, "options.xSkew", [[Object, "Rotation"]]); - assertOrUndefined(options.ySkew, "options.ySkew", [[Object, "Rotation"]]); - assertOrUndefined(options.borderWidth, "options.borderWidth", ["number"]); - assertOrUndefined(options.color, "options.color", [[Object, "Color"]]); - assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); - assertOrUndefined(options.borderColor, "options.borderColor", [ - [Object, "Color"] - ]); - assertOrUndefined(options.borderDashArray, "options.borderDashArray", [ - Array - ]); - assertOrUndefined(options.borderDashPhase, "options.borderDashPhase", [ - "number" - ]); - assertIsOneOfOrUndefined(options.borderLineCap, "options.borderLineCap", LineCapStyle); - assertRangeOrUndefined(options.borderOpacity, "options.borderOpacity", 0, 1); - assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); - var graphicsStateKey = this.maybeEmbedGraphicsState({ - opacity: options.opacity, - borderOpacity: options.borderOpacity, - blendMode: options.blendMode - }); - if (!("color" in options) && !("borderColor" in options)) { - options.color = rgb(0, 0, 0); - } - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, drawRectangle({ - x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, - y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, - width: (_c = options.width) !== null && _c !== void 0 ? _c : 150, - height: (_d = options.height) !== null && _d !== void 0 ? _d : 100, - rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : degrees(0), - xSkew: (_f = options.xSkew) !== null && _f !== void 0 ? _f : degrees(0), - ySkew: (_g = options.ySkew) !== null && _g !== void 0 ? _g : degrees(0), - borderWidth: (_h = options.borderWidth) !== null && _h !== void 0 ? _h : 0, - color: (_j = options.color) !== null && _j !== void 0 ? _j : void 0, - borderColor: (_k = options.borderColor) !== null && _k !== void 0 ? _k : void 0, - borderDashArray: (_l = options.borderDashArray) !== null && _l !== void 0 ? _l : void 0, - borderDashPhase: (_m = options.borderDashPhase) !== null && _m !== void 0 ? _m : void 0, - graphicsState: graphicsStateKey, - borderLineCap: (_o = options.borderLineCap) !== null && _o !== void 0 ? _o : void 0 - })); - }; - PDFPage2.prototype.drawSquare = function(options) { - if (options === void 0) { - options = {}; - } - var size = options.size; - assertOrUndefined(size, "size", ["number"]); - this.drawRectangle(__assign(__assign({}, options), { width: size, height: size })); - }; - PDFPage2.prototype.drawEllipse = function(options) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; - if (options === void 0) { - options = {}; - } - assertOrUndefined(options.x, "options.x", ["number"]); - assertOrUndefined(options.y, "options.y", ["number"]); - assertOrUndefined(options.xScale, "options.xScale", ["number"]); - assertOrUndefined(options.yScale, "options.yScale", ["number"]); - assertOrUndefined(options.rotate, "options.rotate", [[Object, "Rotation"]]); - assertOrUndefined(options.color, "options.color", [[Object, "Color"]]); - assertRangeOrUndefined(options.opacity, "opacity.opacity", 0, 1); - assertOrUndefined(options.borderColor, "options.borderColor", [ - [Object, "Color"] - ]); - assertRangeOrUndefined(options.borderOpacity, "options.borderOpacity", 0, 1); - assertOrUndefined(options.borderWidth, "options.borderWidth", ["number"]); - assertOrUndefined(options.borderDashArray, "options.borderDashArray", [ - Array - ]); - assertOrUndefined(options.borderDashPhase, "options.borderDashPhase", [ - "number" - ]); - assertIsOneOfOrUndefined(options.borderLineCap, "options.borderLineCap", LineCapStyle); - assertIsOneOfOrUndefined(options.blendMode, "options.blendMode", BlendMode); - var graphicsStateKey = this.maybeEmbedGraphicsState({ - opacity: options.opacity, - borderOpacity: options.borderOpacity, - blendMode: options.blendMode - }); - if (!("color" in options) && !("borderColor" in options)) { - options.color = rgb(0, 0, 0); - } - var contentStream = this.getContentStream(); - contentStream.push.apply(contentStream, drawEllipse({ - x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, - y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, - xScale: (_c = options.xScale) !== null && _c !== void 0 ? _c : 100, - yScale: (_d = options.yScale) !== null && _d !== void 0 ? _d : 100, - rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : void 0, - color: (_f = options.color) !== null && _f !== void 0 ? _f : void 0, - borderColor: (_g = options.borderColor) !== null && _g !== void 0 ? _g : void 0, - borderWidth: (_h = options.borderWidth) !== null && _h !== void 0 ? _h : 0, - borderDashArray: (_j = options.borderDashArray) !== null && _j !== void 0 ? _j : void 0, - borderDashPhase: (_k = options.borderDashPhase) !== null && _k !== void 0 ? _k : void 0, - borderLineCap: (_l = options.borderLineCap) !== null && _l !== void 0 ? _l : void 0, - graphicsState: graphicsStateKey - })); - }; - PDFPage2.prototype.drawCircle = function(options) { - if (options === void 0) { - options = {}; - } - var _a = options.size, size = _a === void 0 ? 100 : _a; - assertOrUndefined(size, "size", ["number"]); - this.drawEllipse(__assign(__assign({}, options), { xScale: size, yScale: size })); - }; - PDFPage2.prototype.setOrEmbedFont = function(font) { - var oldFont = this.font; - var oldFontKey = this.fontKey; - if (font) - this.setFont(font); - else - this.getFont(); - var newFont = this.font; - var newFontKey = this.fontKey; - return { oldFont, oldFontKey, newFont, newFontKey }; - }; - PDFPage2.prototype.getFont = function() { - if (!this.font || !this.fontKey) { - var font = this.doc.embedStandardFont(StandardFonts.Helvetica); - this.setFont(font); - } - return [this.font, this.fontKey]; - }; - PDFPage2.prototype.resetFont = function() { - this.font = void 0; - this.fontKey = void 0; - }; - PDFPage2.prototype.getContentStream = function(useExisting) { - if (useExisting === void 0) { - useExisting = true; - } - if (useExisting && this.contentStream) - return this.contentStream; - this.contentStream = this.createContentStream(); - this.contentStreamRef = this.doc.context.register(this.contentStream); - this.node.addContentStream(this.contentStreamRef); - return this.contentStream; - }; - PDFPage2.prototype.createContentStream = function() { - var operators = []; - for (var _i = 0; _i < arguments.length; _i++) { - operators[_i] = arguments[_i]; - } - var dict = this.doc.context.obj({}); - var contentStream = PDFContentStream_default.of(dict, operators); - return contentStream; - }; - PDFPage2.prototype.maybeEmbedGraphicsState = function(options) { - var opacity = options.opacity, borderOpacity = options.borderOpacity, blendMode = options.blendMode; - if (opacity === void 0 && borderOpacity === void 0 && blendMode === void 0) { - return void 0; - } - var graphicsState = this.doc.context.obj({ - Type: "ExtGState", - ca: opacity, - CA: borderOpacity, - BM: blendMode - }); - var key = this.node.newExtGState("GS", graphicsState); - return key; - }; - PDFPage2.prototype.scaleAnnot = function(annot, x, y) { - var selectors = ["RD", "CL", "Vertices", "QuadPoints", "L", "Rect"]; - for (var idx = 0, len = selectors.length; idx < len; idx++) { - var list = annot.lookup(PDFName_default.of(selectors[idx])); - if (list instanceof PDFArray_default) - list.scalePDFNumbers(x, y); - } - var inkLists = annot.lookup(PDFName_default.of("InkList")); - if (inkLists instanceof PDFArray_default) { - for (var idx = 0, len = inkLists.size(); idx < len; idx++) { - var arr = inkLists.lookup(idx); - if (arr instanceof PDFArray_default) - arr.scalePDFNumbers(x, y); - } - } - }; - PDFPage2.of = function(leafNode, ref, doc) { - return new PDFPage2(leafNode, ref, doc); - }; - PDFPage2.create = function(doc) { - assertIs(doc, "doc", [[PDFDocument_default, "PDFDocument"]]); - var dummyRef = PDFRef_default.of(-1); - var pageLeaf = PDFPageLeaf_default.withContextAndParent(doc.context, dummyRef); - var pageRef = doc.context.register(pageLeaf); - return new PDFPage2(pageLeaf, pageRef, doc); - }; - return PDFPage2; - }() -); -var PDFPage_default = PDFPage; - -// node_modules/.pnpm/pdf-lib@1.17.1/node_modules/pdf-lib/es/api/form/PDFButton.js -var PDFButton = ( - /** @class */ - function(_super) { - __extends(PDFButton2, _super); - function PDFButton2(acroPushButton, ref, doc) { - var _this = _super.call(this, acroPushButton, ref, doc) || this; - assertIs(acroPushButton, "acroButton", [ - [PDFAcroPushButton_default, "PDFAcroPushButton"] - ]); - _this.acroField = acroPushButton; - return _this; - } - PDFButton2.prototype.setImage = function(image, alignment) { - if (alignment === void 0) { - alignment = ImageAlignment.Center; - } - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var streamRef = this.createImageAppearanceStream(widget, image, alignment); - this.updateWidgetAppearances(widget, { normal: streamRef }); - } - this.markAsClean(); - }; - PDFButton2.prototype.setFontSize = function(fontSize) { - assertPositive(fontSize, "fontSize"); - this.acroField.setFontSize(fontSize); - this.markAsDirty(); - }; - PDFButton2.prototype.addToPage = function(text, page, options) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; - assertOrUndefined(text, "text", ["string"]); - assertOrUndefined(page, "page", [[PDFPage_default, "PDFPage"]]); - assertFieldAppearanceOptions(options); - var widget = this.createWidget({ - x: ((_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0) - ((_b = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _b !== void 0 ? _b : 0) / 2, - y: ((_c = options === null || options === void 0 ? void 0 : options.y) !== null && _c !== void 0 ? _c : 0) - ((_d = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _d !== void 0 ? _d : 0) / 2, - width: (_e = options === null || options === void 0 ? void 0 : options.width) !== null && _e !== void 0 ? _e : 100, - height: (_f = options === null || options === void 0 ? void 0 : options.height) !== null && _f !== void 0 ? _f : 50, - textColor: (_g = options === null || options === void 0 ? void 0 : options.textColor) !== null && _g !== void 0 ? _g : rgb(0, 0, 0), - backgroundColor: (_h = options === null || options === void 0 ? void 0 : options.backgroundColor) !== null && _h !== void 0 ? _h : rgb(0.75, 0.75, 0.75), - borderColor: options === null || options === void 0 ? void 0 : options.borderColor, - borderWidth: (_j = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _j !== void 0 ? _j : 0, - rotate: (_k = options === null || options === void 0 ? void 0 : options.rotate) !== null && _k !== void 0 ? _k : degrees(0), - caption: text, - hidden: options === null || options === void 0 ? void 0 : options.hidden, - page: page.ref - }); - var widgetRef = this.doc.context.register(widget.dict); - this.acroField.addWidget(widgetRef); - var font = (_l = options === null || options === void 0 ? void 0 : options.font) !== null && _l !== void 0 ? _l : this.doc.getForm().getDefaultFont(); - this.updateWidgetAppearance(widget, font); - page.node.addAnnot(widgetRef); - }; - PDFButton2.prototype.needsAppearancesUpdate = function() { - var _a; - if (this.isDirty()) - return true; - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream_default; - if (!hasAppearances) - return true; - } - return false; - }; - PDFButton2.prototype.defaultUpdateAppearances = function(font) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - this.updateAppearances(font); - }; - PDFButton2.prototype.updateAppearances = function(font, provider) { - assertIs(font, "font", [[PDFFont_default, "PDFFont"]]); - assertOrUndefined(provider, "provider", [Function]); - var widgets = this.acroField.getWidgets(); - for (var idx = 0, len = widgets.length; idx < len; idx++) { - var widget = widgets[idx]; - this.updateWidgetAppearance(widget, font, provider); - } - }; - PDFButton2.prototype.updateWidgetAppearance = function(widget, font, provider) { - var apProvider = provider !== null && provider !== void 0 ? provider : defaultButtonAppearanceProvider; - var appearances = normalizeAppearance(apProvider(this, widget, font)); - this.updateWidgetAppearanceWithFont(widget, font, appearances); - }; - PDFButton2.of = function(acroPushButton, ref, doc) { - return new PDFButton2(acroPushButton, ref, doc); - }; - return PDFButton2; - }(PDFField_default) -); -var PDFButton_default = PDFButton; - -// src/utils.ts -var import_obsidian = require("obsidian"); -var TreeNode = class { - constructor(key, title, level) { - this.children = []; - this.key = key; - this.title = title; - this.level = level; - this.children = []; - } -}; -function getHeadingTree(doc = document) { - const headings = doc.querySelectorAll("h1, h2, h3, h4, h5, h6"); - const root = new TreeNode("", "Root", 0); - let prev = root; - headings.forEach((heading) => { - var _a; - if (heading.style.display == "none") { - return; - } - const level = parseInt(heading.tagName.slice(1)); - const link = heading.querySelector("a.md-print-anchor"); - const regexMatch = /^af:\/\/(.+)$/.exec((_a = link == null ? void 0 : link.href) != null ? _a : ""); - if (!regexMatch) { - return; - } - const newNode = new TreeNode(regexMatch[1], heading.innerText, level); - while (prev.level >= level) { - prev = prev.parent; - } - prev.children.push(newNode); - newNode.parent = prev; - prev = newNode; - }); - return root; -} -function modifyDest(doc) { - const data = /* @__PURE__ */ new Map(); - doc.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach((heading, i) => { - const link = document.createElement("a"); - const flag3 = `${heading.tagName.toLowerCase()}-${i}`; - link.href = `af://${flag3}`; - link.className = "md-print-anchor"; - heading.appendChild(link); - data.set(heading.dataset.heading, flag3); - }); - return data; -} -function convertMapKeysToLowercase(map) { - return new Map(Array.from(map).map(([key, value]) => [key == null ? void 0 : key.toLowerCase(), value])); -} -function fixAnchors(doc, dest, basename) { - const lowerDest = convertMapKeysToLowercase(dest); - doc.querySelectorAll("a.internal-link").forEach((el, i) => { - var _a, _b, _c; - const [title, anchor] = (_b = (_a = el.dataset.href) == null ? void 0 : _a.split("#")) != null ? _b : []; - if (anchor == null ? void 0 : anchor.startsWith("^")) { - el.href = (_c = el.dataset.href) == null ? void 0 : _c.toLowerCase(); - } - if ((anchor == null ? void 0 : anchor.length) > 0) { - if ((title == null ? void 0 : title.length) > 0 && title != basename) { - return; - } - const flag3 = dest.get(anchor) || lowerDest.get(anchor == null ? void 0 : anchor.toLowerCase()); - if (flag3 && !anchor.startsWith("^")) { - el.href = `an://${flag3}`; - } - } - }); -} -var px2mm = (px2) => { - return Math.round(px2 * 0.26458333333719); -}; -var mm2px = (mm) => { - return Math.round(mm * 3.779527559); -}; -function traverseFolder(path3) { - if (path3 instanceof import_obsidian.TFile) { - if (path3.extension == "md") { - return [path3]; - } else { - return []; - } - } - const arr = []; - for (const item of path3.children) { - arr.push(...traverseFolder(item)); - } - return arr; -} -function copyAttributes(node, attributes) { - Array.from(attributes).forEach((attr) => { - node.setAttribute(attr.name, attr.value); - }); -} -function isNumber(str) { - return !isNaN(parseFloat(str)); -} - -// src/pdf.ts -async function getDestPosition(pdfDoc) { - const pages = pdfDoc.getPages(); - const links = {}; - pages.forEach((page, pageIndex) => { - var _a, _b; - const annotations = page.node.Annots(); - if (!annotations) { - return; - } - const numAnnotations = (_a = annotations == null ? void 0 : annotations.size()) != null ? _a : 0; - for (let annotIndex = 0; annotIndex < numAnnotations; annotIndex++) { - try { - const annotation = annotations.lookup(annotIndex, PDFDict_default); - const subtype = annotation.get(PDFName_default.of("Subtype")); - if ((subtype == null ? void 0 : subtype.toString()) === "/Link") { - const linkDict = annotation.get(PDFName_default.of("A")); - const uri = linkDict == null ? void 0 : linkDict.get(PDFName_default.of("URI")).toString(); - console.debug("uri", uri); - const regexMatch = /^\(af:\/\/(.+)\)$/.exec(uri || ""); - if (regexMatch) { - const rect = (_b = annotation.get(PDFName_default.of("Rect"))) == null ? void 0 : _b.asRectangle(); - const linkUrl = regexMatch[1]; - const yPos = rect.y; - links[linkUrl] = [pageIndex, yPos]; - } - } - } catch (err) { - console.error(err); - } - } - }); - return links; -} -async function setAnchors(pdfDoc, links) { - const pages = pdfDoc.getPages(); - pages.forEach((page, _) => { - var _a; - const annots = page.node.Annots(); - if (!annots) { - return; - } - const numAnnotations = (_a = annots == null ? void 0 : annots.size()) != null ? _a : 0; - for (let idx = 0; idx < numAnnotations; idx++) { - try { - const linkAnnotRef = annots.get(idx); - const linkAnnot = annots.lookup(idx, PDFDict_default); - const subtype = linkAnnot.get(PDFName_default.of("Subtype")); - if ((subtype == null ? void 0 : subtype.toString()) === "/Link") { - const linkDict = linkAnnot.get(PDFName_default.of("A")); - const uri = linkDict == null ? void 0 : linkDict.get(PDFName_default.of("URI")).toString(); - console.debug("uri", uri); - const regexMatch = /^\(an:\/\/(.+)\)$/.exec(uri || ""); - const key = regexMatch == null ? void 0 : regexMatch[1]; - if (key && (links == null ? void 0 : links[key])) { - const [pageIdx, yPos] = links[key]; - const newAnnot = pdfDoc.context.obj({ - Type: "Annot", - Subtype: "Link", - Rect: linkAnnot.lookup(PDFName_default.of("Rect")), - Border: linkAnnot.lookup(PDFName_default.of("Border")), - C: linkAnnot.lookup(PDFName_default.of("C")), - Dest: [pages[pageIdx].ref, "XYZ", null, yPos, null] - }); - pdfDoc.context.assign(linkAnnotRef, newAnnot); - } - } - } catch (err) { - console.error(err); - } - } - }); - return links; -} -function generateOutlines(root, positions, maxLevel = 6) { - var _a, _b; - const _outline = (node) => { - var _a2, _b2; - if (node.level > maxLevel) { - return; - } - const [pageIdx, pos] = (_a2 = positions == null ? void 0 : positions[node.key]) != null ? _a2 : [0, 0]; - const outline = { - title: node.title, - to: [pageIdx, 0, pos], - open: false, - children: [] - }; - if (((_b2 = node.children) == null ? void 0 : _b2.length) > 0) { - for (const item of node.children) { - const child = _outline(item); - if (child) { - outline.children.push(child); - } - } - } - return outline; - }; - return (_b = (_a = _outline(root)) == null ? void 0 : _a.children) != null ? _b : []; -} -var walk = (outlines, callback) => { - for (const outline of outlines) { - const ret = callback(outline); - if ("children" in outline && ret !== false) walk(outline.children, callback); - } -}; -var flatten = (outlines) => { - const result = []; - walk(outlines, (outline) => void result.push(outline)); - return result; -}; -var getOpeningCount = (outlines) => { - let count = 0; - walk(outlines, (outline) => { - count += 1; - return !("open" in outline && !outline.open); - }); - return count; -}; -var setOutline = async (doc, outlines) => { - const rootRef = doc.context.nextRef(); - const refMap = /* @__PURE__ */ new WeakMap(); - for (const outline of flatten(outlines)) { - refMap.set(outline, doc.context.nextRef()); - } - const pageRefs = (() => { - const refs = []; - doc.catalog.Pages().traverse((kid, ref) => { - var _a; - if (((_a = kid.get(kid.context.obj("Type"))) == null ? void 0 : _a.toString()) === "/Page") { - refs.push(ref); - } - }); - return refs; - })(); - const createOutline = (outlines2, parent) => { - const { length } = outlines2; - for (let i = 0; i < length; i += 1) { - const outline = outlines2[i]; - const outlineRef = refMap.get(outline); - const destOrAction = (() => { - if (typeof outline.to === "number") { - return { Dest: [pageRefs[outline.to], "Fit"] }; - } else if (Array.isArray(outline.to)) { - return { - Dest: [pageRefs[outline.to[0]], "XYZ", outline.to[1], outline.to[2], null] - }; - } - return {}; - })(); - const childrenDict = (() => { - if ("children" in outline && outline.children.length > 0) { - createOutline(outline.children, outlineRef); - return { - First: refMap.get(outline.children[0]), - Last: refMap.get(outline.children[outline.children.length - 1]), - Count: getOpeningCount(outline.children) * (outline.open ? 1 : -1) - }; - } - return {}; - })(); - doc.context.assign( - outlineRef, - doc.context.obj({ - Title: PDFHexString_default.fromText(outline.title), - Parent: parent, - ...i > 0 ? { Prev: refMap.get(outlines2[i - 1]) } : {}, - ...i < length - 1 ? { Next: refMap.get(outlines2[i + 1]) } : {}, - ...childrenDict, - ...destOrAction, - F: (outline.italic ? 1 : 0) | (outline.bold ? 2 : 0) - }) - ); - } - }; - createOutline(outlines, rootRef); - const rootCount = getOpeningCount(outlines); - doc.context.assign( - rootRef, - doc.context.obj({ - Type: "Outlines", - ...rootCount > 0 ? { - First: refMap.get(outlines[0]), - Last: refMap.get(outlines[outlines.length - 1]) - } : {}, - Count: rootCount - }) - ); - doc.catalog.set(doc.context.obj("Outlines"), rootRef); -}; -async function editPDF(data, { headings, maxLevel, frontMatter, displayMetadata }) { - const pdfDoc = await PDFDocument_default.load(data); - const posistions = await getDestPosition(pdfDoc); - setAnchors(pdfDoc, posistions); - const outlines = generateOutlines(headings, posistions, maxLevel); - setOutline(pdfDoc, outlines); - if (displayMetadata) { - setMetadata(pdfDoc, frontMatter != null ? frontMatter : {}); - } - data = await pdfDoc.save(); - return data; -} -function setMetadata(pdfDoc, { title, author, keywords, subject, creator, created_at, updated_at }) { - if (title) { - pdfDoc.setTitle(title, { showInWindowTitleBar: true }); - } - if (author) { - if (Array.isArray(author)) { - pdfDoc.setAuthor(author.join(", ")); - } else { - pdfDoc.setAuthor(author.toString()); - } - } - if (keywords) { - pdfDoc.setKeywords(typeof keywords == "string" ? [keywords] : keywords); - } - if (subject) { - pdfDoc.setSubject(subject); - } - pdfDoc.setCreator(creator != null ? creator : "Obsidian"); - pdfDoc.setProducer("Obsidian"); - pdfDoc.setCreationDate(new Date(created_at != null ? created_at : /* @__PURE__ */ new Date())); - pdfDoc.setModificationDate(new Date(updated_at != null ? updated_at : /* @__PURE__ */ new Date())); -} -async function exportToPDF(outputFile, config, w, { doc, frontMatter }) { - var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j; - console.log("output pdf:", outputFile); - let pageSize = config["pageSize"]; - if (config["pageSize"] == "Custom" && config["pageWidth"] && config["pageHeight"]) { - pageSize = { - width: parseFloat((_a = config["pageWidth"]) != null ? _a : "210") / 25.4, - height: parseFloat((_b = config["pageHeight"]) != null ? _b : "297") / 25.4 - }; - } - let scale2 = (_c = config == null ? void 0 : config["scale"]) != null ? _c : 100; - if (scale2 > 200 || scale2 < 10) { - scale2 = 100; - } - const printOptions = { - landscape: config == null ? void 0 : config["landscape"], - printBackground: config == null ? void 0 : config["printBackground"], - generateTaggedPDF: config == null ? void 0 : config["generateTaggedPDF"], - pageSize, - scale: scale2 / 100, - margins: { - marginType: "default" - }, - displayHeaderFooter: config["displayHeader"] || config["displayFooter"], - headerTemplate: config["displayHeader"] ? (_d = frontMatter == null ? void 0 : frontMatter["headerTemplate"]) != null ? _d : config["headerTemplate"] : "", - footerTemplate: config["displayFooter"] ? (_e = frontMatter == null ? void 0 : frontMatter["footerTemplate"]) != null ? _e : config["footerTemplate"] : "" - }; - if (config.marginType == "0") { - printOptions["margins"] = { - marginType: "custom", - top: 0, - bottom: 0, - left: 0, - right: 0 - }; - } else if (config.marginType == "1") { - printOptions["margins"] = { - marginType: "default" - }; - } else if (config.marginType == "2") { - printOptions["margins"] = { - marginType: "custom", - top: 0.1, - bottom: 0.1, - left: 0.1, - right: 0.1 - }; - } else if (config.marginType == "3") { - printOptions["margins"] = { - marginType: "custom", - top: parseFloat((_f = config["marginTop"]) != null ? _f : "0") / 25.4, - bottom: parseFloat((_g = config["marginBottom"]) != null ? _g : "0") / 25.4, - left: parseFloat((_h = config["marginLeft"]) != null ? _h : "0") / 25.4, - right: parseFloat((_i = config["marginRight"]) != null ? _i : "0") / 25.4 - }; - } - try { - let data = await w.printToPDF(printOptions); - data = await editPDF(data, { - headings: getHeadingTree(doc), - frontMatter, - displayMetadata: config == null ? void 0 : config.displayMetadata, - maxLevel: parseInt((_j = config == null ? void 0 : config.maxLevel) != null ? _j : "6") - }); - await fs.writeFile(outputFile, data); - if (config.open) { - import_electron.default.remote.shell.openPath(outputFile); - } - } catch (error2) { - console.error(error2); - } -} -async function getOutputFile(filename, isTimestamp) { - const result = await import_electron.default.remote.dialog.showSaveDialog({ - title: "Export to PDF", - defaultPath: filename + (isTimestamp ? "-" + Date.now() : "") + ".pdf", - filters: [ - { name: "All Files", extensions: ["*"] }, - { name: "PDF", extensions: ["pdf"] } - ], - properties: ["showOverwriteConfirmation", "createDirectory"] - }); - if (result.canceled) { - return; - } - return result.filePath; -} -async function getOutputPath(filename, isTimestamp) { - const result = await import_electron.default.remote.dialog.showOpenDialog({ - title: "Export to PDF", - defaultPath: filename, - properties: ["openDirectory"] - }); - if (result.canceled) { - return; - } - return result.filePaths[0]; -} - -// src/render.ts -var import_obsidian2 = require("obsidian"); -function getAllStyles() { - const cssTexts = []; - Array.from(document.styleSheets).forEach((sheet) => { - var _a, _b, _c; - const id = (_a = sheet.ownerNode) == null ? void 0 : _a.id; - if (id == null ? void 0 : id.startsWith("svelte-")) { - return; - } - const href = (_b = sheet.ownerNode) == null ? void 0 : _b.href; - const division = `/* ----------${id ? `id:${id}` : href ? `href:${href}` : ""}---------- */`; - cssTexts.push(division); - try { - Array.from((_c = sheet == null ? void 0 : sheet.cssRules) != null ? _c : []).forEach((rule) => { - cssTexts.push(rule.cssText); - }); - } catch (error2) { - console.error(error2); - } - }); - cssTexts.push(...getPatchStyle()); - return cssTexts; -} -var CSS_PATCH = ` -/* ---------- css patch ---------- */ - -body { - overflow: auto !important; -} -@media print { - .print .markdown-preview-view { - height: auto !important; - } - .md-print-anchor, .blockid { - white-space: pre !important; - border-left: none !important; - border-right: none !important; - border-top: none !important; - border-bottom: none !important; - display: inline-block !important; - position: absolute !important; - width: 1px !important; - height: 1px !important; - right: 0 !important; - outline: 0 !important; - background: 0 0 !important; - text-decoration: initial !important; - text-shadow: initial !important; - } -} -@media print { - table { - break-inside: auto; - } - tr { - break-inside: avoid; - break-after: auto; - } -} - -img.__canvas__ { - width: 100% !important; - height: 100% !important; -} -`; -function getPatchStyle() { - return [CSS_PATCH, ...getPrintStyle()]; -} -function getPrintStyle() { - const cssTexts = []; - Array.from(document.styleSheets).forEach((sheet) => { - var _a; - try { - const cssRules = (_a = sheet == null ? void 0 : sheet.cssRules) != null ? _a : []; - Array.from(cssRules).forEach((rule) => { - if (rule.constructor.name == "CSSMediaRule") { - if (rule.conditionText === "print") { - const res = rule.cssText.replace(/@media print\s*\{(.+)\}/gms, "$1"); - cssTexts.push(res); - } - } - }); - } catch (error2) { - console.error(error2); - } - }); - return cssTexts; -} -function generateDocId(n) { - return Array.from({ length: n }, () => (16 * Math.random() | 0).toString(16)).join(""); -} -function getFrontMatter(app, file) { - var _a; - const cache = app.metadataCache.getFileCache(file); - return (_a = cache == null ? void 0 : cache.frontmatter) != null ? _a : {}; -} -async function renderMarkdown(app, file, config, extra) { - var _a, _b, _c, _d, _e, _f, _g, _h, _i; - const startTime = (/* @__PURE__ */ new Date()).getTime(); - const ws = app.workspace; - if (((_a = ws.getActiveFile()) == null ? void 0 : _a.path) != file.path) { - const leaf = ws.getLeaf(); - await leaf.openFile(file); - } - const view = ws.getActiveViewOfType(import_obsidian2.MarkdownView); - const data = (_e = (_c = view == null ? void 0 : view.data) != null ? _c : (_b = ws == null ? void 0 : ws.getActiveFileView()) == null ? void 0 : _b.data) != null ? _e : (_d = ws.activeEditor) == null ? void 0 : _d.data; - if (!data) { - new import_obsidian2.Notice("data is empty!"); - } - const frontMatter = getFrontMatter(app, file); - const cssclasses = []; - for (const [key, val] of Object.entries(frontMatter)) { - if (key.toLowerCase() == "cssclass" || key.toLowerCase() == "cssclasses") { - if (Array.isArray(val)) { - cssclasses.push(...val); - } else { - cssclasses.push(val); - } - } - } - const comp = new import_obsidian2.Component(); - comp.load(); - const printEl = document.body.createDiv("print"); - const viewEl = printEl.createDiv({ - cls: "markdown-preview-view markdown-rendered " + cssclasses.join(" ") - }); - app.vault.cachedRead(file); - viewEl.toggleClass("rtl", app.vault.getConfig("rightToLeft")); - viewEl.toggleClass("show-properties", "hidden" !== app.vault.getConfig("propertiesInDocument")); - const title = (_g = (_f = extra == null ? void 0 : extra.title) != null ? _f : frontMatter == null ? void 0 : frontMatter.title) != null ? _g : file.basename; - viewEl.createEl("h1", { text: title }, (e) => { - var _a2; - e.addClass("__title__"); - e.style.display = config.showTitle ? "block" : "none"; - e.id = (_a2 = extra == null ? void 0 : extra.id) != null ? _a2 : ""; - }); - const cache = app.metadataCache.getFileCache(file); - const blocks = new Map(Object.entries((_h = cache == null ? void 0 : cache.blocks) != null ? _h : {})); - const lines = ((_i = data == null ? void 0 : data.split("\n")) != null ? _i : []).map((line, i) => { - for (const { - id, - position: { start, end } - } of blocks.values()) { - const blockid = `^${id}`; - if (line.includes(blockid) && i >= start.line && i <= end.line) { - blocks.delete(id); - return line.replace(blockid, ` ${blockid}`); - } - } - return line; - }); - [...blocks.values()].forEach(({ id, position: { start, end } }) => { - const idx = start.line; - lines[idx] = ` - -` + lines[idx]; - }); - const fragment = { - children: void 0, - appendChild(e) { - this.children = e == null ? void 0 : e.children; - throw new Error("exit"); - } - }; - const promises = []; - try { - await import_obsidian2.MarkdownRenderer.render(app, lines.join("\n"), fragment, file.path, comp); - } catch (error2) { - } - const el = createFragment(); - Array.from(fragment.children).forEach((item) => { - el.createDiv({}, (t) => { - return t.appendChild(item); - }); - }); - viewEl.appendChild(el); - await import_obsidian2.MarkdownRenderer.postProcess(app, { - docId: generateDocId(16), - sourcePath: file.path, - frontmatter: {}, - promises, - addChild: function(e) { - return comp.addChild(e); - }, - getSectionInfo: function() { - return null; - }, - containerEl: viewEl, - el: viewEl, - displayMode: true - }); - await Promise.all(promises); - printEl.findAll("a.internal-link").forEach((el2) => { - var _a2, _b2; - const [title2, anchor] = (_b2 = (_a2 = el2.dataset.href) == null ? void 0 : _a2.split("#")) != null ? _b2 : []; - if ((!title2 || (title2 == null ? void 0 : title2.length) == 0 || title2 == file.basename) && (anchor == null ? void 0 : anchor.startsWith("^"))) { - return; - } - el2.removeAttribute("href"); - }); - try { - await fixWaitRender(data, viewEl); - } catch (error2) { - console.warn("wait timeout"); - } - fixCanvasToImage(viewEl); - const doc = document.implementation.createHTMLDocument("document"); - doc.body.appendChild(printEl.cloneNode(true)); - printEl.detach(); - comp.unload(); - printEl.remove(); - doc.title = title; - console.log(`md render time:${(/* @__PURE__ */ new Date()).getTime() - startTime}ms`); - return { doc, frontMatter, file }; -} -function fixDoc(doc, title) { - const dest = modifyDest(doc); - fixAnchors(doc, dest, title); - encodeEmbeds(doc); - return doc; -} -function encodeEmbeds(doc) { - const spans = Array.from(doc.querySelectorAll("span.markdown-embed")).reverse(); - spans.forEach((span) => span.innerHTML = encodeURIComponent(span.innerHTML)); -} -async function fixWaitRender(data, viewEl) { - if (data.includes("```dataview") || data.includes("```gEvent") || data.includes("![[")) { - await sleep(2e3); - } - try { - await waitForDomChange(viewEl); - } catch (error2) { - await sleep(1e3); - } -} -function fixCanvasToImage(el) { - for (const canvas of Array.from(el.querySelectorAll("canvas"))) { - const data = canvas.toDataURL(); - const img = document.createElement("img"); - img.src = data; - copyAttributes(img, canvas.attributes); - img.className = "__canvas__"; - canvas.replaceWith(img); - } -} -function createWebview(scale2 = 1.25) { - const webview = document.createElement("webview"); - webview.src = `app://obsidian.md/help.html`; - webview.setAttribute( - "style", - `height:calc(${scale2} * 100%); - width: calc(${scale2} * 100%); - transform: scale(${1 / scale2}, ${1 / scale2}); - transform-origin: top left; - border: 1px solid #f2f2f2; - ` - ); - webview.nodeintegration = true; - return webview; -} -function waitForDomChange(target, timeout = 2e3, interval = 200) { - return new Promise((resolve, reject) => { - let timer; - const observer = new MutationObserver((m) => { - clearTimeout(timer); - timer = setTimeout(() => { - observer.disconnect(); - resolve(true); - }, interval); - }); - observer.observe(target, { - childList: true, - subtree: true, - attributes: true, - characterData: true - }); - setTimeout(() => { - observer.disconnect(); - reject(new Error(`timeout ${timeout}ms`)); - }, timeout); - }); -} - -// src/modal.ts -function fullWidthButton(button) { - button.buttonEl.setAttribute("style", `margin: "0 auto"; width: -webkit-fill-available`); -} -function setInputWidth(inputEl) { - inputEl.setAttribute("style", `width: 100px;`); -} -var ExportConfigModal = class extends import_obsidian3.Modal { - constructor(plugin, file, multiplePdf) { - var _a, _b, _c, _d, _e; - super(plugin.app); - this.canceled = true; - this.plugin = plugin; - this.file = file; - this.completed = false; - this.i18n = i18n_default.current; - this.docs = []; - this.scale = 0.75; - this.webviews = []; - this.multiplePdf = multiplePdf; - this.config = { - pageSize: "A4", - marginType: "1", - showTitle: (_a = plugin.settings.showTitle) != null ? _a : true, - open: true, - scale: 100, - landscape: false, - marginTop: "10", - marginBottom: "10", - marginLeft: "10", - marginRight: "10", - displayHeader: (_b = plugin.settings.displayHeader) != null ? _b : true, - displayFooter: (_c = plugin.settings.displayHeader) != null ? _c : true, - cssSnippet: "0", - ...(_e = (_d = plugin.settings) == null ? void 0 : _d.prevConfig) != null ? _e : {} - }; - } - getFileCache(file) { - return this.app.metadataCache.getFileCache(file); - } - async renderFiles() { - var _a, _b; - const app = this.plugin.app; - let docs = []; - if (this.file instanceof import_obsidian3.TFolder) { - const files = traverseFolder(this.file); - for (const file of files) { - docs.push(await renderMarkdown(app, file, this.config)); - } - } else { - const { doc, frontMatter, file } = await renderMarkdown(app, this.file, this.config); - docs.push({ doc, frontMatter, file }); - if (frontMatter.toc) { - const cache = this.getFileCache(this.file); - const files = (_b = (_a = cache == null ? void 0 : cache.links) == null ? void 0 : _a.map(({ link, displayText }) => { - const id = crypto.randomUUID(); - const elem = doc.querySelector(`a[data-href="${link}"]`); - if (elem) { - elem.href = `#${id}`; - } - return { - title: displayText, - file: this.app.metadataCache.getFirstLinkpathDest(link, this.file.path), - id - }; - }).filter((item) => item.file instanceof import_obsidian3.TFile)) != null ? _b : []; - for (const item of files) { - docs.push(await renderMarkdown(app, item.file, this.config, item)); - } - const leaf = this.app.workspace.getLeaf(); - await leaf.openFile(this.file); - } - } - if (!this.multiplePdf) { - docs = this.mergeDoc(docs); - } - this.docs = docs.map(({ doc, ...rest }) => { - return { ...rest, doc: fixDoc(doc, doc.title) }; - }); - } - mergeDoc(docs) { - const { doc: doc0, frontMatter, file } = docs[0]; - const sections = []; - for (const { doc } of docs) { - const element = doc.querySelector(".markdown-preview-view"); - if (element) { - const section = doc0.createElement("section"); - Array.from(element.children).forEach((child) => { - section.appendChild(doc0.importNode(child, true)); - }); - sections.push(section); - } - } - const root = doc0.querySelector(".markdown-preview-view"); - if (root) { - root.innerHTML = ""; - } - sections.forEach((section) => { - root == null ? void 0 : root.appendChild(section); - }); - return [{ doc: doc0, frontMatter, file }]; - } - calcPageSize(element, config) { - var _a, _b, _c; - const { pageSize, pageWidth } = config != null ? config : this.config; - const el = element != null ? element : this.previewDiv; - let width = (_c = (_b = (_a = PageSize) == null ? void 0 : _a[pageSize]) == null ? void 0 : _b[0]) != null ? _c : parseFloat(pageWidth); - if (isNaN(width)) { - width = 210; - } - const scale2 = Math.floor(mm2px(width) / el.offsetWidth * 100) / 100; - this.webviews.forEach((wb) => { - wb.style.transform = `scale(${1 / scale2},${1 / scale2})`; - wb.style.width = `calc(${scale2} * 100%)`; - wb.style.height = `calc(${scale2} * 100%)`; - }); - this.scale = scale2; - return scale2; - } - async calcWebviewSize() { - await sleep(500); - this.webviews.forEach(async (e, i) => { - var _a; - const [width, height] = await e.executeJavaScript("[document.body.offsetWidth, document.body.offsetHeight]"); - const sizeEl = (_a = e.parentNode) == null ? void 0 : _a.querySelector(".print-size"); - if (sizeEl) { - sizeEl.innerHTML = `${width}\xD7${height}px -${px2mm(width)}\xD7${px2mm(height)}mm`; - } - }); - } - async togglePrintSize() { - var _a; - (_a = document.querySelectorAll(".print-size")) == null ? void 0 : _a.forEach((sizeEl) => { - if (this.config["pageSize"] == "Custom") { - sizeEl.style.visibility = "visible"; - } else { - sizeEl.style.visibility = "hidden"; - } - }); - } - makeWebviewJs(doc) { - return ` - document.body.innerHTML = decodeURIComponent(\`${encodeURIComponent(doc.body.innerHTML)}\`); - document.head.innerHTML = decodeURIComponent(\`${encodeURIComponent(document.head.innerHTML)}\`); - - // Function to recursively decode and replace innerHTML of span.markdown-embed elements - function decodeAndReplaceEmbed(element) { - // Replace the innerHTML with the decoded content - element.innerHTML = decodeURIComponent(element.innerHTML); - // Check if the new content contains further span.markdown-embed elements - const newEmbeds = element.querySelectorAll("span.markdown-embed"); - newEmbeds.forEach(decodeAndReplaceEmbed); - } - - // Start the process with all span.markdown-embed elements in the document - document.querySelectorAll("span.markdown-embed").forEach(decodeAndReplaceEmbed); - - document.body.setAttribute("class", \`${document.body.getAttribute("class")}\`) - document.body.setAttribute("style", \`${document.body.getAttribute("style")}\`) - document.body.addClass("theme-light"); - document.body.removeClass("theme-dark"); - document.title = \`${doc.title}\`; - `; - } - /** - * append webview - * @param e HTMLDivElement - * @param render Rerender or not - */ - async appendWebview(e, doc) { - const webview = createWebview(this.scale); - const preview = e.appendChild(webview); - this.webviews.push(preview); - this.preview = preview; - preview.addEventListener("dom-ready", async (e2) => { - this.completed = true; - getAllStyles().forEach(async (css) => { - await preview.insertCSS(css); - }); - if (this.config.cssSnippet && this.config.cssSnippet != "0") { - try { - const cssSnippet = await fs2.readFile(this.config.cssSnippet, { encoding: "utf8" }); - const printCss = cssSnippet.replaceAll(/@media print\s*{([^}]+)}/g, "$1"); - await preview.insertCSS(printCss); - await preview.insertCSS(cssSnippet); - } catch (error2) { - console.warn(error2); - } - } - await preview.executeJavaScript(this.makeWebviewJs(doc)); - getPatchStyle().forEach(async (css) => { - await preview.insertCSS(css); - }); - }); - } - async appendWebviews(e, render = true) { - var _a; - if (render) { - await this.renderFiles(); - } - e.empty(); - await Promise.all( - (_a = this.docs) == null ? void 0 : _a.map(async ({ doc }, i) => { - if (this.multiplePdf) { - e.createDiv({ - text: `${i + 1}-${doc.title}`, - attr: { class: "filename" } - }); - } - const div = e.createDiv({ attr: { class: "webview-wrapper" } }); - div.createDiv({ attr: { class: "print-size" } }); - await this.appendWebview(div, doc); - }) - ); - await this.calcWebviewSize(); - } - async onOpen() { - var _a, _b, _c; - this.contentEl.empty(); - this.containerEl.style.setProperty("--dialog-width", "60vw"); - this.titleEl.setText("Export to PDF"); - const wrapper = this.contentEl.createDiv({ attr: { id: "better-export-pdf" } }); - const title = (_c = (_a = this.file) == null ? void 0 : _a.basename) != null ? _c : (_b = this.file) == null ? void 0 : _b.name; - this.previewDiv = wrapper.createDiv({ attr: { class: "pdf-preview" } }, async (el) => { - el.empty(); - const resizeObserver = new ResizeObserver(() => { - this.calcPageSize(el); - }); - resizeObserver.observe(el); - await this.appendWebviews(el); - this.togglePrintSize(); - }); - const contentEl = wrapper.createDiv({ attr: { class: "setting-wrapper" } }); - contentEl.addEventListener("keyup", (event) => { - if (event.key === "Enter") { - handleExport(); - } - }); - this.generateForm(contentEl); - const handleExport = async () => { - var _a2, _b2; - this.plugin.settings.prevConfig = this.config; - await this.plugin.saveSettings(); - if (this.config["pageSize"] == "Custom") { - if (!isNumber((_a2 = this.config["pageWidth"]) != null ? _a2 : "") || !isNumber((_b2 = this.config["pageHeight"]) != null ? _b2 : "")) { - alert("When the page size is Custom, the Width/Height cannot be empty."); - return; - } - } - if (this.multiplePdf) { - const outputPath = await getOutputPath(title); - console.log("output:", outputPath); - if (outputPath) { - await Promise.all( - this.webviews.map(async (wb, i) => { - await exportToPDF( - `${outputPath}/${this.docs[i].file.basename}.pdf`, - { ...this.plugin.settings, ...this.config }, - wb, - this.docs[i] - ); - }) - ); - this.close(); - } - } else { - const outputFile = await getOutputFile(title, this.plugin.settings.isTimestamp); - if (outputFile) { - await exportToPDF(outputFile, { ...this.plugin.settings, ...this.config }, this.webviews[0], this.docs[0]); - this.close(); - } - } - }; - new import_obsidian3.Setting(contentEl).setHeading().addButton((button) => { - button.setButtonText("Export").onClick(handleExport); - button.setCta(); - fullWidthButton(button); - }); - new import_obsidian3.Setting(contentEl).setHeading().addButton((button) => { - button.setButtonText("Refresh").onClick(async () => { - await this.appendWebviews(this.previewDiv); - }); - fullWidthButton(button); - }); - const debugEl = new import_obsidian3.Setting(contentEl).setHeading().addButton((button) => { - button.setButtonText("Debug").onClick(async () => { - var _a2; - (_a2 = this.preview) == null ? void 0 : _a2.openDevTools(); - }); - fullWidthButton(button); - }); - debugEl.settingEl.hidden = !this.plugin.settings.debug; - } - generateForm(contentEl) { - new import_obsidian3.Setting(contentEl).setName(this.i18n.exportDialog.filenameAsTitle).addToggle( - (toggle) => toggle.setTooltip("Include file name as title").setValue(this.config["showTitle"]).onChange(async (value) => { - this.config["showTitle"] = value; - this.webviews.forEach((wv, i) => { - var _a, _b; - wv.executeJavaScript(` - var _title = document.querySelector("h1.__title__"); - if (_title) { - _title.style.display = "${value ? "block" : "none"}"; - } - `); - const _title = (_b = (_a = this.docs[i]) == null ? void 0 : _a.doc) == null ? void 0 : _b.querySelector("h1.__title__"); - if (_title) { - _title.style.display = value ? "block" : "none"; - } - }); - }) - ); - const pageSizes = [ - "A0", - "A1", - "A2", - "A3", - "A4", - "A5", - "A6", - "Legal", - "Letter", - "Tabloid", - "Ledger", - "Custom" - ]; - new import_obsidian3.Setting(contentEl).setName(this.i18n.exportDialog.pageSize).addDropdown((dropdown) => { - dropdown.addOptions(Object.fromEntries(pageSizes.map((size) => [size, size]))).setValue(this.config.pageSize).onChange(async (value) => { - this.config["pageSize"] = value; - if (value == "Custom") { - sizeEl.settingEl.hidden = false; - } else { - sizeEl.settingEl.hidden = true; - } - this.togglePrintSize(); - this.calcPageSize(); - await this.calcWebviewSize(); - }); - }); - const sizeEl = new import_obsidian3.Setting(contentEl).setName("Width/Height").addText((text) => { - setInputWidth(text.inputEl); - text.setPlaceholder("width").setValue(this.config["pageWidth"]).onChange( - (0, import_obsidian3.debounce)( - async (value) => { - this.config["pageWidth"] = value; - this.calcPageSize(); - await this.calcWebviewSize(); - }, - 500, - true - ) - ); - }).addText((text) => { - setInputWidth(text.inputEl); - text.setPlaceholder("height").setValue(this.config["pageHeight"]).onChange((value) => { - this.config["pageHeight"] = value; - }); - }); - sizeEl.settingEl.hidden = this.config["pageSize"] !== "Custom"; - new import_obsidian3.Setting(contentEl).setName(this.i18n.exportDialog.margin).setDesc("The unit is millimeters.").addDropdown((dropdown) => { - dropdown.addOption("0", "None").addOption("1", "Default").addOption("2", "Small").addOption("3", "Custom").setValue(this.config["marginType"]).onChange(async (value) => { - this.config["marginType"] = value; - if (value == "3") { - topEl.settingEl.hidden = false; - btmEl.settingEl.hidden = false; - } else { - topEl.settingEl.hidden = true; - btmEl.settingEl.hidden = true; - } - }); - }); - const topEl = new import_obsidian3.Setting(contentEl).setName("Top/Bottom").addText((text) => { - setInputWidth(text.inputEl); - text.setPlaceholder("margin top").setValue(this.config["marginTop"]).onChange((value) => { - this.config["marginTop"] = value; - }); - }).addText((text) => { - setInputWidth(text.inputEl); - text.setPlaceholder("margin bottom").setValue(this.config["marginBottom"]).onChange((value) => { - this.config["marginBottom"] = value; - }); - }); - topEl.settingEl.hidden = this.config["marginType"] != "3"; - const btmEl = new import_obsidian3.Setting(contentEl).setName("Left/Right").addText((text) => { - setInputWidth(text.inputEl); - text.setPlaceholder("margin left").setValue(this.config["marginLeft"]).onChange((value) => { - this.config["marginLeft"] = value; - }); - }).addText((text) => { - setInputWidth(text.inputEl); - text.setPlaceholder("margin right").setValue(this.config["marginRight"]).onChange((value) => { - this.config["marginRight"] = value; - }); - }); - btmEl.settingEl.hidden = this.config["marginType"] != "3"; - new import_obsidian3.Setting(contentEl).setName(this.i18n.exportDialog.downscalePercent).addSlider((slider) => { - slider.setLimits(0, 100, 1).setValue(this.config["scale"]).onChange(async (value) => { - this.config["scale"] = value; - slider.showTooltip(); - }); - }); - new import_obsidian3.Setting(contentEl).setName(this.i18n.exportDialog.landscape).addToggle( - (toggle) => toggle.setTooltip("landscape").setValue(this.config["landscape"]).onChange(async (value) => { - this.config["landscape"] = value; - }) - ); - new import_obsidian3.Setting(contentEl).setName(this.i18n.exportDialog.displayHeader).addToggle( - (toggle) => toggle.setTooltip("Display header").setValue(this.config["displayHeader"]).onChange(async (value) => { - this.config["displayHeader"] = value; - }) - ); - new import_obsidian3.Setting(contentEl).setName(this.i18n.exportDialog.displayFooter).addToggle( - (toggle) => toggle.setTooltip("Display footer").setValue(this.config["displayFooter"]).onChange(async (value) => { - this.config["displayFooter"] = value; - }) - ); - new import_obsidian3.Setting(contentEl).setName(this.i18n.exportDialog.openAfterExport).addToggle( - (toggle) => toggle.setTooltip("Open the exported file after exporting.").setValue(this.config["open"]).onChange(async (value) => { - this.config["open"] = value; - }) - ); - const snippets = this.cssSnippets(); - if (Object.keys(snippets).length > 0 && this.plugin.settings.enabledCss) { - new import_obsidian3.Setting(contentEl).setName(this.i18n.exportDialog.cssSnippets).addDropdown((dropdown) => { - dropdown.addOption("0", "Not select").addOptions(snippets).setValue(this.config["cssSnippet"]).onChange(async (value) => { - this.config["cssSnippet"] = value; - await this.appendWebviews(this.previewDiv, false); - }); - }); - } - } - onClose() { - const { contentEl } = this; - contentEl.empty(); - } - cssSnippets() { - var _a, _b; - const { snippets, enabledSnippets } = (_b = (_a = this.app) == null ? void 0 : _a.customCss) != null ? _b : {}; - const basePath = this.app.vault.adapter.basePath; - return Object.fromEntries( - snippets == null ? void 0 : snippets.filter((item) => !enabledSnippets.has(item)).map((name) => { - const file = import_path.default.join(basePath, ".obsidian/snippets", name + ".css"); - return [file, name]; - }) - ); - } -}; - -// src/setting.ts -var import_obsidian4 = require("obsidian"); -function setAttributes(element, attributes) { - for (const key in attributes) { - element.setAttribute(key, attributes[key]); - } -} -var renderBuyMeACoffeeBadge = (contentEl, width = 175) => { - const linkEl = contentEl.createEl("a", { - href: "https://www.buymeacoffee.com/l1xnan" - }); - const imgEl = linkEl.createEl("img"); - imgEl.src = "https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=&slug=nathangeorge&button_colour=6a8696&font_colour=ffffff&font_family=Poppins&outline_colour=000000&coffee_colour=FFDD00"; - imgEl.alt = "Buy me a coffee"; - imgEl.width = width; -}; -var ConfigSettingTab = class extends import_obsidian4.PluginSettingTab { - constructor(app, plugin) { - super(app, plugin); - this.plugin = plugin; - this.i18n = i18n_default.current; - } - display() { - const { containerEl } = this; - containerEl.empty(); - const supportDesc = new DocumentFragment(); - supportDesc.createDiv({ - text: "Support the continued development of this plugin." - }); - new import_obsidian4.Setting(containerEl).setDesc(supportDesc); - renderBuyMeACoffeeBadge(containerEl); - new import_obsidian4.Setting(containerEl).setName(this.i18n.settings.showTitle).addToggle( - (toggle) => toggle.setTooltip(this.i18n.settings.showTitle).setValue(this.plugin.settings.showTitle).onChange(async (value) => { - this.plugin.settings.showTitle = value; - this.plugin.saveSettings(); - }) - ); - new import_obsidian4.Setting(containerEl).setName(this.i18n.settings.displayHeader).addToggle( - (toggle) => toggle.setTooltip("Display header").setValue(this.plugin.settings.displayHeader).onChange(async (value) => { - this.plugin.settings.displayHeader = value; - this.plugin.saveSettings(); - }) - ); - new import_obsidian4.Setting(containerEl).setName(this.i18n.settings.displayFooter).addToggle( - (toggle) => toggle.setTooltip("Display footer").setValue(this.plugin.settings.displayFooter).onChange(async (value) => { - this.plugin.settings.displayFooter = value; - this.plugin.saveSettings(); - }) - ); - new import_obsidian4.Setting(containerEl).setName(this.i18n.settings.printBackground).setDesc("Whether to print background graphics").addToggle( - (toggle) => toggle.setValue(this.plugin.settings.printBackground).onChange(async (value) => { - this.plugin.settings.printBackground = value; - this.plugin.saveSettings(); - }) - ); - new import_obsidian4.Setting(containerEl).setName("Generate tagged PDF").setDesc( - "Whether or not to generate a tagged (accessible) PDF. Defaults to false. As this property is experimental, the generated PDF may not adhere fully to PDF/UA and WCAG standards." - ).addToggle( - (toggle) => toggle.setValue(this.plugin.settings.generateTaggedPDF).onChange(async (value) => { - this.plugin.settings.generateTaggedPDF = value; - this.plugin.saveSettings(); - }) - ); - new import_obsidian4.Setting(containerEl).setName(this.i18n.settings.maxLevel).addDropdown((dropdown) => { - dropdown.addOptions(Object.fromEntries(["1", "2", "3", "4", "5", "6"].map((level) => [level, `h${level}`]))).setValue(this.plugin.settings.maxLevel).onChange(async (value) => { - this.plugin.settings.maxLevel = value; - this.plugin.saveSettings(); - }); - }); - new import_obsidian4.Setting(containerEl).setName(this.i18n.settings.displayMetadata).setDesc("Add frontMatter(title, author, keywords, subject creator, etc) to pdf metadata").addToggle( - (toggle) => toggle.setValue(this.plugin.settings.displayMetadata).onChange(async (value) => { - this.plugin.settings.displayMetadata = value; - this.plugin.saveSettings(); - }) - ); - new import_obsidian4.Setting(containerEl).setName("Advanced").setHeading(); - const headerContentAreaSetting = new import_obsidian4.Setting(containerEl); - headerContentAreaSetting.settingEl.setAttribute("style", "display: grid; grid-template-columns: 1fr;"); - headerContentAreaSetting.setName(this.i18n.settings.headerTemplate).setDesc( - 'HTML template for the print header. Should be valid HTML markup with following classes used to inject printing values into them: date (formatted print date), title (document title), url (document location), pageNumber (current page number) and totalPages (total pages in the document). For example, would generate span containing the title.' - ); - const hederContentArea = new import_obsidian4.TextAreaComponent(headerContentAreaSetting.controlEl); - setAttributes(hederContentArea.inputEl, { - style: "margin-top: 12px; width: 100%; height: 6vh;" - }); - hederContentArea.setValue(this.plugin.settings.headerTemplate).onChange(async (value) => { - this.plugin.settings.headerTemplate = value; - this.plugin.saveSettings(); - }); - const footerContentAreaSetting = new import_obsidian4.Setting(containerEl); - footerContentAreaSetting.settingEl.setAttribute("style", "display: grid; grid-template-columns: 1fr;"); - footerContentAreaSetting.setName(this.i18n.settings.footerTemplate).setDesc("HTML template for the print footer. Should use the same format as the headerTemplate."); - const footerContentArea = new import_obsidian4.TextAreaComponent(footerContentAreaSetting.controlEl); - setAttributes(footerContentArea.inputEl, { - style: "margin-top: 12px; width: 100%; height: 6vh;" - }); - footerContentArea.setValue(this.plugin.settings.footerTemplate).onChange(async (value) => { - this.plugin.settings.footerTemplate = value; - this.plugin.saveSettings(); - }); - new import_obsidian4.Setting(containerEl).setName(this.i18n.settings.isTimestamp).setDesc("Add timestamp to output file name").addToggle((cb) => { - cb.setValue(this.plugin.settings.isTimestamp).onChange(async (value) => { - this.plugin.settings.isTimestamp = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian4.Setting(containerEl).setName(this.i18n.settings.enabledCss).setDesc("Select the css snippet that are not enabled").addToggle((cb) => { - cb.setValue(this.plugin.settings.enabledCss).onChange(async (value) => { - this.plugin.settings.enabledCss = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian4.Setting(containerEl).setName("Debug").setHeading(); - new import_obsidian4.Setting(containerEl).setName(this.i18n.settings.debugMode).setDesc("This is useful for troubleshooting.").addToggle((cb) => { - cb.setValue(this.plugin.settings.debug).onChange(async (value) => { - this.plugin.settings.debug = value; - await this.plugin.saveSettings(); - }); - }); - } -}; - -// src/main.ts -var fs3 = __toESM(require("fs/promises")); -var import_path2 = __toESM(require("path")); -var isDev = false; -var DEFAULT_SETTINGS = { - showTitle: true, - maxLevel: "6", - displayHeader: true, - displayFooter: true, - headerTemplate: `
`, - footerTemplate: `
/
`, - printBackground: false, - generateTaggedPDF: false, - displayMetadata: false, - debug: false, - isTimestamp: false, - enabledCss: false -}; -var BetterExportPdfPlugin = class extends import_obsidian5.Plugin { - constructor(app, manifest) { - super(app, manifest); - this.i18n = i18n_default.current; - } - async onload() { - await this.loadSettings(); - this.registerCommand(); - this.registerSetting(); - this.registerEvents(); - } - registerCommand() { - this.addCommand({ - id: "export-current-file-to-pdf", - name: this.i18n.exportCurrentFile, - checkCallback: (checking) => { - const view = this.app.workspace.getActiveViewOfType(import_obsidian5.MarkdownView); - const file = view == null ? void 0 : view.file; - if (!file) { - return false; - } - if (checking) { - return true; - } - new ExportConfigModal(this, file).open(); - return true; - } - }); - } - registerSetting() { - this.addSettingTab(new ConfigSettingTab(this.app, this)); - } - registerEvents() { - this.registerEvent( - this.app.workspace.on("file-menu", (menu, file) => { - let title = file instanceof import_obsidian5.TFolder ? "Export folder to PDF" : "Better Export PDF"; - if (isDev) { - title = `${title} (dev)`; - } - menu.addItem((item) => { - item.setTitle(title).setIcon("download").setSection("action").onClick(async () => { - new ExportConfigModal(this, file).open(); - }); - }); - }) - ); - this.registerEvent( - this.app.workspace.on("file-menu", (menu, file) => { - if (file instanceof import_obsidian5.TFolder) { - let title = "Export to PDF..."; - if (isDev) { - title = `${title} (dev)`; - } - menu.addItem((item) => { - item.setTitle(title).setIcon("lucide-folder-down").setSection("action"); - const subMenu = item.setSubmenu(); - subMenu.addItem( - (item2) => item2.setTitle("Export each file to PDF").setIcon("lucide-file-stack").onClick(async () => { - new ExportConfigModal(this, file, true).open(); - }) - ); - subMenu.addItem( - (item2) => item2.setTitle("Generate TOC.md file").setIcon("lucide-file-text").onClick(async () => { - await this.generateToc(file); - }) - ); - }); - } - }) - ); - } - async generateToc(root) { - const basePath = this.app.vault.adapter.basePath; - const toc = import_path2.default.join(basePath, root.path, "_TOC_.md"); - const content = `--- -toc: true -title: ${root.name} ---- -`; - await fs3.writeFile(toc, content); - if (root instanceof import_obsidian5.TFolder) { - const files = traverseFolder(root); - for (const file of files) { - if (file.name == "_TOC_.md") { - continue; - } - await fs3.appendFile(toc, `[[${file.path}]] -`); - } - } - } - onunload() { - } - async loadSettings() { - this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); - } - async saveSettings() { - await this.saveData(this.settings); - } - changeConfig() { - var _a; - const theme = "obsidian" === ((_a = this.app.vault) == null ? void 0 : _a.getConfig("theme")); - if (theme) { - document.body.addClass("theme-light"); - document.body.removeClass("theme-dark"); - } - document.body.removeClass("theme-dark"); - const node = document.body.createDiv("print"); - const reset = function() { - node.detach(); - if (theme) { - document.body.removeClass("theme-light"); - document.body.addClass("theme-dark"); - } - }; - node.addEventListener("click", reset); - const el = document.body.createDiv("print"); - const el2 = el.createDiv("markdown-preview-view markdown-rendered"); - el2.toggleClass("rtl", this.app.vault.getConfig("rightToLeft")); - el2.toggleClass("show-frontmatter", this.app.vault.getConfig("showFrontmatter")); - el2.createEl("h1", { - text: "xxxxx" - // a.basename - }); - } -}; -/*! Bundled license information: - -tslib/tslib.es6.js: - (*! ***************************************************************************** - Copyright (c) Microsoft Corporation. - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR - OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. - ***************************************************************************** *) -*/ - -/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/better-export-pdf/manifest.json b/.obsidian/plugins/better-export-pdf/manifest.json deleted file mode 100644 index 13e08e0b..00000000 --- a/.obsidian/plugins/better-export-pdf/manifest.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "id": "better-export-pdf", - "name": "Better Export PDF", - "version": "1.10.2", - "minAppVersion": "0.15.0", - "description": "Export your notes to PDF, support export preview, add bookmarks outline and header/footer.", - "author": "l1xnan", - "authorUrl": "https://github.com/l1xnan", - "fundingUrl": "https://www.buymeacoffee.com/l1xnan", - "isDesktopOnly": true -} diff --git a/.obsidian/plugins/better-export-pdf/styles.css b/.obsidian/plugins/better-export-pdf/styles.css deleted file mode 100644 index 6c7d758b..00000000 --- a/.obsidian/plugins/better-export-pdf/styles.css +++ /dev/null @@ -1,61 +0,0 @@ -#better-export-pdf { - display: flex; - flex-direction: row; - height: 75vh; -} - -#better-export-pdf .pdf-preview { - flex: auto; - position: relative; - display: flex; - flex-direction: column; - overflow-x: hidden; - overflow-y: scroll; - align-content: flex-start; -} - -#better-export-pdf .pdf-preview .webview-wrapper { - position: relative; - height: 100%; - width: 100%; -} - -#better-export-pdf .pdf-preview .print-size { - position: absolute; - right: 8px; - top: 8px; - z-index: 99; - font-size: 0.6rem; - white-space: pre-wrap; - text-align: right; - visibility: hidden; -} - -#better-export-pdf .pdf-preview > div { - flex: 1; - height: 100%; - width: 100%; -} - -#better-export-pdf .pdf-preview .filename { - font-size: 0.75rem; - color: var(--color-base-60); -} -#better-export-pdf .pdf-preview .filename:not(:first-child) { - padding-top: calc(var(--p-spacing)); -} - -#better-export-pdf webview { - flex: 1; - height: 100%; - width: 100%; -} - -#better-export-pdf .setting-wrapper { - width: 320px; - margin-left: 16px; -} - -#better-export-pdf .setting-wrapper .setting-item[hidden] { - display: none; -} diff --git a/.obsidian/plugins/consistent-attachments-and-links/data.json b/.obsidian/plugins/consistent-attachments-and-links/data.json deleted file mode 100644 index ad94877a..00000000 --- a/.obsidian/plugins/consistent-attachments-and-links/data.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "autoCollectAttachments": false, - "changeNoteBacklinksAlt": false, - "consistencyReportFile": "consistency-report.md", - "deleteAttachmentsWithNote": true, - "deleteEmptyFolders": true, - "deleteExistFilesWhenMoveNote": true, - "moveAttachmentsWithNote": true, - "showBackupWarning": false, - "updateLinks": true, - "excludePaths": [ - ".git/", - ".obsidian/" - ], - "includePaths": [] -} \ No newline at end of file diff --git a/.obsidian/plugins/consistent-attachments-and-links/main.js b/.obsidian/plugins/consistent-attachments-and-links/main.js deleted file mode 100644 index 0ecdc5a5..00000000 --- a/.obsidian/plugins/consistent-attachments-and-links/main.js +++ /dev/null @@ -1,151 +0,0 @@ -/* -THIS IS A GENERATED/BUNDLED FILE BY ESBUILD -if you want to view the source, please visit the github repository of this plugin -*/ - -(function initCjs() { - const globalThisRecord = globalThis; - globalThisRecord["__name"] ??= name; - const originalRequire = require; - if (originalRequire && !originalRequire.__isPatched) { - require = Object.assign( - (id) => requirePatched(id), - originalRequire, - { - __isPatched: true - } - ); - } - const newFuncs = { - __extractDefault: () => extractDefault, - process: () => { - const browserProcess = { - browser: true, - cwd: () => "/", - env: {}, - platform: "android" - }; - return browserProcess; - } - }; - for (const key of Object.keys(newFuncs)) { - globalThisRecord[key] ??= newFuncs[key]?.(); - } - function name(obj) { - return obj; - } - function extractDefault(module2) { - return module2 && module2.__esModule && module2.default ? module2.default : module2; - } - function requirePatched(id) { - const module2 = originalRequire?.(id); - if (module2) { - return extractDefault(module2); - } - if (id === "process" || id === "node:process") { - console.error(`Module not found: ${id}. Fake process object is returned instead.`); - return globalThis.process; - } - console.error(`Module not found: ${id}. Empty object is returned instead.`); - return {}; - } -})(); - -"use strict";var pp=Object.create;var ri=Object.defineProperty;var gp=Object.getOwnPropertyDescriptor;var wp=Object.getOwnPropertyNames;var kp=Object.getPrototypeOf,yp=Object.prototype.hasOwnProperty;var Xe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),bl=(e,t)=>{for(var n in t)ri(e,n,{get:t[n],enumerable:!0})},vl=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of wp(t))!yp.call(e,o)&&o!==n&&ri(e,o,{get:()=>t[o],enumerable:!(i=gp(t,o))||i.enumerable});return e};var je=(e,t,n)=>(n=e!=null?pp(kp(e)):{},vl(t||!e||!e.__esModule?ri(n,"default",{value:e,enumerable:!0}):n,e)),xp=e=>vl(ri({},"__esModule",{value:!0}),e);var Al=Xe((cy,Tl)=>{"use strict";function kt(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function El(e,t){for(var n="",i=0,o=-1,s=0,l,u=0;u<=e.length;++u){if(u2){var f=n.lastIndexOf("/");if(f!==n.length-1){f===-1?(n="",i=0):(n=n.slice(0,f),i=n.length-1-n.lastIndexOf("/")),o=u,s=0;continue}}else if(n.length===2||n.length===1){n="",i=0,o=u,s=0;continue}}t&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+e.slice(o+1,u):n=e.slice(o+1,u),i=u-o-1;o=u,s=0}else l===46&&s!==-1?++s:s=-1}return n}function Sp(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+e+i:i}var Mn={resolve:function(){for(var t="",n=!1,i,o=arguments.length-1;o>=-1&&!n;o--){var s;o>=0?s=arguments[o]:(i===void 0&&(i=process.cwd()),s=i),kt(s),s.length!==0&&(t=s+"/"+t,n=s.charCodeAt(0)===47)}return t=El(t,!n),n?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(t){if(kt(t),t.length===0)return".";var n=t.charCodeAt(0)===47,i=t.charCodeAt(t.length-1)===47;return t=El(t,!n),t.length===0&&!n&&(t="."),t.length>0&&i&&(t+="/"),n?"/"+t:t},isAbsolute:function(t){return kt(t),t.length>0&&t.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var t,n=0;n0&&(t===void 0?t=i:t+="/"+i)}return t===void 0?".":Mn.normalize(t)},relative:function(t,n){if(kt(t),kt(n),t===n||(t=Mn.resolve(t),n=Mn.resolve(n),t===n))return"";for(var i=1;im){if(n.charCodeAt(l+p)===47)return n.slice(l+p+1);if(p===0)return n.slice(l+p)}else s>m&&(t.charCodeAt(i+p)===47?h=p:p===0&&(h=0));break}var w=t.charCodeAt(i+p),k=n.charCodeAt(l+p);if(w!==k)break;w===47&&(h=p)}var v="";for(p=i+h+1;p<=o;++p)(p===o||t.charCodeAt(p)===47)&&(v.length===0?v+="..":v+="/..");return v.length>0?v+n.slice(l+h):(l+=h,n.charCodeAt(l)===47&&++l,n.slice(l))},_makeLong:function(t){return t},dirname:function(t){if(kt(t),t.length===0)return".";for(var n=t.charCodeAt(0),i=n===47,o=-1,s=!0,l=t.length-1;l>=1;--l)if(n=t.charCodeAt(l),n===47){if(!s){o=l;break}}else s=!1;return o===-1?i?"/":".":i&&o===1?"//":t.slice(0,o)},basename:function(t,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');kt(t);var i=0,o=-1,s=!0,l;if(n!==void 0&&n.length>0&&n.length<=t.length){if(n.length===t.length&&n===t)return"";var u=n.length-1,f=-1;for(l=t.length-1;l>=0;--l){var m=t.charCodeAt(l);if(m===47){if(!s){i=l+1;break}}else f===-1&&(s=!1,f=l+1),u>=0&&(m===n.charCodeAt(u)?--u===-1&&(o=l):(u=-1,o=f))}return i===o?o=f:o===-1&&(o=t.length),t.slice(i,o)}else{for(l=t.length-1;l>=0;--l)if(t.charCodeAt(l)===47){if(!s){i=l+1;break}}else o===-1&&(s=!1,o=l+1);return o===-1?"":t.slice(i,o)}},extname:function(t){kt(t);for(var n=-1,i=0,o=-1,s=!0,l=0,u=t.length-1;u>=0;--u){var f=t.charCodeAt(u);if(f===47){if(!s){i=u+1;break}continue}o===-1&&(s=!1,o=u+1),f===46?n===-1?n=u:l!==1&&(l=1):n!==-1&&(l=-1)}return n===-1||o===-1||l===0||l===1&&n===o-1&&n===i+1?"":t.slice(n,o)},format:function(t){if(t===null||typeof t!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return Sp("/",t)},parse:function(t){kt(t);var n={root:"",dir:"",base:"",ext:"",name:""};if(t.length===0)return n;var i=t.charCodeAt(0),o=i===47,s;o?(n.root="/",s=1):s=0;for(var l=-1,u=0,f=-1,m=!0,h=t.length-1,p=0;h>=s;--h){if(i=t.charCodeAt(h),i===47){if(!m){u=h+1;break}continue}f===-1&&(m=!1,f=h+1),i===46?l===-1?l=h:p!==1&&(p=1):l!==-1&&(p=-1)}return l===-1||f===-1||p===0||p===1&&l===f-1&&l===u+1?f!==-1&&(u===0&&o?n.base=n.name=t.slice(1,f):n.base=n.name=t.slice(u,f)):(u===0&&o?(n.name=t.slice(1,l),n.base=t.slice(1,f)):(n.name=t.slice(u,l),n.base=t.slice(u,f)),n.ext=t.slice(l,f)),u>0?n.dir=t.slice(0,u-1):o&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};Mn.posix=Mn;Tl.exports=Mn});var Pl=Xe((fy,os)=>{"use strict";var _p=Object.prototype.hasOwnProperty,De="~";function dr(){}Object.create&&(dr.prototype=Object.create(null),new dr().__proto__||(De=!1));function Ep(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function Fl(e,t,n,i,o){if(typeof n!="function")throw new TypeError("The listener must be a function");var s=new Ep(n,i||e,o),l=De?De+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],s]:e._events[l].push(s):(e._events[l]=s,e._eventsCount++),e}function oi(e,t){--e._eventsCount===0?e._events=new dr:delete e._events[t]}function Ae(){this._events=new dr,this._eventsCount=0}Ae.prototype.eventNames=function(){var t=[],n,i;if(this._eventsCount===0)return t;for(i in n=this._events)_p.call(n,i)&&t.push(De?i.slice(1):i);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(n)):t};Ae.prototype.listeners=function(t){var n=De?De+t:t,i=this._events[n];if(!i)return[];if(i.fn)return[i.fn];for(var o=0,s=i.length,l=new Array(s);o{var On=1e3,Dn=On*60,Rn=Dn*60,fn=Rn*24,Dp=fn*7,Rp=fn*365.25;$l.exports=function(e,t){t=t||{};var n=typeof e;if(n==="string"&&e.length>0)return Np(e);if(n==="number"&&isFinite(e))return t.long?Wp(e):Yp(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function Np(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var n=parseFloat(t[1]),i=(t[2]||"ms").toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return n*Rp;case"weeks":case"week":case"w":return n*Dp;case"days":case"day":case"d":return n*fn;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Rn;case"minutes":case"minute":case"mins":case"min":case"m":return n*Dn;case"seconds":case"second":case"secs":case"sec":case"s":return n*On;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function Yp(e){var t=Math.abs(e);return t>=fn?Math.round(e/fn)+"d":t>=Rn?Math.round(e/Rn)+"h":t>=Dn?Math.round(e/Dn)+"m":t>=On?Math.round(e/On)+"s":e+"ms"}function Wp(e){var t=Math.abs(e);return t>=fn?ci(e,t,fn,"day"):t>=Rn?ci(e,t,Rn,"hour"):t>=Dn?ci(e,t,Dn,"minute"):t>=On?ci(e,t,On,"second"):e+" ms"}function ci(e,t,n,i){var o=t>=n*1.5;return Math.round(e/n)+" "+i+(o?"s":"")}});var cs=Xe((Oy,Gl)=>{function zp(e){n.debug=n,n.default=n,n.coerce=f,n.disable=l,n.enable=o,n.enabled=u,n.humanize=jl(),n.destroy=m,Object.keys(e).forEach(h=>{n[h]=e[h]}),n.names=[],n.skips=[],n.formatters={};function t(h){let p=0;for(let w=0;w{if(_==="%%")return"%";Y++;let j=n.formatters[J];if(typeof j=="function"){let G=T[Y];_=j.call(C,G),T.splice(Y,1),Y--}return _}),n.formatArgs.call(C,T),(C.log||n.log).apply(C,T)}return F.namespace=h,F.useColors=n.useColors(),F.color=n.selectColor(h),F.extend=i,F.destroy=n.destroy,Object.defineProperty(F,"enabled",{enumerable:!0,configurable:!1,get:()=>w!==null?w:(k!==n.namespaces&&(k=n.namespaces,v=n.enabled(h)),v),set:T=>{w=T}}),typeof n.init=="function"&&n.init(F),F}function i(h,p){let w=n(this.namespace+(typeof p>"u"?":":p)+h);return w.log=this.log,w}function o(h){n.save(h),n.namespaces=h,n.names=[],n.skips=[];let p=(typeof h=="string"?h:"").trim().replace(" ",",").split(",").filter(Boolean);for(let w of p)w[0]==="-"?n.skips.push(w.slice(1)):n.names.push(w)}function s(h,p){let w=0,k=0,v=-1,F=0;for(;w"-"+p)].join(",");return n.enable(""),h}function u(h){for(let p of n.skips)if(s(h,p))return!1;for(let p of n.names)if(s(h,p))return!0;return!1}function f(h){return h instanceof Error?h.stack||h.message:h}function m(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}Gl.exports=zp});var ql=Xe((Ge,fi)=>{Ge.formatArgs=Hp;Ge.save=Up;Ge.load=Vp;Ge.useColors=Bp;Ge.storage=$p();Ge.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Ge.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Bp(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Hp(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+fi.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(n++,o==="%c"&&(i=n))}),e.splice(i,0,t)}Ge.log=console.debug||console.log||(()=>{});function Up(e){try{e?Ge.storage.setItem("debug",e):Ge.storage.removeItem("debug")}catch{}}function Vp(){let e;try{e=Ge.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function $p(){try{return localStorage}catch{}}fi.exports=cs()(Ge);var{formatters:jp}=fi.exports;jp.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Ql=Xe((Dy,Zl)=>{"use strict";Zl.exports=(e,t=process.argv)=>{let n=e.startsWith("-")?"":e.length===1?"-":"--",i=t.indexOf(n+e),o=t.indexOf("--");return i!==-1&&(o===-1||i{"use strict";var Gp=require("os"),Jl=require("tty"),nt=Ql(),{env:xe}=process,$t;nt("no-color")||nt("no-colors")||nt("color=false")||nt("color=never")?$t=0:(nt("color")||nt("colors")||nt("color=true")||nt("color=always"))&&($t=1);"FORCE_COLOR"in xe&&(xe.FORCE_COLOR==="true"?$t=1:xe.FORCE_COLOR==="false"?$t=0:$t=xe.FORCE_COLOR.length===0?1:Math.min(parseInt(xe.FORCE_COLOR,10),3));function fs(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function ds(e,t){if($t===0)return 0;if(nt("color=16m")||nt("color=full")||nt("color=truecolor"))return 3;if(nt("color=256"))return 2;if(e&&!t&&$t===void 0)return 0;let n=$t||0;if(xe.TERM==="dumb")return n;if(process.platform==="win32"){let i=Gp.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in xe)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(i=>i in xe)||xe.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in xe)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(xe.TEAMCITY_VERSION)?1:0;if(xe.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in xe){let i=parseInt((xe.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(xe.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(xe.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(xe.TERM)||"COLORTERM"in xe?1:n}function qp(e){let t=ds(e,e&&e.isTTY);return fs(t)}Kl.exports={supportsColor:qp,stdout:fs(ds(!0,Jl.isatty(1))),stderr:fs(ds(!0,Jl.isatty(2)))}});var tu=Xe((be,hi)=>{var Zp=require("tty"),di=require("util");be.init=ng;be.log=Xp;be.formatArgs=Jp;be.save=eg;be.load=tg;be.useColors=Qp;be.destroy=di.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");be.colors=[6,2,3,4,5,1];try{let e=Xl();e&&(e.stderr||e).level>=2&&(be.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}be.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let n=t.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),i=process.env[t];return/^(yes|on|true|enabled)$/i.test(i)?i=!0:/^(no|off|false|disabled)$/i.test(i)?i=!1:i==="null"?i=null:i=Number(i),e[n]=i,e},{});function Qp(){return"colors"in be.inspectOpts?!!be.inspectOpts.colors:Zp.isatty(process.stderr.fd)}function Jp(e){let{namespace:t,useColors:n}=this;if(n){let i=this.color,o="\x1B[3"+(i<8?i:"8;5;"+i),s=` ${o};1m${t} \x1B[0m`;e[0]=s+e[0].split(` -`).join(` -`+s),e.push(o+"m+"+hi.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=Kp()+t+" "+e[0]}function Kp(){return be.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Xp(...e){return process.stderr.write(di.formatWithOptions(be.inspectOpts,...e)+` -`)}function eg(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function tg(){return process.env.DEBUG}function ng(e){e.inspectOpts={};let t=Object.keys(be.inspectOpts);for(let n=0;nt.trim()).join(" ")};eu.O=function(e){return this.inspectOpts.colors=this.useColors,di.inspect(e,this.inspectOpts)}});var nu=Xe((Ny,hs)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?hs.exports=ql():hs.exports=tu()});var gu=Xe((xi,pu)=>{(function(e,t){typeof xi=="object"&&typeof pu<"u"?t(xi):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis<"u"?globalThis:e||self,t(e.compareVersions={}))})(xi,function(e){"use strict";let t=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,n=T=>{if(typeof T!="string")throw new TypeError("Invalid argument expected string");let C=T.match(t);if(!C)throw new Error(`Invalid argument not valid semver ('${T}' received)`);return C.shift(),C},i=T=>T==="*"||T==="x"||T==="X",o=T=>{let C=parseInt(T,10);return isNaN(C)?T:C},s=(T,C)=>typeof T!=typeof C?[String(T),String(C)]:[T,C],l=(T,C)=>{if(i(T)||i(C))return 0;let[A,P]=s(o(T),o(C));return A>P?1:A{for(let A=0;A{let A=n(T),P=n(C),Y=A.pop(),B=P.pop(),_=u(A,P);return _!==0?_:Y&&B?u(Y.split("."),B.split(".")):Y||B?Y?-1:1:0},m=(T,C,A)=>{w(A);let P=f(T,C);return h[A].includes(P)},h={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},p=Object.keys(h),w=T=>{if(typeof T!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof T}`);if(p.indexOf(T)===-1)throw new Error(`Invalid operator, expected one of ${p.join("|")}`)},k=(T,C)=>{if(C=C.replace(/([><=]+)\s+/g,"$1"),C.includes("||"))return C.split("||").some(ee=>k(T,ee));if(C.includes(" - ")){let[ee,ue]=C.split(" - ",2);return k(T,`>=${ee} <=${ue}`)}else if(C.includes(" "))return C.trim().replace(/\s{2,}/g," ").split(" ").every(ee=>k(T,ee));let A=C.match(/^([<>=~^]+)/),P=A?A[1]:"=";if(P!=="^"&&P!=="~")return m(T,C,P);let[Y,B,_,,J]=n(T),[j,G,ne,,oe]=n(C),X=[Y,B,_],N=[j,G??"x",ne??"x"];if(oe&&(!J||u(X,N)!==0||u(J.split("."),oe.split("."))===-1))return!1;let H=N.findIndex(ee=>ee!=="0")+1,W=P==="~"?2:H>1?H:1;return!(u(X.slice(0,W),N.slice(0,W))!==0||u(X.slice(W),N.slice(W))===-1)},v=T=>typeof T=="string"&&/^[v\d]/.test(T)&&t.test(T),F=T=>typeof T=="string"&&/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/.test(T);e.compare=m,e.compareVersions=f,e.satisfies=k,e.validate=v,e.validateStrict=F})});var jc=Xe((L1,$c)=>{"use strict";var $i=Object.prototype.hasOwnProperty,Vc=Object.prototype.toString,Yc=Object.defineProperty,Wc=Object.getOwnPropertyDescriptor,zc=function(t){return typeof Array.isArray=="function"?Array.isArray(t):Vc.call(t)==="[object Array]"},Bc=function(t){if(!t||Vc.call(t)!=="[object Object]")return!1;var n=$i.call(t,"constructor"),i=t.constructor&&t.constructor.prototype&&$i.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!i)return!1;var o;for(o in t);return typeof o>"u"||$i.call(t,o)},Hc=function(t,n){Yc&&n.name==="__proto__"?Yc(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},Uc=function(t,n){if(n==="__proto__")if($i.call(t,n)){if(Wc)return Wc(t,n).value}else return;return t[n]};$c.exports=function e(){var t,n,i,o,s,l,u=arguments[0],f=1,m=arguments.length,h=!1;for(typeof u=="boolean"&&(h=u,u=arguments[1]||{},f=2),(u==null||typeof u!="object"&&typeof u!="function")&&(u={});f{(function(e,t){typeof Pa=="object"&&typeof er<"u"?er.exports=t():typeof define=="function"&&define.amd?define(t):e.moment=t()})(Pa,function(){"use strict";var e;function t(){return e.apply(null,arguments)}function n(r){e=r}function i(r){return r instanceof Array||Object.prototype.toString.call(r)==="[object Array]"}function o(r){return r!=null&&Object.prototype.toString.call(r)==="[object Object]"}function s(r,a){return Object.prototype.hasOwnProperty.call(r,a)}function l(r){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(r).length===0;var a;for(a in r)if(s(r,a))return!1;return!0}function u(r){return r===void 0}function f(r){return typeof r=="number"||Object.prototype.toString.call(r)==="[object Number]"}function m(r){return r instanceof Date||Object.prototype.toString.call(r)==="[object Date]"}function h(r,a){var c=[],d,g=r.length;for(d=0;d>>0,d;for(d=0;d0)for(c=0;c=0;return(x?c?"+":"":"-")+Math.pow(10,Math.max(0,g)).toString().substr(1)+d}var ze=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,b=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Se={},_e={};function y(r,a,c,d){var g=d;typeof d=="string"&&(g=function(){return this[d]()}),r&&(_e[r]=g),a&&(_e[a[0]]=function(){return fe(g.apply(this,arguments),a[1],a[2])}),c&&(_e[c]=function(){return this.localeData().ordinal(g.apply(this,arguments),r)})}function Pe(r){return r.match(/\[[\s\S]/)?r.replace(/^\[|\]$/g,""):r.replace(/\\/g,"")}function Ct(r){var a=r.match(ze),c,d;for(c=0,d=a.length;c=0&&b.test(r);)r=r.replace(b,d),b.lastIndex=0,c-=1;return r}var pe={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function nn(r){var a=this._longDateFormat[r],c=this._longDateFormat[r.toUpperCase()];return a||!c?a:(this._longDateFormat[r]=c.match(ze).map(function(d){return d==="MMMM"||d==="MM"||d==="DD"||d==="dddd"?d.slice(1):d}).join(""),this._longDateFormat[r])}var st="Invalid date";function St(){return this._invalidDate}var zt="%d",tr=/\d{1,2}/;function Do(r){return this._ordinal.replace("%d",r)}var Yr={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function Wr(r,a,c,d){var g=this._relativeTime[c];return oe(g)?g(r,a,c,d):g.replace(/%d/i,r)}function zr(r,a){var c=this._relativeTime[r>0?"future":"past"];return oe(c)?c(a):c.replace(/%s/i,a)}var Br={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function Me(r){return typeof r=="string"?Br[r]||Br[r.toLowerCase()]:void 0}function Cn(r){var a={},c,d;for(d in r)s(r,d)&&(c=Me(d),c&&(a[c]=r[d]));return a}var Ro={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function No(r){var a=[],c;for(c in r)s(r,c)&&a.push({unit:c,priority:Ro[c]});return a.sort(function(d,g){return d.priority-g.priority}),a}var Hr=/\d/,Ie=/\d\d/,Ur=/\d{3}/,E=/\d{4}/,I=/[+-]?\d{6}/,L=/\d\d?/,q=/\d\d\d\d?/,re=/\d\d\d\d\d\d?/,Ee=/\d{1,3}/,at=/\d{1,4}/,Be=/[+-]?\d{1,6}/,Je=/\d+/,pt=/[+-]?\d+/,Le=/Z|[+-]\d\d:?\d\d/gi,lt=/Z|[+-]\d\d(?::?\d\d)?/gi,ut=/[+-]?\d+(\.\d{1,3})?/,nr=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,Sn=/^[1-9]\d?/,Yo=/^([1-9]\d|\d)/,Vr;Vr={};function D(r,a,c){Vr[r]=oe(a)?a:function(d,g){return d&&c?c:a}}function Rf(r,a){return s(Vr,r)?Vr[r](a._strict,a._locale):new RegExp(Nf(r))}function Nf(r){return _t(r.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,c,d,g,x){return c||d||g||x}))}function _t(r){return r.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Ke(r){return r<0?Math.ceil(r)||0:Math.floor(r)}function Z(r){var a=+r,c=0;return a!==0&&isFinite(a)&&(c=Ke(a)),c}var Wo={};function ie(r,a){var c,d=a,g;for(typeof r=="string"&&(r=[r]),f(a)&&(d=function(x,S){S[a]=Z(x)}),g=r.length,c=0;c68?1900:2e3)};var Ra=_n("FullYear",!0);function Bf(){return $r(this.year())}function _n(r,a){return function(c){return c!=null?(Na(this,r,c),t.updateOffset(this,a),this):or(this,r)}}function or(r,a){if(!r.isValid())return NaN;var c=r._d,d=r._isUTC;switch(a){case"Milliseconds":return d?c.getUTCMilliseconds():c.getMilliseconds();case"Seconds":return d?c.getUTCSeconds():c.getSeconds();case"Minutes":return d?c.getUTCMinutes():c.getMinutes();case"Hours":return d?c.getUTCHours():c.getHours();case"Date":return d?c.getUTCDate():c.getDate();case"Day":return d?c.getUTCDay():c.getDay();case"Month":return d?c.getUTCMonth():c.getMonth();case"FullYear":return d?c.getUTCFullYear():c.getFullYear();default:return NaN}}function Na(r,a,c){var d,g,x,S,O;if(!(!r.isValid()||isNaN(c))){switch(d=r._d,g=r._isUTC,a){case"Milliseconds":return void(g?d.setUTCMilliseconds(c):d.setMilliseconds(c));case"Seconds":return void(g?d.setUTCSeconds(c):d.setSeconds(c));case"Minutes":return void(g?d.setUTCMinutes(c):d.setMinutes(c));case"Hours":return void(g?d.setUTCHours(c):d.setHours(c));case"Date":return void(g?d.setUTCDate(c):d.setDate(c));case"FullYear":break;default:return}x=c,S=r.month(),O=r.date(),O=O===29&&S===1&&!$r(x)?28:O,g?d.setUTCFullYear(x,S,O):d.setFullYear(x,S,O)}}function Hf(r){return r=Me(r),oe(this[r])?this[r]():this}function Uf(r,a){if(typeof r=="object"){r=Cn(r);var c=No(r),d,g=c.length;for(d=0;d=0?(O=new Date(r+400,a,c,d,g,x,S),isFinite(O.getFullYear())&&O.setFullYear(r)):O=new Date(r,a,c,d,g,x,S),O}function sr(r){var a,c;return r<100&&r>=0?(c=Array.prototype.slice.call(arguments),c[0]=r+400,a=new Date(Date.UTC.apply(null,c)),isFinite(a.getUTCFullYear())&&a.setUTCFullYear(r)):a=new Date(Date.UTC.apply(null,arguments)),a}function jr(r,a,c){var d=7+a-c,g=(7+sr(r,0,d).getUTCDay()-a)%7;return-g+d-1}function Ua(r,a,c,d,g){var x=(7+c-d)%7,S=jr(r,d,g),O=1+7*(a-1)+x+S,z,Q;return O<=0?(z=r-1,Q=ir(z)+O):O>ir(r)?(z=r+1,Q=O-ir(r)):(z=r,Q=O),{year:z,dayOfYear:Q}}function ar(r,a,c){var d=jr(r.year(),a,c),g=Math.floor((r.dayOfYear()-d-1)/7)+1,x,S;return g<1?(S=r.year()-1,x=g+At(S,a,c)):g>At(r.year(),a,c)?(x=g-At(r.year(),a,c),S=r.year()+1):(S=r.year(),x=g),{week:x,year:S}}function At(r,a,c){var d=jr(r,a,c),g=jr(r+1,a,c);return(ir(r)-d+g)/7}y("w",["ww",2],"wo","week"),y("W",["WW",2],"Wo","isoWeek"),D("w",L,Sn),D("ww",L,Ie),D("W",L,Sn),D("WW",L,Ie),rr(["w","ww","W","WW"],function(r,a,c,d){a[d.substr(0,1)]=Z(r)});function nd(r){return ar(r,this._week.dow,this._week.doy).week}var rd={dow:0,doy:6};function id(){return this._week.dow}function od(){return this._week.doy}function sd(r){var a=this.localeData().week(this);return r==null?a:this.add((r-a)*7,"d")}function ad(r){var a=ar(this,1,4).week;return r==null?a:this.add((r-a)*7,"d")}y("d",0,"do","day"),y("dd",0,0,function(r){return this.localeData().weekdaysMin(this,r)}),y("ddd",0,0,function(r){return this.localeData().weekdaysShort(this,r)}),y("dddd",0,0,function(r){return this.localeData().weekdays(this,r)}),y("e",0,0,"weekday"),y("E",0,0,"isoWeekday"),D("d",L),D("e",L),D("E",L),D("dd",function(r,a){return a.weekdaysMinRegex(r)}),D("ddd",function(r,a){return a.weekdaysShortRegex(r)}),D("dddd",function(r,a){return a.weekdaysRegex(r)}),rr(["dd","ddd","dddd"],function(r,a,c,d){var g=c._locale.weekdaysParse(r,d,c._strict);g!=null?a.d=g:v(c).invalidWeekday=r}),rr(["d","e","E"],function(r,a,c,d){a[d]=Z(r)});function ld(r,a){return typeof r!="string"?r:isNaN(r)?(r=a.weekdaysParse(r),typeof r=="number"?r:null):parseInt(r,10)}function ud(r,a){return typeof r=="string"?a.weekdaysParse(r)%7||7:isNaN(r)?null:r}function Bo(r,a){return r.slice(a,7).concat(r.slice(0,a))}var cd="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Va="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),fd="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),dd=nr,hd=nr,md=nr;function pd(r,a){var c=i(this._weekdays)?this._weekdays:this._weekdays[r&&r!==!0&&this._weekdays.isFormat.test(a)?"format":"standalone"];return r===!0?Bo(c,this._week.dow):r?c[r.day()]:c}function gd(r){return r===!0?Bo(this._weekdaysShort,this._week.dow):r?this._weekdaysShort[r.day()]:this._weekdaysShort}function wd(r){return r===!0?Bo(this._weekdaysMin,this._week.dow):r?this._weekdaysMin[r.day()]:this._weekdaysMin}function kd(r,a,c){var d,g,x,S=r.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d)x=w([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(x,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(x,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(x,"").toLocaleLowerCase();return c?a==="dddd"?(g=de.call(this._weekdaysParse,S),g!==-1?g:null):a==="ddd"?(g=de.call(this._shortWeekdaysParse,S),g!==-1?g:null):(g=de.call(this._minWeekdaysParse,S),g!==-1?g:null):a==="dddd"?(g=de.call(this._weekdaysParse,S),g!==-1||(g=de.call(this._shortWeekdaysParse,S),g!==-1)?g:(g=de.call(this._minWeekdaysParse,S),g!==-1?g:null)):a==="ddd"?(g=de.call(this._shortWeekdaysParse,S),g!==-1||(g=de.call(this._weekdaysParse,S),g!==-1)?g:(g=de.call(this._minWeekdaysParse,S),g!==-1?g:null)):(g=de.call(this._minWeekdaysParse,S),g!==-1||(g=de.call(this._weekdaysParse,S),g!==-1)?g:(g=de.call(this._shortWeekdaysParse,S),g!==-1?g:null))}function yd(r,a,c){var d,g,x;if(this._weekdaysParseExact)return kd.call(this,r,a,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){if(g=w([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(g,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(g,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(g,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[d]||(x="^"+this.weekdays(g,"")+"|^"+this.weekdaysShort(g,"")+"|^"+this.weekdaysMin(g,""),this._weekdaysParse[d]=new RegExp(x.replace(".",""),"i")),c&&a==="dddd"&&this._fullWeekdaysParse[d].test(r))return d;if(c&&a==="ddd"&&this._shortWeekdaysParse[d].test(r))return d;if(c&&a==="dd"&&this._minWeekdaysParse[d].test(r))return d;if(!c&&this._weekdaysParse[d].test(r))return d}}function xd(r){if(!this.isValid())return r!=null?this:NaN;var a=or(this,"Day");return r!=null?(r=ld(r,this.localeData()),this.add(r-a,"d")):a}function bd(r){if(!this.isValid())return r!=null?this:NaN;var a=(this.day()+7-this.localeData()._week.dow)%7;return r==null?a:this.add(r-a,"d")}function vd(r){if(!this.isValid())return r!=null?this:NaN;if(r!=null){var a=ud(r,this.localeData());return this.day(this.day()%7?a:a-7)}else return this.day()||7}function Cd(r){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")||Ho.call(this),r?this._weekdaysStrictRegex:this._weekdaysRegex):(s(this,"_weekdaysRegex")||(this._weekdaysRegex=dd),this._weekdaysStrictRegex&&r?this._weekdaysStrictRegex:this._weekdaysRegex)}function Sd(r){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")||Ho.call(this),r?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(s(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=hd),this._weekdaysShortStrictRegex&&r?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function _d(r){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")||Ho.call(this),r?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(s(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=md),this._weekdaysMinStrictRegex&&r?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Ho(){function r(Oe,Lt){return Lt.length-Oe.length}var a=[],c=[],d=[],g=[],x,S,O,z,Q;for(x=0;x<7;x++)S=w([2e3,1]).day(x),O=_t(this.weekdaysMin(S,"")),z=_t(this.weekdaysShort(S,"")),Q=_t(this.weekdays(S,"")),a.push(O),c.push(z),d.push(Q),g.push(O),g.push(z),g.push(Q);a.sort(r),c.sort(r),d.sort(r),g.sort(r),this._weekdaysRegex=new RegExp("^("+g.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function Uo(){return this.hours()%12||12}function Ed(){return this.hours()||24}y("H",["HH",2],0,"hour"),y("h",["hh",2],0,Uo),y("k",["kk",2],0,Ed),y("hmm",0,0,function(){return""+Uo.apply(this)+fe(this.minutes(),2)}),y("hmmss",0,0,function(){return""+Uo.apply(this)+fe(this.minutes(),2)+fe(this.seconds(),2)}),y("Hmm",0,0,function(){return""+this.hours()+fe(this.minutes(),2)}),y("Hmmss",0,0,function(){return""+this.hours()+fe(this.minutes(),2)+fe(this.seconds(),2)});function $a(r,a){y(r,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),a)})}$a("a",!0),$a("A",!1);function ja(r,a){return a._meridiemParse}D("a",ja),D("A",ja),D("H",L,Yo),D("h",L,Sn),D("k",L,Sn),D("HH",L,Ie),D("hh",L,Ie),D("kk",L,Ie),D("hmm",q),D("hmmss",re),D("Hmm",q),D("Hmmss",re),ie(["H","HH"],ge),ie(["k","kk"],function(r,a,c){var d=Z(r);a[ge]=d===24?0:d}),ie(["a","A"],function(r,a,c){c._isPm=c._locale.isPM(r),c._meridiem=r}),ie(["h","hh"],function(r,a,c){a[ge]=Z(r),v(c).bigHour=!0}),ie("hmm",function(r,a,c){var d=r.length-2;a[ge]=Z(r.substr(0,d)),a[ct]=Z(r.substr(d)),v(c).bigHour=!0}),ie("hmmss",function(r,a,c){var d=r.length-4,g=r.length-2;a[ge]=Z(r.substr(0,d)),a[ct]=Z(r.substr(d,2)),a[Tt]=Z(r.substr(g)),v(c).bigHour=!0}),ie("Hmm",function(r,a,c){var d=r.length-2;a[ge]=Z(r.substr(0,d)),a[ct]=Z(r.substr(d))}),ie("Hmmss",function(r,a,c){var d=r.length-4,g=r.length-2;a[ge]=Z(r.substr(0,d)),a[ct]=Z(r.substr(d,2)),a[Tt]=Z(r.substr(g))});function Td(r){return(r+"").toLowerCase().charAt(0)==="p"}var Ad=/[ap]\.?m?\.?/i,Fd=_n("Hours",!0);function Pd(r,a,c){return r>11?c?"pm":"PM":c?"am":"AM"}var Ga={calendar:ee,longDateFormat:pe,invalidDate:st,ordinal:zt,dayOfMonthOrdinalParse:tr,relativeTime:Yr,months:$f,monthsShort:Ya,week:rd,weekdays:cd,weekdaysMin:fd,weekdaysShort:Va,meridiemParse:Ad},le={},lr={},ur;function Md(r,a){var c,d=Math.min(r.length,a.length);for(c=0;c0;){if(g=Gr(x.slice(0,c).join("-")),g)return g;if(d&&d.length>=c&&Md(x,d)>=c-1)break;c--}a++}return ur}function Ld(r){return!!(r&&r.match("^[^/\\\\]*$"))}function Gr(r){var a=null,c;if(le[r]===void 0&&typeof er<"u"&&er&&er.exports&&Ld(r))try{a=ur._abbr,c=require,c("./locale/"+r),Bt(a)}catch{le[r]=null}return le[r]}function Bt(r,a){var c;return r&&(u(a)?c=Ft(r):c=Vo(r,a),c?ur=c:typeof console<"u"&&console.warn&&console.warn("Locale "+r+" not found. Did you forget to load it?")),ur._abbr}function Vo(r,a){if(a!==null){var c,d=Ga;if(a.abbr=r,le[r]!=null)ne("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),d=le[r]._config;else if(a.parentLocale!=null)if(le[a.parentLocale]!=null)d=le[a.parentLocale]._config;else if(c=Gr(a.parentLocale),c!=null)d=c._config;else return lr[a.parentLocale]||(lr[a.parentLocale]=[]),lr[a.parentLocale].push({name:r,config:a}),null;return le[r]=new H(N(d,a)),lr[r]&&lr[r].forEach(function(g){Vo(g.name,g.config)}),Bt(r),le[r]}else return delete le[r],null}function Od(r,a){if(a!=null){var c,d,g=Ga;le[r]!=null&&le[r].parentLocale!=null?le[r].set(N(le[r]._config,a)):(d=Gr(r),d!=null&&(g=d._config),a=N(g,a),d==null&&(a.abbr=r),c=new H(a),c.parentLocale=le[r],le[r]=c),Bt(r)}else le[r]!=null&&(le[r].parentLocale!=null?(le[r]=le[r].parentLocale,r===Bt()&&Bt(r)):le[r]!=null&&delete le[r]);return le[r]}function Ft(r){var a;if(r&&r._locale&&r._locale._abbr&&(r=r._locale._abbr),!r)return ur;if(!i(r)){if(a=Gr(r),a)return a;r=[r]}return Id(r)}function Dd(){return W(le)}function $o(r){var a,c=r._a;return c&&v(r).overflow===-2&&(a=c[Et]<0||c[Et]>11?Et:c[gt]<1||c[gt]>zo(c[Te],c[Et])?gt:c[ge]<0||c[ge]>24||c[ge]===24&&(c[ct]!==0||c[Tt]!==0||c[rn]!==0)?ge:c[ct]<0||c[ct]>59?ct:c[Tt]<0||c[Tt]>59?Tt:c[rn]<0||c[rn]>999?rn:-1,v(r)._overflowDayOfYear&&(agt)&&(a=gt),v(r)._overflowWeeks&&a===-1&&(a=Wf),v(r)._overflowWeekday&&a===-1&&(a=zf),v(r).overflow=a),r}var Rd=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Nd=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Yd=/Z|[+-]\d\d(?::?\d\d)?/,qr=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],jo=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Wd=/^\/?Date\((-?\d+)/i,zd=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Bd={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function Za(r){var a,c,d=r._i,g=Rd.exec(d)||Nd.exec(d),x,S,O,z,Q=qr.length,Oe=jo.length;if(g){for(v(r).iso=!0,a=0,c=Q;air(S)||r._dayOfYear===0)&&(v(r)._overflowDayOfYear=!0),c=sr(S,0,r._dayOfYear),r._a[Et]=c.getUTCMonth(),r._a[gt]=c.getUTCDate()),a=0;a<3&&r._a[a]==null;++a)r._a[a]=d[a]=g[a];for(;a<7;a++)r._a[a]=d[a]=r._a[a]==null?a===2?1:0:r._a[a];r._a[ge]===24&&r._a[ct]===0&&r._a[Tt]===0&&r._a[rn]===0&&(r._nextDay=!0,r._a[ge]=0),r._d=(r._useUTC?sr:td).apply(null,d),x=r._useUTC?r._d.getUTCDay():r._d.getDay(),r._tzm!=null&&r._d.setUTCMinutes(r._d.getUTCMinutes()-r._tzm),r._nextDay&&(r._a[ge]=24),r._w&&typeof r._w.d<"u"&&r._w.d!==x&&(v(r).weekdayMismatch=!0)}}function Zd(r){var a,c,d,g,x,S,O,z,Q;a=r._w,a.GG!=null||a.W!=null||a.E!=null?(x=1,S=4,c=En(a.GG,r._a[Te],ar(ae(),1,4).year),d=En(a.W,1),g=En(a.E,1),(g<1||g>7)&&(z=!0)):(x=r._locale._week.dow,S=r._locale._week.doy,Q=ar(ae(),x,S),c=En(a.gg,r._a[Te],Q.year),d=En(a.w,Q.week),a.d!=null?(g=a.d,(g<0||g>6)&&(z=!0)):a.e!=null?(g=a.e+x,(a.e<0||a.e>6)&&(z=!0)):g=x),d<1||d>At(c,x,S)?v(r)._overflowWeeks=!0:z!=null?v(r)._overflowWeekday=!0:(O=Ua(c,d,g,x,S),r._a[Te]=O.year,r._dayOfYear=O.dayOfYear)}t.ISO_8601=function(){},t.RFC_2822=function(){};function qo(r){if(r._f===t.ISO_8601){Za(r);return}if(r._f===t.RFC_2822){Qa(r);return}r._a=[],v(r).empty=!0;var a=""+r._i,c,d,g,x,S,O=a.length,z=0,Q,Oe;for(g=tn(r._f,r._locale).match(ze)||[],Oe=g.length,c=0;c0&&v(r).unusedInput.push(S),a=a.slice(a.indexOf(d)+d.length),z+=d.length),_e[x]?(d?v(r).empty=!1:v(r).unusedTokens.push(x),Yf(x,d,r)):r._strict&&!d&&v(r).unusedTokens.push(x);v(r).charsLeftOver=O-z,a.length>0&&v(r).unusedInput.push(a),r._a[ge]<=12&&v(r).bigHour===!0&&r._a[ge]>0&&(v(r).bigHour=void 0),v(r).parsedDateParts=r._a.slice(0),v(r).meridiem=r._meridiem,r._a[ge]=Qd(r._locale,r._a[ge],r._meridiem),Q=v(r).era,Q!==null&&(r._a[Te]=r._locale.erasConvertYear(Q,r._a[Te])),Go(r),$o(r)}function Qd(r,a,c){var d;return c==null?a:r.meridiemHour!=null?r.meridiemHour(a,c):(r.isPM!=null&&(d=r.isPM(c),d&&a<12&&(a+=12),!d&&a===12&&(a=0)),a)}function Jd(r){var a,c,d,g,x,S,O=!1,z=r._f.length;if(z===0){v(r).invalidFormat=!0,r._d=new Date(NaN);return}for(g=0;gthis?this:r:C()});function Xa(r,a){var c,d;if(a.length===1&&i(a[0])&&(a=a[0]),!a.length)return ae();for(c=a[0],d=1;dthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function kh(){if(!u(this._isDSTShifted))return this._isDSTShifted;var r={},a;return Y(r,this),r=Ja(r),r._a?(a=r._isUTC?w(r._a):ae(r._a),this._isDSTShifted=this.isValid()&&uh(r._a,a.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function yh(){return this.isValid()?!this._isUTC:!1}function xh(){return this.isValid()?this._isUTC:!1}function tl(){return this.isValid()?this._isUTC&&this._offset===0:!1}var bh=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,vh=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function ft(r,a){var c=r,d=null,g,x,S;return Qr(r)?c={ms:r._milliseconds,d:r._days,M:r._months}:f(r)||!isNaN(+r)?(c={},a?c[a]=+r:c.milliseconds=+r):(d=bh.exec(r))?(g=d[1]==="-"?-1:1,c={y:0,d:Z(d[gt])*g,h:Z(d[ge])*g,m:Z(d[ct])*g,s:Z(d[Tt])*g,ms:Z(Zo(d[rn]*1e3))*g}):(d=vh.exec(r))?(g=d[1]==="-"?-1:1,c={y:on(d[2],g),M:on(d[3],g),w:on(d[4],g),d:on(d[5],g),h:on(d[6],g),m:on(d[7],g),s:on(d[8],g)}):c==null?c={}:typeof c=="object"&&("from"in c||"to"in c)&&(S=Ch(ae(c.from),ae(c.to)),c={},c.ms=S.milliseconds,c.M=S.months),x=new Zr(c),Qr(r)&&s(r,"_locale")&&(x._locale=r._locale),Qr(r)&&s(r,"_isValid")&&(x._isValid=r._isValid),x}ft.fn=Zr.prototype,ft.invalid=lh;function on(r,a){var c=r&&parseFloat(r.replace(",","."));return(isNaN(c)?0:c)*a}function nl(r,a){var c={};return c.months=a.month()-r.month()+(a.year()-r.year())*12,r.clone().add(c.months,"M").isAfter(a)&&--c.months,c.milliseconds=+a-+r.clone().add(c.months,"M"),c}function Ch(r,a){var c;return r.isValid()&&a.isValid()?(a=Jo(a,r),r.isBefore(a)?c=nl(r,a):(c=nl(a,r),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function rl(r,a){return function(c,d){var g,x;return d!==null&&!isNaN(+d)&&(ne(a,"moment()."+a+"(period, number) is deprecated. Please use moment()."+a+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),x=c,c=d,d=x),g=ft(c,d),il(this,g,r),this}}function il(r,a,c,d){var g=a._milliseconds,x=Zo(a._days),S=Zo(a._months);r.isValid()&&(d=d??!0,S&&za(r,or(r,"Month")+S*c),x&&Na(r,"Date",or(r,"Date")+x*c),g&&r._d.setTime(r._d.valueOf()+g*c),d&&t.updateOffset(r,x||S))}var Sh=rl(1,"add"),_h=rl(-1,"subtract");function ol(r){return typeof r=="string"||r instanceof String}function Eh(r){return _(r)||m(r)||ol(r)||f(r)||Ah(r)||Th(r)||r===null||r===void 0}function Th(r){var a=o(r)&&!l(r),c=!1,d=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],g,x,S=d.length;for(g=0;gc.valueOf():c.valueOf()9999?Wt(c,a?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):oe(Date.prototype.toISOString)?a?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",Wt(c,"Z")):Wt(c,a?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function Hh(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var r="moment",a="",c,d,g,x;return this.isLocal()||(r=this.utcOffset()===0?"moment.utc":"moment.parseZone",a="Z"),c="["+r+'("]',d=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",g="-MM-DD[T]HH:mm:ss.SSS",x=a+'[")]',this.format(c+d+g+x)}function Uh(r){r||(r=this.isUtc()?t.defaultFormatUtc:t.defaultFormat);var a=Wt(this,r);return this.localeData().postformat(a)}function Vh(r,a){return this.isValid()&&(_(r)&&r.isValid()||ae(r).isValid())?ft({to:this,from:r}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()}function $h(r){return this.from(ae(),r)}function jh(r,a){return this.isValid()&&(_(r)&&r.isValid()||ae(r).isValid())?ft({from:this,to:r}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()}function Gh(r){return this.to(ae(),r)}function sl(r){var a;return r===void 0?this._locale._abbr:(a=Ft(r),a!=null&&(this._locale=a),this)}var al=j("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(r){return r===void 0?this.localeData():this.locale(r)});function ll(){return this._locale}var Kr=1e3,Tn=60*Kr,Xr=60*Tn,ul=(365*400+97)*24*Xr;function An(r,a){return(r%a+a)%a}function cl(r,a,c){return r<100&&r>=0?new Date(r+400,a,c)-ul:new Date(r,a,c).valueOf()}function fl(r,a,c){return r<100&&r>=0?Date.UTC(r+400,a,c)-ul:Date.UTC(r,a,c)}function qh(r){var a,c;if(r=Me(r),r===void 0||r==="millisecond"||!this.isValid())return this;switch(c=this._isUTC?fl:cl,r){case"year":a=c(this.year(),0,1);break;case"quarter":a=c(this.year(),this.month()-this.month()%3,1);break;case"month":a=c(this.year(),this.month(),1);break;case"week":a=c(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":a=c(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":a=c(this.year(),this.month(),this.date());break;case"hour":a=this._d.valueOf(),a-=An(a+(this._isUTC?0:this.utcOffset()*Tn),Xr);break;case"minute":a=this._d.valueOf(),a-=An(a,Tn);break;case"second":a=this._d.valueOf(),a-=An(a,Kr);break}return this._d.setTime(a),t.updateOffset(this,!0),this}function Zh(r){var a,c;if(r=Me(r),r===void 0||r==="millisecond"||!this.isValid())return this;switch(c=this._isUTC?fl:cl,r){case"year":a=c(this.year()+1,0,1)-1;break;case"quarter":a=c(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":a=c(this.year(),this.month()+1,1)-1;break;case"week":a=c(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":a=c(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":a=c(this.year(),this.month(),this.date()+1)-1;break;case"hour":a=this._d.valueOf(),a+=Xr-An(a+(this._isUTC?0:this.utcOffset()*Tn),Xr)-1;break;case"minute":a=this._d.valueOf(),a+=Tn-An(a,Tn)-1;break;case"second":a=this._d.valueOf(),a+=Kr-An(a,Kr)-1;break}return this._d.setTime(a),t.updateOffset(this,!0),this}function Qh(){return this._d.valueOf()-(this._offset||0)*6e4}function Jh(){return Math.floor(this.valueOf()/1e3)}function Kh(){return new Date(this.valueOf())}function Xh(){var r=this;return[r.year(),r.month(),r.date(),r.hour(),r.minute(),r.second(),r.millisecond()]}function em(){var r=this;return{years:r.year(),months:r.month(),date:r.date(),hours:r.hours(),minutes:r.minutes(),seconds:r.seconds(),milliseconds:r.milliseconds()}}function tm(){return this.isValid()?this.toISOString():null}function nm(){return T(this)}function rm(){return p({},v(this))}function im(){return v(this).overflow}function om(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}y("N",0,0,"eraAbbr"),y("NN",0,0,"eraAbbr"),y("NNN",0,0,"eraAbbr"),y("NNNN",0,0,"eraName"),y("NNNNN",0,0,"eraNarrow"),y("y",["y",1],"yo","eraYear"),y("y",["yy",2],0,"eraYear"),y("y",["yyy",3],0,"eraYear"),y("y",["yyyy",4],0,"eraYear"),D("N",Xo),D("NN",Xo),D("NNN",Xo),D("NNNN",gm),D("NNNNN",wm),ie(["N","NN","NNN","NNNN","NNNNN"],function(r,a,c,d){var g=c._locale.erasParse(r,d,c._strict);g?v(c).era=g:v(c).invalidEra=r}),D("y",Je),D("yy",Je),D("yyy",Je),D("yyyy",Je),D("yo",km),ie(["y","yy","yyy","yyyy"],Te),ie(["yo"],function(r,a,c,d){var g;c._locale._eraYearOrdinalRegex&&(g=r.match(c._locale._eraYearOrdinalRegex)),c._locale.eraYearOrdinalParse?a[Te]=c._locale.eraYearOrdinalParse(r,g):a[Te]=parseInt(r,10)});function sm(r,a){var c,d,g,x=this._eras||Ft("en")._eras;for(c=0,d=x.length;c=0)return x[d]}function lm(r,a){var c=r.since<=r.until?1:-1;return a===void 0?t(r.since).year():t(r.since).year()+(a-r.offset)*c}function um(){var r,a,c,d=this.localeData().eras();for(r=0,a=d.length;rx&&(a=x),_m.call(this,r,a,c,d,g))}function _m(r,a,c,d,g){var x=Ua(r,a,c,d,g),S=sr(x.year,0,x.dayOfYear);return this.year(S.getUTCFullYear()),this.month(S.getUTCMonth()),this.date(S.getUTCDate()),this}y("Q",0,"Qo","quarter"),D("Q",Hr),ie("Q",function(r,a){a[Et]=(Z(r)-1)*3});function Em(r){return r==null?Math.ceil((this.month()+1)/3):this.month((r-1)*3+this.month()%3)}y("D",["DD",2],"Do","date"),D("D",L,Sn),D("DD",L,Ie),D("Do",function(r,a){return r?a._dayOfMonthOrdinalParse||a._ordinalParse:a._dayOfMonthOrdinalParseLenient}),ie(["D","DD"],gt),ie("Do",function(r,a){a[gt]=Z(r.match(L)[0])});var hl=_n("Date",!0);y("DDD",["DDDD",3],"DDDo","dayOfYear"),D("DDD",Ee),D("DDDD",Ur),ie(["DDD","DDDD"],function(r,a,c){c._dayOfYear=Z(r)});function Tm(r){var a=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return r==null?a:this.add(r-a,"d")}y("m",["mm",2],0,"minute"),D("m",L,Yo),D("mm",L,Ie),ie(["m","mm"],ct);var Am=_n("Minutes",!1);y("s",["ss",2],0,"second"),D("s",L,Yo),D("ss",L,Ie),ie(["s","ss"],Tt);var Fm=_n("Seconds",!1);y("S",0,0,function(){return~~(this.millisecond()/100)}),y(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),y(0,["SSS",3],0,"millisecond"),y(0,["SSSS",4],0,function(){return this.millisecond()*10}),y(0,["SSSSS",5],0,function(){return this.millisecond()*100}),y(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3}),y(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4}),y(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5}),y(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6}),D("S",Ee,Hr),D("SS",Ee,Ie),D("SSS",Ee,Ur);var Ht,ml;for(Ht="SSSS";Ht.length<=9;Ht+="S")D(Ht,Je);function Pm(r,a){a[rn]=Z(("0."+r)*1e3)}for(Ht="S";Ht.length<=9;Ht+="S")ie(Ht,Pm);ml=_n("Milliseconds",!1),y("z",0,0,"zoneAbbr"),y("zz",0,0,"zoneName");function Mm(){return this._isUTC?"UTC":""}function Im(){return this._isUTC?"Coordinated Universal Time":""}var M=B.prototype;M.add=Sh,M.calendar=Mh,M.clone=Ih,M.diff=Wh,M.endOf=Zh,M.format=Uh,M.from=Vh,M.fromNow=$h,M.to=jh,M.toNow=Gh,M.get=Hf,M.invalidAt=im,M.isAfter=Lh,M.isBefore=Oh,M.isBetween=Dh,M.isSame=Rh,M.isSameOrAfter=Nh,M.isSameOrBefore=Yh,M.isValid=nm,M.lang=al,M.locale=sl,M.localeData=ll,M.max=nh,M.min=th,M.parsingFlags=rm,M.set=Uf,M.startOf=qh,M.subtract=_h,M.toArray=Xh,M.toObject=em,M.toDate=Kh,M.toISOString=Bh,M.inspect=Hh,typeof Symbol<"u"&&Symbol.for!=null&&(M[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),M.toJSON=tm,M.toString=zh,M.unix=Jh,M.valueOf=Qh,M.creationData=om,M.eraName=um,M.eraNarrow=cm,M.eraAbbr=fm,M.eraYear=dm,M.year=Ra,M.isLeapYear=Bf,M.weekYear=ym,M.isoWeekYear=xm,M.quarter=M.quarters=Em,M.month=Ba,M.daysInMonth=Kf,M.week=M.weeks=sd,M.isoWeek=M.isoWeeks=ad,M.weeksInYear=Cm,M.weeksInWeekYear=Sm,M.isoWeeksInYear=bm,M.isoWeeksInISOWeekYear=vm,M.date=hl,M.day=M.days=xd,M.weekday=bd,M.isoWeekday=vd,M.dayOfYear=Tm,M.hour=M.hours=Fd,M.minute=M.minutes=Am,M.second=M.seconds=Fm,M.millisecond=M.milliseconds=ml,M.utcOffset=fh,M.utc=hh,M.local=mh,M.parseZone=ph,M.hasAlignedHourOffset=gh,M.isDST=wh,M.isLocal=yh,M.isUtcOffset=xh,M.isUtc=tl,M.isUTC=tl,M.zoneAbbr=Mm,M.zoneName=Im,M.dates=j("dates accessor is deprecated. Use date instead.",hl),M.months=j("months accessor is deprecated. Use month instead",Ba),M.years=j("years accessor is deprecated. Use year instead",Ra),M.zone=j("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",dh),M.isDSTShifted=j("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",kh);function Lm(r){return ae(r*1e3)}function Om(){return ae.apply(null,arguments).parseZone()}function pl(r){return r}var te=H.prototype;te.calendar=ue,te.longDateFormat=nn,te.invalidDate=St,te.ordinal=Do,te.preparse=pl,te.postformat=pl,te.relativeTime=Wr,te.pastFuture=zr,te.set=X,te.eras=sm,te.erasParse=am,te.erasConvertYear=lm,te.erasAbbrRegex=mm,te.erasNameRegex=hm,te.erasNarrowRegex=pm,te.months=qf,te.monthsShort=Zf,te.monthsParse=Jf,te.monthsRegex=ed,te.monthsShortRegex=Xf,te.week=nd,te.firstDayOfYear=od,te.firstDayOfWeek=id,te.weekdays=pd,te.weekdaysMin=wd,te.weekdaysShort=gd,te.weekdaysParse=yd,te.weekdaysRegex=Cd,te.weekdaysShortRegex=Sd,te.weekdaysMinRegex=_d,te.isPM=Td,te.meridiem=Pd;function ti(r,a,c,d){var g=Ft(),x=w().set(d,a);return g[c](x,r)}function gl(r,a,c){if(f(r)&&(a=r,r=void 0),r=r||"",a!=null)return ti(r,a,c,"month");var d,g=[];for(d=0;d<12;d++)g[d]=ti(r,d,c,"month");return g}function ts(r,a,c,d){typeof r=="boolean"?(f(a)&&(c=a,a=void 0),a=a||""):(a=r,c=a,r=!1,f(a)&&(c=a,a=void 0),a=a||"");var g=Ft(),x=r?g._week.dow:0,S,O=[];if(c!=null)return ti(a,(c+x)%7,d,"day");for(S=0;S<7;S++)O[S]=ti(a,(S+x)%7,d,"day");return O}function Dm(r,a){return gl(r,a,"months")}function Rm(r,a){return gl(r,a,"monthsShort")}function Nm(r,a,c){return ts(r,a,c,"weekdays")}function Ym(r,a,c){return ts(r,a,c,"weekdaysShort")}function Wm(r,a,c){return ts(r,a,c,"weekdaysMin")}Bt("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(r){var a=r%10,c=Z(r%100/10)===1?"th":a===1?"st":a===2?"nd":a===3?"rd":"th";return r+c}}),t.lang=j("moment.lang is deprecated. Use moment.locale instead.",Bt),t.langData=j("moment.langData is deprecated. Use moment.localeData instead.",Ft);var Pt=Math.abs;function zm(){var r=this._data;return this._milliseconds=Pt(this._milliseconds),this._days=Pt(this._days),this._months=Pt(this._months),r.milliseconds=Pt(r.milliseconds),r.seconds=Pt(r.seconds),r.minutes=Pt(r.minutes),r.hours=Pt(r.hours),r.months=Pt(r.months),r.years=Pt(r.years),this}function wl(r,a,c,d){var g=ft(a,c);return r._milliseconds+=d*g._milliseconds,r._days+=d*g._days,r._months+=d*g._months,r._bubble()}function Bm(r,a){return wl(this,r,a,1)}function Hm(r,a){return wl(this,r,a,-1)}function kl(r){return r<0?Math.floor(r):Math.ceil(r)}function Um(){var r=this._milliseconds,a=this._days,c=this._months,d=this._data,g,x,S,O,z;return r>=0&&a>=0&&c>=0||r<=0&&a<=0&&c<=0||(r+=kl(ns(c)+a)*864e5,a=0,c=0),d.milliseconds=r%1e3,g=Ke(r/1e3),d.seconds=g%60,x=Ke(g/60),d.minutes=x%60,S=Ke(x/60),d.hours=S%24,a+=Ke(S/24),z=Ke(yl(a)),c+=z,a-=kl(ns(z)),O=Ke(c/12),c%=12,d.days=a,d.months=c,d.years=O,this}function yl(r){return r*4800/146097}function ns(r){return r*146097/4800}function Vm(r){if(!this.isValid())return NaN;var a,c,d=this._milliseconds;if(r=Me(r),r==="month"||r==="quarter"||r==="year")switch(a=this._days+d/864e5,c=this._months+yl(a),r){case"month":return c;case"quarter":return c/3;case"year":return c/12}else switch(a=this._days+Math.round(ns(this._months)),r){case"week":return a/7+d/6048e5;case"day":return a+d/864e5;case"hour":return a*24+d/36e5;case"minute":return a*1440+d/6e4;case"second":return a*86400+d/1e3;case"millisecond":return Math.floor(a*864e5)+d;default:throw new Error("Unknown unit "+r)}}function Mt(r){return function(){return this.as(r)}}var xl=Mt("ms"),$m=Mt("s"),jm=Mt("m"),Gm=Mt("h"),qm=Mt("d"),Zm=Mt("w"),Qm=Mt("M"),Jm=Mt("Q"),Km=Mt("y"),Xm=xl;function ep(){return ft(this)}function tp(r){return r=Me(r),this.isValid()?this[r+"s"]():NaN}function sn(r){return function(){return this.isValid()?this._data[r]:NaN}}var np=sn("milliseconds"),rp=sn("seconds"),ip=sn("minutes"),op=sn("hours"),sp=sn("days"),ap=sn("months"),lp=sn("years");function up(){return Ke(this.days()/7)}var It=Math.round,Fn={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function cp(r,a,c,d,g){return g.relativeTime(a||1,!!c,r,d)}function fp(r,a,c,d){var g=ft(r).abs(),x=It(g.as("s")),S=It(g.as("m")),O=It(g.as("h")),z=It(g.as("d")),Q=It(g.as("M")),Oe=It(g.as("w")),Lt=It(g.as("y")),Ut=x<=c.ss&&["s",x]||x0,Ut[4]=d,cp.apply(null,Ut)}function dp(r){return r===void 0?It:typeof r=="function"?(It=r,!0):!1}function hp(r,a){return Fn[r]===void 0?!1:a===void 0?Fn[r]:(Fn[r]=a,r==="s"&&(Fn.ss=a-1),!0)}function mp(r,a){if(!this.isValid())return this.localeData().invalidDate();var c=!1,d=Fn,g,x;return typeof r=="object"&&(a=r,r=!1),typeof r=="boolean"&&(c=r),typeof a=="object"&&(d=Object.assign({},Fn,a),a.s!=null&&a.ss==null&&(d.ss=a.s-1)),g=this.localeData(),x=fp(this,!c,d,g),c&&(x=g.pastFuture(+this,x)),g.postformat(x)}var rs=Math.abs;function Pn(r){return(r>0)-(r<0)||+r}function ni(){if(!this.isValid())return this.localeData().invalidDate();var r=rs(this._milliseconds)/1e3,a=rs(this._days),c=rs(this._months),d,g,x,S,O=this.asSeconds(),z,Q,Oe,Lt;return O?(d=Ke(r/60),g=Ke(d/60),r%=60,d%=60,x=Ke(c/12),c%=12,S=r?r.toFixed(3).replace(/\.?0+$/,""):"",z=O<0?"-":"",Q=Pn(this._months)!==Pn(O)?"-":"",Oe=Pn(this._days)!==Pn(O)?"-":"",Lt=Pn(this._milliseconds)!==Pn(O)?"-":"",z+"P"+(x?Q+x+"Y":"")+(c?Q+c+"M":"")+(a?Oe+a+"D":"")+(g||d||r?"T":"")+(g?Lt+g+"H":"")+(d?Lt+d+"M":"")+(r?Lt+S+"S":"")):"P0D"}var K=Zr.prototype;K.isValid=ah,K.abs=zm,K.add=Bm,K.subtract=Hm,K.as=Vm,K.asMilliseconds=xl,K.asSeconds=$m,K.asMinutes=jm,K.asHours=Gm,K.asDays=qm,K.asWeeks=Zm,K.asMonths=Qm,K.asQuarters=Jm,K.asYears=Km,K.valueOf=Xm,K._bubble=Um,K.clone=ep,K.get=tp,K.milliseconds=np,K.seconds=rp,K.minutes=ip,K.hours=op,K.days=sp,K.weeks=up,K.months=ap,K.years=lp,K.humanize=mp,K.toISOString=ni,K.toString=ni,K.toJSON=ni,K.locale=sl,K.localeData=ll,K.toIsoString=j("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",ni),K.lang=al,y("X",0,0,"unix"),y("x",0,0,"valueOf"),D("x",pt),D("X",ut),ie("X",function(r,a,c){c._d=new Date(parseFloat(r)*1e3)}),ie("x",function(r,a,c){c._d=new Date(Z(r))});return t.version="2.30.1",n(ae),t.fn=M,t.min=rh,t.max=ih,t.now=oh,t.utc=w,t.unix=Lm,t.months=Dm,t.isDate=m,t.locale=Bt,t.invalid=C,t.duration=ft,t.isMoment=_,t.weekdays=Nm,t.parseZone=Om,t.localeData=Ft,t.isDuration=Qr,t.monthsShort=Rm,t.weekdaysMin=Wm,t.defineLocale=Vo,t.updateLocale=Od,t.locales=Dd,t.weekdaysShort=Ym,t.normalizeUnits=Me,t.relativeTimeRounding=dp,t.relativeTimeThreshold=hp,t.calendarFormat=Ph,t.prototype=M,t.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},t})});var ry={};bl(ry,{default:()=>ny});module.exports=xp(ry);var ye=require("obsidian");(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();function wt(){}async function is(){}function fr(e){return async(...t)=>{await e(...t)}}var xt=require("obsidian");var bp=require("obsidian"),Cl=require("obsidian"),Sl=require("obsidian"),ay=require("obsidian"),ly=require("obsidian");var an={AudioRecorder:"audio-recorder",Backlink:"backlink",Bookmarks:"bookmarks",Browser:"browser",Canvas:"canvas",CommandPalette:"command-palette",DailyNotes:"daily-notes",EditorStatus:"editor-status",FileExplorer:"file-explorer",FileRecovery:"file-recovery",GlobalSearch:"global-search",Graph:"graph",MarkdownImporter:"markdown-importer",NoteComposer:"note-composer",OutgoingLink:"outgoing-link",Outline:"outline",PagePreview:"page-preview",Properties:"properties",Publish:"publish",RandomNote:"random-note",SlashCommand:"slash-command",Slides:"slides",Switcher:"switcher",Sync:"sync",TagPane:"tag-pane",Templates:"templates",WordCount:"word-count",Workspaces:"workspaces",ZkPrefixer:"zk-prefixer"},sy={AllProperties:"all-properties",Audio:"audio",Backlink:an.Backlink,Bookmarks:an.Bookmarks,Browser:"browser",BrowserHistory:"browser-history",Canvas:an.Canvas,Empty:"empty",FileExplorer:an.FileExplorer,FileProperties:"file-properties",Graph:an.Graph,Image:"image",LocalGraph:"localgraph",Markdown:"markdown",OutgoingLink:an.OutgoingLink,Outline:an.Outline,Pdf:"pdf",ReleaseNotes:"release-notes",Search:"search",Sync:"sync",Tag:"tag",Video:"video"};function vp(){return Cl.TFile}function Cp(){return Sl.TFolder}function dt(e){return e.replace(/\/?[^\/]*$/,"")||"/"}function ii(e,t){let n=e.vault.getFolderByPath(t);return n||(n=new(Cp())(e.vault,t),n.parent=ii(e,dt(t)),n.deleted=!0,n)}function _l(e,t){let n=e.vault.getFileByPath(t);return n||(n=new(vp())(e.vault,t),n.parent=ii(e,dt(t)),n.deleted=!0,n)}function Vt(e){return!!e.position}function Ot(e){return!!e.key}var us=je(Al(),1);var ss=je(Pl(),1);(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var si="asyncError",ai=new ss.default;ai.on(si,Tp);function li(e){ai.emit(si,e)}function Ml(e){return as(e).map(t=>" ".repeat(t.level)+t.message).join(` -`)}function ln(e=0){return(new Error().stack??"").split(` -`).slice(e+2).join(` -`)}function hr(e,t){t??=globalThis.console;let n=as(e);for(let i of n)i.shouldClearAnsiSequence?t.error(`\x1B[0m${i.message}\x1B[0m`):t.error(i.message)}function Il(e){return ai.on(si,e),()=>ai.off(si,e)}function un(e){throw e}function Tp(e){hr(new Error("An unhandled error occurred executing async operation",{cause:e}))}function as(e,t=0,n=[]){if(e===void 0)return n;if(!(e instanceof Error)){let o;return e===null?o="(null)":typeof e=="string"?o=e:o=JSON.stringify(e)??"undefined",n.push({level:t,message:o}),n}let i=`${e.name}: ${e.message}`;if(n.push({level:t,message:i,shouldClearAnsiSequence:!0}),e.stack){let o=e.stack.startsWith(i)?e.stack.slice(i.length+1):e.stack;n.push({level:t,message:`Error stack: -${o}`})}return e.cause!==void 0&&(n.push({level:t,message:"Caused by:"}),as(e.cause,t+1,n)),n}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();function ls(e){return e.replaceAll(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ll(e){try{return new RegExp(e),!0}catch{return!1}}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();async function mr(e,...t){return Ap(e)?await e(...t):e}function Ap(e){return typeof e=="function"}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Fp={"\n":"\\n","\r":"\\r"," ":"\\t","\b":"\\b","\f":"\\f","'":"\\'",'"':'\\"',"\\":"\\\\"},Pp={};for(let[e,t]of Object.entries(Fp))Pp[t]=e;function Ol(e,t,n,i){return i??=n,e.slice(0,n)+t+e.slice(i)}function pr(e){return He(e,/\u00A0|\u202F/g," ").normalize("NFC")}function He(e,t,n){return typeof n>"u"?e:(t instanceof RegExp&&!t.global&&(t=new RegExp(t.source,`${t.flags}g`)),typeof n=="string"?e.replaceAll(t,n):e.replaceAll(t,(i,...o)=>{let l=typeof o.at(-1)=="object",u=l?o.length-2:o.length-1,f={groups:l?o.at(-1):void 0,offset:o.at(u-1),source:o.at(u),substring:i},m=o.slice(0,u-1);return n(f,...m)??f.substring}))}function Dl(e,t,n){if(e.endsWith(t))return e.slice(0,-t.length);if(n)throw new Error(`String ${e} does not end with suffix ${t}`);return e}function Dt(e,t,n){if(e.startsWith(t))return e.slice(t.length);if(n)throw new Error(`String ${e} does not start with prefix ${t}`);return e}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Mp=/[a-zA-Z]:\/[^:]*$/,yt=us.default.posix,Cy=yt.delimiter,Sy=us.default.posix.sep,Re=yt.basename,se=yt.dirname,et=yt.extname,_y=yt.format;var we=yt.join,Ey=yt.normalize,Ty=yt.parse,In=yt.relative;function Rl(e,t){return t?`${e}.${t}`:e}function Nl(...e){let t=yt.resolve(...e);return t=Ip(t),Mp.exec(t)?.[0]??t}function Ip(e){return He(e,"\\","/")}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var ui="md",Lp="canvas";function Wl(e,t,n){if(tt(t))return t.extension===n;if(typeof t=="string"){let i=ce(e,t);return i?i.extension===n:et(t).slice(1)===n}return!1}function gr(e,t,n){if(t===null)return null;if(Hl(t))return t;let i=Yl(e,t,n);if(i)return i;let o=Vl(t);return o===t?null:Yl(e,o,n)}function Ne(e,t,n,i){let o=ce(e,t,i);if(!o)if(n)o=_l(e,t);else throw new Error(`File not found: ${t}`);return o}function ce(e,t,n){let i=gr(e,t,n);return tt(i)?i:null}function Ln(e,t,n,i){let o=ht(e,t,i);if(!o)if(n)o=ii(e,t);else throw new Error(`Folder not found: ${t}`);return o}function ht(e,t,n){let i=gr(e,t,n);return wr(i)?i:null}function zl(e,t,n){let i=Ln(e,t),o=[];return n?xt.Vault.recurseChildren(i,s=>{ke(e,s)&&o.push(s)}):o=i.children.filter(s=>ke(e,s)),o=o.sort((s,l)=>s.path.localeCompare(l.path)),o}async function Bl(e,t){let n=ce(e,t);if(n)return n;let i=dt(t);return await Op(e,i),await e.vault.create(t,"")}async function Op(e,t){let n=ht(e,t);return n||await e.vault.createFolder(t)}function he(e,t){if(Hl(t))return t.path;let n=gr(e,t);return n?n.path:Vl(t)}function Hl(e){return e instanceof xt.TAbstractFile}function cn(e,t){return Wl(e,t,Lp)}function tt(e){return e instanceof xt.TFile}function wr(e){return e instanceof xt.TFolder}function ke(e,t){return Wl(e,t,ui)}function Rt(e,t){return ke(e,t)||cn(e,t)}function Ul(e,t){return ke(e,t)?Dl(t.path,`.${ui}`):t.path}function Yl(e,t,n){return n?e.vault.getAbstractFileByPathInsensitive(t):e.vault.getAbstractFileByPath(t)}function Vl(e){return(0,xt.normalizePath)(Nl("/",e))}var ws=je(nu(),1);(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var ms="19.6.0",mi="obsidian-dev-utils",ru=`.obsidian-dev-utils :invalid { - box-shadow: 0 0 0 2px var(--text-error); -} -.obsidian-dev-utils.modal-container .ok-button { - margin-right: 10px; - margin-top: 20px; -} -.obsidian-dev-utils .multiple-dropdown-component select, -.obsidian-dev-utils .multiple-dropdown-component select:focus, -.obsidian-dev-utils .multiple-dropdown-component .dropdown { - height: auto; -} -.obsidian-dev-utils .multiple-dropdown-component select option:checked, -.obsidian-dev-utils .multiple-dropdown-component select:focus option:checked, -.obsidian-dev-utils .multiple-dropdown-component .dropdown option:checked { - background-color: #1967d2; - color: #fff; -} -.obsidian-dev-utils.prompt-modal .text-box { - width: 100%; -} - -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../src/styles/main.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AACE;EACE;;AAIA;EACE;EACA;;AAKF;AAAA;AAAA;EAGE;;AAEA;AAAA;AAAA;EACE;EACA;;AAMJ;EACE%22,%22file%22:%22styles.css%22,%22sourcesContent%22:%5B%22.obsidian-dev-utils%20%7B%5Cn%20%20:invalid%20%7B%5Cn%20%20%20%20box-shadow:%200%200%200%202px%20var(--text-error);%5Cn%20%20%7D%5Cn%5Cn%20%20&.modal-container%20%7B%5Cn%20%20%20%20.ok-button%20%7B%5Cn%20%20%20%20%20%20margin-right:%2010px;%5Cn%20%20%20%20%20%20margin-top:%2020px;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20.multiple-dropdown-component%20%7B%5Cn%20%20%20%20select,%5Cn%20%20%20%20select:focus,%5Cn%20%20%20%20.dropdown%20%7B%5Cn%20%20%20%20%20%20height:%20auto;%5Cn%5Cn%20%20%20%20%20%20option:checked%20%7B%5Cn%20%20%20%20%20%20%20%20background-color:%20%231967d2;%5Cn%20%20%20%20%20%20%20%20color:%20%23fff;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20&.prompt-modal%20%7B%5Cn%20%20%20%20.text-box%20%7B%5Cn%20%20%20%20%20%20width:%20100%25;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22%5D%7D */ -`;(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var ps=class{constructor(t){this.value=t}};function iu(){try{return globalThis.require("obsidian/app")}catch{return globalThis.app??un(new Error("Obsidian app not found"))}}function jt(e,t,n){let i=e;return i.obsidianDevUtilsState??={},i.obsidianDevUtilsState[t]??=new ps(n)}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var gs="__no-plugin-id-initialized__",ou=gs;function rt(){return ou}function su(e){e&&(ou=e)}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var au=",",pi="-";function lu(){return{disable:rg,enable:ig,get:wi,set:kr}}function gi(e,t=0){let n=Nn()(e);return n.log=(i,...o)=>{og(e,t,i,...o)},n.printStackTrace=(i,o)=>{fu(e,i,o)},n}function Ue(e){let t=rt(),n=t===gs?"":`${t}:`;return gi(`${n}${mi}:${e}`)}function uu(e){let t=Nn().enabled(e),n=t?"enabled":"disabled",i=t?"disable":"enable",o=wi();kr(e),gi(e)(`Debug messages for plugin ${e} are ${n}. See https://github.com/mnaoumov/obsidian-dev-utils/?tab=readme-ov-file#debugging how to ${i} them.`),kr(o)}function rg(e){let t=new Set(wi());for(let n of yr(e)){if(n.startsWith(pi))continue;let i=pi+n;t.has(n)&&t.delete(n),t.add(i)}kr(Array.from(t))}function ig(e){let t=new Set(wi());for(let n of yr(e)){if(!n.startsWith(pi)){let i=pi+n;t.has(i)&&t.delete(i)}t.add(n)}kr(Array.from(t))}function wi(){return yr(Nn().load()??"")}function Nn(){if(typeof window>"u")return ws.default;let e=iu();return jt(e,"debug",ws.default).value}function cu(){return typeof window<"u"}function og(e,t,n,...i){if(!Nn().enabled(e))return;let l=(new Error().stack?.split(` -`)??[])[4+t]??"";console.debug(n,...i),cu()&&fu(e,l,"Debug message caller")}function fu(e,t,n){let i=Nn()(e);if(!i.enabled)return;t||(t="(unavailable)"),n||(n="Caller stack trace"),i(n);let o=cu()?`StackTraceFakeError -`:"";console.debug(`${o}${t}`)}function kr(e){Nn().enable(yr(e).join(au))}function yr(e){return typeof e=="string"?e.split(au).filter(Boolean):e.flatMap(yr)}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();async function dn(e){let t=e.items,n=0,i=new Notice("",0);for(let o of t){if(e.abortSignal?.aborted){i.hide();return}n++;let s=`# ${n.toString()} / ${t.length.toString()}`,l=e.buildNoticeMessage(o,s);i.setMessage(l),Ue("Loop")(l);try{await e.processItem(o)}catch(u){if(e.shouldContinueOnError)throw i.hide(),u;li(u)}}i.hide()}var mu=require("obsidian");(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var $=(e=>(e.AlertModal="alert-modal",e.CancelButton="cancel-button",e.ConfirmModal="confirm-modal",e.DateComponent="date-component",e.DateTimeComponent="datetime-component",e.EmailComponent="email-component",e.FileComponent="file-component",e.LibraryName="obsidian-dev-utils",e.MonthComponent="month-component",e.MultipleDropdownComponent="multiple-dropdown-component",e.MultipleEmailComponent="multiple-email-component",e.MultipleFileComponent="multiple-file-component",e.MultipleTextComponent="multiple-text-component",e.NumberComponent="number-component",e.OkButton="ok-button",e.PluginSettingsTab="plugin-settings-tab",e.PromptModal="prompt-modal",e.SelectItemModal="select-item-modal",e.TextBox="text-box",e.TimeComponent="time-component",e.UrlComponent="url-component",e.WeekComponent="week-component",e))($||{});var du=require("obsidian");(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var ki=class extends du.Modal{constructor(t,n,i){super(t.app),this.resolve=n,this.containerEl.addClass($.LibraryName,rt(),i),t.cssClass&&this.containerEl.addClass(t.cssClass)}};async function hu(e){return await new Promise(t=>{e(t).open()})}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var ks=class extends ki{options;constructor(t,n){super(t,n,$.AlertModal);let i={app:t.app,cssClass:"",message:t.message,okButtonText:"OK",title:""};this.options={...i,...t}}onClose(){this.resolve()}onOpen(){this.titleEl.setText(this.options.title),this.contentEl.createEl("p",{text:this.options.message});let t=new mu.ButtonComponent(this.contentEl);t.setButtonText(this.options.okButtonText),t.setCta(),t.onClick(this.close.bind(this)),t.setClass($.OkButton)}};async function yi(e){await hu(t=>new ks(e,t))}var vi=require("obsidian");var ku=je(gu(),1);(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var wu=`${mi}-styles`;function yu(e,t){su(t),uu(t);let n=jt(e,"lastLibraryVersion","0.0.0");if((0,ku.compareVersions)(ms,n.value)<=0)return;n.value=ms;let i=sg();i.DEBUG=lu(),document.head.querySelector(`#${wu}`)?.remove(),document.head.createEl("style",{attr:{id:wu},text:ru})}function sg(){return window}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var bi=class extends vi.Plugin{get abortSignal(){return this._abortSignal}get settings(){return this._settings}get settingsClone(){return this.createPluginSettings(this.settings.toJSON())}_abortSignal;_settings;notice;consoleDebug(t,...n){gi(this.manifest.id,1)(t,...n)}async onExternalSettingsChange(){await this.loadSettings()}async onload(){yu(this.app,this.manifest.id),this.register(Il(()=>{this.showNotice("An unhandled error occurred. Please check the console for more information.")})),await this.loadSettings();let t=this.createPluginSettingsTab();t&&this.addSettingTab(t);let n=new AbortController;this._abortSignal=n.signal,this.register(()=>{n.abort()}),await this.onloadComplete(),setTimeout(()=>{this.app.workspace.onLayoutReady(this.onLayoutReady.bind(this))},0)}async saveSettings(t){let n=t.toJSON();this._settings=this.createPluginSettings(n),await this.saveData(n)}onLayoutReady(){}onloadComplete(){}showNotice(t){this.notice&&this.notice.hide(),this.notice=new vi.Notice(`${this.manifest.name} -${t}`)}async loadSettings(){let t=await this.loadData();this._settings=this.createPluginSettings(t),this.settings.shouldSaveAfterLoad&&await this.saveSettings(this._settings)}};(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();async function ys(e){try{await e()}catch(t){li(t)}}function xs(e){return(...t)=>{xr(()=>e(...t))}}function xr(e){ys(e)}async function br(e,t,n){let i=Ue("Async:retryWithTimeout");n??=ln(1);let s={...{retryDelayInMilliseconds:100,shouldRetryOnError:!1,timeoutInMilliseconds:5e3},...t};await bs(s.timeoutInMilliseconds,async()=>{let l=0;for(;;){s.abortSignal?.throwIfAborted(),l++;let u;try{u=await e()}catch(f){if(!s.shouldRetryOnError||f.__terminateRetry)throw f;hr(f),u=!1}if(u){l>1&&(i(`Retry completed successfully after ${l.toString()} attempts`),i.printStackTrace(n));return}i(`Retry attempt ${l.toString()} completed unsuccessfully. Trying again in ${s.retryDelayInMilliseconds.toString()} milliseconds`,{fn:e}),i.printStackTrace(n),await xu(s.retryDelayInMilliseconds)}})}async function bs(e,t){let n=!0,i=null,o=performance.now();if(await Promise.race([s(),l()]),n)throw new Error("Timed out");return i;async function s(){i=await t(),n=!1;let u=performance.now()-o;Ue("Async:runWithTimeout")(`Execution time: ${u.toString()} milliseconds`,{fn:t})}async function l(){if(!n||(await xu(e),!n))return;let u=performance.now()-o;console.warn(`Timed out in ${u.toString()} milliseconds`,{fn:t});let f=Ue("Async:runWithTimeout:timeout");f.enabled&&(f(`The execution is not terminated because debugger ${f.namespace} is enabled. See https://github.com/mnaoumov/obsidian-dev-utils/?tab=readme-ov-file#debugging for more information`),await l())}}async function xu(e){await new Promise(t=>{setTimeout(t,e)})}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();async function bu(e,t,n){let i=Ue("Logger:invokeAsyncAndLog"),o=performance.now();n??=ln(1),i(`${e}:start`,{fn:t,timestampStart:o}),i.printStackTrace(n);try{await t();let s=performance.now();i(`${e}:end`,{duration:s-o,fn:t,timestampEnd:s,timestampStart:o}),i.printStackTrace(n)}catch(s){let l=performance.now();throw i(`${e}:error`,{duration:l-o,error:s,fn:t,timestampEnd:l,timestampStart:o}),i.printStackTrace(n),s}}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();function it(e,t,n,i){i??=ln(1),xr(()=>ag(e,t,n,i))}async function ag(e,t,n,i){n??=6e4,i??=ln(1);let s=vu(e).value;s.items.push({fn:t,stackTrace:i,timeoutInMilliseconds:n}),s.promise=s.promise.then(()=>Cu(e)),await s.promise}function vu(e){return jt(e,"queue",{items:[],promise:Promise.resolve()})}async function Cu(e){let t=vu(e).value,n=t.items[0];n&&(await ys(()=>bs(n.timeoutInMilliseconds,()=>bu(Cu.name,n.fn,n.stackTrace))),t.items.shift())}function Su(e,t){let n=Object.keys(t).map(i=>lg(e,i,t[i]));return n.length===1?n[0]:function(){n.forEach(i=>i())}}function lg(e,t,n){let i=e[t],o=e.hasOwnProperty(t),s=o?i:function(){return Object.getPrototypeOf(e)[t].apply(this,arguments)},l=n(s);return i&&Object.setPrototypeOf(l,i),Object.setPrototypeOf(u,l),e[t]=u,f;function u(...m){return l===s&&e[t]===u&&f(),l.apply(this,m)}function f(){e[t]===u&&(o?e[t]=s:delete e[t]),l!==s&&(l=s,Object.setPrototypeOf(u,i||Function))}}var kf=require("obsidian");(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var _u=".";function Cs(e,t){if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;let n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;let o=e,s=t;for(let l of n)if(!i.includes(l)||!Cs(o[l],s[l]))return!1;return!0}function Ci(e,t){let n=e,i=t.split(_u);for(let o of i){if(n===void 0)return;n=n[o]}return n}function Eu(e,t,n){let i=new Error(`Property path ${t} not found`),o=e,s=t.split(_u);for(let u of s.slice(0,-1)){if(o===void 0)throw i;o=o[u]}let l=s.at(-1);if(o===void 0||l===void 0)throw i;o[l]=n}function Si(e,t={}){let n={functionHandlingMode:"exclude",maxDepth:-1,shouldCatchToJSONErrors:!1,shouldHandleCircularReferences:!1,shouldHandleErrors:!1,shouldHandleUndefined:!1,shouldSortKeys:!1,space:2,tokenSubstitutions:{circularReference:vs("CircularReference"),maxDepthLimitReached:vs("MaxDepthLimitReached"),toJSONFailed:vs("ToJSONFailed")}},i={...n,...t,tokenSubstitutions:{...n.tokenSubstitutions,...t.tokenSubstitutions}};i.maxDepth===-1&&(i.maxDepth=1/0);let o=[],l=_i(e,"",0,!0,i,o,new WeakSet),u=JSON.stringify(l,null,i.space)??"";return u=He(u,/"\[\[(?[A-Za-z]+)(?\d*)\]\]"/g,(f,m,h)=>ug({functionTexts:o,index:h?parseInt(h,10):0,key:m,substitutions:i.tokenSubstitutions})),u}function ug(e){switch(e.key){case"CircularReference":return e.substitutions.circularReference;case"Function":return e.functionTexts[e.index]??un(new Error(`Function with index ${e.index.toString()} not found`));case"MaxDepthLimitReached":return e.substitutions.maxDepthLimitReached;case"MaxDepthLimitReachedArray":return`Array(${e.index.toString()})`;case"ToJSONFailed":return e.substitutions.toJSONFailed;case"Undefined":return"undefined";default:break}}function cg(e,t,n,i,o,s){return t>i.maxDepth?Yn("MaxDepthLimitReachedArray",e.length):e.map((l,u)=>_i(l,u.toString(),t+1,n,i,o,s))}function fg(e,t,n){if(n.shouldHandleCircularReferences)return Yn("CircularReference");let i=e.constructor.name||"Object";throw new TypeError(`Converting circular structure to JSON ---> starting at object with constructor '${i}' ---- property '${t}' closes the circle`)}function dg(e,t,n){if(n.functionHandlingMode==="exclude")return;let i=t.length,o=n.functionHandlingMode==="full"?e.toString():`function ${e.name||"anonymous"}() { /* ... */ }`;return t.push(o),Yn("Function",i)}function hg(e,t,n,i,o,s,l){if(l.has(e))return fg(e,t,o);if(l.add(e),i){let u=pg(e,t,n,o,s,l);if(u!==void 0)return u}return Array.isArray(e)?cg(e,n,i,o,s,l):n>o.maxDepth?Yn("MaxDepthLimitReached"):e instanceof Error&&o.shouldHandleErrors?Ml(e):mg(e,n,i,o,s,l)}function mg(e,t,n,i,o,s){let l=Object.entries(e);return i.shouldSortKeys&&l.sort(([u],[f])=>u.localeCompare(f)),Object.fromEntries(l.map(([u,f])=>[u,_i(f,u,t+1,n,i,o,s)]))}function vs(e){return`{ "[[${e}]]": null }`}function Yn(e,t){return`[[${e}${t?.toString()??""}]]`}function _i(e,t,n,i,o,s,l){return e===void 0?n===0||o.shouldHandleUndefined?Yn("Undefined"):void 0:typeof e=="function"?dg(e,s,o):typeof e!="object"||e===null?e:hg(e,t,n,i,o,s,l)}function pg(e,t,n,i,o,s){let l=e.toJSON;if(typeof l=="function")try{let u=l.call(e,t);return _i(u,t,n,!1,i,o,s)}catch(u){if(i.shouldCatchToJSONErrors)return Yn("ToJSONFailed");throw u}}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();async function Ss(e,t,n){let i=he(e,t),o=he(e,n),s=Ne(e,o,!0),l=et(i),u=Re(i,l),f=e.vault.getAvailablePathForAttachments;return f.isExtended?f(u,l.slice(1),s,!0):await gg(e,u,l.slice(1),s,!0)}async function Wn(e,t){return dt(await Ss(e,"DUMMY_FILE.pdf",t))}async function gg(e,t,n,i,o){let s=e.vault.getConfig("attachmentFolderPath"),l=s==="."||s==="./",u=null;s.startsWith("./")&&(u=Dt(s,"./")),l?s=i?i.parent?.path??"":"":u&&(s=(i?i.parent?.getParentPrefix()??"":"")+u),s=pr(Tu(s)),t=pr(Tu(t));let f=ht(e,s,!0);!f&&u&&(o?f=Ln(e,s,!0):f=await e.vault.createFolder(s));let m=f?.getParentPrefix()??"";return e.vault.getAvailablePath(m+t,n)}async function _s(e,t){let n=await Wn(e,t),i=await Wn(e,we(se(t),"DUMMY_FILE.md"));return n!==i}function Tu(e){return e=He(e,/(?:[\\/])+/g,"/"),e=He(e,/^\/+|\/+$/g,""),e||"/"}var to=require("obsidian");var wg={};function hn(e,t){let n=t||wg,i=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,o=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return Fu(e,i,o)}function Fu(e,t,n){if(kg(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Au(e.children,t,n)}return Array.isArray(e)?Au(e,t,n):""}function Au(e,t,n){let i=[],o=-1;for(;++oo?0:o+t:t=t>o?o:t,n=n>0?n:0,i.length<1e4)l=Array.from(i),l.unshift(t,n),e.splice(...l);else for(n&&e.splice(t,n);s0?(Ce(e,e.length,0,t),e):t}var Mu={}.hasOwnProperty;function Iu(e){let t={},n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"\uFFFD":String.fromCodePoint(n)}function Nt(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var qe=Gt(/[A-Za-z]/),We=Gt(/[\dA-Za-z]/),Lu=Gt(/[#-'*+\--9=?A-Z^-~]/);function vr(e){return e!==null&&(e<32||e===127)}var Cr=Gt(/\d/),Ou=Gt(/[\dA-Fa-f]/),Du=Gt(/[!-/:-@[-`{-~]/);function R(e){return e!==null&&e<-2}function me(e){return e!==null&&(e<0||e===32)}function U(e){return e===-2||e===-1||e===32}var Ru=Gt(/\p{P}|\p{S}/u),Nu=Gt(/\s/);function Gt(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function V(e,t,n,i){let o=i?i-1:Number.POSITIVE_INFINITY,s=0;return l;function l(f){return U(f)?(e.enter(n),u(f)):t(f)}function u(f){return U(f)&&s++l))return;let J=t.events.length,j=J,G,ne;for(;j--;)if(t.events[j][0]==="exit"&&t.events[j][1].type==="chunkFlow"){if(G){ne=t.events[j][1].end;break}G=!0}for(C(i),_=J;_P;){let B=n[Y];t.containerState=B[1],B[0].exit.call(t,e)}n.length=P}function A(){o.write([null]),s=void 0,o=void 0,t.containerState._closeFlow=void 0}}function Cg(e,t,n){return V(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Bn(e){if(e===null||me(e)||Nu(e))return 1;if(Ru(e))return 2}function Hn(e,t,n){let i=[],o=-1;for(;++o1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let p={...e[i][1].end},w={...e[n][1].start};Bu(p,-f),Bu(w,f),l={type:f>1?"strongSequence":"emphasisSequence",start:p,end:{...e[i][1].end}},u={type:f>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:w},s={type:f>1?"strongText":"emphasisText",start:{...e[i][1].end},end:{...e[n][1].start}},o={type:f>1?"strong":"emphasis",start:{...l.start},end:{...u.end}},e[i][1].end={...l.start},e[n][1].start={...u.end},m=[],e[i][1].end.offset-e[i][1].start.offset&&(m=Ye(m,[["enter",e[i][1],t],["exit",e[i][1],t]])),m=Ye(m,[["enter",o,t],["enter",l,t],["exit",l,t],["enter",s,t]]),m=Ye(m,Hn(t.parser.constructs.insideSpan.null,e.slice(i+1,n),t)),m=Ye(m,[["exit",s,t],["enter",u,t],["exit",u,t],["exit",o,t]]),e[n][1].end.offset-e[n][1].start.offset?(h=2,m=Ye(m,[["enter",e[n][1],t],["exit",e[n][1],t]])):h=0,Ce(e,i-1,n-i+3,m),n=i+m.length-h-2;break}}for(n=-1;++n0&&U(_)?V(e,A,"linePrefix",s+1)(_):A(_)}function A(_){return _===null||R(_)?e.check(Hu,F,Y)(_):(e.enter("codeFlowValue"),P(_))}function P(_){return _===null||R(_)?(e.exit("codeFlowValue"),A(_)):(e.consume(_),P)}function Y(_){return e.exit("codeFenced"),t(_)}function B(_,J,j){let G=0;return ne;function ne(W){return _.enter("lineEnding"),_.consume(W),_.exit("lineEnding"),oe}function oe(W){return _.enter("codeFencedFence"),U(W)?V(_,X,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(W):X(W)}function X(W){return W===u?(_.enter("codeFencedFenceSequence"),N(W)):j(W)}function N(W){return W===u?(G++,_.consume(W),N):G>=l?(_.exit("codeFencedFenceSequence"),U(W)?V(_,H,"whitespace")(W):H(W)):j(W)}function H(W){return W===null||R(W)?(_.exit("codeFencedFence"),J(W)):j(W)}}}function Og(e,t,n){let i=this;return o;function o(l){return l===null?n(l):(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),s)}function s(l){return i.parser.lazy[i.now().line]?n(l):t(l)}}var _r={name:"codeIndented",tokenize:Rg},Dg={partial:!0,tokenize:Ng};function Rg(e,t,n){let i=this;return o;function o(m){return e.enter("codeIndented"),V(e,s,"linePrefix",5)(m)}function s(m){let h=i.events[i.events.length-1];return h&&h[1].type==="linePrefix"&&h[2].sliceSerialize(h[1],!0).length>=4?l(m):n(m)}function l(m){return m===null?f(m):R(m)?e.attempt(Dg,l,f)(m):(e.enter("codeFlowValue"),u(m))}function u(m){return m===null||R(m)?(e.exit("codeFlowValue"),l(m)):(e.consume(m),u)}function f(m){return e.exit("codeIndented"),t(m)}}function Ng(e,t,n){let i=this;return o;function o(l){return i.parser.lazy[i.now().line]?n(l):R(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),o):V(e,s,"linePrefix",5)(l)}function s(l){let u=i.events[i.events.length-1];return u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?t(l):R(l)?o(l):n(l)}}var Ts={name:"codeText",previous:Wg,resolve:Yg,tokenize:zg};function Yg(e){let t=e.length-4,n=3,i,o;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(i=n;++i=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-i+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-i+this.left.length).reverse())}splice(t,n,i){let o=n||0;this.setCursor(Math.trunc(t));let s=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return i&&Er(this.left,i),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Er(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Er(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(l):e.interrupt(i.parser.constructs.flow,n,t)(l)}}function Li(e,t,n,i,o,s,l,u,f){let m=f||Number.POSITIVE_INFINITY,h=0;return p;function p(C){return C===60?(e.enter(i),e.enter(o),e.enter(s),e.consume(C),e.exit(s),w):C===null||C===32||C===41||vr(C)?n(C):(e.enter(i),e.enter(l),e.enter(u),e.enter("chunkString",{contentType:"string"}),F(C))}function w(C){return C===62?(e.enter(s),e.consume(C),e.exit(s),e.exit(o),e.exit(i),t):(e.enter(u),e.enter("chunkString",{contentType:"string"}),k(C))}function k(C){return C===62?(e.exit("chunkString"),e.exit(u),w(C)):C===null||C===60||R(C)?n(C):(e.consume(C),C===92?v:k)}function v(C){return C===60||C===62||C===92?(e.consume(C),k):k(C)}function F(C){return!h&&(C===null||C===41||me(C))?(e.exit("chunkString"),e.exit(u),e.exit(l),e.exit(i),t(C)):h999||k===null||k===91||k===93&&!f||k===94&&!u&&"_hiddenFootnoteSupport"in l.parser.constructs?n(k):k===93?(e.exit(s),e.enter(o),e.consume(k),e.exit(o),e.exit(i),t):R(k)?(e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),h):(e.enter("chunkString",{contentType:"string"}),p(k))}function p(k){return k===null||k===91||k===93||R(k)||u++>999?(e.exit("chunkString"),h(k)):(e.consume(k),f||(f=!U(k)),k===92?w:p)}function w(k){return k===91||k===92||k===93?(e.consume(k),u++,p):p(k)}}function Di(e,t,n,i,o,s){let l;return u;function u(w){return w===34||w===39||w===40?(e.enter(i),e.enter(o),e.consume(w),e.exit(o),l=w===40?41:w,f):n(w)}function f(w){return w===l?(e.enter(o),e.consume(w),e.exit(o),e.exit(i),t):(e.enter(s),m(w))}function m(w){return w===l?(e.exit(s),f(l)):w===null?n(w):R(w)?(e.enter("lineEnding"),e.consume(w),e.exit("lineEnding"),V(e,m,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),h(w))}function h(w){return w===l||w===null||R(w)?(e.exit("chunkString"),m(w)):(e.consume(w),w===92?p:h)}function p(w){return w===l||w===92?(e.consume(w),h):h(w)}}function mn(e,t){let n;return i;function i(o){return R(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),n=!0,i):U(o)?V(e,i,n?"linePrefix":"lineSuffix")(o):t(o)}}var Fs={name:"definition",tokenize:Gg},jg={partial:!0,tokenize:qg};function Gg(e,t,n){let i=this,o;return s;function s(k){return e.enter("definition"),l(k)}function l(k){return Oi.call(i,e,u,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(k)}function u(k){return o=Nt(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),k===58?(e.enter("definitionMarker"),e.consume(k),e.exit("definitionMarker"),f):n(k)}function f(k){return me(k)?mn(e,m)(k):m(k)}function m(k){return Li(e,h,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(k)}function h(k){return e.attempt(jg,p,p)(k)}function p(k){return U(k)?V(e,w,"whitespace")(k):w(k)}function w(k){return k===null||R(k)?(e.exit("definition"),i.parser.defined.push(o),t(k)):n(k)}}function qg(e,t,n){return i;function i(u){return me(u)?mn(e,o)(u):n(u)}function o(u){return Di(e,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(u)}function s(u){return U(u)?V(e,l,"whitespace")(u):l(u)}function l(u){return u===null||R(u)?t(u):n(u)}}var Ps={name:"hardBreakEscape",tokenize:Zg};function Zg(e,t,n){return i;function i(s){return e.enter("hardBreakEscape"),e.consume(s),o}function o(s){return R(s)?(e.exit("hardBreakEscape"),t(s)):n(s)}}var Ms={name:"headingAtx",resolve:Qg,tokenize:Jg};function Qg(e,t){let n=e.length-2,i=3,o,s;return e[i][1].type==="whitespace"&&(i+=2),n-2>i&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(i===n-1||n-4>i&&e[n-2][1].type==="whitespace")&&(n-=i+1===n?2:4),n>i&&(o={type:"atxHeadingText",start:e[i][1].start,end:e[n][1].end},s={type:"chunkText",start:e[i][1].start,end:e[n][1].end,contentType:"text"},Ce(e,i,n-i+1,[["enter",o,t],["enter",s,t],["exit",s,t],["exit",o,t]])),e}function Jg(e,t,n){let i=0;return o;function o(h){return e.enter("atxHeading"),s(h)}function s(h){return e.enter("atxHeadingSequence"),l(h)}function l(h){return h===35&&i++<6?(e.consume(h),l):h===null||me(h)?(e.exit("atxHeadingSequence"),u(h)):n(h)}function u(h){return h===35?(e.enter("atxHeadingSequence"),f(h)):h===null||R(h)?(e.exit("atxHeading"),t(h)):U(h)?V(e,u,"whitespace")(h):(e.enter("atxHeadingText"),m(h))}function f(h){return h===35?(e.consume(h),f):(e.exit("atxHeadingSequence"),u(h))}function m(h){return h===null||h===35||me(h)?(e.exit("atxHeadingText"),u(h)):(e.consume(h),m)}}var Uu=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Is=["pre","script","style","textarea"];var Ls={concrete:!0,name:"htmlFlow",resolveTo:ew,tokenize:tw},Kg={partial:!0,tokenize:rw},Xg={partial:!0,tokenize:nw};function ew(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function tw(e,t,n){let i=this,o,s,l,u,f;return m;function m(y){return h(y)}function h(y){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(y),p}function p(y){return y===33?(e.consume(y),w):y===47?(e.consume(y),s=!0,F):y===63?(e.consume(y),o=3,i.interrupt?t:b):qe(y)?(e.consume(y),l=String.fromCharCode(y),T):n(y)}function w(y){return y===45?(e.consume(y),o=2,k):y===91?(e.consume(y),o=5,u=0,v):qe(y)?(e.consume(y),o=4,i.interrupt?t:b):n(y)}function k(y){return y===45?(e.consume(y),i.interrupt?t:b):n(y)}function v(y){let Pe="CDATA[";return y===Pe.charCodeAt(u++)?(e.consume(y),u===Pe.length?i.interrupt?t:X:v):n(y)}function F(y){return qe(y)?(e.consume(y),l=String.fromCharCode(y),T):n(y)}function T(y){if(y===null||y===47||y===62||me(y)){let Pe=y===47,Ct=l.toLowerCase();return!Pe&&!s&&Is.includes(Ct)?(o=1,i.interrupt?t(y):X(y)):Uu.includes(l.toLowerCase())?(o=6,Pe?(e.consume(y),C):i.interrupt?t(y):X(y)):(o=7,i.interrupt&&!i.parser.lazy[i.now().line]?n(y):s?A(y):P(y))}return y===45||We(y)?(e.consume(y),l+=String.fromCharCode(y),T):n(y)}function C(y){return y===62?(e.consume(y),i.interrupt?t:X):n(y)}function A(y){return U(y)?(e.consume(y),A):ne(y)}function P(y){return y===47?(e.consume(y),ne):y===58||y===95||qe(y)?(e.consume(y),Y):U(y)?(e.consume(y),P):ne(y)}function Y(y){return y===45||y===46||y===58||y===95||We(y)?(e.consume(y),Y):B(y)}function B(y){return y===61?(e.consume(y),_):U(y)?(e.consume(y),B):P(y)}function _(y){return y===null||y===60||y===61||y===62||y===96?n(y):y===34||y===39?(e.consume(y),f=y,J):U(y)?(e.consume(y),_):j(y)}function J(y){return y===f?(e.consume(y),f=null,G):y===null||R(y)?n(y):(e.consume(y),J)}function j(y){return y===null||y===34||y===39||y===47||y===60||y===61||y===62||y===96||me(y)?B(y):(e.consume(y),j)}function G(y){return y===47||y===62||U(y)?P(y):n(y)}function ne(y){return y===62?(e.consume(y),oe):n(y)}function oe(y){return y===null||R(y)?X(y):U(y)?(e.consume(y),oe):n(y)}function X(y){return y===45&&o===2?(e.consume(y),ee):y===60&&o===1?(e.consume(y),ue):y===62&&o===4?(e.consume(y),Se):y===63&&o===3?(e.consume(y),b):y===93&&o===5?(e.consume(y),ze):R(y)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(Kg,_e,N)(y)):y===null||R(y)?(e.exit("htmlFlowData"),N(y)):(e.consume(y),X)}function N(y){return e.check(Xg,H,_e)(y)}function H(y){return e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),W}function W(y){return y===null||R(y)?N(y):(e.enter("htmlFlowData"),X(y))}function ee(y){return y===45?(e.consume(y),b):X(y)}function ue(y){return y===47?(e.consume(y),l="",fe):X(y)}function fe(y){if(y===62){let Pe=l.toLowerCase();return Is.includes(Pe)?(e.consume(y),Se):X(y)}return qe(y)&&l.length<8?(e.consume(y),l+=String.fromCharCode(y),fe):X(y)}function ze(y){return y===93?(e.consume(y),b):X(y)}function b(y){return y===62?(e.consume(y),Se):y===45&&o===2?(e.consume(y),b):X(y)}function Se(y){return y===null||R(y)?(e.exit("htmlFlowData"),_e(y)):(e.consume(y),Se)}function _e(y){return e.exit("htmlFlow"),t(y)}}function nw(e,t,n){let i=this;return o;function o(l){return R(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),s):n(l)}function s(l){return i.parser.lazy[i.now().line]?n(l):t(l)}}function rw(e,t,n){return i;function i(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(qt,t,n)}}var Os={name:"htmlText",tokenize:iw};function iw(e,t,n){let i=this,o,s,l;return u;function u(b){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(b),f}function f(b){return b===33?(e.consume(b),m):b===47?(e.consume(b),B):b===63?(e.consume(b),P):qe(b)?(e.consume(b),j):n(b)}function m(b){return b===45?(e.consume(b),h):b===91?(e.consume(b),s=0,v):qe(b)?(e.consume(b),A):n(b)}function h(b){return b===45?(e.consume(b),k):n(b)}function p(b){return b===null?n(b):b===45?(e.consume(b),w):R(b)?(l=p,ue(b)):(e.consume(b),p)}function w(b){return b===45?(e.consume(b),k):p(b)}function k(b){return b===62?ee(b):b===45?w(b):p(b)}function v(b){let Se="CDATA[";return b===Se.charCodeAt(s++)?(e.consume(b),s===Se.length?F:v):n(b)}function F(b){return b===null?n(b):b===93?(e.consume(b),T):R(b)?(l=F,ue(b)):(e.consume(b),F)}function T(b){return b===93?(e.consume(b),C):F(b)}function C(b){return b===62?ee(b):b===93?(e.consume(b),C):F(b)}function A(b){return b===null||b===62?ee(b):R(b)?(l=A,ue(b)):(e.consume(b),A)}function P(b){return b===null?n(b):b===63?(e.consume(b),Y):R(b)?(l=P,ue(b)):(e.consume(b),P)}function Y(b){return b===62?ee(b):P(b)}function B(b){return qe(b)?(e.consume(b),_):n(b)}function _(b){return b===45||We(b)?(e.consume(b),_):J(b)}function J(b){return R(b)?(l=J,ue(b)):U(b)?(e.consume(b),J):ee(b)}function j(b){return b===45||We(b)?(e.consume(b),j):b===47||b===62||me(b)?G(b):n(b)}function G(b){return b===47?(e.consume(b),ee):b===58||b===95||qe(b)?(e.consume(b),ne):R(b)?(l=G,ue(b)):U(b)?(e.consume(b),G):ee(b)}function ne(b){return b===45||b===46||b===58||b===95||We(b)?(e.consume(b),ne):oe(b)}function oe(b){return b===61?(e.consume(b),X):R(b)?(l=oe,ue(b)):U(b)?(e.consume(b),oe):G(b)}function X(b){return b===null||b===60||b===61||b===62||b===96?n(b):b===34||b===39?(e.consume(b),o=b,N):R(b)?(l=X,ue(b)):U(b)?(e.consume(b),X):(e.consume(b),H)}function N(b){return b===o?(e.consume(b),o=void 0,W):b===null?n(b):R(b)?(l=N,ue(b)):(e.consume(b),N)}function H(b){return b===null||b===34||b===39||b===60||b===61||b===96?n(b):b===47||b===62||me(b)?G(b):(e.consume(b),H)}function W(b){return b===47||b===62||me(b)?G(b):n(b)}function ee(b){return b===62?(e.consume(b),e.exit("htmlTextData"),e.exit("htmlText"),t):n(b)}function ue(b){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(b),e.exit("lineEnding"),fe}function fe(b){return U(b)?V(e,ze,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):ze(b)}function ze(b){return e.enter("htmlTextData"),l(b)}}var pn={name:"labelEnd",resolveAll:lw,resolveTo:uw,tokenize:cw},ow={tokenize:fw},sw={tokenize:dw},aw={tokenize:hw};function lw(e){let t=-1,n=[];for(;++t=3&&(m===null||R(m))?(e.exit("thematicBreak"),t(m)):n(m)}function f(m){return m===o?(e.consume(m),i++,f):(e.exit("thematicBreakSequence"),U(m)?V(e,u,"whitespace")(m):u(m))}}var Fe={continuation:{tokenize:bw},exit:Cw,name:"list",tokenize:xw},kw={partial:!0,tokenize:Sw},yw={partial:!0,tokenize:vw};function xw(e,t,n){let i=this,o=i.events[i.events.length-1],s=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,l=0;return u;function u(k){let v=i.containerState.type||(k===42||k===43||k===45?"listUnordered":"listOrdered");if(v==="listUnordered"?!i.containerState.marker||k===i.containerState.marker:Cr(k)){if(i.containerState.type||(i.containerState.type=v,e.enter(v,{_container:!0})),v==="listUnordered")return e.enter("listItemPrefix"),k===42||k===45?e.check(gn,n,m)(k):m(k);if(!i.interrupt||k===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),f(k)}return n(k)}function f(k){return Cr(k)&&++l<10?(e.consume(k),f):(!i.interrupt||l<2)&&(i.containerState.marker?k===i.containerState.marker:k===41||k===46)?(e.exit("listItemValue"),m(k)):n(k)}function m(k){return e.enter("listItemMarker"),e.consume(k),e.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||k,e.check(qt,i.interrupt?n:h,e.attempt(kw,w,p))}function h(k){return i.containerState.initialBlankLine=!0,s++,w(k)}function p(k){return U(k)?(e.enter("listItemPrefixWhitespace"),e.consume(k),e.exit("listItemPrefixWhitespace"),w):n(k)}function w(k){return i.containerState.size=s+i.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(k)}}function bw(e,t,n){let i=this;return i.containerState._closeFlow=void 0,e.check(qt,o,s);function o(u){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,V(e,t,"listItemIndent",i.containerState.size+1)(u)}function s(u){return i.containerState.furtherBlankLines||!U(u)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,l(u)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,e.attempt(yw,t,l)(u))}function l(u){return i.containerState._closeFlow=!0,i.interrupt=void 0,V(e,e.attempt(Fe,t,n),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(u)}}function vw(e,t,n){let i=this;return V(e,o,"listItemIndent",i.containerState.size+1);function o(s){let l=i.events[i.events.length-1];return l&&l[1].type==="listItemIndent"&&l[2].sliceSerialize(l[1],!0).length===i.containerState.size?t(s):n(s)}}function Cw(e){e.exit(this.containerState.type)}function Sw(e,t,n){let i=this;return V(e,o,"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(s){let l=i.events[i.events.length-1];return!U(s)&&l&&l[1].type==="listItemPrefixWhitespace"?t(s):n(s)}}var Ri={name:"setextUnderline",resolveTo:_w,tokenize:Ew};function _w(e,t){let n=e.length,i,o,s;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){i=n;break}e[n][1].type==="paragraph"&&(o=n)}else e[n][1].type==="content"&&e.splice(n,1),!s&&e[n][1].type==="definition"&&(s=n);let l={type:"setextHeading",start:{...e[o][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",s?(e.splice(o,0,["enter",l,t]),e.splice(s+1,0,["exit",e[i][1],t]),e[i][1].end={...e[s][1].end}):e[i][1]=l,e.push(["exit",l,t]),e}function Ew(e,t,n){let i=this,o;return s;function s(m){let h=i.events.length,p;for(;h--;)if(i.events[h][1].type!=="lineEnding"&&i.events[h][1].type!=="linePrefix"&&i.events[h][1].type!=="content"){p=i.events[h][1].type==="paragraph";break}return!i.parser.lazy[i.now().line]&&(i.interrupt||p)?(e.enter("setextHeadingLine"),o=m,l(m)):n(m)}function l(m){return e.enter("setextHeadingLineSequence"),u(m)}function u(m){return m===o?(e.consume(m),u):(e.exit("setextHeadingLineSequence"),U(m)?V(e,f,"lineSuffix")(m):f(m))}function f(m){return m===null||R(m)?(e.exit("setextHeadingLine"),t(m)):n(m)}}var Vu={tokenize:Tw};function Tw(e){let t=this,n=e.attempt(qt,i,e.attempt(this.parser.constructs.flowInitial,o,V(e,e.attempt(this.parser.constructs.flow,o,e.attempt(As,o)),"linePrefix")));return n;function i(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function o(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),t.currentConstruct=void 0,n}}var $u={resolveAll:Zu()},ju=qu("string"),Gu=qu("text");function qu(e){return{resolveAll:Zu(e==="text"?Aw:void 0),tokenize:t};function t(n){let i=this,o=this.parser.constructs[e],s=n.attempt(o,l,u);return l;function l(h){return m(h)?s(h):u(h)}function u(h){if(h===null){n.consume(h);return}return n.enter("data"),n.consume(h),f}function f(h){return m(h)?(n.exit("data"),s(h)):(n.consume(h),f)}function m(h){if(h===null)return!0;let p=o[h],w=-1;if(p)for(;++wRw,contentInitial:()=>Pw,disable:()=>Nw,document:()=>Fw,flow:()=>Iw,flowInitial:()=>Mw,insideSpan:()=>Dw,string:()=>Lw,text:()=>Ow});var Fw={42:Fe,43:Fe,45:Fe,48:Fe,49:Fe,50:Fe,51:Fe,52:Fe,53:Fe,54:Fe,55:Fe,56:Fe,57:Fe,62:Ti},Pw={91:Fs},Mw={[-2]:_r,[-1]:_r,32:_r},Iw={35:Ms,42:gn,45:[Ri,gn],60:Ls,61:Ri,95:gn,96:Pi,126:Pi},Lw={38:Fi,92:Ai},Ow={[-5]:Tr,[-4]:Tr,[-3]:Tr,33:Ds,38:Fi,42:Sr,60:[Es,Os],91:Rs,92:[Ps,Ai],93:pn,95:Sr,96:Ts},Dw={null:[Sr,$u]},Rw={null:[42,95]},Nw={null:[]};function Qu(e,t,n){let i={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},o={},s=[],l=[],u=[],f=!0,m={attempt:G(J),check:G(j),consume:Y,enter:B,exit:_,interrupt:G(j,{interrupt:!0})},h={code:null,containerState:{},defineSkip:C,events:[],now:T,parser:e,previous:null,sliceSerialize:v,sliceStream:F,write:k},p=t.tokenize.call(h,m),w;return t.resolveAll&&s.push(t),h;function k(N){return l=Ye(l,N),A(),l[l.length-1]!==null?[]:(ne(t,0),h.events=Hn(s,h.events,h),h.events)}function v(N,H){return Ww(F(N),H)}function F(N){return Yw(l,N)}function T(){let{_bufferIndex:N,_index:H,line:W,column:ee,offset:ue}=i;return{_bufferIndex:N,_index:H,line:W,column:ee,offset:ue}}function C(N){o[N.line]=N.column,X()}function A(){let N;for(;i._index-1){let u=l[0];typeof u=="string"?l[0]=u.slice(i):l.shift()}s>0&&l.push(e[o].slice(0,s))}return l}function Ww(e,t){let n=-1,i=[],o;for(;++n0){let Ee=L.tokenStack[L.tokenStack.length-1];(Ee[1]||ec).call(L,void 0,Ee[0])}for(I.position={start:Qt(E.length>0?E[0][1].start:{line:1,column:1,offset:0}),end:Qt(E.length>0?E[E.length-2][1].end:{line:1,column:1,offset:0})},re=-1;++re "),s.shift(2);let l=n.indentLines(n.containerFlow(e,s.current()),jw);return o(),l}function jw(e,t,n){return">"+(n?"":" ")+e}function Yi(e,t){return ac(e,t.inConstruct,!0)&&!ac(e,t.notInConstruct,!1)}function ac(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let i=-1;for(;++il&&(l=s):s=1,o=i+t.length,i=n.indexOf(t,o);return l}function Ar(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function uc(e){let t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function cc(e,t,n,i){let o=uc(n),s=e.value||"",l=o==="`"?"GraveAccent":"Tilde";if(Ar(e,n)){let p=n.enter("codeIndented"),w=n.indentLines(s,Gw);return p(),w}let u=n.createTracker(i),f=o.repeat(Math.max(lc(s,o)+1,3)),m=n.enter("codeFenced"),h=u.move(f);if(e.lang){let p=n.enter(`codeFencedLang${l}`);h+=u.move(n.safe(e.lang,{before:h,after:" ",encode:["`"],...u.current()})),p()}if(e.lang&&e.meta){let p=n.enter(`codeFencedMeta${l}`);h+=u.move(" "),h+=u.move(n.safe(e.meta,{before:h,after:` -`,encode:["`"],...u.current()})),p()}return h+=u.move(` -`),s&&(h+=u.move(s+` -`)),h+=u.move(f),m(),h}function Gw(e,t,n){return(n?"":" ")+e}function Vn(e){let t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function fc(e,t,n,i){let o=Vn(n),s=o==='"'?"Quote":"Apostrophe",l=n.enter("definition"),u=n.enter("label"),f=n.createTracker(i),m=f.move("[");return m+=f.move(n.safe(n.associationId(e),{before:m,after:"]",...f.current()})),m+=f.move("]: "),u(),!e.url||/[\0- \u007F]/.test(e.url)?(u=n.enter("destinationLiteral"),m+=f.move("<"),m+=f.move(n.safe(e.url,{before:m,after:">",...f.current()})),m+=f.move(">")):(u=n.enter("destinationRaw"),m+=f.move(n.safe(e.url,{before:m,after:e.title?" ":` -`,...f.current()}))),u(),e.title&&(u=n.enter(`title${s}`),m+=f.move(" "+o),m+=f.move(n.safe(e.title,{before:m,after:o,...f.current()})),m+=f.move(o),u()),l(),m}function dc(e){let t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function Ze(e){return"&#x"+e.toString(16).toUpperCase()+";"}function $n(e,t,n){let i=Bn(e),o=Bn(t);return i===void 0?o===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:i===1?o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}$s.peek=qw;function $s(e,t,n,i){let o=dc(n),s=n.enter("emphasis"),l=n.createTracker(i),u=l.move(o),f=l.move(n.containerPhrasing(e,{after:o,before:u,...l.current()})),m=f.charCodeAt(0),h=$n(i.before.charCodeAt(i.before.length-1),m,o);h.inside&&(f=Ze(m)+f.slice(1));let p=f.charCodeAt(f.length-1),w=$n(i.after.charCodeAt(0),p,o);w.inside&&(f=f.slice(0,-1)+Ze(p));let k=l.move(o);return s(),n.attentionEncodeSurroundingInfo={after:w.outside,before:h.outside},u+f+k}function qw(e,t,n){return n.options.emphasis||"*"}var jn=function(e){if(e==null)return Kw;if(typeof e=="function")return Wi(e);if(typeof e=="object")return Array.isArray(e)?Zw(e):Qw(e);if(typeof e=="string")return Jw(e);throw new Error("Expected function, string, or object as test")};function Zw(e){let t=[],n=-1;for(;++n":""))+")"})}return w;function w(){let k=mc,v,F,T;if((!t||s(f,m,h[h.length-1]||void 0))&&(k=ek(n(f,h)),k[0]===wn))return k;if("children"in f&&f.children){let C=f;if(C.children&&k[0]!==Bi)for(F=(i?C.children.length:-1)+l,T=h.concat(C);F>-1&&F",...f.current()})),m+=f.move(">")):(u=n.enter("destinationRaw"),m+=f.move(n.safe(e.url,{before:m,after:e.title?" ":")",...f.current()}))),u(),e.title&&(u=n.enter(`title${s}`),m+=f.move(" "+o),m+=f.move(n.safe(e.title,{before:m,after:o,...f.current()})),m+=f.move(o),u()),m+=f.move(")"),l(),m}function nk(){return"!"}Qs.peek=rk;function Qs(e,t,n,i){let o=e.referenceType,s=n.enter("imageReference"),l=n.enter("label"),u=n.createTracker(i),f=u.move("!["),m=n.safe(e.alt,{before:f,after:"]",...u.current()});f+=u.move(m+"]["),l();let h=n.stack;n.stack=[],l=n.enter("reference");let p=n.safe(n.associationId(e),{before:f,after:"]",...u.current()});return l(),n.stack=h,s(),o==="full"||!m||m!==p?f+=u.move(p+"]"):o==="shortcut"?f=f.slice(0,-1):f+=u.move("]"),f}function rk(){return"!"}Js.peek=ik;function Js(e,t,n){let i=e.value||"",o="`",s=-1;for(;new RegExp("(^|[^`])"+o+"([^`]|$)").test(i);)o+="`";for(/[^ \r\n]/.test(i)&&(/^[ \r\n]/.test(i)&&/[ \r\n]$/.test(i)||/^`|`$/.test(i))&&(i=" "+i+" ");++s\u007F]/.test(e.url))}Xs.peek=ok;function Xs(e,t,n,i){let o=Vn(n),s=o==='"'?"Quote":"Apostrophe",l=n.createTracker(i),u,f;if(Ks(e,n)){let h=n.stack;n.stack=[],u=n.enter("autolink");let p=l.move("<");return p+=l.move(n.containerPhrasing(e,{before:p,after:">",...l.current()})),p+=l.move(">"),u(),n.stack=h,p}u=n.enter("link"),f=n.enter("label");let m=l.move("[");return m+=l.move(n.containerPhrasing(e,{before:m,after:"](",...l.current()})),m+=l.move("]("),f(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(f=n.enter("destinationLiteral"),m+=l.move("<"),m+=l.move(n.safe(e.url,{before:m,after:">",...l.current()})),m+=l.move(">")):(f=n.enter("destinationRaw"),m+=l.move(n.safe(e.url,{before:m,after:e.title?" ":")",...l.current()}))),f(),e.title&&(f=n.enter(`title${s}`),m+=l.move(" "+o),m+=l.move(n.safe(e.title,{before:m,after:o,...l.current()})),m+=l.move(o),f()),m+=l.move(")"),u(),m}function ok(e,t,n){return Ks(e,n)?"<":"["}ea.peek=sk;function ea(e,t,n,i){let o=e.referenceType,s=n.enter("linkReference"),l=n.enter("label"),u=n.createTracker(i),f=u.move("["),m=n.containerPhrasing(e,{before:f,after:"]",...u.current()});f+=u.move(m+"]["),l();let h=n.stack;n.stack=[],l=n.enter("reference");let p=n.safe(n.associationId(e),{before:f,after:"]",...u.current()});return l(),n.stack=h,s(),o==="full"||!m||m!==p?f+=u.move(p+"]"):o==="shortcut"?f=f.slice(0,-1):f+=u.move("]"),f}function sk(){return"["}function Gn(e){let t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function gc(e){let t=Gn(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function wc(e){let t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function Ui(e){let t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function kc(e,t,n,i){let o=n.enter("list"),s=n.bulletCurrent,l=e.ordered?wc(n):Gn(n),u=e.ordered?l==="."?")":".":gc(n),f=t&&n.bulletLastUsed?l===n.bulletLastUsed:!1;if(!e.ordered){let h=e.children?e.children[0]:void 0;if((l==="*"||l==="-")&&h&&(!h.children||!h.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(f=!0),Ui(n)===l&&h){let p=-1;for(;++p-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+s);let l=s.length+1;(o==="tab"||o==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(l=Math.ceil(l/4)*4);let u=n.createTracker(i);u.move(s+" ".repeat(l-s.length)),u.shift(l);let f=n.enter("listItem"),m=n.indentLines(n.containerFlow(e,u.current()),h);return f(),m;function h(p,w,k){return w?(k?"":" ".repeat(l))+p:(k?s:s+" ".repeat(l-s.length))+p}}function bc(e,t,n,i){let o=n.enter("paragraph"),s=n.enter("phrasing"),l=n.containerPhrasing(e,i);return s(),o(),l}var ta=jn(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function vc(e,t,n,i){return(e.children.some(function(l){return ta(l)})?n.containerPhrasing:n.containerFlow).call(n,e,i)}function Cc(e){let t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}na.peek=ak;function na(e,t,n,i){let o=Cc(n),s=n.enter("strong"),l=n.createTracker(i),u=l.move(o+o),f=l.move(n.containerPhrasing(e,{after:o,before:u,...l.current()})),m=f.charCodeAt(0),h=$n(i.before.charCodeAt(i.before.length-1),m,o);h.inside&&(f=Ze(m)+f.slice(1));let p=f.charCodeAt(f.length-1),w=$n(i.after.charCodeAt(0),p,o);w.inside&&(f=f.slice(0,-1)+Ze(p));let k=l.move(o+o);return s(),n.attentionEncodeSurroundingInfo={after:w.outside,before:h.outside},u+f+k}function ak(e,t,n){return n.options.strong||"*"}function Sc(e,t,n,i){return n.safe(e.value,i)}function _c(e){let t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function Ec(e,t,n){let i=(Ui(n)+(n.options.ruleSpaces?" ":"")).repeat(_c(n));return n.options.ruleSpaces?i.slice(0,-1):i}var Tc={blockquote:sc,break:Vs,code:cc,definition:fc,emphasis:$s,hardBreak:Vs,heading:pc,html:qs,image:Zs,imageReference:Qs,inlineCode:Js,link:Xs,linkReference:ea,list:kc,listItem:xc,paragraph:bc,root:vc,strong:na,text:Sc,thematicBreak:Ec};var Ac=[lk];function lk(e,t,n,i){if(t.type==="code"&&Ar(t,i)&&(e.type==="list"||e.type===t.type&&Ar(e,i)))return!1;if("spread"in n&&typeof n.spread=="boolean")return e.type==="paragraph"&&(e.type===t.type||t.type==="definition"||t.type==="heading"&&Hi(t,i))?void 0:n.spread?1:0}var kn=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"],Fc=[{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"\r",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:` -`,inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"!",after:"\\[",inConstruct:"phrasing",notInConstruct:kn},{character:'"',inConstruct:"titleQuote"},{atBreak:!0,character:"#"},{character:"#",inConstruct:"headingAtx",after:`(?:[\r -]|$)`},{character:"&",after:"[#A-Za-z]",inConstruct:"phrasing"},{character:"'",inConstruct:"titleApostrophe"},{character:"(",inConstruct:"destinationRaw"},{before:"\\]",character:"(",inConstruct:"phrasing",notInConstruct:kn},{atBreak:!0,before:"\\d+",character:")"},{character:")",inConstruct:"destinationRaw"},{atBreak:!0,character:"*",after:`(?:[ \r -*])`},{character:"*",inConstruct:"phrasing",notInConstruct:kn},{atBreak:!0,character:"+",after:`(?:[ \r -])`},{atBreak:!0,character:"-",after:`(?:[ \r --])`},{atBreak:!0,before:"\\d+",character:".",after:`(?:[ \r -]|$)`},{atBreak:!0,character:"<",after:"[!/?A-Za-z]"},{character:"<",after:"[!/?A-Za-z]",inConstruct:"phrasing",notInConstruct:kn},{character:"<",inConstruct:"destinationLiteral"},{atBreak:!0,character:"="},{atBreak:!0,character:">"},{character:">",inConstruct:"destinationLiteral"},{atBreak:!0,character:"["},{character:"[",inConstruct:"phrasing",notInConstruct:kn},{character:"[",inConstruct:["label","reference"]},{character:"\\",after:"[\\r\\n]",inConstruct:"phrasing"},{character:"]",inConstruct:["label","reference"]},{atBreak:!0,character:"_"},{character:"_",inConstruct:"phrasing",notInConstruct:kn},{atBreak:!0,character:"`"},{character:"`",inConstruct:["codeFencedLangGraveAccent","codeFencedMetaGraveAccent"]},{character:"`",inConstruct:"phrasing",notInConstruct:kn},{atBreak:!0,character:"~"}];function Pc(e){return e.label||!e.identifier?e.label||"":Ni(e.identifier)}function Mc(e){if(!e._compiled){let t=(e.atBreak?"[\\r\\n][\\t ]*":"")+(e.before?"(?:"+e.before+")":"");e._compiled=new RegExp((t?"("+t+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(e.character)?"\\":"")+e.character+(e.after?"(?:"+e.after+")":""),"g")}return e._compiled}function Ic(e,t,n){let i=t.indexStack,o=e.children||[],s=[],l=-1,u=n.before,f;i.push(-1);let m=t.createTracker(n);for(;++l0&&(u==="\r"||u===` -`)&&h.type==="html"&&(s[s.length-1]=s[s.length-1].replace(/(\r?\n|\r)$/," "),u=" ",m=t.createTracker(n),m.move(s.join("")));let w=t.handle(h,e,t,{...m.current(),after:p,before:u});f&&f===w.slice(0,1)&&(w=Ze(f.charCodeAt(0))+w.slice(1));let k=t.attentionEncodeSurroundingInfo;t.attentionEncodeSurroundingInfo=void 0,f=void 0,k&&(s.length>0&&k.before&&u===s[s.length-1].slice(-1)&&(s[s.length-1]=s[s.length-1].slice(0,-1)+Ze(u.charCodeAt(0))),k.after&&(f=p)),m.move(w),s.push(w),u=w.slice(-1)}return i.pop(),s.join("")}function Lc(e,t,n){let i=t.indexStack,o=e.children||[],s=t.createTracker(n),l=[],u=-1;for(i.push(-1);++u - -`}return` - -`}var ck=/\r?\n|\r/g;function Oc(e,t){let n=[],i=0,o=0,s;for(;s=ck.exec(e);)l(e.slice(i,s.index)),n.push(s[0]),i=s.index+s[0].length,o++;return l(e.slice(i)),n.join("");function l(u){n.push(t(u,o,!u))}}function Rc(e,t,n){let i=(n.before||"")+(t||"")+(n.after||""),o=[],s=[],l={},u=-1;for(;++u=m||h+1l.length,f;u&&l.push(o);try{f=e.apply(this,l)}catch(m){let h=m;if(u&&n)throw h;return o(h)}u||(f&&f.then&&typeof f.then=="function"?f.then(s,o):f instanceof Error?o(f):s(f))}function o(l,...u){n||(n=!0,t(l,...u))}function s(l){o(null,l)}}var ve=class extends Error{constructor(t,n,i){super(),typeof n=="string"&&(i=n,n=void 0);let o="",s={},l=!1;if(n&&("line"in n&&"column"in n?s={place:n}:"start"in n&&"end"in n?s={place:n}:"type"in n?s={ancestors:[n],place:n.position}:s={...n}),typeof t=="string"?o=t:!s.cause&&t&&(l=!0,o=t.message,s.cause=t),!s.ruleId&&!s.source&&typeof i=="string"){let f=i.indexOf(":");f===-1?s.ruleId=i:(s.source=i.slice(0,f),s.ruleId=i.slice(f+1))}if(!s.place&&s.ancestors&&s.ancestors){let f=s.ancestors[s.ancestors.length-1];f&&(s.place=f.position)}let u=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=u?u.column:void 0,this.fatal=void 0,this.file,this.message=o,this.line=u?u.line:void 0,this.name=Zt(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=l&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual,this.expected,this.note,this.url}};ve.prototype.file="";ve.prototype.name="";ve.prototype.reason="";ve.prototype.message="";ve.prototype.stack="";ve.prototype.column=void 0;ve.prototype.line=void 0;ve.prototype.ancestors=void 0;ve.prototype.cause=void 0;ve.prototype.fatal=void 0;ve.prototype.place=void 0;ve.prototype.ruleId=void 0;ve.prototype.source=void 0;var ot=je(require("node:path"),1);var sa=je(require("node:process"),1);var aa=require("node:url");function ji(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}var la=["history","path","basename","stem","extname","dirname"],Pr=class{constructor(t){let n;t?ji(t)?n={path:t}:typeof t=="string"||kk(t)?n={value:t}:n=t:n={},this.cwd="cwd"in n?"":sa.default.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let i=-1;for(;++i0){let[k,...v]=h,F=i[w][1];Fr(F)&&Fr(k)&&(k=(0,qi.default)(!0,F,k)),i[w]=[m,k,...v]}}}},pa=new ma().freeze();function fa(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function da(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function ha(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Qc(e){if(!Fr(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function Jc(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function Gi(e){return xk(e)?e:new Pr(e)}function xk(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function bk(e){return typeof e=="string"||vk(e)}function vk(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var Kc=pa().use(Un).use(Vi).freeze();var wa={d:(e,t)=>{for(var n in t)wa.o(t,n)&&!wa.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},ka={};wa.d(ka,{Z:()=>Ek,$:()=>nf});var qn={horizontalTab:-2,virtualSpace:-1,nul:0,eof:null,space:32};function Xc(e){return e{e.exports=function(t){var n,i;return t._compiled||(n=t.before?"(?:"+t.before+")":"",i=t.after?"(?:"+t.after+")":"",t.atBreak&&(n="[\\r\\n][\\t ]*"+n),t._compiled=new RegExp((n?"("+n+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(t.character)?"\\":"")+t.character+(i||""),"g")),t._compiled}},112:e=>{function t(n,i,o){var s;if(!i)return o;for(typeof i=="string"&&(i=[i]),s=-1;++s{e.exports=function(u,f,m){for(var h,p,w,k,v,F,T,C,A=(m.before||"")+(f||"")+(m.after||""),P=[],Y=[],B={},_=-1;++_=C||w+1{var t=e&&e.__esModule?()=>e.default:()=>e;return bt.d(t,{a:t}),t},bt.d=(e,t)=>{for(var n in t)bt.o(t,n)&&!bt.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},bt.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var ya={};(()=>{function e(o={}){let s=o.permalinks||[],l=o.pageResolver||(w=>[w.replace(/ /g,"_").toLowerCase()]),u=o.newClassName||"new",f=o.wikiLinkClassName||"internal",m=o.hrefTemplate||(w=>`#/page/${w}`),h;function p(w){return w[w.length-1]}return{enter:{wikiLink:function(w){h={type:"wikiLink",value:null,data:{alias:null,permalink:null,exists:null}},this.enter(h,w)}},exit:{wikiLinkTarget:function(w){let k=this.sliceSerialize(w);p(this.stack).value=k},wikiLinkAlias:function(w){let k=this.sliceSerialize(w);p(this.stack).data.alias=k},wikiLink:function(w){this.exit(w);let k=h,v=l(k.value),F=v.find(Y=>s.indexOf(Y)!==-1),T=F!==void 0,C;C=T?F:v[0]||"";let A=k.value;k.data.alias&&(A=k.data.alias);let P=f;T||(P+=" "+u),k.data.alias=A,k.data.permalink=C,k.data.exists=T,k.data.hName="a",k.data.hProperties={className:P,href:m(C)},k.data.hChildren=[{type:"text",value:A}]}}}}bt.d(ya,{V:()=>e,x:()=>i});var t=bt(113),n=bt.n(t);function i(o={}){let s=o.aliasDivider||":";return{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]},{character:"]",inConstruct:["label","reference"]}],handlers:{wikiLink:function(l,u,f){let m=f.enter("wikiLink"),h=n()(f,l.value,{before:"[",after:"]"}),p=n()(f,l.data.alias,{before:"[",after:"]"}),w;return w=p!==h?`[[${h}${s}${p}]]`:`[[${h}]]`,m(),w}}}}})();var Sk=ya.V,_k=ya.x,tf=!1;function nf(e={}){let t=this.data();function n(i,o){t[i]?t[i].push(o):t[i]=[o]}!tf&&(this.Parser&&this.Parser.prototype&&this.Parser.prototype.blockTokenizers||this.Compiler&&this.Compiler.prototype&&this.Compiler.prototype.visitors)&&(tf=!0,console.warn("[remark-wiki-link] Warning: please upgrade to remark 13 to use this plugin")),n("micromarkExtensions",function(){var i=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}).aliasDivider||":",o="]]";return{text:{91:{tokenize:function(s,l,u){var f,m,h=0,p=0,w=0;return function(A){return A!=="[[".charCodeAt(p)?u(A):(s.enter("wikiLink"),s.enter("wikiLinkMarker"),k(A))};function k(A){return p===2?(s.exit("wikiLinkMarker"),function(P){return ga(P)||P===qn.eof?u(P):(s.enter("wikiLinkData"),s.enter("wikiLinkTarget"),v(P))}(A)):A!=="[[".charCodeAt(p)?u(A):(s.consume(A),p++,k)}function v(A){return A===i.charCodeAt(h)?f?(s.exit("wikiLinkTarget"),s.enter("wikiLinkAliasMarker"),F(A)):u(A):A===o.charCodeAt(w)?f?(s.exit("wikiLinkTarget"),s.exit("wikiLinkData"),s.enter("wikiLinkMarker"),C(A)):u(A):ga(A)||A===qn.eof?u(A):(Xc(A)||(f=!0),s.consume(A),v)}function F(A){return h===i.length?(s.exit("wikiLinkAliasMarker"),s.enter("wikiLinkAlias"),T(A)):A!==i.charCodeAt(h)?u(A):(s.consume(A),h++,F)}function T(A){return A===o.charCodeAt(w)?m?(s.exit("wikiLinkAlias"),s.exit("wikiLinkData"),s.enter("wikiLinkMarker"),C(A)):u(A):ga(A)||A===qn.eof?u(A):(Xc(A)||(m=!0),s.consume(A),T)}function C(A){return w===2?(s.exit("wikiLinkMarker"),s.exit("wikiLink"),l(A)):A!==o.charCodeAt(w)?u(A):(s.consume(A),w++,C)}}}}}}(e)),n("fromMarkdownExtensions",Sk(e)),n("toMarkdownExtensions",_k(e))}var Ek=nf,h_=ka.Z,rf=ka.$;(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();function xa(e){try{return!e.includes("://")||e.trim()!==e?!1:(new URL(e),!0)}catch{return!1}}var yn=require("obsidian");(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();function Zi(e){let t=(0,yn.getFrontMatterInfo)(e);return(0,yn.parseYaml)(t.frontmatter)??{}}function of(e,t){let n=(0,yn.getFrontMatterInfo)(e);if(Object.keys(t).length===0)return e.slice(n.contentStart);let i=(0,yn.stringifyYaml)(t);return n.exists?Ol(e,i,n.from,n.to):`--- -${i}--- -${e}`}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();async function sf(e,t,n){let i=Ne(e,t),o=dt(n);await Zn(e,o);let s=Qi(e,n);try{await e.vault.copy(i,s)}catch(l){if(!await e.vault.exists(s))throw l}return s}async function Zn(e,t){if(await e.vault.adapter.exists(t))return!1;try{return await e.vault.createFolder(t),!0}catch(n){if(!await e.vault.exists(t))throw n;return!0}}function Qi(e,t){let n=et(t);return e.vault.getAvailablePath(we(se(t),Re(t,n)),n.slice(1))}function Qn(e){return e.vault.getMarkdownFiles().sort((t,n)=>t.path.localeCompare(n.path))}function ba(e,t,n){let i=he(e,t);if(e.vault.adapter.insensitive){let o=se(n),s=Re(n),l;for(;l=ht(e,o,!0),!l;)s=we(Re(o),s),o=se(o);n=we(l.getParentPrefix(),s)}return i.toLowerCase()===n.toLowerCase()?n:Qi(e,n)}async function va(e,t){let n=await Jn(e,he(e,t));return n.files.length===0&&n.folders.length===0}async function Jn(e,t){let n=he(e,t),i={files:[],folders:[]};if((await e.vault.adapter.stat(n))?.type!=="folder")return i;try{return await e.vault.adapter.list(n)}catch(o){if(await e.vault.exists(n))throw o;return i}}async function af(e,t,n,i={}){let s={...{shouldFailOnMissingFile:!0},...i};await br(async()=>{let l=await Ca(e,t);if(l===null)return h();let u=await mr(n,l);if(u===null)return!1;let f=!0;if(!await lf(e,t,async p=>{await e.vault.process(p,w=>w!==l?(console.warn("Content has changed since it was read. Retrying...",{actualContent:w,expectedContent:l,path:p.path}),f=!1,w):u)}))return h();return f;function h(){if(s.shouldFailOnMissingFile){let p=he(e,t);throw new Error(`File '${p}' not found`)}return!0}},s)}async function Ca(e,t){let n=null;return await lf(e,t,async i=>{n=await e.vault.read(i)}),n}async function Ji(e,t,n){let i=Ne(e,t,!1,!0),o=ba(e,t,n);if(i.path.toLowerCase()===o.toLowerCase())return i.path!==n&&await e.vault.rename(i,o),o;let s=dt(o);await Zn(e,s);try{await e.vault.rename(i,o)}catch(l){if(!await e.vault.exists(o)||await e.vault.exists(i.path))throw l}return o}async function lf(e,t,n){let i=he(e,t),o=ce(e,i);if(!o||o.deleted)return!1;try{return await n(o),!0}catch(s){if(o=ce(e,i),!o||o.deleted)return!1;throw s}}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();async function Mr(e,t,n,i={}){await af(e,t,async o=>{let s=await mr(n),l=cn(e,t)?Tk(o):Zi(o);for(let h of s)if(xn(h)){let p=o.slice(h.startIndex,h.endIndex);if(p!==h.oldContent)return console.warn("Content mismatch",{actualContent:p,endIndex:h.endIndex,expectedContent:h.oldContent,path:he(e,t),startIndex:h.startIndex}),null}else if(Ki(h)){let p=Ci(l,h.frontmatterKey);if(p!==h.oldContent)return console.warn("Content mismatch",{actualContent:p,expectedContent:h.oldContent,frontmatterKey:h.frontmatterKey,path:he(e,t)}),null}s.sort((h,p)=>xn(h)&&xn(p)?h.startIndex-p.startIndex:Ki(h)&&Ki(p)?h.frontmatterKey.localeCompare(p.frontmatterKey):xn(h)?-1:1),s=s.filter((h,p)=>h.oldContent===h.newContent?!1:p===0?!0:!Cs(h,s[p-1]));for(let h=1;hp.startIndex)return console.warn("Overlapping changes",{change:p,previousChange:w}),null}let u="",f=0,m=!1;for(let h of s)xn(h)?(u+=o.slice(f,h.startIndex),u+=h.newContent,f=h.endIndex):Ki(h)&&(Eu(l,h.frontmatterKey,h.newContent),m=!0);return cn(e,t)?u=JSON.stringify(l,null," "):(u+=o.slice(f),m&&(u=of(u,l))),u},i)}function xn(e){return e.startIndex!==void 0}function Ki(e){return e.frontmatterKey!==void 0}function Tk(e){let t;try{t=JSON.parse(e)}catch{t=null}return(t===null||typeof t!="object")&&(t={}),t}var cf=require("obsidian");(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();function Xi(e,t){if(Vt(e))return{endIndex:e.position.end.offset,newContent:t,oldContent:e.original,startIndex:e.position.start.offset};if(Ot(e))return{frontmatterKey:e.key,newContent:t,oldContent:e.original};throw new Error("Unknown link type")}function uf(e){return e.sort((t,n)=>Ot(t)&&Ot(n)?t.key.localeCompare(n.key):Vt(t)&&Vt(n)?t.position.start.offset-n.position.start.offset:Ot(t)?1:-1)}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();async function Ak(e){for(let[t,n]of Object.entries(e.metadataCache.fileCache))n.hash&&(e.metadataCache.metadataCache[n.hash]||await mt(e,t))}function vt(e){let t=[];return e.links&&t.push(...e.links),e.embeds&&t.push(...e.embeds),e.frontmatterLinks&&t.push(...e.frontmatterLinks),uf(t),t=t.filter((n,i)=>{if(i===0)return!0;let o=t[i-1];return o?Vt(n)&&Vt(o)?n.position.start.offset!==o.position.start.offset:Ot(n)&&Ot(o)?n.key!==o.key:!0:!0}),t}function eo(e,t){let n=Ne(e,t,!0);return Sa(e,n,()=>e.metadataCache.getBacklinksForFile(n))}async function Jt(e,t,n={}){let i=e.metadataCache.getBacklinksForFile.safe;if(i)return i(t);let o=null;return await br(async()=>{let s=Ne(e,t);await Ak(e),o=eo(e,s);for(let l of o.keys()){let u=ce(e,l);if(!u)return!1;await ff(e,u);let f=await Ca(e,u);if(!f)return!1;let m=Zi(f),h=o.get(l);if(!h)return!1;for(let p of h){let w;if(Vt(p))w=f.slice(p.position.start.offset,p.position.end.offset);else if(Ot(p)){let k=Ci(m,p.key);if(typeof k!="string")return!1;w=k}else return!0;if(w!==p.original)return!1}}return!0},n),o}async function mt(e,t,n={}){let i=Ue("MetadataCache:getCacheSafe"),o=null;return await br(async()=>{let s=ce(e,t);if(!s||s.deleted)return o=null,!0;await ff(e,s);let l=e.metadataCache.getFileInfo(s.path),u=await e.vault.adapter.stat(s.path);return l?u?s.stat.mtime{for(let o of n)delete e.vault.fileMap[o];tt(t)&&e.metadataCache.uniqueFileLookup.remove(t.name.toLowerCase(),t)}}function Sa(e,t,n){let i=Fk(e,t);try{return n()}finally{i()}}async function ff(e,t){if(!ke(e,t))return;let n=he(e,t);for(let i of e.workspace.getLeavesOfType("markdown"))i.view instanceof cf.MarkdownView&&i.view.file?.path===n&&await i.view.save()}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();function df(e){return e.vault.getConfig("newLinkFormat")==="relative"}function hf(e){return!e.vault.getConfig("useMarkdownLinks")}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Pk=/[\\\x00\x08\x0B\x0C\x0E-\x1F ]/g,Mk=/[\\[\]<>_*~=`$]/g,pf="|";function Ik(e){let t=Yt(e.app,e.link,e.oldSourcePathOrFile??e.newSourcePathOrFile);return t?Ea({app:e.app,link:e.link,newSourcePathOrFile:e.newSourcePathOrFile,newTargetPathOrFile:t,oldSourcePathOrFile:e.oldSourcePathOrFile,shouldForceMarkdownLinks:e.shouldForceMarkdownLinks,shouldUpdateFilenameAlias:e.shouldUpdateFilenameAlias}):e.link.original}async function _a(e,t,n,i={}){await Mr(e,t,async()=>{let o=await mt(e,t);if(!o)return[];let s=[];for(let l of vt(o)){let u=await n(l);u!==void 0&&s.push(Xi(l,u))}return s},i)}function Yt(e,t,n){let{linkPath:i}=Kt(t.link);return e.metadataCache.getFirstLinkpathDest(i,he(e,n))}function no(e){let{app:t}=e,i=(t.fileManager.generateMarkdownLink.defaultOptionsFn??(()=>({})))();e={...{isEmptyEmbedAliasAllowed:!0},...i,...e};let s=Ne(t,e.targetPathOrFile,e.isNonExistingFileAllowed);return Sa(t,s,()=>Nk(e))}function Ir(e){let t=Hk(e);if(t)return t;let n="!",i=e.startsWith(n);i&&(e=Dt(e,n));let s=Kc().use(Un).use(rf,{aliasDivider:pf}).parse(e);if(s.children.length!==1)return null;let l=s.children[0];if(l?.type!=="paragraph"||l.children.length!==1)return null;let u=l.children[0];if(u?.position?.start.offset!==0||u.position.end.offset!==e.length)return null;switch(u.type){case"link":return Bk(u,e,i);case"wikiLink":return Uk(u,e,i);default:return null}}function Lk(e){let{app:t,displayText:n,isWikilink:i,newSourcePathOrFile:o,oldSourcePathOrFile:s,oldTargetPath:l,targetPathOrFile:u}=e;if(i===!1)return!1;if(!n)return!0;let f=Ne(t,u,!0),m=he(t,o),h=he(t,s??o),p=se(m),w=se(h),k=new Set;for(let F of[f.path,l]){if(!F)continue;let T=he(t,F);k.add(T),k.add(Re(T)),k.add(In(p,T)),k.add(In(w,T))}for(let F of[h,m])k.add(t.metadataCache.fileToLinktext(f,F,!1));let v=He((0,to.normalizePath)(n.split(" > ")[0]??""),/^\.\//g,"").toLowerCase();for(let F of k){if(F.toLowerCase()===v)return!0;let T=se(F),C=Re(F,et(F));if(we(T,C).toLowerCase()===v)return!0}return!1}function Kt(e){let t=(0,to.parseLinktext)(pr(e));return{linkPath:t.path,subpath:t.subpath}}function Ok(e){return Ir(e)?.hasAngleBrackets??!1}function ro(e){return Ir(e)?.isEmbed??!1}function Dk(e){return Ir(e)?.url.startsWith("./")??!1}function Kn(e){return Ir(e)?.isWikilink??!1}function Ea(e){let{app:t,link:n,newSourcePathOrFile:i,newTargetPathOrFile:o,oldSourcePathOrFile:s,oldTargetPathOrFile:l,shouldForceMarkdownLinks:u,shouldUpdateFilenameAlias:f}=e;if(!o)return n.original;let m=Ne(t,o,!0),h=he(t,l??o),p=Kn(n.original)&&u!==!0,{subpath:w}=Kt(n.link),k=!f;if(cn(t,i))return m.path+w;let v;if(p){let T=Ir(n.original);T?.alias&&(v=T.alias,k=!0)}return v??=Lk({app:t,displayText:n.displayText,isWikilink:p,newSourcePathOrFile:i,oldSourcePathOrFile:s,oldTargetPath:h,targetPathOrFile:m})?void 0:n.displayText,k||(v===Re(h,et(h))?v=m.basename:v===Re(h)&&(v=m.name)),no({alias:v,app:t,isWikilink:u?!1:void 0,originalLink:n.original,sourcePathOrFile:i,subpath:w,targetPathOrFile:m})}async function io(e){let{app:t,newSourcePathOrFile:n,oldSourcePathOrFile:i,shouldForceMarkdownLinks:o,shouldUpdateEmbedOnlyLinks:s,shouldUpdateFilenameAlias:l}=e;cn(t,n)&&!t.internalPlugins.getEnabledPluginById("canvas")||await _a(t,n,u=>{let f=ro(u.original);if(!(s!==void 0&&s!==f))return Ik({app:t,link:u,newSourcePathOrFile:n,oldSourcePathOrFile:i,shouldForceMarkdownLinks:o,shouldUpdateFilenameAlias:l})},e)}function Rk(e,t,n,i,o){let s;return t.path===n&&i?s=i:o.shouldForceRelativePath?s=In(se(n),o.isWikilink?Ul(e,t):t.path)+i:s=e.metadataCache.fileToLinktext(t,n,o.isWikilink)+i,o.shouldForceRelativePath&&o.shouldUseLeadingDot&&!s.startsWith(".")&&!s.startsWith("#")&&(s=`./${s}`),s}function Nk(e){let{app:t}=e,n=Ne(t,e.targetPathOrFile,e.isNonExistingFileAllowed),i=he(t,e.sourcePathOrFile),o=e.subpath??"",s=zk(e,n),l=Rk(t,n,i,o,s);return s.isWikilink?Wk(l,e.alias,s.isEmbed):Yk(l,n,e,s)}function Yk(e,t,n,i){let{app:o}=n,s=i.isEmbed?"!":"",l=i.shouldUseAngleBrackets?`<${e}>`:He(e,Pk,({substring:m})=>encodeURIComponent(m)),u=n.alias??"";!u&&(!i.isEmbed||!n.isEmptyEmbedAliasAllowed)&&(u=!n.shouldIncludeAttachmentExtensionToEmbedAlias||ke(o,t)?t.basename:t.name);let f=He(u,Mk,"\\$&");return`${s}[${f}](${l})`}function Wk(e,t,n){let i=n?"!":"",o=t??"";if(o&&o.toLowerCase()===e.toLowerCase())return`${i}[[${o}]]`;let s=o?`|${o}`:"";return`${i}[[${e}${s}]]`}function zk(e,t){let{app:n}=e;return{isEmbed:e.isEmbed??(e.originalLink?ro(e.originalLink):void 0)??!ke(n,t),isWikilink:e.isWikilink??(e.originalLink?Kn(e.originalLink):void 0)??hf(n),shouldForceRelativePath:e.shouldForceRelativePath??df(n),shouldUseAngleBrackets:e.shouldUseAngleBrackets??(e.originalLink?Ok(e.originalLink):void 0)??!1,shouldUseLeadingDot:e.shouldUseLeadingDot??(e.originalLink?Dk(e.originalLink):void 0)??!1}}function Bk(e,t,n){let i="<",o="](",s=")",l=e.children[0],u=t.slice((l?.position?.end.offset??1)+o.length,(e.position?.end.offset??0)-s.length),f=t.startsWith(i)||u.startsWith(i),m=xa(e.url),h=e.url;if(!m&&!f)try{h=decodeURIComponent(h)}catch(p){console.error(`Failed to decode URL ${h}`,p)}return{alias:l?.value,hasAngleBrackets:f,isEmbed:n,isExternal:m,isWikilink:!1,title:e.title??void 0,url:h}}function Hk(e){return xa(e)?{isEmbed:!1,isExternal:!0,isWikilink:!1,url:e}:null}function Uk(e,t,n){return{alias:t.includes(pf)?e.data.alias:void 0,isEmbed:n,isExternal:!1,isWikilink:!0,url:e.value}}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();async function oo(e,t){let n=ht(e,t);for(;n;){if(!await va(e,n))return;let i=n.parent;await Lr(e,n.path),n=i}}async function Lr(e,t,n,i,o){let s=gr(e,t);if(!s)return!1;let l=tt(s)||(o??!0);if(tt(s)){let u=await Jt(e,s);n&&u.clear(n),u.count()!==0&&(i&&new Notice(`Attachment ${s.path} is still used by other notes. It will not be deleted.`),l=!1)}else if(wr(s)){let u=await Jn(e,s);for(let f of[...u.files,...u.folders])l&&=await Lr(e,f,n,i);l&&=await va(e,s)}if(l)try{await e.fileManager.trashFile(s)}catch(u){await e.vault.exists(s.path)&&(hr(new Error(`Failed to delete ${s.path}`,{cause:u})),l=!1)}return l}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Ta=new Map,Or=new Set,so=new Map;function yf(e,t){let n=ao(e.app),i=e.manifest.id;n.set(i,t),wf(e.app),e.register(()=>{n.delete(i),wf(e.app)});let o=e.app;e.registerEvent(o.vault.on("delete",s=>{qk(e,s)})),e.registerEvent(o.vault.on("rename",(s,l)=>{Kk(e,s,l)})),e.registerEvent(o.metadataCache.on("deleted",(s,l)=>{Qk(e,s,l)}))}async function Vk(e,t,n,i,o){let s=so.get(t);if(s){so.delete(t);for(let l of s)await Aa(e,l.oldPath,n,i,o,l.combinedBacklinksMap)}}async function $k(e,t,n,i,o){if(i.set(t,n),!Rt(e,t))return;let s=Dr(e),l=await Wn(e,t),u=s.shouldRenameAttachmentFolder?await Wn(e,n):l,f=ht(e,l);if(!f||l===u&&!s.shouldRenameAttachmentFiles)return;let m=[];if(await _s(e,t))kf.Vault.recurseChildren(f,w=>{tt(w)&&m.push(w)});else for(let w of o){let k=Yt(e,w,t);k&&k.path.startsWith(l)&&(await Jt(e,k)).keys().length===1&&m.push(k)}let h=Re(t,et(t)),p=Re(n,et(n));for(let w of m){if(Rt(e,w))continue;let k=In(l,w.path),v=we(u,se(k)),F=s.shouldRenameAttachmentFiles?He(w.basename,h,p):w.basename,T=we(v,Rl(F,w.extension));if(w.path!==T){if(s.shouldDeleteConflictingAttachments){let C=ce(e,T);C&&await e.fileManager.trashFile(C)}else T=e.vault.getAvailablePath(we(v,F),w.extension);i.set(w.path,T)}}}function ao(e){return jt(e,"renameDeleteHandlersMap",new Map).value}function Dr(e){let t=ao(e),n=Array.from(t.values()).reverse(),i={};for(let o of n){let s=o();i.shouldDeleteConflictingAttachments||=s.shouldDeleteConflictingAttachments??!1,i.shouldDeleteEmptyFolders||=s.shouldDeleteEmptyFolders??!1,i.shouldHandleDeletions||=s.shouldHandleDeletions??!1,i.shouldHandleRenames||=s.shouldHandleRenames??!1,i.shouldRenameAttachmentFiles||=s.shouldRenameAttachmentFiles??!1,i.shouldRenameAttachmentFolder||=s.shouldRenameAttachmentFolder??!1,i.shouldUpdateFilenameAliases||=s.shouldUpdateFilenameAliases??!1;let l=i.isPathIgnored;i.isPathIgnored=u=>l?.(u)??s.isPathIgnored?.(u)??!1}return i}async function jk(e,t,n,i,o){if(!e.vault.adapter.insensitive||t.toLowerCase()!==n.toLowerCase())return!1;let s=we(se(n),`__temp__${Re(n)}`);return await bf(e,n,s),await Aa(e,t,s,i,o),await e.vault.rename(Ne(e,s),n),!0}async function Gk(e,t){if(Ue("RenameDeleteHandler:handleDelete")(`Handle Delete ${t}`),!Rt(e,t))return;let n=Dr(e);if(!n.shouldHandleDeletions||n.isPathIgnored?.(t))return;let i=Ta.get(t);if(Ta.delete(t),i){let l=vt(i);for(let u of l){let f=Yt(e,u,t);f&&(Rt(e,f)||await Lr(e,f,t,n.shouldDeleteEmptyFolders))}}let o=await Wn(e,t),s=ht(e,o);s&&await _s(e,t)&&await Lr(e,s,t,!1,n.shouldDeleteEmptyFolders)}function qk(e,t){let n=e.app;if(!Fa(e))return;let i=t.path;it(n,()=>Gk(n,i))}function Zk(e,t,n){let i=Dr(e);i.isPathIgnored?.(t.path)||i.shouldHandleDeletions&&ke(e,t)&&n&&Ta.set(t.path,n)}function Qk(e,t,n){Fa(e)&&Zk(e.app,t,n)}function Jk(e,t,n){let i=xf(t,n);if(Ue("RenameDeleteHandler:handleRename")(`Handle Rename ${i}`),Or.has(i)){Or.delete(i);return}let o=Dr(e);if(!o.shouldHandleRenames||o.isPathIgnored?.(t)||o.isPathIgnored?.(n))return;let s=e.metadataCache.getCache(t)??e.metadataCache.getCache(n),l=s?vt(s):[],u=eo(e,t).data;it(e,()=>Aa(e,t,n,u,l))}async function Aa(e,t,n,i,o,s){if(await Vk(e,t,n,i,o),Xk(e,t,n,i,o),await jk(e,t,n,i,o))return;let l=Su(e.fileManager,{updateAllLinks:()=>is});try{let u=new Map;await $k(e,t,n,u,o);let f=new Map;gf(i,u,f,t);for(let p of u.keys()){if(p===t)continue;let w=(await Jt(e,p)).data;gf(w,u,f,p)}let m=new Set;for(let[p,w]of u.entries()){if(p===t)continue;let k=await bf(e,p,w);u.set(p,k),m.add(se(p))}let h=Dr(e);if(h.shouldDeleteEmptyFolders)for(let p of m)await oo(e,p);for(let[p,w]of Array.from(f.entries()).concat(Array.from(s?.entries()??[])))await _a(e,p,k=>{let v=w.get(Si(k));if(!v)return;let F=u.get(v);if(F)return Ea({app:e,link:k,newSourcePathOrFile:p,newTargetPathOrFile:F,oldTargetPathOrFile:v,shouldUpdateFilenameAlias:h.shouldUpdateFilenameAliases})},{shouldFailOnMissingFile:!1});if(Rt(e,n)&&await io({app:e,newSourcePathOrFile:n,oldSourcePathOrFile:t,shouldFailOnMissingFile:!1,shouldUpdateFilenameAlias:h.shouldUpdateFilenameAliases}),!ce(e,n)){let p=so.get(n);p||(p=[],so.set(n,p)),p.push({combinedBacklinksMap:f,oldPath:t})}}finally{l();let u=Array.from(Or);it(e,()=>{for(let f of u)Or.delete(f)})}}function Kk(e,t,n){if(!Fa(e)||!tt(t))return;let i=t.path;Jk(e.app,n,i)}function gf(e,t,n,i){for(let[o,s]of e.entries()){let l=t.get(o)??o,u=n.get(l)??new Map;n.set(l,u);for(let f of s)u.set(Si(f),i)}}function wf(e){let t=ao(e);Ue("RenameDeleteHandler:logRegisteredHandlers")(`Plugins with registered rename/delete handlers: ${JSON.stringify(Array.from(t.keys()))}`)}function xf(e,t){return`${e} -> ${t}`}function Xk(e,t,n,i,o){let s=e.metadataCache.getCache(t)??e.metadataCache.getCache(n),l=s?vt(s):[],u=eo(e,t).data;for(let f of l)o.includes(f)||o.push(f);for(let[f,m]of u.entries()){let h=i.get(f);h||(h=[],i.set(f,h));for(let p of m)h.includes(p)||h.push(p)}}async function bf(e,t,n){if(n=ba(e,t,n),t===n)return n;let i=xf(t,n);return Or.add(i),n=await Ji(e,t,n),n}function Fa(e){let t=e.app,n=e.manifest.id,i=ao(t);return Array.from(i.keys())[0]===n}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Xt=class{getTransformer(t){if(t===this.id)return this;throw new Error(`Transformer with id ${t} not found`)}transformObjectRecursively(t){return this.transformValueRecursively(t,"")}getTransformerId(t,n){return this.canTransform(t,n)?this.id:null}transformValueRecursively(t,n){let i=this.getTransformerId(t,n);if(i){let s=this.transformValue(t,n);return s===void 0?void 0:{__transformerId:i,transformedValue:s}}if(t===null)return null;if(typeof t!="object")return t;if(Array.isArray(t))return t.map((s,l)=>this.transformValueRecursively(s,l.toString()));let o=t;return o.__transformerId?this.getTransformer(o.__transformerId).restoreValue(o.transformedValue,n):Object.fromEntries(Object.entries(t).map(([s,l])=>[s,this.transformValueRecursively(l,s)]))}};(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Xn=class extends Xt{};(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var lo=class extends Xn{get id(){return"date"}canTransform(t){return t instanceof Date}restoreValue(t){return new Date(t)}transformValue(t){return t.toISOString()}};var vf=je(bn(),1);(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var uo=class extends Xn{get id(){return"duration"}canTransform(t){let n=t;return!!n.asHours&&!!n.asMinutes&&!!n.asSeconds&&!!n.asMilliseconds}restoreValue(t){return(0,vf.duration)(t)}transformValue(t){return t.toISOString()}};(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var co=class extends Xt{constructor(t){super(),this.transformers=t}get id(){return"group"}canTransform(t,n){return this.getFirstTransformerThatCanTransform(t,n)!==null}getTransformer(t){return this.transformers.find(n=>n.id===t)??un(`No transformer with id ${t} found`)}transformValue(t,n){let i=this.getFirstTransformerThatCanTransform(t,n);if(i===null)throw new Error("No transformer can transform the value");return i.transformValue(t,n)}getTransformerId(t,n){let i=this.getFirstTransformerThatCanTransform(t,n);return i===null?null:i.id}restoreValue(){throw new Error("GroupTransformer does not support restoring values")}getFirstTransformerThatCanTransform(t,n){return this.transformers.find(i=>i.canTransform(t,n))??null}};(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var ey="_",fo=class extends Xt{get id(){return"skip-private-property"}canTransform(t,n){return n.startsWith(ey)}transformValue(){}restoreValue(){throw new Error("SkipPrivatePropertyTransformer does not support restoring values")}};(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var ty=new co([new fo,new lo,new uo]),ho=class{get shouldSaveAfterLoad(){return this._shouldSaveAfterLoad}_shouldSaveAfterLoad=!1;init(t){if(t!=null){if(typeof t!="object"||Array.isArray(t)){let n=Array.isArray(t)?"Array":typeof t;console.error(`Invalid data type. Expected Object, got: ${n}`);return}this.initFromRecord(t)}}toJSON(){return this.getTransformer().transformObjectRecursively(this)}getTransformer(){return ty}initFromRecord(t){t=this.getTransformer().transformObjectRecursively(t);for(let[n,i]of Object.entries(t)){if(!(n in this)){console.warn(`Unknown property: ${n}`);continue}this[n]=i}}};var Cf=/(?:)/,Sf=/$./,mo=class extends ho{autoCollectAttachments=!1;changeNoteBacklinksAlt=!0;consistencyReportFile="consistency-report.md";deleteAttachmentsWithNote=!1;deleteEmptyFolders=!0;deleteExistFilesWhenMoveNote=!1;moveAttachmentsWithNote=!1;showBackupWarning=!0;updateLinks=!0;get excludePaths(){return this._excludePaths}set excludePaths(t){this._excludePaths=t.filter(Boolean),this._excludePathsRegExp=_f(this._excludePaths,Sf)}get hadDangerousSettingsReverted(){return this._hadDangerousSettingsReverted}get includePaths(){return this._includePaths}set includePaths(t){this._includePaths=t.filter(Boolean),this._includePathsRegExp=_f(this._includePaths,Cf)}_excludePaths=[];_excludePathsRegExp=Sf;_hadDangerousSettingsReverted=!1;_includePaths=[];_includePathsRegExp=Cf;constructor(t){super(),this.excludePaths=["/consistency-report\\.md$/"],this.init(t)}initFromRecord(t){let n=t;if(n.ignoreFiles||n.ignoreFolders){let i=n.excludePaths??[];for(let o of n.ignoreFiles??[])i.push(`/${o}$/`);for(let o of n.ignoreFolders??[])i.push(o);i.length>0&&(n.excludePaths=i),delete n.ignoreFiles,delete n.ignoreFolders}super.initFromRecord(n),this.showBackupWarning&&(this._hadDangerousSettingsReverted=this.deleteAttachmentsWithNote||this.deleteExistFilesWhenMoveNote||this.moveAttachmentsWithNote||this.autoCollectAttachments,this.deleteAttachmentsWithNote=!1,this.deleteExistFilesWhenMoveNote=!1,this.moveAttachmentsWithNote=!1,this.autoCollectAttachments=!1)}isPathIgnored(t){return!this._includePathsRegExp.test(t)||this._excludePathsRegExp.test(t)}toJSON(){return{...super.toJSON(),excludePaths:this.excludePaths,includePaths:this.includePaths}}};function _f(e,t){if(e.length===0)return t;let n=e.map(i=>i.startsWith("/")&&i.endsWith("/")?i.slice(1,-1):`^${ls(i)}`).map(i=>`(${i})`).join("|");return new RegExp(n)}var Of=require("obsidian");(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();function Ma(e,t){e.createEl("strong",{cls:"markdown-rendered code"},n=>{n.createEl("code",{text:t})})}var Tf=require("obsidian");var en=require("obsidian");(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();function Ef(e){let t=e;return t.validatorEl?t:e instanceof en.DropdownComponent?{get validatorEl(){return e.selectEl}}:e instanceof en.SliderComponent?{get validatorEl(){return e.sliderEl}}:e instanceof en.TextAreaComponent?{get validatorEl(){return e.inputEl}}:e instanceof en.TextComponent?{get validatorEl(){return e.inputEl}}:null}(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var po=class extends Tf.PluginSettingTab{constructor(t){super(t.app,t),this.plugin=t,this.containerEl.addClass($.LibraryName,rt(),$.PluginSettingsTab)}validatorsMap=new WeakMap;bind(t,n,i){let s={...{componentToPluginSettingsValueConverter:m=>m,onChanged:wt,pluginSettings:void 0,pluginSettingsToComponentValueConverter:m=>m,shouldAutoSave:!0,shouldShowValidationMessage:!0,valueValidator:wt},...i},l=()=>s.pluginSettings??this.plugin.settingsClone,u=Ef(t)?.validatorEl,f=async m=>{m??=t.getValue();let h=await s.valueValidator(m);return u&&(h||(u.setCustomValidity(""),u.checkValidity(),h=u.validationMessage),u.setCustomValidity(h),u.title=h,u.isActiveElement()&&s.shouldShowValidationMessage&&u.reportValidity()),!h};return t.setValue(s.pluginSettingsToComponentValueConverter(l()[n])).onChange(async m=>{if(!await f(m))return;let h=l();h[n]=s.componentToPluginSettingsValueConverter(m),s.shouldAutoSave&&await this.plugin.saveSettings(h),await s.onChanged()}),u?.addEventListener("focus",xs(()=>f())),u?.addEventListener("blur",xs(()=>f())),this.validatorsMap.set(t,()=>f()),xr(()=>f()),t}async revalidate(t){let n=this.validatorsMap.get(t);return n?await n():!0}};var If=require("obsidian");var Ia=je(bn(),1);var go=require("obsidian");(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Ve=class extends go.ValueComponent{inputEl;get validatorEl(){return this.inputEl}textComponent;constructor(t,n,i){super(),this.textComponent=new go.TextComponent(t),this.inputEl=this.textComponent.inputEl,this.inputEl.type=n,t.addClass($.LibraryName,rt(),i)}getValue(){return this.valueFromString(this.inputEl.value)}onChange(t){return this.textComponent.onChange(()=>t(this.getValue())),this}onChanged(){this.textComponent.onChanged()}setDisabled(t){return this.textComponent.setDisabled(t),this.disabled=t,this}setPlaceholder(t){return this.textComponent.setPlaceholder(t),this}setValue(t){return this.inputEl.value=this.valueToString(t),this}valueToString(t){return String(t)}};(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var $e=class extends Ve{setMax(t){return this.inputEl.max=this.valueToString(t),this}setMin(t){return this.inputEl.min=this.valueToString(t),this}setStep(t){return this.inputEl.step=t.toString(),this}};(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Af="YYYY-MM-DD",wo=class extends $e{constructor(t){super(t,"date",$.DateComponent)}valueFromString(t){return(0,Ia.default)(t,Af).toDate()}valueToString(t){return(0,Ia.default)(t).format(Af)}};var La=je(bn(),1);(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Ff="YYYY-MM-DDTHH:mm",ko=class extends $e{constructor(t){super(t,"datetime-local",$.DateTimeComponent)}valueFromString(t){return(0,La.default)(t,Ff).toDate()}valueToString(t){return(0,La.default)(t).format(Ff)}};(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var yo=class extends Ve{constructor(t){super(t,"email",$.EmailComponent)}valueFromString(t){return t}};(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var xo=class extends Ve{constructor(t){super(t,"file",$.FileComponent)}getValue(){return this.inputEl.files?.[0]??null}valueFromString(){return this.getValue()}valueToString(t){return t?.name??""}};var Oa=je(bn(),1);(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Pf="YYYY-MM",bo=class extends $e{constructor(t){super(t,"month",$.MonthComponent)}valueFromString(t){let n=(0,Oa.default)(t,Pf);if(!n.isValid())throw new Error("Invalid month");return{month:n.month()+1,year:n.year()}}valueToString(t){return(0,Oa.default)().year(t.year).month(t.month-1).format(Pf)}};var Co=require("obsidian");(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var vo=class extends Co.ValueComponent{get validatorEl(){return this.dropdownComponent.selectEl}dropdownComponent;constructor(t){super(),this.dropdownComponent=new Co.DropdownComponent(t),this.dropdownComponent.selectEl.multiple=!0,t.addClass($.LibraryName,rt(),$.MultipleDropdownComponent)}addOption(t,n){return this.dropdownComponent.addOption(t,n),this}addOptions(t){return this.dropdownComponent.addOptions(t),this}getValue(){return Array.from(this.dropdownComponent.selectEl.selectedOptions).map(t=>t.value)}onChange(t){return this.dropdownComponent.onChange(()=>t(this.getValue())),this}setDisabled(t){return this.dropdownComponent.setDisabled(t),this.disabled=t,this}setValue(t){for(let n of Array.from(this.dropdownComponent.selectEl.options))n.selected=t.includes(n.value);return this}};(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var So=class extends Ve{constructor(t){super(t,"email",$.MultipleEmailComponent),this.inputEl.multiple=!0}valueFromString(t){return t.split(",").map(n=>n.trim())}valueToString(t){return t.join(", ")}};(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var _o=class extends Ve{constructor(t){super(t,"file",$.MultipleFileComponent),this.inputEl.multiple=!0}getValue(){return Array.from(this.inputEl.files??[])}valueFromString(){return this.getValue()}valueToString(t){return t[0]?.name??""}};var To=require("obsidian");(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Eo=class extends To.ValueComponent{get validatorEl(){return this.textAreaComponent.inputEl}textAreaComponent;constructor(t){super(),this.textAreaComponent=new To.TextAreaComponent(t),t.addClass($.LibraryName,rt(),$.MultipleTextComponent)}getValue(){return this.textAreaComponent.getValue().split(` -`)}onChange(t){return this.textAreaComponent.onChange(()=>t(this.getValue())),this}setDisabled(t){return this.textAreaComponent.setDisabled(t),this.disabled=t,this}setPlaceholder(t){return this.textAreaComponent.setPlaceholder(t),this}setValue(t){return this.textAreaComponent.setValue(t.join(` -`)),this}};(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Ao=class extends $e{constructor(t){super(t,"number",$.NumberComponent)}valueFromString(t){return parseInt(t,10)}};var Po=je(bn(),1);(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Fo=class extends $e{constructor(t){super(t,"time",$.TimeComponent)}valueFromString(t){return(0,Po.duration)(t)}valueToString(t){let n;return t.milliseconds()>0?n="HH:mm:ss.SSS":t.seconds()>0?n="HH:mm:ss":n="HH:mm",(0,Po.utc)(t.asMilliseconds()).format(n)}};(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Mo=class extends Ve{constructor(t){super(t,"url",$.UrlComponent)}valueFromString(t){return t}};var Da=je(bn(),1);(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Mf="YYYY-[W]WW",Io=class extends $e{constructor(t){super(t,"week",$.WeekComponent)}valueFromString(t){let n=(0,Da.default)(t,Mf);if(!n.isValid())throw new Error("Invalid week");return{weekNumber:n.isoWeek(),year:n.year()}}valueToString(t){return(0,Da.default)().year(t.year).isoWeek(t.weekNumber).format(Mf)}};(function(){if(globalThis.process)return;let t={browser:!0,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=t})();var Qe=class extends If.Setting{addComponent(t,n){let i=new t(this.controlEl);return this.components.push(i),n(i),this}addDate(t){return this.addComponent(wo,t)}addDateTime(t){return this.addComponent(ko,t)}addEmail(t){return this.addComponent(yo,t)}addFile(t){return this.addComponent(xo,t)}addMonth(t){return this.addComponent(bo,t)}addMultipleDropdown(t){return this.addComponent(vo,t)}addMultipleEmail(t){return this.addComponent(So,t)}addMultipleFile(t){return this.addComponent(_o,t)}addMultipleText(t){return this.addComponent(Eo,t)}addNumber(t){return this.addComponent(Ao,t)}addTime(t){return this.addComponent(Fo,t)}addUrl(t){return this.addComponent(Mo,t)}addWeek(t){return this.addComponent(Io,t)}};var Lo=class extends po{display(){this.containerEl.empty();let t="Move Attachments with Note";new Qe(this.containerEl).setName(t).setDesc("Automatically move attachments when a note is relocated. This includes attachments located in the same folder or any of its subfolders.").addToggle(s=>this.bind(s,"moveAttachmentsWithNote",{onChanged:async()=>{await this.checkDangerousSetting("moveAttachmentsWithNote",t)}}));let n="Delete Unused Attachments with Note";new Qe(this.containerEl).setName(n).setDesc("Automatically remove attachments that are no longer referenced in other notes when the note is deleted.").addToggle(s=>this.bind(s,"deleteAttachmentsWithNote",{onChanged:async()=>{await this.checkDangerousSetting("deleteAttachmentsWithNote",n)}})),new Qe(this.containerEl).setName("Update Links").setDesc("Automatically update links to attachments and other notes when moving notes or attachments.").addToggle(s=>this.bind(s,"updateLinks")),new Qe(this.containerEl).setName("Delete Empty Folders").setDesc("Automatically remove empty folders after moving notes with attachments.").addToggle(s=>this.bind(s,"deleteEmptyFolders"));let i="Delete Duplicate Attachments on Note Move";new Qe(this.containerEl).setName(i).setDesc("Automatically delete attachments when moving a note if a file with the same name exists in the destination folder. If disabled, the file will be renamed and moved.").addToggle(s=>this.bind(s,"deleteExistFilesWhenMoveNote",{onChanged:async()=>{await this.checkDangerousSetting("deleteExistFilesWhenMoveNote",i)}})),new Qe(this.containerEl).setName("Update Backlink Text on Note Rename").setDesc("When a note is renamed, its linked references are automatically updated. If this option is enabled, the text of backlinks to this note will also be modified.").addToggle(s=>this.bind(s,"changeNoteBacklinksAlt")),new Qe(this.containerEl).setName("Consistency Report Filename").setDesc("Specify the name of the file for the consistency report.").addText(s=>this.bind(s,"consistencyReportFile").setPlaceholder("Example: consistency-report.md"));let o="Auto Collect Attachments";new Qe(this.containerEl).setName(o).setDesc("Automatically collect attachments when the note is edited.").addToggle(s=>this.bind(s,"autoCollectAttachments",{onChanged:async()=>{await this.checkDangerousSetting("autoCollectAttachments",o)}})),new Qe(this.containerEl).setName("Include paths").setDesc(createFragment(s=>{s.appendText("Include notes from the following paths"),s.createEl("br"),s.appendText("Insert each path on a new line"),s.createEl("br"),s.appendText("You can use path string or "),Ma(s,"/regular expression/"),s.createEl("br"),s.appendText("If the setting is empty, all notes are included")})).addMultipleText(s=>{this.bind(s,"includePaths",{valueValidator:Lf})}),new Qe(this.containerEl).setName("Exclude paths").setDesc(createFragment(s=>{s.appendText("Exclude notes from the following paths"),s.createEl("br"),s.appendText("Insert each path on a new line"),s.createEl("br"),s.appendText("You can use path string or "),Ma(s,"/regular expression/"),s.createEl("br"),s.appendText("If the setting is empty, no notes are excluded")})).addMultipleText(s=>{this.bind(s,"excludePaths",{valueValidator:Lf})})}async checkDangerousSetting(t,n){this.plugin.settings[t]&&await yi({app:this.app,message:createFragment(i=>{i.createDiv({cls:"community-modal-readme"},o=>{o.appendText("You enabled "),o.createEl("strong",{cls:"markdown-rendered-code",text:n}),o.appendText(" setting. Without proper configuration it might lead to inconvenient attachment rearrangements or even data loss in your vault."),o.createEl("br"),o.appendText("It is "),o.createEl("strong",{text:"STRONGLY"}),o.appendText(" recommended to backup your vault before using the plugin."),o.createEl("br"),o.createEl("a",{href:"https://github.com/dy-sh/obsidian-consistent-attachments-and-links?tab=readme-ov-file",text:"Read more"}),o.appendText(" about how to use the plugin.")})}),title:createFragment(i=>{(0,Of.setIcon)(i.createSpan(),"triangle-alert"),i.appendText(" Consistent Attachments and Links")})})}};function Lf(e){for(let t of e)if(t.startsWith("/")&&t.endsWith("/")){let n=t.slice(1,-1);if(!Ll(n))return`Invalid regular expression ${t}`}}var yA=require("obsidian");var Df=require("obsidian");var vn=class extends Map{constructor(n){super();this.title=n}add(n,i){this.has(n)||this.set(n,[]);let o=this.get(n);o&&o.push(i)}toString(n,i){if(this.size>0){let o=`# ${this.title} (${this.size.toString()} files) -`;for(let s of this.keys()){let l=ce(n,s);if(!l)continue;let u=no({app:n,sourcePathOrFile:i,targetPathOrFile:l});o+=`${u}: -`;for(let f of this.get(s)??[])o+=`- (line ${(f.position.start.line+1).toString()}): \`${f.link}\` -`;o+=` - -`}return o}return`# ${this.title} -No problems found - -`}},Rr=class{constructor(t){this.plugin=t;}async checkConsistency(t,n,i,o,s){if(this.plugin.settings.isPathIgnored(t.path))return;let l=await mt(this.plugin.app,t.path);if(!l)return;let u=l.links??[],f=l.embeds??[];for(let m of u)await this.isValidLink(m,t.path)||n.add(t.path,m),Kn(m.original)&&o.add(t.path,m);for(let m of f)await this.isValidLink(m,t.path)||i.add(t.path,m),Kn(m.original)&&s.add(t.path,m)}async convertAllNoteEmbedsPathsToRelative(t){return await this.convertAllNoteRefPathsToRelative(t,!0)}async convertAllNoteLinksPathsToRelative(t){return await this.convertAllNoteRefPathsToRelative(t,!1)}async getCachedNotesThatHaveLinkToFile(t){let n=ce(this.plugin.app,t);return n?(await Jt(this.plugin.app,n)).keys():[]}getFullPathForLink(t,n){({linkPath:t}=Kt(t));let i=se(n);return we(i,t)}async replaceAllNoteWikilinksWithMarkdownLinks(t,n){if(this.plugin.settings.isPathIgnored(t))return 0;let i=ce(this.plugin.app,t);if(!i)return console.warn(`can't update wikilinks in note, file not found: ${t}`),0;let o=await mt(this.plugin.app,i);if(!o)return 0;let l=((n?o.embeds:o.links)??[]).filter(u=>Kn(u.original)).length;return await io({app:this.plugin.app,newSourcePathOrFile:i,shouldForceMarkdownLinks:!0,shouldUpdateEmbedOnlyLinks:n}),l}async updateChangedPathsInNote(t,n){if(this.plugin.settings.isPathIgnored(t))return;let i=ce(this.plugin.app,t);if(!i){console.warn(`can't update links in note, file not found: ${t}`);return}let o=new Map;for(let s of n)o.set(s.oldPath,s.newPath);await this.updateLinks(i,i.path,o)}async convertAllNoteRefPathsToRelative(t,n){if(this.plugin.settings.isPathIgnored(t))return[];let i=ce(this.plugin.app,t);if(!i)return[];let o=[];return await Mr(this.plugin.app,i,async()=>{let s=await mt(this.plugin.app,i);if(!s)return[];let l=(n?s.embeds:s.links)??[],u=[];for(let f of l){let m={endIndex:f.position.end.offset,newContent:this.convertLink({forceRelativePath:!0,link:f,note:i,oldNotePath:t}),oldContent:f.original,startIndex:f.position.start.offset};u.push(m),o.push({newLink:m.newContent,old:f})}return u}),o}convertLink({forceRelativePath:t,link:n,note:i,oldNotePath:o,pathChangeMap:s}){let{linkPath:l,subpath:u}=Kt(n.link),f=Yt(this.plugin.app,n,o)?.path??we(se(o),l),m=s?s.get(f):Yt(this.plugin.app,n,i.path)?.path??we(se(i.path),l);if(!m)return n.original;let h=ce(this.plugin.app,m)??ce(this.plugin.app,f);if(!h)return n.original;let p=n.displayText&&we(i.parent?.path??"",n.displayText)===f?void 0:n.displayText;return no({alias:p,app:this.plugin.app,originalLink:n.original,shouldForceRelativePath:t,sourcePathOrFile:i.path,subpath:u,targetPathOrFile:h})}async isValidLink(t,n){let{linkPath:i,subpath:o}=Kt(t.link),s;i?i.startsWith("/")?s=(0,Df.normalizePath)(i):s=we(se(n),i):s=n;let l=ce(this.plugin.app,s);if(!l)return!1;if(!o)return!0;let u=l.extension.toLocaleLowerCase();if(u==="pdf")return o.startsWith("#page=");if(u!==ui)return!1;let f=await mt(this.plugin.app,l);if(!f)return!1;let m="#^";if(o.startsWith(m))return Object.keys(f.blocks??{}).includes(Dt(o,m));let h="#";return(f.headings??[]).map(p=>p.heading.replaceAll(h," ")).includes(Dt(o,h))}async updateLinks(t,n,i){await Mr(this.plugin.app,t,async()=>{let o=await mt(this.plugin.app,t);return o?vt(o).map(l=>Xi(l,this.convertLink({link:l,note:t,oldNotePath:n,pathChangeMap:i}))):[]})}};var Nr=class{constructor(t,n){this.plugin=t;this.lh=n;}async collectAttachmentsForCachedNote(t,n,i){if(this.plugin.settings.isPathIgnored(t))return{movedAttachments:[]};let o={movedAttachments:[]},s=await mt(this.plugin.app,t);if(!s)return o;for(let l of vt(s)){let{linkPath:u}=Kt(l.link);if(!u)continue;let f=this.lh.getFullPathForLink(u,t);if(o.movedAttachments.findIndex(w=>w.oldPath===f)!==-1)continue;let m=Yt(this.plugin.app,l,t);if(!m){let w=ro(l.original)?"embed":"link";console.warn(`${t} has bad ${w} (file does not exist): ${u}`);continue}if(!this.isAttachment(m))continue;let h=await Ss(this.plugin.app,m.path,t);if(se(h)===se(m.path))continue;let p=await this.moveAttachment(m,h,[t],n,i);o.movedAttachments=o.movedAttachments.concat(p.movedAttachments)}return o}async deleteEmptyFolders(t){if(this.plugin.settings.isPathIgnored(t))return;t=Dt(t,"./");let n=await Jn(this.plugin.app,t);for(let i of n.folders)await this.deleteEmptyFolders(i);if(n=await Jn(this.plugin.app,t),n.files.length===0&&n.folders.length===0&&(this.plugin.consoleDebug(`delete empty folder: - ${t}`),await this.plugin.app.vault.exists(t)))try{await this.plugin.app.vault.adapter.rmdir(t,!1)}catch(i){if(await this.plugin.app.vault.adapter.exists(t))throw i}}async createFolderForAttachmentFromPath(t){await Zn(this.plugin.app,se(t))}async deleteFile(t,n){if(await this.plugin.app.fileManager.trashFile(t),n){let i=t.parent;for(;i&&i.children.length===0;)await this.plugin.app.fileManager.trashFile(i),i=i.parent}}isAttachment(t){return!Rt(this.plugin.app,t)}async moveAttachment(t,n,i,o,s){let l=t.path,u={movedAttachments:[]};if(this.plugin.settings.isPathIgnored(l)||!this.isAttachment(t))return u;if(l===n)return console.warn("Can't move file. Source and destination path the same."),u;await this.createFolderForAttachmentFromPath(n);let f=await this.lh.getCachedNotesThatHaveLinkToFile(l);for(let w of i)f.remove(w);if(l!==t.path)return console.warn("File was moved already"),await this.moveAttachment(t,n,i,o,s);let m=t.parent,h=f.length===0,p=ce(this.plugin.app,n);return p&&(o?(this.plugin.consoleDebug(`delete: ${n}`),await this.deleteFile(p,s)):n=Qi(this.plugin.app,n)),this.plugin.consoleDebug(`${h?"move":"copy"} - from: ${l} - to: ${n}`),u.movedAttachments.push({newPath:n,oldPath:l}),h?await Ji(this.plugin.app,t,n):await sf(this.plugin.app,t,n),this.plugin.settings.deleteEmptyFolders&&await oo(this.plugin.app,m),u}};var Oo=class extends bi{deletedNoteCache=new Map;fh;lh;async saveSettings(t){await super.saveSettings(t),this.lh=new Rr(this),this.fh=new Nr(this,this.lh)}createPluginSettings(t){return new mo(t)}createPluginSettingsTab(){return new Lo(this)}async onLayoutReady(){await this.showBackupWarning()}onloadComplete(){this.registerEvent(this.app.metadataCache.on("deleted",(t,n)=>{n&&this.handleDeletedMetadata(t,n)})),yf(this,()=>({isPathIgnored:n=>this.settings.isPathIgnored(n),shouldDeleteConflictingAttachments:this.settings.deleteExistFilesWhenMoveNote,shouldDeleteEmptyFolders:this.settings.deleteEmptyFolders,shouldHandleDeletions:this.settings.deleteAttachmentsWithNote,shouldHandleRenames:this.settings.updateLinks,shouldRenameAttachmentFolder:this.settings.moveAttachmentsWithNote,shouldUpdateFilenameAliases:this.settings.changeNoteBacklinksAlt})),this.addCommand({callback:()=>this.collectAllAttachments(),id:"collect-all-attachments",name:"Collect All Attachments"}),this.addCommand({checkCallback:t=>this.collectAttachmentsCurrentFolder(t),id:"collect-attachments-current-folder",name:"Collect Attachments in Current Folder"}),this.addCommand({checkCallback:this.collectAttachmentsCurrentNote.bind(this),id:"collect-attachments-current-note",name:"Collect Attachments in Current Note"}),this.addCommand({callback:()=>this.deleteEmptyFolders(),id:"delete-empty-folders",name:"Delete Empty Folders"}),this.addCommand({callback:()=>this.convertAllLinkPathsToRelative(),id:"convert-all-link-paths-to-relative",name:"Convert All Link Paths to Relative"}),this.addCommand({checkCallback:this.convertAllLinkPathsToRelativeCurrentNote.bind(this),id:"convert-all-link-paths-to-relative-current-note",name:"Convert All Link Paths to Relative in Current Note"}),this.addCommand({callback:()=>this.convertAllEmbedsPathsToRelative(),id:"convert-all-embed-paths-to-relative",name:"Convert All Embed Paths to Relative"}),this.addCommand({checkCallback:this.convertAllEmbedsPathsToRelativeCurrentNote.bind(this),id:"convert-all-embed-paths-to-relative-current-note",name:"Convert All Embed Paths to Relative in Current Note"}),this.addCommand({callback:()=>this.replaceAllWikilinksWithMarkdownLinks(),id:"replace-all-wikilinks-with-markdown-links",name:"Replace All Wiki Links with Markdown Links"}),this.addCommand({checkCallback:this.replaceAllWikilinksWithMarkdownLinksCurrentNote.bind(this),id:"replace-all-wikilinks-with-markdown-links-current-note",name:"Replace All Wiki Links with Markdown Links in Current Note"}),this.addCommand({callback:()=>this.replaceAllWikiEmbedsWithMarkdownEmbeds(),id:"replace-all-wiki-embeds-with-markdown-embeds",name:"Replace All Wiki Embeds with Markdown Embeds"}),this.addCommand({checkCallback:this.replaceAllWikiEmbedsWithMarkdownEmbedsCurrentNote.bind(this),id:"replace-all-wiki-embeds-with-markdown-embeds-current-note",name:"Replace All Wiki Embeds with Markdown Embeds in Current Note"}),this.addCommand({callback:()=>this.reorganizeVault(),id:"reorganize-vault",name:"Reorganize Vault"}),this.addCommand({callback:()=>this.checkConsistency(),id:"check-consistency",name:"Check Vault consistency"}),this.registerEvent(this.app.metadataCache.on("changed",t=>{it(this.app,()=>this.handleMetadataCacheChanged(t))})),this.registerEvent(this.app.workspace.on("file-menu",(t,n)=>{this.handleFileMenu(t,n)})),this.lh=new Rr(this),this.fh=new Nr(this,this.lh)}async checkConsistency(){await this.saveAllOpenNotes();let t=new vn("Bad links"),n=new vn("Bad embeds"),i=new vn("Wiki links"),o=new vn("Wiki embeds");await dn({abortSignal:this.abortSignal,buildNoticeMessage:(m,h)=>`Checking note ${h} - ${m.path}`,items:Qn(this.app),processItem:async m=>{await this.lh.checkConsistency(m,t,n,i,o)},shouldContinueOnError:!0});let s=this.settings.consistencyReportFile,l=t.toString(this.app,s)+n.toString(this.app,s)+i.toString(this.app,s)+o.toString(this.app,s);await Zn(this.app,se(s));let u=await Bl(this.app,s);await this.app.vault.modify(u,l);let f=!1;this.app.workspace.iterateAllLeaves(m=>{m.getDisplayText()!==""&&s.startsWith(m.getDisplayText())&&(f=!0)}),f||await this.app.workspace.openLinkText(s,"/",!1)}async collectAllAttachments(){await this.collectAttachmentsInFolder("/")}async collectAttachments(t,n=!0){if(this.settings.isPathIgnored(t.path)){new ye.Notice("Note path is ignored");return}await this.saveAllOpenNotes();let i=await this.fh.collectAttachmentsForCachedNote(t.path,this.settings.deleteExistFilesWhenMoveNote,this.settings.deleteEmptyFolders);i.movedAttachments.length>0&&await this.lh.updateChangedPathsInNote(t.path,i.movedAttachments),i.movedAttachments.length===0?n&&new ye.Notice("No files found that need to be moved"):new ye.Notice(`Moved ${i.movedAttachments.length.toString()} attachment${i.movedAttachments.length>1?"s":""}`)}collectAttachmentsCurrentFolder(t){let n=this.app.workspace.getActiveFile();return!n||!ke(this.app,n)?!1:(t||it(this.app,()=>this.collectAttachmentsInFolder(n.parent?.path??"/")),!0)}collectAttachmentsCurrentNote(t){let n=this.app.workspace.getActiveFile();return!n||!ke(this.app,n)?!1:(t||it(this.app,()=>this.collectAttachments(n)),!0)}async collectAttachmentsInFolder(t){let n=0,i=0;await this.saveAllOpenNotes(),await dn({abortSignal:this.abortSignal,buildNoticeMessage:(o,s)=>`Collecting attachments ${s} - ${o.path}`,items:zl(this.app,t,!0),processItem:async o=>{if(this.settings.isPathIgnored(o.path))return;let s=await this.fh.collectAttachmentsForCachedNote(o.path,this.settings.deleteExistFilesWhenMoveNote,this.settings.deleteEmptyFolders);s.movedAttachments.length>0&&(await this.lh.updateChangedPathsInNote(o.path,s.movedAttachments),n+=s.movedAttachments.length,i++)},shouldContinueOnError:!0}),n===0?new ye.Notice("No files found that need to be moved"):new ye.Notice(`Moved ${n.toString()} attachment${n>1?"s":""} from ${i.toString()} note${i>1?"s":""}`)}async convertAllEmbedsPathsToRelative(){await this.saveAllOpenNotes();let t=0,n=0;await dn({abortSignal:this.abortSignal,buildNoticeMessage:(i,o)=>`Converting embed paths to relative ${o} - ${i.path}`,items:Qn(this.app),processItem:async i=>{if(this.settings.isPathIgnored(i.path))return;let o=await this.lh.convertAllNoteEmbedsPathsToRelative(i.path);o.length>0&&(t+=o.length,n++)},shouldContinueOnError:!0}),t===0?new ye.Notice("No embeds found that need to be converted"):new ye.Notice(`Converted ${t.toString()} embed${t>1?"s":""} from ${n.toString()} note${n>1?"s":""}`)}convertAllEmbedsPathsToRelativeCurrentNote(t){let n=this.app.workspace.getActiveFile();return!n||!ke(this.app,n)?!1:(t||it(this.app,fr(()=>this.lh.convertAllNoteEmbedsPathsToRelative(n.path))),!0)}async convertAllLinkPathsToRelative(){await this.saveAllOpenNotes();let t=0,n=0;await dn({abortSignal:this.abortSignal,buildNoticeMessage:(i,o)=>`Converting link paths to relative ${o} - ${i.path}`,items:Qn(this.app),processItem:async i=>{if(this.settings.isPathIgnored(i.path))return;let o=await this.lh.convertAllNoteLinksPathsToRelative(i.path);o.length>0&&(t+=o.length,n++)},shouldContinueOnError:!0}),t===0?new ye.Notice("No links found that need to be converted"):new ye.Notice(`Converted ${t.toString()} link${t>1?"s":""} from ${n.toString()} note${n>1?"s":""}`)}convertAllLinkPathsToRelativeCurrentNote(t){let n=this.app.workspace.getActiveFile();return!n||!ke(this.app,n)?!1:(t||it(this.app,fr(()=>this.lh.convertAllNoteLinksPathsToRelative(n.path))),!0)}async deleteEmptyFolders(){await this.fh.deleteEmptyFolders("/")}handleDeletedMetadata(t,n){!this.settings.deleteAttachmentsWithNote||this.settings.isPathIgnored(t.path)||!ke(this.app,t)||this.deletedNoteCache.set(t.path,n)}handleFileMenu(t,n){wr(n)&&t.addItem(i=>{i.setTitle("Collect attachments in folder").setIcon("download").onClick(()=>this.collectAttachmentsInFolder(n.path))})}async handleMetadataCacheChanged(t){if(!this.settings.autoCollectAttachments)return;let n=document.querySelector(".suggestion-container");n&&n.style.display!=="none"||await this.collectAttachments(t,!1)}async reorganizeVault(){await this.saveAllOpenNotes(),await this.replaceAllWikilinksWithMarkdownLinks(),await this.replaceAllWikiEmbedsWithMarkdownEmbeds(),await this.convertAllEmbedsPathsToRelative(),await this.convertAllLinkPathsToRelative(),await this.collectAllAttachments(),await this.deleteEmptyFolders(),new ye.Notice("Reorganization of the vault completed")}async replaceAllWikiEmbedsWithMarkdownEmbeds(){await this.saveAllOpenNotes();let t=0,n=0;await dn({abortSignal:this.abortSignal,buildNoticeMessage:(i,o)=>`Replacing wiki embeds with markdown embeds ${o} - ${i.path}`,items:Qn(this.app),processItem:async i=>{if(this.settings.isPathIgnored(i.path))return;let o=await this.lh.replaceAllNoteWikilinksWithMarkdownLinks(i.path,!0);t+=o,n++},shouldContinueOnError:!0}),t===0?new ye.Notice("No wiki embeds found that need to be replaced"):new ye.Notice(`Replaced ${t.toString()} wiki embed${t>1?"s":""} from ${n.toString()} note${n>1?"s":""}`)}replaceAllWikiEmbedsWithMarkdownEmbedsCurrentNote(t){let n=this.app.workspace.getActiveFile();return!n||!ke(this.app,n)?!1:(t||it(this.app,fr(()=>this.lh.replaceAllNoteWikilinksWithMarkdownLinks(n.path,!0))),!0)}async replaceAllWikilinksWithMarkdownLinks(){await this.saveAllOpenNotes();let t=0,n=0;await dn({abortSignal:this.abortSignal,buildNoticeMessage:(i,o)=>`Replacing wikilinks with markdown links ${o} - ${i.path}`,items:Qn(this.app),processItem:async i=>{if(this.settings.isPathIgnored(i.path))return;let o=await this.lh.replaceAllNoteWikilinksWithMarkdownLinks(i.path,!1);t+=o,n++},shouldContinueOnError:!0}),t===0?new ye.Notice("No wiki links found that need to be replaced"):new ye.Notice(`Replaced ${t.toString()} wikilink${t>1?"s":""} from ${n.toString()} note${n>1?"s":""}`)}replaceAllWikilinksWithMarkdownLinksCurrentNote(t){let n=this.app.workspace.getActiveFile();return!n||!ke(this.app,n)?!1:(t||it(this.app,fr(()=>this.lh.replaceAllNoteWikilinksWithMarkdownLinks(n.path,!1))),!0)}async saveAllOpenNotes(){for(let t of this.app.workspace.getLeavesOfType("markdown"))t.view instanceof ye.MarkdownView&&await t.view.save()}async showBackupWarning(){if(!this.settings.showBackupWarning)return;await yi({app:this.app,message:createFragment(n=>{n.createDiv({cls:"community-modal-readme"},i=>{i.appendText("Using 'Consistent Attachments and Links' plugin without proper configuration might lead to inconvenient attachment rearrangements or even data loss in your vault."),i.createEl("br"),i.appendText("It is "),i.createEl("strong",{text:"STRONGLY"}),i.appendText(" recommended to backup your vault before using the plugin."),i.createEl("br"),this.settings.hadDangerousSettingsReverted&&(i.appendText("Some of your plugin settings has been changed to their safe values."),i.createEl("br")),i.createEl("a",{href:"https://github.com/dy-sh/obsidian-consistent-attachments-and-links?tab=readme-ov-file",text:"Read more"}),i.appendText(" about how to use the plugin."),i.createEl("br"),i.appendText("This warning will not appear again.")})}),title:createFragment(n=>{(0,ye.setIcon)(n.createSpan(),"triangle-alert"),n.appendText(" Consistent Attachments and Links")})});let t=this.settingsClone;t.showBackupWarning=!1,await this.saveSettings(t)}};var ny=Oo; -/*! Bundled license information: - -moment/moment.js: - (*! moment.js *) - (*! version : 2.30.1 *) - (*! authors : Tim Wood, Iskren Chernev, Moment.js contributors *) - (*! license : MIT *) - (*! momentjs.com *) -*/ - -/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/consistent-attachments-and-links/manifest.json b/.obsidian/plugins/consistent-attachments-and-links/manifest.json deleted file mode 100644 index bad62dd2..00000000 --- a/.obsidian/plugins/consistent-attachments-and-links/manifest.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "id": "consistent-attachments-and-links", - "name": "Consistent Attachments and Links", - "version": "3.24.13", - "minAppVersion": "1.8.7", - "description": "This plugin ensures the consistency of attachments and links", - "author": "Dmitry Savosh", - "authorUrl": "https://github.com/dy-sh/", - "isDesktopOnly": false, - "fundingUrl": "https://www.buymeacoffee.com/mnaoumov" -} diff --git a/.obsidian/plugins/easy-typing-obsidian/data.json b/.obsidian/plugins/easy-typing-obsidian/data.json deleted file mode 100644 index 4e3882c7..00000000 --- a/.obsidian/plugins/easy-typing-obsidian/data.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "Tabout": true, - "SelectionEnhance": true, - "IntrinsicSymbolPairs": true, - "BaseObEditEnhance": true, - "FW2HWEnhance": true, - "BetterCodeEdit": true, - "BetterBackspace": true, - "AutoFormat": true, - "ExcludeFiles": "", - "ChineseEnglishSpace": false, - "ChineseNumberSpace": false, - "EnglishNumberSpace": false, - "ChineseNoSpace": false, - "QuoteSpace": true, - "PunctuationSpace": false, - "AutoCapital": false, - "AutoCapitalMode": "typing", - "PunctuationSpaceMode": "typing", - "InlineCodeSpaceMode": 1, - "InlineFormulaSpaceMode": 1, - "InlineLinkSpaceMode": 2, - "InlineLinkSmartSpace": false, - "UserDefinedRegSwitch": true, - "UserDefinedRegExp": "{{.*?}}|++\n<.*?>|--\n\\[\\!.*?\\][-+]{0,1}|-+\n(file:///|https?://|ftp://|obsidian://|zotero://|www.)[^\\s()《》。,,!?;;:“”‘’\\)\\(\\[\\]\\{\\}']+|--\n\n[a-zA-Z0-9_\\-.]+@[a-zA-Z0-9_\\-.]+|++\n(? function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// node_modules/sprintf-js/src/sprintf.js -var require_sprintf = __commonJS({ - "node_modules/sprintf-js/src/sprintf.js"(exports) { - !function() { - "use strict"; - var re = { - not_string: /[^s]/, - not_bool: /[^t]/, - not_type: /[^T]/, - not_primitive: /[^v]/, - number: /[diefg]/, - numeric_arg: /[bcdiefguxX]/, - json: /[j]/, - not_json: /[^j]/, - text: /^[^\x25]+/, - modulo: /^\x25{2}/, - placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, - key: /^([a-z_][a-z_\d]*)/i, - key_access: /^\.([a-z_][a-z_\d]*)/i, - index_access: /^\[(\d+)\]/, - sign: /^[+-]/ - }; - function sprintf2(key) { - return sprintf_format(sprintf_parse(key), arguments); - } - function vsprintf(fmt, argv) { - return sprintf2.apply(null, [fmt].concat(argv || [])); - } - function sprintf_format(parse_tree, argv) { - var cursor = 1, tree_length = parse_tree.length, arg, output = "", i, k, ph, pad, pad_character, pad_length, is_positive, sign; - for (i = 0; i < tree_length; i++) { - if (typeof parse_tree[i] === "string") { - output += parse_tree[i]; - } else if (typeof parse_tree[i] === "object") { - ph = parse_tree[i]; - if (ph.keys) { - arg = argv[cursor]; - for (k = 0; k < ph.keys.length; k++) { - if (arg == void 0) { - throw new Error(sprintf2('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k - 1])); - } - arg = arg[ph.keys[k]]; - } - } else if (ph.param_no) { - arg = argv[ph.param_no]; - } else { - arg = argv[cursor++]; - } - if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) { - arg = arg(); - } - if (re.numeric_arg.test(ph.type) && (typeof arg !== "number" && isNaN(arg))) { - throw new TypeError(sprintf2("[sprintf] expecting number but found %T", arg)); - } - if (re.number.test(ph.type)) { - is_positive = arg >= 0; - } - switch (ph.type) { - case "b": - arg = parseInt(arg, 10).toString(2); - break; - case "c": - arg = String.fromCharCode(parseInt(arg, 10)); - break; - case "d": - case "i": - arg = parseInt(arg, 10); - break; - case "j": - arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0); - break; - case "e": - arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential(); - break; - case "f": - arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg); - break; - case "g": - arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg); - break; - case "o": - arg = (parseInt(arg, 10) >>> 0).toString(8); - break; - case "s": - arg = String(arg); - arg = ph.precision ? arg.substring(0, ph.precision) : arg; - break; - case "t": - arg = String(!!arg); - arg = ph.precision ? arg.substring(0, ph.precision) : arg; - break; - case "T": - arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase(); - arg = ph.precision ? arg.substring(0, ph.precision) : arg; - break; - case "u": - arg = parseInt(arg, 10) >>> 0; - break; - case "v": - arg = arg.valueOf(); - arg = ph.precision ? arg.substring(0, ph.precision) : arg; - break; - case "x": - arg = (parseInt(arg, 10) >>> 0).toString(16); - break; - case "X": - arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase(); - break; - } - if (re.json.test(ph.type)) { - output += arg; - } else { - if (re.number.test(ph.type) && (!is_positive || ph.sign)) { - sign = is_positive ? "+" : "-"; - arg = arg.toString().replace(re.sign, ""); - } else { - sign = ""; - } - pad_character = ph.pad_char ? ph.pad_char === "0" ? "0" : ph.pad_char.charAt(1) : " "; - pad_length = ph.width - (sign + arg).length; - pad = ph.width ? pad_length > 0 ? pad_character.repeat(pad_length) : "" : ""; - output += ph.align ? sign + arg + pad : pad_character === "0" ? sign + pad + arg : pad + sign + arg; - } - } - } - return output; - } - var sprintf_cache = /* @__PURE__ */ Object.create(null); - function sprintf_parse(fmt) { - if (sprintf_cache[fmt]) { - return sprintf_cache[fmt]; - } - var _fmt = fmt, match, parse_tree = [], arg_names = 0; - while (_fmt) { - if ((match = re.text.exec(_fmt)) !== null) { - parse_tree.push(match[0]); - } else if ((match = re.modulo.exec(_fmt)) !== null) { - parse_tree.push("%"); - } else if ((match = re.placeholder.exec(_fmt)) !== null) { - if (match[2]) { - arg_names |= 1; - var field_list = [], replacement_field = match[2], field_match = []; - if ((field_match = re.key.exec(replacement_field)) !== null) { - field_list.push(field_match[1]); - while ((replacement_field = replacement_field.substring(field_match[0].length)) !== "") { - if ((field_match = re.key_access.exec(replacement_field)) !== null) { - field_list.push(field_match[1]); - } else if ((field_match = re.index_access.exec(replacement_field)) !== null) { - field_list.push(field_match[1]); - } else { - throw new SyntaxError("[sprintf] failed to parse named argument key"); - } - } - } else { - throw new SyntaxError("[sprintf] failed to parse named argument key"); - } - match[2] = field_list; - } else { - arg_names |= 2; - } - if (arg_names === 3) { - throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported"); - } - parse_tree.push({ - placeholder: match[0], - param_no: match[1], - keys: match[2], - sign: match[3], - pad_char: match[4], - align: match[5], - width: match[6], - precision: match[7], - type: match[8] - }); - } else { - throw new SyntaxError("[sprintf] unexpected placeholder"); - } - _fmt = _fmt.substring(match[0].length); - } - return sprintf_cache[fmt] = parse_tree; - } - if (typeof exports !== "undefined") { - exports["sprintf"] = sprintf2; - exports["vsprintf"] = vsprintf; - } - if (typeof window !== "undefined") { - window["sprintf"] = sprintf2; - window["vsprintf"] = vsprintf; - if (typeof define === "function" && define["amd"]) { - define(function() { - return { - "sprintf": sprintf2, - "vsprintf": vsprintf - }; - }); - } - } - }(); - } -}); - -// src/main.ts -var main_exports = {}; -__export(main_exports, { - default: () => EasyTypingPlugin -}); -module.exports = __toCommonJS(main_exports); -var import_obsidian3 = require("obsidian"); -var import_state3 = require("@codemirror/state"); - -// src/core.ts -var import_obsidian = require("obsidian"); - -// src/utils.ts -var DEBUG = false; -var print = (message, ...optionalParams) => { - if (DEBUG) { - console.log(message, ...optionalParams); - } -}; -function setDebug(value) { - DEBUG = value; -} -function offsetToPos(doc, offset) { - let line = doc.lineAt(offset); - return { line: line.number - 1, ch: offset - line.from }; -} -function getTypeStrOfTransac(tr) { - let TransacTypeArray = [ - "EasyTyping.change", - "EasyTyping.paste", - "input.type.compose", - "input.type", - "input.paste", - "input.drop", - "input.complete", - "input", - "delete.selection", - "delete.forward", - "delete.backward", - "delete.cut", - "delete", - "move.drop", - "undo", - "redo", - "select.pointer" - ]; - for (let i = 0; i < TransacTypeArray.length; i++) { - if (tr.isUserEvent(TransacTypeArray[i])) - return TransacTypeArray[i]; - } - return "none"; -} -function string2pairstring(s) { - let cursorIdx = findFirstPipeNotPrecededByBackslash(s); - let left = s.substring(0, cursorIdx); - let _left = isRegexp(left) ? left : convertEscapeChar(left); - let right = s.substring(cursorIdx + 1); - let _right = isRegexp(right) ? right : convertEscapeChar(right); - return { left: _left, right: _right }; -} -function replacePlaceholders(str, replacements) { - let replace_matches = str.replace(/\[\[(\d+)\]\]/g, function(match, index) { - return replacements[parseInt(index, 10)] || match; - }); - return replace_matches; -} -function replacePlaceholdersAndTabstops(str, replacements) { - let tabstops = []; - const regex = /\$(\d+)|\$\{(\d+): *([^ {}]*?)\}|\[\[(\d+)\]\]/g; - let match; - let replaceStrings = []; - while ((match = regex.exec(str)) !== null) { - const isSimpleVar = match[1]; - const isNamedVar = match[2]; - const content = match[3]; - const replaceN = match[4]; - const tabstopN = isSimpleVar || isNamedVar; - const startIndex = match.index; - const endIndex = startIndex + match[0].length; - if (replaceN) { - let matchedN = parseInt(replaceN, 10); - if (matchedN < replacements.length) { - replaceStrings.push({ from: startIndex, to: endIndex, replacement: replacements[matchedN], tabstop: false }); - } - } else { - let n = parseInt(tabstopN, 10); - let contentStr = replacePlaceholders(content ? content : "", replacements); - replaceStrings.push({ from: startIndex, to: endIndex, replacement: contentStr, tabstop: true, tabstopNumber: n }); - } - } - let newString = str; - let offset = 0; - for (let i = 0; i < replaceStrings.length; i++) { - let replaceString = replaceStrings[i]; - newString = newString.substring(0, replaceString.from + offset) + replaceString.replacement + newString.substring(replaceString.to + offset); - if (replaceString.tabstop) { - let tabstop = { - from: replaceString.from + offset, - to: replaceString.from + offset + replaceString.replacement.length, - number: replaceString.tabstopNumber - }; - tabstops.push(tabstop); - } - offset += replaceString.replacement.length - (replaceString.to - replaceString.from); - } - return [newString, tabstops]; -} -function parseTheAfterPattern(pattern, replacements) { - let single_cursor_pos = findFirstPipeNotPrecededByBackslash(pattern); - let general_cursor_find = /\$(\d+)|\$\{(\d+): *([^ {}]*?)\}/.test(pattern); - let single_cursor_find = single_cursor_pos !== -1; - let final_pattern = pattern; - if (general_cursor_find) { - final_pattern = pattern; - } else if (single_cursor_find) { - final_pattern = pattern.substring(0, single_cursor_pos) + "$0" + pattern.substring(single_cursor_pos + 1); - } else { - final_pattern = pattern + "$0"; - } - return replacePlaceholdersAndTabstops(convertEscapeChar(final_pattern), replacements); -} -function isRegexp(s) { - return s.startsWith("r/") && s.endsWith("/"); -} -function convertEscapeChar(s) { - return s.replace(/\\\|/g, "|").replace(/\\n/g, "\n").replace(/\\r/g, "\r").replace(/\\t/g, " ").replace(/\\\n/g, "\\n").replace(/\\\r/g, "\\r").replace(/\\\t/g, "\\t").replace(/\\\\/g, "\\"); -} -function ruleStringList2RuleList(list) { - let res = []; - for (let i in list) { - res[i] = { before: string2pairstring(list[i][0]), after: string2pairstring(list[i][1]), after_pattern: list[i][1] }; - } - return res; -} -function findFirstPipeNotPrecededByBackslash(s) { - let regex = /^r\/[^]*?\/\|/; - let regMatch = s.match(regex); - if (regMatch) - return regMatch[0].length - 1; - const match = s.match(/((^|[^\\])(\\\\)*)\|/); - return match ? s.indexOf(match[0]) + match[1].length : -1; -} -function stringDeleteAt(str, index) { - return str.substring(0, index) + str.substring(index + 1); -} -function stringInsertAt(str, index, s) { - return str.substring(0, index) + s + str.substring(index); -} -function isParamDefined(param) { - return typeof param !== "undefined"; -} -function showString(s) { - return s.replace(/\n/g, "\\n"); -} -function taboutCursorInPairedString(input, cursorPosition, symbolPairs) { - let stack = []; - let fail = { isSuccess: false, newPosition: 0 }; - for (let i = 0; i < cursorPosition; i++) { - for (const { left: open, right: close } of symbolPairs) { - if (input.startsWith(open, i) && (open !== close || stack.lastIndexOf(open) === -1)) { - stack.push(open); - i += open.length - 1; - } else if (input.startsWith(close, i) && stack.length > 0) { - const lastOpenIndex = stack.lastIndexOf(open); - if (lastOpenIndex !== -1) { - stack = stack.slice(0, lastOpenIndex); - } - i += close.length - 1; - } - } - } - if (stack.length === 0) { - return fail; - } - let tempStack = []; - for (let i = cursorPosition; i < input.length; i++) { - for (const { left: open, right: close } of symbolPairs) { - if (input.startsWith(open, i) && (open !== close || stack.lastIndexOf(open) === -1 && tempStack.lastIndexOf(open) === -1)) { - tempStack.push(open); - i += open.length - 1; - } else if (input.startsWith(close, i)) { - const lastOpenIndex = tempStack.lastIndexOf(open); - if (lastOpenIndex === -1 && stack.lastIndexOf(open) !== -1) { - return { isSuccess: true, newPosition: cursorPosition === i ? i + close.length : i }; - } else if (lastOpenIndex !== -1) { - tempStack = tempStack.slice(0, lastOpenIndex); - } - i += close.length - 1; - } - } - } - return fail; -} - -// src/core.ts -var import_language = require("@codemirror/language"); -var LineFormater = class { - constructor() { - } - syntaxTreeNodeNameType(name) { - if (name.contains("code") && !name.contains("link")) { - return "code" /* code */; - } else if (name.contains("math")) { - return "formula" /* formula */; - } else { - return "text" /* text */; - } - } - parseLineWithSyntaxTree(state, lineNum, regRegExp) { - let linePartsOfTxtCodeFormula = []; - let line = state.doc.line(lineNum); - const tree = (0, import_language.syntaxTree)(state); - let pos = line.from; - let prevNodeType = "none" /* none */; - let prevBeginIdx = 0; - while (pos < line.to) { - let node = tree.resolve(pos, 1); - let curNodeType = this.syntaxTreeNodeNameType(node.name); - if (prevNodeType == "none" /* none */) { - prevNodeType = curNodeType; - prevBeginIdx = 0; - } else if (prevNodeType == curNodeType) { - } else { - linePartsOfTxtCodeFormula.push({ - content: line.text.substring(prevBeginIdx, pos - line.from), - type: prevNodeType, - begin: prevBeginIdx, - end: pos - line.from, - leftSpaceRequire: 0 /* none */, - rightSpaceRequire: 0 /* none */ - }); - prevNodeType = curNodeType; - prevBeginIdx = pos - line.from; - } - if (curNodeType == "text" /* text */) { - pos++; - } else { - pos = node.to; - } - if (pos == line.to) { - linePartsOfTxtCodeFormula.push({ - content: line.text.substring(prevBeginIdx, pos - line.from), - type: prevNodeType, - begin: prevBeginIdx, - end: pos - line.from, - leftSpaceRequire: 0 /* none */, - rightSpaceRequire: 0 /* none */ - }); - } - } - let retArray = []; - for (let i = 0; i < linePartsOfTxtCodeFormula.length; i++) { - if (linePartsOfTxtCodeFormula[i].type != "text" /* text */) { - retArray.push(linePartsOfTxtCodeFormula[i]); - } else { - let tempArray; - if (isParamDefined(regRegExp)) - tempArray = splitTextWithLinkAndUserDefined(linePartsOfTxtCodeFormula[i].content, regRegExp); - else - tempArray = splitTextWithLinkAndUserDefined(linePartsOfTxtCodeFormula[i].content); - tempArray.forEach((item) => { - item.begin += linePartsOfTxtCodeFormula[i].begin; - item.end += linePartsOfTxtCodeFormula[i].begin; - retArray.push(item); - }); - } - } - return retArray; - } - formatLineOfDoc(state, settings, fromB, toB, insertedStr) { - let doc = state.doc; - let line = doc.lineAt(fromB).text; - let res = null; - if (insertedStr.contains("\n")) { - res = this.formatLine(state, doc.lineAt(fromB).number, settings, offsetToPos(doc, fromB).ch, offsetToPos(doc, fromB).ch); - } else { - res = this.formatLine(state, doc.lineAt(fromB).number, settings, offsetToPos(doc, toB).ch, offsetToPos(doc, fromB).ch); - } - if (res === null || res[2].length == 0) - return null; - let newline = stringInsertAt(res[0], res[1], "|"); - let changes = []; - let offset = doc.lineAt(fromB).from; - for (let changeItem of res[2]) { - changes.push({ - changes: { from: offset + changeItem.begin, to: offset + changeItem.end, insert: changeItem.text }, - userEvent: "EasyTyping.change" - }); - } - if (insertedStr.contains("\n")) { - console.log("insertStr", insertedStr); - res[1] += insertedStr.length; - } - return [changes, { selection: { anchor: offset + res[1] }, userEvent: "EasyTyping.change" }]; - } - formatLine(state, lineNum, settings, curCh, prevCh) { - let line = state.doc.line(lineNum).text; - let regNull = /^\s*$/g; - if (regNull.test(line)) - return [line, curCh, []]; - let lineParts = settings.UserDefinedRegSwitch ? this.parseLineWithSyntaxTree(state, lineNum, settings.UserDefinedRegExp) : this.parseLineWithSyntaxTree(state, lineNum); - if (settings.debug) - console.log("line parts\n", lineParts); - let linePartsOrigin = JSON.parse(JSON.stringify(lineParts)); - let inlineChangeList = []; - let cursorLinePartIndex = -1; - let cursorRelativeIndex = -1; - let resultCursorCh = 0; - for (let i = 0; i < lineParts.length; i++) { - if (curCh > lineParts[i].begin && curCh <= lineParts[i].end) { - cursorLinePartIndex = i; - cursorRelativeIndex = curCh - lineParts[i].begin; - if (lineParts[i].type === "text" /* text */) { - lineParts[i].content = stringInsertAt(lineParts[i].content, cursorRelativeIndex, "\0"); - } - break; - } - } - let resultLine = ""; - let offset = 0; - let prevPartType = "none" /* none */; - let prevTextEndSpaceState = 0 /* none */; - for (let i = 0; i < lineParts.length; i++) { - if (i === 0 && lineParts[i].type === "text" /* text */ && settings.AutoCapital) { - if (isParamDefined(prevCh) && cursorLinePartIndex != 0) { - } else { - let regFirstSentence = /^\s*(\- (\[[x ]\] )?)?“?[a-z\u0401\u0451\u0410-\u044f]/g; - let regHeaderSentence = /^(#+ |>+ ?|“)[a-z\u0401\u0451\u0410-\u044f]/g; - let textcopy = lineParts[0].content; - let match = regFirstSentence.exec(textcopy); - let matchHeader = regHeaderSentence.exec(textcopy); - let dstCharIndex = -1; - if (match) { - dstCharIndex = regFirstSentence.lastIndex - 1; - } else if (matchHeader) { - dstCharIndex = regHeaderSentence.lastIndex - 1; - } - if (settings.AutoCapitalMode == "global" /* Globally */ || isParamDefined(prevCh) && dstCharIndex >= prevCh && dstCharIndex < curCh) { - } else { - dstCharIndex = -1; - } - if (dstCharIndex != -1) { - lineParts[0].content = textcopy.substring(0, dstCharIndex) + textcopy.charAt(dstCharIndex).toUpperCase() + textcopy.substring(dstCharIndex + 1); - } - } - } - switch (lineParts[i].type) { - case "text" /* text */: - let insertSpace = function(content2, reg2, prevCh2, curCh2, offset2) { - while (true) { - let match = reg2.exec(content2); - if (!match) - break; - let tempIndex = reg2.lastIndex - 1; - if (isParamDefined(prevCh2) && tempIndex >= prevCh2 - offset2 && tempIndex < curCh2 - offset2) { - content2 = content2.substring(0, tempIndex) + " " + content2.substring(tempIndex); - curCh2 += 1; - } - } - return [content2, curCh2]; - }; - let content = lineParts[i].content; - if (settings.AutoCapital) { - var reg = /[\.\?\!。!?]([\s]*)[a-z\u0401\u0451\u0410-\u044f]/g; - while (true) { - let match = reg.exec(content); - if (!match) - break; - let tempIndex = reg.lastIndex - 1; - let isSpaceDot = tempIndex - 2 < 0 || content.substring(tempIndex - 2, tempIndex) == " ."; - if (settings.AutoCapitalMode == "global" /* Globally */ && !isSpaceDot) { - lineParts[i].content = content.substring(0, tempIndex) + content.charAt(tempIndex).toUpperCase() + content.substring(reg.lastIndex); - content = lineParts[i].content; - } else if (isParamDefined(prevCh) && tempIndex >= prevCh - offset && tempIndex < curCh - offset && !isSpaceDot) { - lineParts[i].content = content.substring(0, tempIndex) + content.charAt(tempIndex).toUpperCase() + content.substring(reg.lastIndex); - content = lineParts[i].content; - } - } - } - if (settings.ChineseEnglishSpace) { - let reg1 = /([A-Za-z])([\u4e00-\u9fa5])/gi; - let reg2 = /([\u4e00-\u9fa5])([A-Za-z])/gi; - [content, curCh] = insertSpace(content, reg1, prevCh, curCh, offset); - [content, curCh] = insertSpace(content, reg2, prevCh, curCh, offset); - } - if (settings.ChineseNumberSpace) { - let reg2 = /([0-9])([\u4e00-\u9fa5])/g; - let reg1 = /([\u4e00-\u9fa5])([0-9])/g; - [content, curCh] = insertSpace(content, reg2, prevCh, curCh, offset); - [content, curCh] = insertSpace(content, reg1, prevCh, curCh, offset); - } - if (settings.EnglishNumberSpace) { - let reg2 = /([A-Za-z])(\d)/g; - let reg1 = /(\d)([A-Za-z])/g; - [content, curCh] = insertSpace(content, reg2, prevCh, curCh, offset); - [content, curCh] = insertSpace(content, reg1, prevCh, curCh, offset); - } - if (settings.ChineseNoSpace) { - let reg2 = /([\u4e00-\u9fa5,。、!;‘’《》]+)(\s+)([\u4e00-\u9fa5,。、!;‘’《》]+)/g; - while (reg2.exec(content)) { - lineParts[i].content = content.replace(reg2, "$1$3"); - content = lineParts[i].content; - } - } - if (settings.PunctuationSpace) { - { - let reg2 = /([,\.;\?\!\)])([0-9A-Za-z\u0401\u0451\u0410-\u044f\u4e00-\u9fa5])|([A-Za-z0-9\u4e00-\u9fa5:,\.\?\!'"]+)(\()|[,\.;\?:!][\u4e00-\u9fa5]/gi; - while (true) { - let match = reg2.exec(content); - if (!match) - break; - let tempIndex = reg2.lastIndex - 1; - let isSpaceDot = "!.?;,".contains(content.charAt(tempIndex - 1)) && (tempIndex - 2 < 0 && i == 0 || content.charAt(tempIndex - 2) == " "); - let isNumPuncNum = /[,.]\d/.test(content.substring(tempIndex - 1, tempIndex + 1)) && (tempIndex - 2 < 0 || /\d/.test(content.charAt(tempIndex - 2))); - if (settings.PunctuationSpaceMode == "global" /* Globally */ && !isSpaceDot && !isNumPuncNum) { - content = content.substring(0, tempIndex) + " " + content.substring(tempIndex); - } else if (isParamDefined(prevCh) && tempIndex >= prevCh - offset && tempIndex < curCh - offset && !isSpaceDot && !isNumPuncNum) { - content = content.substring(0, tempIndex) + " " + content.substring(tempIndex); - curCh += 1; - } - } - let reg22 = /(:)([A-Za-z0-9_]+[ ,\.\?\\\/;'",。?;‘“”’、\[\]\-\{\}])/gi; - lineParts[i].content = content.replace(reg22, "$1 $2"); - content = lineParts[i].content; - let reg3 = /(:)(["'])/g; - lineParts[i].content = content.replace(reg3, "$1 $2"); - content = lineParts[i].content; - } - } - let regStrictSpaceStart = /^\0?\s/; - let regStrictSpaceEnd = /\s\0?$/; - let regStartWithSpace = /^\0?[\s,\.;\?\!,。;》?::!~\*、()"”\[\]\)\{\}]/; - let regEndWithSpace = /[\s,。、:;?!()~\*"《“\[\]\(\{\}]\0?$/; - let txtStartSpaceSate = 0 /* none */; - let txtEndSpaceState = 0 /* none */; - if (regStartWithSpace.test(content) || content.startsWith("
")) { - if (regStrictSpaceStart.test(content)) - txtStartSpaceSate = 2 /* strict */; - else - txtStartSpaceSate = 1 /* soft */; - } - if (regEndWithSpace.test(content) || content.endsWith("
")) { - if (regStrictSpaceEnd.test(content)) - txtEndSpaceState = 2 /* strict */; - else - txtEndSpaceState = 1 /* soft */; - } - switch (prevPartType) { - case "none" /* none */: - break; - case "code" /* code */: - if (settings.InlineCodeSpaceMode > txtStartSpaceSate) { - lineParts[i].content = " " + content; - content = lineParts[i].content; - } - break; - case "formula" /* formula */: - if (settings.InlineFormulaSpaceMode > txtStartSpaceSate) { - lineParts[i].content = " " + content; - content = lineParts[i].content; - } - break; - case "wikilink" /* wikilink */: - case "mdlink" /* mdlink */: - if (!settings.InlineLinkSmartSpace && settings.InlineLinkSpaceMode > txtStartSpaceSate) { - lineParts[i].content = " " + content; - content = lineParts[i].content; - } else if (settings.InlineLinkSmartSpace && txtStartSpaceSate == 0 /* none */) { - let charAtTextBegin = content.charAt(0); - let regMdLinkEnd = /\]/; - let charAtLinkEndIndex = lineParts[i - 1].content.search(regMdLinkEnd) - 1; - let charAtLinkEnd = lineParts[i - 1].content.charAt(charAtLinkEndIndex); - if (charAtLinkEnd === "[") - break; - let twoNeighborChars = charAtLinkEnd + charAtTextBegin; - let regNotNeedSpace = /[\u4e00-\u9fa5,。?:;”“’‘-)}][\u4e00-\u9fa5]/g; - if (!regNotNeedSpace.test(twoNeighborChars)) { - lineParts[i].content = " " + content; - content = lineParts[i].content; - } - } - break; - case "user-defined" /* user */: - if (lineParts[i - 1].rightSpaceRequire > txtStartSpaceSate) { - lineParts[i].content = " " + content; - content = lineParts[i].content; - } - break; - } - if (i === cursorLinePartIndex) { - let reg2 = "\0"; - let n = content.search(reg2); - resultCursorCh = offset + n; - lineParts[i].content = stringDeleteAt(content, n); - } - resultLine += lineParts[i].content; - offset += lineParts[i].content.length; - prevPartType = "text" /* text */; - prevTextEndSpaceState = txtEndSpaceState; - break; - case "code" /* code */: - switch (prevPartType) { - case "none" /* none */: - break; - case "text" /* text */: - if (settings.InlineCodeSpaceMode > prevTextEndSpaceState) { - lineParts[i - 1].content += " "; - resultLine += " "; - offset += 1; - } - break; - case "code" /* code */: - if (settings.InlineCodeSpaceMode > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - break; - case "formula" /* formula */: - if (settings.InlineCodeSpaceMode > 0 /* none */ || settings.InlineFormulaSpaceMode > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - break; - case "mdlink" /* mdlink */: - case "wikilink" /* wikilink */: - if (settings.InlineCodeSpaceMode > 0 /* none */ || settings.InlineLinkSpaceMode > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - break; - case "user-defined" /* user */: - if (settings.InlineCodeSpaceMode > 0 /* none */ && lineParts[i - 1].rightSpaceRequire > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - break; - } - if (i === cursorLinePartIndex) { - resultCursorCh = offset + cursorRelativeIndex; - } - resultLine += lineParts[i].content; - offset += lineParts[i].content.length; - prevPartType = "code" /* code */; - prevTextEndSpaceState = 0 /* none */; - break; - case "formula" /* formula */: - if (lineParts[i].content == "$\\qquad$") { - prevPartType = "text" /* text */; - prevTextEndSpaceState = 2 /* strict */; - break; - } - switch (prevPartType) { - case "none" /* none */: - break; - case "text" /* text */: - if (settings.InlineFormulaSpaceMode > prevTextEndSpaceState) { - lineParts[i - 1].content += " "; - resultLine += " "; - offset += 1; - } - break; - case "code" /* code */: - if (settings.InlineFormulaSpaceMode > 0 /* none */ || settings.InlineCodeSpaceMode > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - break; - case "formula" /* formula */: - if (settings.InlineCodeSpaceMode > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - break; - case "mdlink" /* mdlink */: - case "wikilink" /* wikilink */: - if (settings.InlineFormulaSpaceMode > 0 /* none */ || settings.InlineLinkSpaceMode > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - break; - case "user-defined" /* user */: - if (settings.InlineFormulaSpaceMode > 0 /* none */ && lineParts[i - 1].rightSpaceRequire > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - break; - } - if (i === cursorLinePartIndex) { - resultCursorCh = offset + cursorRelativeIndex; - } - resultLine += lineParts[i].content; - offset += lineParts[i].content.length; - prevPartType = "formula" /* formula */; - prevTextEndSpaceState = 0 /* none */; - break; - case "mdlink" /* mdlink */: - case "wikilink" /* wikilink */: - switch (prevPartType) { - case "none" /* none */: - break; - case "text" /* text */: - if (prevTextEndSpaceState >= settings.InlineLinkSpaceMode && !settings.InlineLinkSmartSpace) - break; - if (prevTextEndSpaceState == 2 /* strict */ && settings.InlineLinkSpaceMode == 2 /* strict */) - break; - let charAtTextEnd = lineParts[i - 1].content.charAt(lineParts[i - 1].content.length - 1); - let charAtLinkBegin = ""; - if (lineParts[i].type == "wikilink" /* wikilink */) { - let regAlias = /\|/; - let charOfAliasBegin = lineParts[i].content.search(regAlias); - let beginIndex = 2; - if (lineParts[i].content.charAt(0) === "!") - beginIndex = 3; - if (charOfAliasBegin != -1) { - beginIndex = charOfAliasBegin + 1; - } else if (lineParts[i].content.charAt(beginIndex) == "#") { - beginIndex += 1; - } - charAtLinkBegin = lineParts[i].content.charAt(beginIndex); - if (charAtLinkBegin == "]") - break; - } else { - let regMdLinkBegin = /\[/; - let charAtLinkBeginIndex = lineParts[i].content.search(regMdLinkBegin) + 1; - charAtLinkBegin = lineParts[i].content.charAt(charAtLinkBeginIndex); - if (charAtLinkBegin === "]") - break; - } - if (settings.InlineLinkSpaceMode == 2 /* strict */ && prevTextEndSpaceState < 2 /* strict */) { - lineParts[i - 1].content += " "; - resultLine += " "; - offset += 1; - } else if (settings.InlineLinkSmartSpace && lineParts[i - 1].content.endsWith(" ")) { - let tempContent = lineParts[i - 1].content + charAtLinkBegin; - let regRevertSpace = /[\u4e00-\u9fa5] [\u4e00-\u9fa5]$/; - if (regRevertSpace.test(tempContent)) { - lineParts[i - 1].content = lineParts[i - 1].content.substring(0, lineParts[i - 1].content.length - 1); - resultLine = resultLine.substring(0, resultLine.length - 1); - offset -= 1; - } - } else if (settings.InlineLinkSmartSpace && prevTextEndSpaceState == 0 /* none */) { - let regNoNeedSpace = /[\u4e00-\u9fa5][\u4e00-\u9fa5]/g; - let twoNeighborChars = charAtTextEnd + charAtLinkBegin; - if (!regNoNeedSpace.test(twoNeighborChars)) { - lineParts[i - 1].content += " "; - resultLine += " "; - offset += 1; - } - } else if (!settings.InlineLinkSmartSpace && settings.InlineLinkSpaceMode > prevTextEndSpaceState) { - lineParts[i - 1].content += " "; - resultLine += " "; - offset += 1; - } - break; - case "code" /* code */: - if (settings.InlineLinkSpaceMode > 0 /* none */ || settings.InlineCodeSpaceMode > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - break; - case "formula" /* formula */: - if (settings.InlineLinkSpaceMode > 0 /* none */ || settings.InlineFormulaSpaceMode > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - break; - case "mdlink" /* mdlink */: - case "wikilink" /* wikilink */: - if (settings.InlineLinkSpaceMode > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - break; - case "user-defined" /* user */: - if (lineParts[i - 1].rightSpaceRequire > 0 /* none */ && settings.InlineLinkSpaceMode > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - } - if (i === cursorLinePartIndex) { - resultCursorCh = offset + cursorRelativeIndex; - } - resultLine += lineParts[i].content; - offset += lineParts[i].content.length; - prevPartType = lineParts[i].type; - prevTextEndSpaceState = 0 /* none */; - break; - case "user-defined" /* user */: - switch (prevPartType) { - case "none" /* none */: - break; - case "text" /* text */: - if (lineParts[i].leftSpaceRequire > prevTextEndSpaceState) { - lineParts[i - 1].content += " "; - resultLine += " "; - offset += 1; - } - break; - case "code" /* code */: - if (lineParts[i].leftSpaceRequire > 0 /* none */ && settings.InlineCodeSpaceMode > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - break; - case "formula" /* formula */: - if (lineParts[i].leftSpaceRequire > 0 /* none */ && settings.InlineFormulaSpaceMode > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - break; - case "mdlink" /* mdlink */: - case "wikilink" /* wikilink */: - if (lineParts[i].leftSpaceRequire > 0 /* none */ && settings.InlineLinkSpaceMode > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - break; - case "user-defined" /* user */: - if (lineParts[i].leftSpaceRequire > 0 /* none */ && lineParts[i - 1].rightSpaceRequire > 0 /* none */) { - inlineChangeList.push({ - text: " ", - begin: lineParts[i].begin, - end: lineParts[i].begin, - origin: "" - }); - resultLine += " "; - offset += 1; - } - break; - } - if (i === cursorLinePartIndex) { - resultCursorCh = offset + cursorRelativeIndex; - } - resultLine += lineParts[i].content; - offset += lineParts[i].content.length; - prevPartType = "user-defined" /* user */; - prevTextEndSpaceState = 0 /* none */; - break; - } - } - for (let i = 0; i < lineParts.length; i++) { - if (lineParts[i].type === "text" /* text */ && lineParts[i].content != linePartsOrigin[i].content) { - inlineChangeList.push({ - text: lineParts[i].content, - begin: linePartsOrigin[i].begin, - end: linePartsOrigin[i].end, - origin: linePartsOrigin[i].content - }); - } - } - inlineChangeList = inlineChangeList.sort((a, b) => a.begin - b.begin); - return [resultLine, resultCursorCh, inlineChangeList]; - } -}; -function matchWithReg(text, regExp, type, inlineTypeArray, checkArray = false, leftSpaceRe = 0 /* none */, rightSpaceRe = 0 /* none */) { - let retArray = inlineTypeArray; - let matchArray = []; - retArray = retArray.sort((a, b) => a.begin - b.begin); - while (true) { - let match = regExp.exec(text); - if (!match) - break; - let valid = true; - if (checkArray) { - for (let i = 0; i < retArray.length; i++) { - if (regExp.lastIndex > retArray[i].begin && retArray[i].end > match.index) { - valid = false; - break; - } - } - } - if (!valid) - continue; - matchArray.push({ - content: match[0], - type, - begin: match.index, - end: regExp.lastIndex, - leftSpaceRequire: leftSpaceRe, - rightSpaceRequire: rightSpaceRe - }); - } - retArray = retArray.concat(matchArray); - return retArray; -} -function matchWithAbbr(text, type, inlineTypeArray, checkArray = false) { - let retArray = inlineTypeArray; - let matchArray = []; - retArray = retArray.sort((a, b) => a.begin - b.begin); - let regAbbr = /([a-zA-Z]\.)+/g; - while (true) { - let match = regAbbr.exec(text); - if (!match) - break; - let valid = true; - let isInBlockBegin = match.index == 0; - if (checkArray) { - for (let i = 0; i < retArray.length; i++) { - if (match.index == retArray[i].end) { - isInBlockBegin = true; - } - if (regAbbr.lastIndex > retArray[i].begin && retArray[i].end > match.index) { - valid = false; - break; - } - } - } - if (!isInBlockBegin && valid) { - let regChar = /[a-zA-Z0-9]/; - if (regChar.test(text.charAt(match.index - 1))) { - valid = false; - } - } - if (!valid) - continue; - matchArray.push({ - content: match[0], - type, - begin: match.index, - end: regAbbr.lastIndex, - leftSpaceRequire: 0 /* none */, - rightSpaceRequire: 0 /* none */ - }); - } - retArray = retArray.concat(matchArray); - return retArray; -} -function splitTextWithLinkAndUserDefined(text, regExps) { - let retArray = []; - let regWikiLink = /\!{0,2}\[\[[^\[\]]*?\]\]/g; - let regMdLink = /\!{0,2}\[[^\[\]]*?\]\([^\s]*\)/g; - retArray = matchWithReg(text, regWikiLink, "wikilink" /* wikilink */, retArray); - retArray = matchWithReg(text, regMdLink, "mdlink" /* mdlink */, retArray); - let regExpList = []; - let leftSRequireList = []; - let rightSRequireList = []; - let regNull = /^\s*$|^\/\//g; - let regSRequire = /\|[\-=\+][\-=\+]$/; - if (regExps) { - let regs = regExps.split("\n"); - for (let i = 0; i < regs.length; i++) { - if (regNull.test(regs[i])) - continue; - if (!regSRequire.test(regs[i]) || regs[i].length <= 3) { - new import_obsidian.Notice("EasyTyping: \u7B2C" + String(i) + "\u884C\u81EA\u5B9A\u4E49\u6B63\u5219\u4E0D\u7B26\u5408\u89C4\u8303\n" + regs[i]); - continue; - } - let regItem = regs[i].substring(0, regs[i].length - 3); - let spaceReqString = regs[i].substring(regs[i].length - 3); - let isValidReg = true; - try { - let regTemp = new RegExp(regItem, "g"); - } catch (error) { - isValidReg = false; - if (this.settings.debug) { - new import_obsidian.Notice("EasuTyping: Bad RegExp:\n" + regItem); - } - } - if (isValidReg) { - regExpList.push(new RegExp(regItem, "g")); - leftSRequireList.push(str2SpaceState(spaceReqString.charAt(1))); - rightSRequireList.push(str2SpaceState(spaceReqString.charAt(2))); - } - } - let regLen = regExpList.length; - for (let i = 0; i < regLen; i++) { - retArray = matchWithReg(text, regExpList[i], "user-defined" /* user */, retArray, true, leftSRequireList[i], rightSRequireList[i]); - } - } - retArray = matchWithReg(text, /\d{1,2}:\d{1,2}(:\d{0,2}){0,1}/g, "user-defined" /* user */, retArray, true, 0 /* none */, 0 /* none */); - retArray = matchWithAbbr(text, "user-defined" /* user */, retArray, true); - retArray = retArray.sort((a, b) => a.begin - b.begin); - let textArray = []; - let textBegin = 0; - let textEnd = 0; - for (let i = 0; i < retArray.length; i++) { - if (textBegin < retArray[i].begin) { - textEnd = retArray[i].begin; - textArray.push({ - content: text.substring(textBegin, textEnd), - type: "text" /* text */, - begin: textBegin, - end: textEnd, - leftSpaceRequire: 0 /* none */, - rightSpaceRequire: 0 /* none */ - }); - } - textBegin = retArray[i].end; - } - if (textBegin != text.length) { - textArray.push({ - content: text.substring(textBegin, text.length), - type: "text" /* text */, - begin: textBegin, - end: text.length, - leftSpaceRequire: 0 /* none */, - rightSpaceRequire: 0 /* none */ - }); - } - retArray = retArray.concat(textArray); - retArray = retArray.sort((a, b) => a.begin - b.begin); - return retArray; -} -function str2SpaceState(s) { - switch (s) { - case "+": - return 2 /* strict */; - case "=": - return 1 /* soft */; - case "-": - default: - return 0 /* none */; - } -} -function string2SpaceState(s) { - if (Number(s) == 0 /* none */) - return 0 /* none */; - if (Number(s) == 1 /* soft */) - return 1 /* soft */; - if (Number(s) == 2 /* strict */) - return 2 /* strict */; - return 0 /* none */; -} -function getPosLineType(state, pos) { - const line = state.doc.lineAt(pos); - let line_number = line.number; - const tree = (0, import_language.ensureSyntaxTree)(state, line.to); - const token = tree.resolve(line.from, 1).name; - if (token.contains("table")) { - return "table" /* table */; - } - if (token.contains("hmd-frontmatter")) { - return "frontmatter" /* frontmatter */; - } - if (token.contains("math")) { - for (let p = line.from + 1; p < line.to; p += 1) { - if (!tree.resolve(p, 1).name.contains("math")) { - return "text" /* text */; - } - } - return "formula" /* formula */; - } else if (token.contains("code") && token.contains("block")) { - for (let p = line.from + 1; p < line.to; p += 1) { - let t = tree.resolve(p, 1).name; - if (!(t.contains("code") && t.contains("block"))) { - return "text" /* text */; - } - } - return "codeblock" /* codeblock */; - } else if (token.contains("quote") && !token.contains("callout")) { - let callout_start_line = -1; - for (let l = line_number - 1; l >= 1; l -= 1) { - let l_line = state.doc.line(l); - let l_token = tree.resolve(l_line.from, 1).name; - if (!l_token.contains("quote")) { - break; - } - if (l_token.contains("callout")) { - callout_start_line = l; - break; - } - } - if (callout_start_line == -1) - return "text" /* text */; - let is_code_block = false; - let reset = false; - let reg_code_begin = /^>+ ```/; - let reg_code_end = /^>+ ```$/; - for (let l = callout_start_line + 1; l <= line_number; l += 1) { - let l_line = state.doc.line(l); - if (reset) { - is_code_block = false; - reset = false; - } - if (is_code_block && reg_code_end.test(l_line.text)) { - is_code_block = true; - reset = true; - } else if (!is_code_block && reg_code_begin.test(l_line.text)) { - is_code_block = true; - } - } - if (is_code_block) { - return "codeblock" /* codeblock */; - } else - return "text" /* text */; - } else if (token.contains("list")) { - for (let p = line.from + 1; p < line.to; p += 1) { - let t = tree.resolve(p, 1).name; - if (t.contains("code") && t.contains("block")) { - return "codeblock" /* codeblock */; - } - } - } - return "text" /* text */; -} -function getPosLineType2(state, pos) { - const line = state.doc.lineAt(pos); - const tree = (0, import_language.syntaxTree)(state); - const token = tree.resolve(line.from, 1).name; - if (token.contains("hmd-frontmatter")) { - return "frontmatter" /* frontmatter */; - } - if (token.contains("math")) { - for (let p = line.from + 1; p < line.to; p += 1) { - if (!tree.resolve(p, 1).name.contains("math")) { - return "text" /* text */; - } - } - return "formula" /* formula */; - } else if (token.contains("code") && token.contains("block")) { - for (let p = line.from + 1; p < line.to; p += 1) { - let t = tree.resolve(p, 1).name; - if (!(t.contains("code") && t.contains("block"))) { - return "text" /* text */; - } - } - return "codeblock" /* codeblock */; - } - for (let p = line.from; p < line.to; p += 1) { - if (tree.resolve(p, 1).name.contains("list")) { - return "list" /* list */; - } else if (tree.resolve(p, 1).name.contains("callout")) { - return "callout_title" /* callout_title */; - } - } - if (token.contains("quote")) { - return "quote" /* quote */; - } - return "text" /* text */; -} - -// src/settings.ts -var import_obsidian2 = require("obsidian"); - -// src/lang/locale/en-US.ts -var locale = { - settings: { - symbolAutoPair: { - name: "Symbol auto pair and delete with pair", - desc: "Add auto-pairing and auto-deletion for various symbols such as \u300A\u300B, \u201C\u201D, \u300C\u300D, \u300E\u300F, \u3010\u3011, etc." - }, - selectionReplace: { - name: "Selection Replace Enhancement", - desc: "Enhanced editing for selected text, e.g., pressing \uFFE5 \u2192 $selected text$, pressing \xB7 \u2192 `selected text`, \u300A \u2192 \u300Aselected text\u300B, etc." - }, - fullWidthToHalfWidth: { - name: "Convert successive full width symbol to half width symbol", - desc: "Convert consecutive full-width symbols to half-width, e.g., \u3002\u3002\u2192 ., \uFF01\uFF01\u2192 !, \u300B\u300B\u2192 >" - }, - basicInputEnhance: { - name: "Basic symbol input enhance for Obsidian", - desc: "Basic input enhancement for Obsidian, e.g., \u3010\u3010| \u2192 [[|]], starting with \u3001\u2192 /, starting with \u300B\u2192 >, \xB7\xB7| \u2192 `|`, `\xB7|` becomes code block, \uFFE5\uFFE5| \u2192 $|$" - }, - codeblockEdit: { - name: "Enhance codeblock edit", - desc: "Improve editing in codeblocks (Tab, delete, paste, Cmd/Ctrl+A select)." - }, - backspaceEdit: { - name: "Enhance backspace edit", - desc: "Improve backspace featurefor empty list item or empty quote line." - }, - tabOut: { - name: "Tabout", - desc: "Tab out of inline code or paired symbols." - }, - autoFormatting: { - name: "Auto formatting when typing", - desc: "Toggle auto-formatting of text while editing the document." - }, - spaceBetweenChineseEnglish: { - name: "Space between Chinese and English", - desc: "Insert space between Chinese and English characters." - }, - spaceBetweenChineseNumber: { - name: "Space between Chinese and Number", - desc: "Insert space between Chinese characters and numbers." - }, - spaceBetweenEnglishNumber: { - name: "Space between English and Number", - desc: "Insert space between English characters and numbers." - }, - quoteSpace: { - name: "Space between quote character > and text", - desc: "Insert space between quote character > and text." - }, - deleteSpaceBetweenChinese: { - name: "Delete the Space between Chinese characters", - desc: "Remove spaces between Chinese characters." - }, - capitalizeFirstLetter: { - name: "Capitalize the first letter of every sentence", - desc: "Capitalize the first letter of each sentence in English." - }, - smartInsertSpace: { - name: "Smartly insert space between text and punctuation", - desc: "Insert space between text and punctuation intelligently." - }, - spaceStrategyInlineCode: { - name: "Space strategy between inline code and text", - desc: "No requirement: No space requirement between this category block and the surrounding text. Soft space: Only requires a soft space between this category block and the surrounding blocks. Soft space example: If the adjacent text on the left side of the current block is full-width punctuation like . , ; ? etc., and the adjacent text on the right side of the current block is all full-width or half-width punctuation. Strict space: Strictly add spaces between the current block and the adjacent text." - }, - spaceStrategyInlineFormula: { - name: "Space strategy between inline formula and text", - desc: "Define the spacing strategy between inline formulas and text." - }, - spaceStrategyLinkText: { - name: "Space strategy between link and text", - desc: "Define the spacing strategy between [[wikilink]] [mdlink](...) and text." - }, - userDefinedRegexpSwitch: { - name: "User Defined RegExp Switch", - desc: "Toggle custom regular expressions, preventing formatting and setting space strategy between matched content and other text." - }, - userDefinedRegexp: { - name: "User-defined Regular Expression, one expression per line", - desc: "User-defined regular expression, matched to the content is not formatted, one expression per line, do not feel free to add spaces at the end of the line.The end of each line of three characters fixed as | and two space strategy symbols, space strategy symbols for - = +, respectively, on behalf of not requiring spaces (-), soft spaces (=), strict spaces (+).These two space strategy symbols are the space strategy for the left and right sides of the matching block respectively" - }, - excludeFoldersFiles: { - name: "Exclude Folders/Files", - desc: "This plugin will parse each line as an exclude folder or file. For example: DailyNote/, DailyNote/WeekNotes/, DailyNote/test.md" - }, - fixMacOSContextMenu: { - name: "Fix MacOS context-menu cursor position (Need to restart Obsidian)", - desc: "Fix the issue where the cursor jumps to the next line when the context menu is invoked on MacOS (requires restarting Obsidian)." - }, - fixMicrosoftIME: { - name: "Fix Microsoft Input Method Issue", - desc: "Adapt for older versions of Microsoft Input Method." - }, - strictLineBreaks: { - name: "Strict Line breaks Mode", - desc: "In strict line breaks mode, pressing Enter once in normal text lines will produce two line breaks or two spaces and Enter." - }, - enhanceModA: { - name: "Enhance Mod+A selection in text", - desc: "First select the current line, second select the current text block, third select the entire text." - }, - puncRectify: { - name: "Punc rectify", - desc: "Automatically convert English punctuation (, . ? !) between Chinese characters to full-width punctuation during typing (reversible)." - }, - printDebugInfo: { - name: "Print debug info in console", - desc: "Print debug information in the console." - }, - selectionReplaceRule: { - name: "Selection Replace Rule", - desc: "User defined Selection Replace Rule" - }, - deleteRule: { - name: "Delete Rule", - desc: "Rule: Use | to indicate the cursor position. Tips: Using | to indicate the cursor position." - }, - convertRule: { - name: "Convert Rule", - desc: "Rule: Use | to indicate the cursor position. Tips: Using | to indicate the cursor position." - }, - trigger: { - name: "Trigger" - }, - left: { - name: "Left" - }, - right: { - name: "Right" - }, - oldPattern: { - name: "Old Pattern" - }, - newPattern: { - name: "New Pattern" - } - }, - headers: { - main: "Obsidian EasyTyping Plugin", - githubDetail: "More detail is in Github: ", - enhancedEditing: "Enhanced Editing Setting", - customizeEditRule: "Customize Edit Convertion Rule", - autoformatSetting: "Autoformat Setting", - detailedSetting: "Detailed Setting Below", - customRegexpBlock: "Custom regular expressions block", - excludeFoldersFiles: "Exclude Folders/Files", - experimentalFeatures: "Experimental Features", - aboutRegexp: { - header: "For knowledge about regular expressions, see ", - text: "Yifeng Nguyen: A Concise Tutorial on Regular Expressions" - }, - instructionsRegexp: { - header: "Instructions and examples for using regular expression rules: ", - text: "Customizing Regular Expression Rules" - }, - customizeSelectionRule: "Customize Selection Replace Rule", - customizeDeleteRule: "Customize Delete Rule", - customizeConvertRule: "Customize Convert Rule", - editSelectionReplaceRule: "Edit Selection Replace Rule" - }, - dropdownOptions: { - enterTwice: "Enter Twice", - twoSpace: "Two Space", - mixMode: "Mix Mode", - onlyWhenTyping: "Only When Typing", - globally: "Work Globally", - noRequire: "No Require", - softSpace: "Soft Space", - strictSpace: "Strict Space", - dummy: "Dummy", - smart: "Smart" - }, - toolTip: { - switch: "Switch", - editRule: "Edit rule", - removeRule: "Remove rule", - addRule: "Add Rule" - }, - placeHolder: { - triggerSymbol: "Trigger Symbol", - newLeftSideString: "New Left Side String", - newRightSideString: "New Right Side String", - addRule: "Add Rule", - noticeInvaidTrigger: "Inlvalid trigger, trigger must be a symbol of length 1 or symbol \u2014\u2014, \u2026\u2026", - noticeWarnTriggerExists: "warning! Trigger %s is already exist!", - noticeMissingInput: "missing input", - beforeDelete: "Before Delete", - newPattern: "New Pattern", - noticeInvaidTriggerPatternContainSymbol: "Inlvalid trigger, pattern must contain symbol | which indicate cursor position", - beforeConvert: "Before Convert", - noticeInvalidPatternString: "Invalid pattern string!" - }, - button: { - update: "Update" - } -}; -var en_US_default = locale; - -// src/lang/locale/zh-CN.ts -var locale2 = { - settings: { - symbolAutoPair: { - name: "\u7B26\u53F7\u81EA\u52A8\u914D\u5BF9\u53CA\u5220\u9664\u914D\u5BF9", - desc: "\u589E\u52A0\u591A\u79CD\u7B26\u53F7\u914D\u5BF9\u8F93\u5165\uFF0C\u914D\u5BF9\u5220\u9664\uFF0C\u5982\u300A\u300B, \u201C\u201D, \u300C\u300D, \u300E\u300F, \u3010\u3011\u7B49" - }, - selectionReplace: { - name: "\u9009\u4E2D\u6587\u672C\u66FF\u6362\u589E\u5F3A", - desc: "\u9009\u4E2D\u6587\u672C\u60C5\u51B5\u4E0B\u7684\u7F16\u8F91\u589E\u5F3A\uFF0C\u6309\uFFE5\u2192$\u9009\u4E2D\u7684\u6587\u672C$, \u6309\xB7\u2192`\u9009\u4E2D\u7684\u6587\u672C`\uFF0C\u300A \u2192 \u300A\u9009\u4E2D\u7684\u6587\u672C\u300B\u7B49\u7B49" - }, - fullWidthToHalfWidth: { - name: "\u8FDE\u7EED\u8F93\u5165\u5168\u89D2\u7B26\u53F7\u8F6C\u534A\u89D2\u7B26\u53F7", - desc: "\u8FDE\u7EED\u8F93\u5165\u5168\u89D2\u7B26\u53F7\u8F6C\u534A\u89D2\uFF0C\u3002\u3002\u2192 .\uFF0C\uFF01\uFF01\u2192 !\uFF0C \u300B\u300B\u2192 >" - }, - basicInputEnhance: { - name: "Obsidian \u7684\u57FA\u7840\u7B26\u53F7\u8F93\u5165\u589E\u5F3A", - desc: "Obsidian \u7684\u57FA\u7840\u8F93\u5165\u589E\u5F3A\uFF0C\u5982\u3010\u3010| \u2192 [[|]]\uFF0C\u53E5\u9996\u7684\u3001\u2192 /\uFF0C\u53E5\u9996\u7684\u300B\u2192 >\uFF0C\xB7\xB7| \u2192 `|`\uFF0C `\xB7|` \u53D8\u6210\u4EE3\u7801\u5757\uFF0C\uFFE5\uFFE5| \u2192 $|$" - }, - codeblockEdit: { - name: "\u589E\u5F3A\u4EE3\u7801\u5757\u7F16\u8F91", - desc: "\u589E\u5F3A\u4EE3\u7801\u5757\u5185\u7684\u7F16\u8F91\uFF08Cmd/Ctrl+A \u9009\u4E2D\u3001Tab\u3001\u5220\u9664\u3001\u7C98\u8D34\uFF09" - }, - backspaceEdit: { - name: "\u589E\u5F3A\u5220\u9664\u529F\u80FD", - desc: "\u589E\u5F3A\u5220\u9664\u7A7A\u5217\u8868\u9879\u6216\u7A7A\u5F15\u7528\u884C\u7684\u529F\u80FD" - }, - tabOut: { - name: "Tab \u952E\u5149\u6807\u8DF3\u51FA", - desc: "Tab \u952E\u8DF3\u51FA\u884C\u5185\u4EE3\u7801\u5757\u6216\u914D\u5BF9\u7B26\u53F7\u5757" - }, - autoFormatting: { - name: "\u8F93\u5165\u65F6\u81EA\u52A8\u683C\u5F0F\u5316", - desc: "\u662F\u5426\u5728\u7F16\u8F91\u6587\u6863\u65F6\u81EA\u52A8\u683C\u5F0F\u5316\u6587\u672C\uFF0C\u81EA\u52A8\u683C\u5F0F\u5316\u7684\u603B\u5F00\u5173" - }, - spaceBetweenChineseEnglish: { - name: "\u4E2D\u6587\u4E0E\u82F1\u6587\u4E4B\u95F4\u7684\u7A7A\u683C", - desc: "\u5728\u4E2D\u6587\u548C\u82F1\u6587\u4E4B\u95F4\u63D2\u5165\u7A7A\u683C\uFF0C\u53EF\u64A4\u9500" - }, - spaceBetweenChineseNumber: { - name: "\u4E2D\u6587\u4E0E\u6570\u5B57\u4E4B\u95F4\u7684\u7A7A\u683C", - desc: "\u5728\u4E2D\u6587\u548C\u6570\u5B57\u4E4B\u95F4\u63D2\u5165\u7A7A\u683C\uFF0C\u53EF\u64A4\u9500" - }, - spaceBetweenEnglishNumber: { - name: "\u82F1\u6587\u4E0E\u6570\u5B57\u4E4B\u95F4\u7684\u7A7A\u683C", - desc: "\u5728\u82F1\u6587\u548C\u6570\u5B57\u4E4B\u95F4\u63D2\u5165\u7A7A\u683C\uFF0C\u53EF\u64A4\u9500" - }, - quoteSpace: { - name: "\u5F15\u7528\u7B26\u53F7 > \u4E0E\u6587\u672C\u4E4B\u95F4\u81EA\u52A8\u7A7A\u683C", - desc: "\u5728\u5F15\u7528\u7B26\u53F7 > \u4E0E\u6587\u672C\u4E4B\u95F4\u81EA\u52A8\u63D2\u5165\u7A7A\u683C\uFF0C\u4E0D\u53EF\u64A4\u9500" - }, - deleteSpaceBetweenChinese: { - name: "\u5220\u9664\u4E2D\u6587\u5B57\u7B26\u95F4\u7684\u7A7A\u683C", - desc: "\u53BB\u9664\u4E2D\u6587\u5B57\u7B26\u4E4B\u95F4\u7684\u7A7A\u683C\uFF0C\u4E0D\u53EF\u64A4\u9500" - }, - capitalizeFirstLetter: { - name: "\u53E5\u9996\u5B57\u6BCD\u5927\u5199", - desc: "\u82F1\u6587\u6BCF\u4E2A\u53E5\u9996\u5B57\u6BCD\u5927\u5199\uFF0C\u53EF\u64A4\u9500" - }, - smartInsertSpace: { - name: "\u667A\u80FD\u63D2\u5165\u7A7A\u683C", - desc: "\u5728\u6587\u672C\u548C\u6807\u70B9\u4E4B\u95F4\u667A\u80FD\u63D2\u5165\u7A7A\u683C" - }, - spaceStrategyInlineCode: { - name: "\u884C\u5185\u4EE3\u7801\u548C\u6587\u672C\u4E4B\u95F4\u7684\u7A7A\u683C\u7B56\u7565", - desc: "\u65E0\u8981\u6C42\uFF1A\u5BF9\u672C\u7C7B\u522B\u5757\u4E0E\u5DE6\u53F3\u6587\u672C\u6CA1\u6709\u7A7A\u683C\u7684\u8981\u6C42\uFF0C\u8F6F\u7A7A\u683C\uFF1A\u5BF9\u672C\u7C7B\u522B\u5757\u4E0E\u5468\u56F4\u533A\u5757\u53EA\u8981\u6C42\u6709\u8F6F\u7A7A\u683C\uFF0C\u8F6F\u7A7A\u683C\u5982\u5F53\u524D\u5757\u5DE6\u8FB9\u7684\u4E34\u8FD1\u6587\u672C\u4E3A\u3002\uFF0C\uFF1B\uFF1F\u7B49\u5168\u89D2\u6807\u70B9\uFF0C\u5F53\u524D\u5757\u53F3\u8FB9\u7684\u4E34\u8FD1\u6587\u672C\u4E3A\u6240\u6709\u5168\u534A\u89D2\u6807\u70B9\uFF0C\u4E25\u683C\u7A7A\u683C\uFF1A\u5F53\u524D\u5757\u4E0E\u4E34\u8FD1\u6587\u672C\u4E4B\u95F4\u4E25\u683C\u6DFB\u52A0\u7A7A\u683C\u3002" - }, - spaceStrategyInlineFormula: { - name: "\u884C\u5185\u516C\u5F0F\u548C\u6587\u672C\u4E4B\u95F4\u7684\u7A7A\u683C\u7B56\u7565", - desc: "\u5B9A\u4E49\u884C\u5185\u516C\u5F0F\u548C\u6587\u672C\u4E4B\u95F4\u7684\u7A7A\u683C\u7B56\u7565" - }, - spaceStrategyLinkText: { - name: "\u94FE\u63A5\u548C\u6587\u672C\u4E4B\u95F4\u7684\u7A7A\u683C\u7B56\u7565", - desc: "\u5B9A\u4E49 [[wikilink]] [mdlink](...) \u548C\u6587\u672C\u4E4B\u95F4\u7684\u7A7A\u683C\u7B56\u7565" - }, - userDefinedRegexpSwitch: { - name: "\u7528\u6237\u5B9A\u4E49\u7684\u6B63\u5219\u8868\u8FBE\u5F0F\u5F00\u5173", - desc: "\u81EA\u5B9A\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\u5F00\u5173\uFF0C\u5339\u914D\u5230\u7684\u5185\u5BB9\u4E0D\u8FDB\u884C\u683C\u5F0F\u5316\uFF0C\u4E14\u53EF\u4EE5\u8BBE\u7F6E\u5339\u914D\u5230\u7684\u5185\u5BB9\u5757\u4E0E\u5176\u4ED6\u5185\u5BB9\u4E4B\u95F4\u7684\u7A7A\u683C\u7B56\u7565" - }, - userDefinedRegexp: { - name: "\u7528\u6237\u5B9A\u4E49\u7684\u6B63\u5219\u8868\u8FBE\u5F0F", - desc: "\u7528\u6237\u81EA\u5B9A\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\uFF0C\u5339\u914D\u5230\u7684\u5185\u5BB9\u4E0D\u8FDB\u884C\u683C\u5F0F\u5316\uFF0C\u6BCF\u884C\u4E00\u4E2A\u8868\u8FBE\u5F0F\uFF0C\u884C\u5C3E\u4E0D\u8981\u968F\u610F\u52A0\u7A7A\u683C\u3002\u6BCF\u884C\u672B\u5C3E3\u4E2A\u5B57\u7B26\u7684\u56FA\u5B9A\u4E3A|\u548C\u4E24\u4E2A\u7A7A\u683C\u7B56\u7565\u7B26\u53F7\uFF0C\u7A7A\u683C\u7B56\u7565\u7B26\u53F7\u4E3A-=+\uFF0C\u5206\u522B\u4EE3\u8868\u4E0D\u8981\u6C42\u7A7A\u683C(-)\uFF0C\u8F6F\u7A7A\u683C(=)\uFF0C\u4E25\u683C\u7A7A\u683C(+)\u3002\u8FD9\u4E24\u4E2A\u7A7A\u683C\u7B56\u7565\u7B26\u53F7\u5206\u522B\u4E3A\u5339\u914D\u533A\u5757\u7684\u5DE6\u53F3\u4E24\u8FB9\u7684\u7A7A\u683C\u7B56\u7565" - }, - excludeFoldersFiles: { - name: "\u6392\u9664\u6587\u4EF6\u5939/\u6587\u4EF6", - desc: "\u8BE5\u63D2\u4EF6\u5C06\u6BCF\u884C\u89E3\u6790\u4E3A\u4E00\u4E2A\u6392\u9664\u6587\u4EF6\u5939\u6216\u6587\u4EF6\u3002\u4F8B\u5982\uFF1ADailyNote/, DailyNote/WeekNotes/, DailyNote/test.md" - }, - fixMacOSContextMenu: { - name: "\u4FEE\u590D MacOS \u53F3\u952E\u83DC\u5355\u5149\u6807\u4F4D\u7F6E", - desc: "\u4FEE\u590D MacOS \u9F20\u6807\u53F3\u952E\u547C\u51FA\u83DC\u5355\u65F6\u5149\u6807\u8DF3\u5230\u4E0B\u4E00\u884C\u7684\u95EE\u9898 (\u9700\u8981\u91CD\u542F Obsidian \u751F\u6548)" - }, - fixMicrosoftIME: { - name: "\u4FEE\u590D\u5FAE\u8F6F\u8F93\u5165\u6CD5\u95EE\u9898", - desc: "\u9002\u914D\u65E7\u7248\u5FAE\u8F6F\u8F93\u5165\u6CD5" - }, - strictLineBreaks: { - name: "\u4E25\u683C\u6362\u884C\u6A21\u5F0F\u56DE\u8F66\u589E\u5F3A", - desc: "\u4E25\u683C\u6362\u884C\u7684\u8BBE\u7F6E\u4E0B\uFF0C\u5728\u666E\u901A\u6587\u672C\u884C\u8FDB\u884C\u4E00\u6B21\u56DE\u8F66\u4F1A\u6839\u636E\u6A21\u5F0F\u4EA7\u751F\u4E24\u4E2A\u6362\u884C\u7B26\u6216\u8005\u4E24\u4E2A\u7A7A\u683C\u548C\u56DE\u8F66" - }, - enhanceModA: { - name: "\u589E\u5F3A Ctrl/Cmd+A \u529F\u80FD", - desc: "\u7B2C\u4E00\u6B21\u9009\u4E2D\u5F53\u524D\u884C\uFF0C\u7B2C\u4E8C\u6B21\u9009\u4E2D\u5F53\u524D\u6587\u672C\u5757\uFF0C\u7B2C\u4E09\u6B21\u9009\u4E2D\u5168\u6587\u3002" - }, - puncRectify: { - name: "\u6807\u70B9\u77EB\u6B63", - desc: "\u4EC5\u5728\u8F93\u5165\u8FC7\u7A0B\u4E2D\uFF0C\u4E2D\u6587\u95F4\u7684\u82F1\u6587\u6807\u70B9\uFF08,.?!\uFF09\u81EA\u52A8\u8F6C\u6362\u4E3A\u5168\u89D2\uFF08\u53EF\u64A4\u9500\uFF09" - }, - printDebugInfo: { - name: "\u5728\u63A7\u5236\u53F0\u8F93\u51FA\u8C03\u8BD5\u4FE1\u606F", - desc: "\u5728\u63A7\u5236\u53F0\u8F93\u51FA\u8C03\u8BD5\u4FE1\u606F" - }, - selectionReplaceRule: { - name: "\u9009\u4E2D\u66FF\u6362\u89C4\u5219", - desc: "\u7528\u6237\u5B9A\u4E49\u7684\u9009\u62E9\u66FF\u6362\u89C4\u5219" - }, - deleteRule: { - name: "\u5220\u9664\u89C4\u5219", - desc: "\u89C4\u5219\uFF1A\u7528 | \u4EE3\u8868\u5149\u6807\u4F4D\u7F6E\uFF0C\u5FC5\u987B\u5305\u542B\u5149\u6807\u3002\u63D0\u793A\uFF1A\u4F7F\u7528 | \u8868\u793A\u5149\u6807\u4F4D\u7F6E\u3002" - }, - convertRule: { - name: "\u8F6C\u6362\u89C4\u5219", - desc: "\u89C4\u5219\uFF1A\u7528 | \u4EE3\u8868\u5149\u6807\u4F4D\u7F6E\uFF0C\u5FC5\u987B\u5305\u542B\u5149\u6807\u3002\u63D0\u793A\uFF1A\u4F7F\u7528 | \u8868\u793A\u5149\u6807\u4F4D\u7F6E\u3002" - }, - trigger: { - name: "\u89E6\u53D1\u5668" - }, - left: { - name: "\u5DE6" - }, - right: { - name: "\u53F3" - }, - oldPattern: { - name: "\u65E7\u6A21\u5F0F" - }, - newPattern: { - name: "\u65B0\u6A21\u5F0F" - } - }, - headers: { - main: "Obsidian EasyTyping \u63D2\u4EF6", - githubDetail: "\u8BE6\u60C5\u89C1 Github\uFF1A", - enhancedEditing: "\u589E\u5F3A\u7F16\u8F91\u8BBE\u7F6E", - customizeEditRule: "\u81EA\u5B9A\u4E49\u7F16\u8F91\u8F6C\u6362\u89C4\u5219", - autoformatSetting: "\u81EA\u52A8\u683C\u5F0F\u5316\u8BBE\u7F6E", - detailedSetting: "\u8BE6\u7EC6\u8BBE\u7F6E\u5982\u4E0B", - customRegexpBlock: "\u81EA\u5B9A\u4E49\u6B63\u5219\u533A\u5757", - excludeFoldersFiles: "\u6307\u5B9A\u6587\u4EF6\u4E0D\u81EA\u52A8\u683C\u5F0F\u5316", - experimentalFeatures: "\u5B9E\u9A8C\u529F\u80FD", - aboutRegexp: { - header: "\u6B63\u5219\u8868\u8FBE\u5F0F\u76F8\u5173\u77E5\u8BC6\uFF0C\u89C1 ", - text: "\u300A\u962E\u4E00\u5CF0\uFF1A\u6B63\u5219\u8868\u8FBE\u5F0F\u7B80\u660E\u6559\u7A0B\u300B" - }, - instructionsRegexp: { - header: "\u6B63\u5219\u8868\u8FBE\u5F0F\u89C4\u5219\u4F7F\u7528\u8BF4\u660E\u4E0E\u793A\u4F8B\uFF1A ", - text: "\u81EA\u5B9A\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\u89C4\u5219" - }, - customizeSelectionRule: "\u81EA\u5B9A\u4E49\u9009\u4E2D\u6587\u672C\u7F16\u8F91\u589E\u5F3A\u89C4\u5219", - customizeDeleteRule: "\u81EA\u5B9A\u4E49\u5220\u9664\u7F16\u8F91\u589E\u5F3A\u89C4\u5219", - customizeConvertRule: "\u81EA\u5B9A\u4E49\u7F16\u8F91\u8F6C\u6362\u89C4\u5219", - editSelectionReplaceRule: "\u7F16\u8F91\u9009\u4E2D\u66FF\u6362\u89C4\u5219" - }, - dropdownOptions: { - enterTwice: "\u4E24\u6B21\u56DE\u8F66", - twoSpace: "\u52A0\u4E24\u4E2A\u7A7A\u683C", - mixMode: "\u6DF7\u5408\u6A21\u5F0F", - onlyWhenTyping: "\u8F93\u5165\u65F6\u751F\u6548", - globally: "\u5168\u5C40\u751F\u6548", - noRequire: "\u65E0\u8981\u6C42", - softSpace: "\u8F6F\u7A7A\u683C", - strictSpace: "\u4E25\u683C\u7A7A\u683C", - dummy: "\u5446\u7A7A\u683C", - smart: "\u667A\u80FD\u7A7A\u683C" - }, - toolTip: { - switch: "\u529F\u80FD\u5F00\u5173", - editRule: "\u7F16\u8F91\u89C4\u5219", - removeRule: "\u5220\u9664\u89C4\u5219", - addRule: "\u6DFB\u52A0\u89C4\u5219" - }, - placeHolder: { - triggerSymbol: "\u89E6\u53D1\u7B26", - newLeftSideString: "\u5DE6\u8FB9\u7B26\u53F7", - newRightSideString: "\u53F3\u8FB9\u7B26\u53F7", - addRule: "\u6DFB\u52A0\u89C4\u5219", - noticeInvaidTrigger: "\u65E0\u6548\u7684\u89E6\u53D1\u7B26, \u89E6\u53D1\u7B26\u5FC5\u987B\u662F\u5355\u5B57\u7B26\u6216\u8005\u662F \u2014\u2014\u3001\u2026\u2026", - noticeWarnTriggerExists: "\u65E0\u6548\u89C4\u5219! \u89E6\u53D1\u7B26 %s \u5DF2\u5B58\u5728", - noticeMissingInput: "missing input", - beforeDelete: "\u5220\u9664\u524D|", - newPattern: "\u89E6\u53D1\u89C4\u5219\u540E\u5B57\u7B26\u4E32\u6A21\u5F0F", - noticeInvaidTriggerPatternContainSymbol: "\u65E0\u6548\u89C4\u5219, \u8F6C\u6362\u524D\u6A21\u5F0F\u5FC5\u987B\u5305\u542B\u4EE3\u8868\u5149\u6807\u4F4D\u7F6E\u7684\u7B26\u53F7 |", - beforeConvert: "\u8F6C\u6362\u524D|", - noticeInvalidPatternString: "Invalid pattern string!" - }, - button: { - update: "\u66F4\u65B0" - } -}; -var zh_CN_default = locale2; - -// src/lang/locale/ru-RU.ts -var locale3 = { - settings: { - symbolAutoPair: { - name: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u043F\u0430\u0440\u0430", - desc: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u0437\u0430\u043A\u0440\u044B\u0442\u0438\u0435 \u0438 \u0430\u0432\u0442\u043E\u0437\u0430\u043A\u0440\u044B\u0442\u0438\u0435 \u0434\u043B\u044F \u0440\u0430\u0437\u043B\u0438\u0447\u043D\u044B\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432, \u0442\u0430\u043A\u0438\u0445 \u043A\u0430\u043A \u300A\u300B, \u201C\u201D, \u300C\u300D, \u300E\u300F, \u3010\u3011 \u0438 \u0442.\u0434." - }, - selectionReplace: { - name: "\u0423\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u0435 \u0437\u0430\u043C\u0435\u043D\u044B \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0433\u043E \u0442\u0435\u043A\u0441\u0442\u0430", - desc: "\u0423\u043B\u0443\u0447\u0448\u0435\u043D\u043D\u043E\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0433\u043E \u0442\u0435\u043A\u0441\u0442\u0430, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043D\u0430\u0436\u0430\u0442\u0438\u0435 \uFFE5 \u2192 $\u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442$, \u043D\u0430\u0436\u0430\u0442\u0438\u0435 \xB7 \u2192 `\u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442`, \u300A \u2192 \u300A\u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442\u300B \u0438 \u0442.\u0434." - }, - fullWidthToHalfWidth: { - name: "\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044F \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u043F\u043E\u043B\u043D\u043E\u0448\u0438\u0440\u0438\u043D\u043D\u044B\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0432 \u043F\u043E\u043B\u0443\u0448\u0438\u0440\u0438\u043D\u043D\u044B\u0435", - desc: "\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044F \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u043F\u043E\u043B\u043D\u043E\u0448\u0438\u0440\u0438\u043D\u043D\u044B\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0432 \u043F\u043E\u043B\u0443\u0448\u0438\u0440\u0438\u043D\u043D\u044B\u0435, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u3002\u3002\u2192 ., \uFF01\uFF01\u2192 !, \u300B\u300B\u2192 >" - }, - basicInputEnhance: { - name: "\u0423\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u0435 \u0431\u0430\u0437\u043E\u0432\u043E\u0433\u043E \u0432\u0432\u043E\u0434\u0430 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u0434\u043B\u044F Obsidian", - desc: "\u0423\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u0435 \u0431\u0430\u0437\u043E\u0432\u043E\u0433\u043E \u0432\u0432\u043E\u0434\u0430 \u0434\u043B\u044F Obsidian, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u3010\u3010| \u2192 [[|]], \u043D\u0430\u0447\u0430\u043B\u043E \u0441 \u3001\u2192 /, \u043D\u0430\u0447\u0430\u043B\u043E \u0441 \u300B\u2192 >, \xB7\xB7| \u2192 `|`, `\xB7|` \u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0441\u044F \u043A\u043E\u0434\u043E\u0432\u044B\u043C \u0431\u043B\u043E\u043A\u043E\u043C, \uFFE5\uFFE5| \u2192 $|$" - }, - codeblockEdit: { - name: "\u0423\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043A\u043E\u0434\u043E\u0432\u044B\u0445 \u0431\u043B\u043E\u043A\u043E\u0432", - desc: "\u0423\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0432 \u043A\u043E\u0434\u043E\u0432\u044B\u0445 \u0431\u043B\u043E\u043A\u0430\u0445 (Tab, \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435, \u0432\u0441\u0442\u0430\u0432\u043A\u0430, Cmd/Ctrl+A \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435)." - }, - backspaceEdit: { - name: "\u0423\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u0435 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F", - desc: "\u0423\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u0435 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u043F\u0443\u0441\u0442\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0441\u043F\u0438\u0441\u043A\u0430 \u0438\u043B\u0438 \u043F\u0443\u0441\u0442\u044B\u0445 \u0441\u0442\u0440\u043E\u043A \u0441\u0441\u044B\u043B\u043E\u043A." - }, - tabOut: { - name: "Tabout", - desc: "\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430 \u0438\u043B\u0438 \u043F\u0430\u0440\u043D\u044B\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432." - }, - autoFormatting: { - name: "\u0410\u0432\u0442\u043E\u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043F\u0440\u0438 \u043D\u0430\u0431\u043E\u0440\u0435 \u0442\u0435\u043A\u0441\u0442\u0430", - desc: "\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435/\u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0430\u0432\u0442\u043E\u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0442\u0435\u043A\u0441\u0442\u0430 \u0432\u043E \u0432\u0440\u0435\u043C\u044F \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430." - }, - spaceBetweenChineseEnglish: { - name: "\u041F\u0440\u043E\u0431\u0435\u043B \u043C\u0435\u0436\u0434\u0443 \u043A\u0438\u0442\u0430\u0439\u0441\u043A\u0438\u043C\u0438 \u0438 \u0430\u043D\u0433\u043B\u0438\u0439\u0441\u043A\u0438\u043C\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u0430\u043C\u0438", - desc: "\u0412\u0441\u0442\u0430\u0432\u043A\u0430 \u043F\u0440\u043E\u0431\u0435\u043B\u0430 \u043C\u0435\u0436\u0434\u0443 \u043A\u0438\u0442\u0430\u0439\u0441\u043A\u0438\u043C\u0438 \u0438 \u0430\u043D\u0433\u043B\u0438\u0439\u0441\u043A\u0438\u043C\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u0430\u043C\u0438." - }, - spaceBetweenChineseNumber: { - name: "\u041F\u0440\u043E\u0431\u0435\u043B \u043C\u0435\u0436\u0434\u0443 \u043A\u0438\u0442\u0430\u0439\u0441\u043A\u0438\u043C\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u0430\u043C\u0438 \u0438 \u0447\u0438\u0441\u043B\u0430\u043C\u0438", - desc: "\u0412\u0441\u0442\u0430\u0432\u043A\u0430 \u043F\u0440\u043E\u0431\u0435\u043B\u0430 \u043C\u0435\u0436\u0434\u0443 \u043A\u0438\u0442\u0430\u0439\u0441\u043A\u0438\u043C\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u0430\u043C\u0438 \u0438 \u0447\u0438\u0441\u043B\u0430\u043C\u0438." - }, - spaceBetweenEnglishNumber: { - name: "\u041F\u0440\u043E\u0431\u0435\u043B \u043C\u0435\u0436\u0434\u0443 \u0430\u043D\u0433\u043B\u0438\u0439\u0441\u043A\u0438\u043C\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u0430\u043C\u0438 \u0438 \u0447\u0438\u0441\u043B\u0430\u043C\u0438", - desc: "\u0412\u0441\u0442\u0430\u0432\u043A\u0430 \u043F\u0440\u043E\u0431\u0435\u043B\u0430 \u043C\u0435\u0436\u0434\u0443 \u0430\u043D\u0433\u043B\u0438\u0439\u0441\u043A\u0438\u043C\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u0430\u043C\u0438 \u0438 \u0447\u0438\u0441\u043B\u0430\u043C\u0438." - }, - quoteSpace: { - name: "\u041F\u0440\u043E\u0431\u0435\u043B \u043C\u0435\u0436\u0434\u0443 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u043C > \u0438 \u0442\u0435\u043A\u0441\u0442\u043E\u043C", - desc: "\u0412\u0441\u0442\u0430\u0432\u043A\u0430 \u043F\u0440\u043E\u0431\u0435\u043B\u0430 \u043C\u0435\u0436\u0434\u0443 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u043C > \u0438 \u0442\u0435\u043A\u0441\u0442\u043E\u043C." - }, - deleteSpaceBetweenChinese: { - name: "\u0423\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u043F\u0440\u043E\u0431\u0435\u043B\u0430 \u043C\u0435\u0436\u0434\u0443 \u043A\u0438\u0442\u0430\u0439\u0441\u043A\u0438\u043C\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u0430\u043C\u0438", - desc: "\u0423\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 \u043C\u0435\u0436\u0434\u0443 \u043A\u0438\u0442\u0430\u0439\u0441\u043A\u0438\u043C\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u0430\u043C\u0438." - }, - capitalizeFirstLetter: { - name: "\u0417\u0430\u0433\u043B\u0430\u0432\u043D\u0430\u044F \u0431\u0443\u043A\u0432\u0430 \u0432 \u043D\u0430\u0447\u0430\u043B\u0435 \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F", - desc: "\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u043F\u0435\u0440\u0432\u043E\u0439 \u0431\u0443\u043A\u0432\u044B \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0432 \u0430\u043D\u0433\u043B\u0438\u0439\u0441\u043A\u043E\u043C \u0432 \u0437\u0430\u0433\u043B\u0430\u0432\u043D\u0443\u044E." - }, - smartInsertSpace: { - name: "\u0418\u043D\u0442\u0435\u043B\u043B\u0435\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u0430\u044F \u0432\u0441\u0442\u0430\u0432\u043A\u0430 \u043F\u0440\u043E\u0431\u0435\u043B\u0430 \u043C\u0435\u0436\u0434\u0443 \u0442\u0435\u043A\u0441\u0442\u043E\u043C \u0438 \u043F\u0443\u043D\u043A\u0442\u0443\u0430\u0446\u0438\u0435\u0439", - desc: "\u0418\u043D\u0442\u0435\u043B\u043B\u0435\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u0430\u044F \u0432\u0441\u0442\u0430\u0432\u043A\u0430 \u043F\u0440\u043E\u0431\u0435\u043B\u0430 \u043C\u0435\u0436\u0434\u0443 \u0442\u0435\u043A\u0441\u0442\u043E\u043C \u0438 \u043F\u0443\u043D\u043A\u0442\u0443\u0430\u0446\u0438\u0435\u0439." - }, - spaceStrategyInlineCode: { - name: "\u0421\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044F \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 \u043C\u0435\u0436\u0434\u0443 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u043C \u043A\u043E\u0434\u043E\u043C \u0438 \u0442\u0435\u043A\u0441\u0442\u043E\u043C", - desc: "\u041D\u0435\u0442 \u0442\u0440\u0435\u0431\u043E\u0432\u0430\u043D\u0438\u0439: \u041D\u0435\u0442 \u0442\u0440\u0435\u0431\u043E\u0432\u0430\u043D\u0438\u0439 \u043A \u043F\u0440\u043E\u0431\u0435\u043B\u0430\u043C \u043C\u0435\u0436\u0434\u0443 \u044D\u0442\u0438\u043C \u0431\u043B\u043E\u043A\u043E\u043C \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438 \u0438 \u043E\u043A\u0440\u0443\u0436\u0430\u044E\u0449\u0438\u043C \u0442\u0435\u043A\u0441\u0442\u043E\u043C. \u041C\u044F\u0433\u043A\u0438\u0439 \u043F\u0440\u043E\u0431\u0435\u043B: \u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u043C\u044F\u0433\u043A\u0438\u0439 \u043F\u0440\u043E\u0431\u0435\u043B \u043C\u0435\u0436\u0434\u0443 \u044D\u0442\u0438\u043C \u0431\u043B\u043E\u043A\u043E\u043C \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438 \u0438 \u043E\u043A\u0440\u0443\u0436\u0430\u044E\u0449\u0438\u043C\u0438 \u0431\u043B\u043E\u043A\u0430\u043C\u0438. \u041F\u0440\u0438\u043C\u0435\u0440 \u043C\u044F\u0433\u043A\u043E\u0433\u043E \u043F\u0440\u043E\u0431\u0435\u043B\u0430: \u0415\u0441\u043B\u0438 \u043F\u0440\u0438\u043B\u0435\u0433\u0430\u044E\u0449\u0438\u0439 \u0442\u0435\u043A\u0441\u0442 \u0441\u043B\u0435\u0432\u0430 \u043E\u0442 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u0431\u043B\u043E\u043A\u0430 - \u044D\u0442\u043E \u043F\u043E\u043B\u043D\u043E\u0448\u0438\u0440\u0438\u043D\u043D\u0430\u044F \u043F\u0443\u043D\u043A\u0442\u0443\u0430\u0446\u0438\u044F, \u0442\u0430\u043A\u0430\u044F \u043A\u0430\u043A . , ; ? \u0438 \u0442.\u0434., \u0430 \u043F\u0440\u0438\u043B\u0435\u0433\u0430\u044E\u0449\u0438\u0439 \u0442\u0435\u043A\u0441\u0442 \u0441\u043F\u0440\u0430\u0432\u0430 \u043E\u0442 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u0431\u043B\u043E\u043A\u0430 - \u044D\u0442\u043E \u0432\u0441\u044F \u043F\u043E\u043B\u043D\u043E\u0448\u0438\u0440\u0438\u043D\u043D\u0430\u044F \u0438\u043B\u0438 \u043F\u043E\u043B\u0443\u0448\u0438\u0440\u0438\u043D\u043D\u0430\u044F \u043F\u0443\u043D\u043A\u0442\u0443\u0430\u0446\u0438\u044F. \u0421\u0442\u0440\u043E\u0433\u0438\u0439 \u043F\u0440\u043E\u0431\u0435\u043B: \u0421\u0442\u0440\u043E\u0433\u043E\u0435 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 \u043C\u0435\u0436\u0434\u0443 \u0442\u0435\u043A\u0443\u0449\u0438\u043C \u0431\u043B\u043E\u043A\u043E\u043C \u0438 \u043F\u0440\u0438\u043B\u0435\u0433\u0430\u044E\u0449\u0438\u043C \u0442\u0435\u043A\u0441\u0442\u043E\u043C." - }, - spaceStrategyInlineFormula: { - name: "\u0421\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044F \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 \u043C\u0435\u0436\u0434\u0443 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u043E\u0439 \u0444\u043E\u0440\u043C\u0443\u043B\u043E\u0439 \u0438 \u0442\u0435\u043A\u0441\u0442\u043E\u043C", - desc: "\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 \u043C\u0435\u0436\u0434\u0443 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u043C\u0438 \u0444\u043E\u0440\u043C\u0443\u043B\u0430\u043C\u0438 \u0438 \u0442\u0435\u043A\u0441\u0442\u043E\u043C." - }, - spaceStrategyLinkText: { - name: "\u0421\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044F \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 \u043C\u0435\u0436\u0434\u0443 \u0441\u0441\u044B\u043B\u043A\u043E\u0439 \u0438 \u0442\u0435\u043A\u0441\u0442\u043E\u043C", - desc: "\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 \u043C\u0435\u0436\u0434\u0443 [[\u0432\u0438\u043A\u0438\u0441\u0441\u044B\u043B\u043A\u0430\u043C\u0438]] [markdown-\u0441\u0441\u044B\u043B\u043A\u0430\u043C\u0438](...) \u0438 \u0442\u0435\u043A\u0441\u0442\u043E\u043C." - }, - userDefinedRegexpSwitch: { - name: "\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0445 \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u044B\u0445 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0439", - desc: "\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435/\u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0445 \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u044B\u0445 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0439, \u043F\u0440\u0435\u0434\u043E\u0442\u0432\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 \u043C\u0435\u0436\u0434\u0443 \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u044E\u0449\u0438\u043C \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u044B\u043C \u0438 \u0434\u0440\u0443\u0433\u0438\u043C \u0442\u0435\u043A\u0441\u0442\u043E\u043C." - }, - userDefinedRegexp: { - name: "\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0435 \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u043E\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0435, \u043E\u0434\u043D\u043E \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0430 \u0441\u0442\u0440\u043E\u043A\u0443", - desc: "\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0435 \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u043E\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0435, \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u044E\u0449\u0435\u0435 \u0441 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u044B\u043C, \u043D\u0435 \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044F, \u043E\u0434\u043D\u043E \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0430 \u0441\u0442\u0440\u043E\u043A\u0443, \u043D\u0435 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0439\u0442\u0435 \u043F\u0440\u043E\u0431\u0435\u043B\u044B \u0432 \u043A\u043E\u043D\u0446\u0435 \u0441\u0442\u0440\u043E\u043A\u0438.\u041A\u043E\u043D\u0435\u0446 \u043A\u0430\u0436\u0434\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u0438 \u0444\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u043D \u0442\u0440\u0435\u043C\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u0430\u043C\u0438: | \u0438 \u0434\u0432\u0443\u043C\u044F \u0441\u0438\u043C\u0432\u043E\u043B\u0430\u043C\u0438 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432, \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 - \u044D\u0442\u043E - = +, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043D\u043D\u043E \u043E\u0431\u043E\u0437\u043D\u0430\u0447\u0430\u044E\u0442 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0442\u0440\u0435\u0431\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 (-), \u043C\u044F\u0433\u043A\u0438\u0435 \u043F\u0440\u043E\u0431\u0435\u043B\u044B (=), \u0441\u0442\u0440\u043E\u0433\u0438\u0435 \u043F\u0440\u043E\u0431\u0435\u043B\u044B (+).\u042D\u0442\u0438 \u0434\u0432\u0430 \u0441\u0438\u043C\u0432\u043E\u043B\u0430 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 \u044F\u0432\u043B\u044F\u044E\u0442\u0441\u044F \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0435\u0439 \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432 \u0434\u043B\u044F \u043B\u0435\u0432\u043E\u0439 \u0438 \u043F\u0440\u0430\u0432\u043E\u0439 \u0441\u0442\u043E\u0440\u043E\u043D \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u044E\u0449\u0435\u0433\u043E \u0431\u043B\u043E\u043A\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043D\u043D\u043E" - }, - excludeFoldersFiles: { - name: "\u0418\u0441\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u0430\u043F\u043A\u0438/\u0444\u0430\u0439\u043B\u044B", - desc: "\u042D\u0442\u043E\u0442 \u043F\u043B\u0430\u0433\u0438\u043D \u0431\u0443\u0434\u0435\u0442 \u043E\u0431\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u0442\u044C \u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443 \u043A\u0430\u043A \u0438\u0441\u043A\u043B\u044E\u0447\u0430\u0435\u043C\u0443\u044E \u043F\u0430\u043F\u043A\u0443 \u0438\u043B\u0438 \u0444\u0430\u0439\u043B. \u041D\u0430\u043F\u0440\u0438\u043C\u0435\u0440: DailyNote/, DailyNote/WeekNotes/, DailyNote/test.md" - }, - fixMacOSContextMenu: { - name: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043A\u0443\u0440\u0441\u043E\u0440\u0430 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0433\u043E \u043C\u0435\u043D\u044E MacOS (\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A Obsidian)", - desc: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B, \u043A\u043E\u0433\u0434\u0430 \u043A\u0443\u0440\u0441\u043E\u0440 \u043F\u0435\u0440\u0435\u0441\u043A\u0430\u043A\u0438\u0432\u0430\u0435\u0442 \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443 \u043F\u0440\u0438 \u0432\u044B\u0437\u043E\u0432\u0435 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0433\u043E \u043C\u0435\u043D\u044E \u043D\u0430 MacOS (\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A Obsidian)." - }, - fixMicrosoftIME: { - name: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B \u0441 Microsoft Input Method", - desc: "\u0410\u0434\u0430\u043F\u0442\u0430\u0446\u0438\u044F \u0434\u043B\u044F \u0441\u0442\u0430\u0440\u044B\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 Microsoft Input Method." - }, - strictLineBreaks: { - name: "\u0420\u0435\u0436\u0438\u043C \u0441\u0442\u0440\u043E\u0433\u0438\u0445 \u0440\u0430\u0437\u0440\u044B\u0432\u043E\u0432 \u0441\u0442\u0440\u043E\u043A", - desc: "\u0412 \u0440\u0435\u0436\u0438\u043C\u0435 \u0441\u0442\u0440\u043E\u0433\u0438\u0445 \u0440\u0430\u0437\u0440\u044B\u0432\u043E\u0432 \u0441\u0442\u0440\u043E\u043A, \u043E\u0434\u043D\u043E\u043A\u0440\u0430\u0442\u043D\u043E\u0435 \u043D\u0430\u0436\u0430\u0442\u0438\u0435 Enter \u0432 \u043E\u0431\u044B\u0447\u043D\u044B\u0445 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u044B\u0445 \u0441\u0442\u0440\u043E\u043A\u0430\u0445 \u0441\u043E\u0437\u0434\u0430\u0441\u0442 \u0434\u0432\u0430 \u0440\u0430\u0437\u0440\u044B\u0432\u0430 \u0441\u0442\u0440\u043E\u043A\u0438 \u0438\u043B\u0438 \u0434\u0432\u0430 \u043F\u0440\u043E\u0431\u0435\u043B\u0430 \u0438 Enter." - }, - enhanceModA: { - name: "\u0423\u043B\u0443\u0447\u0448\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 Mod+A \u0432 \u0442\u0435\u043A\u0441\u0442\u0435", - desc: "\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u0432\u044B\u0434\u0435\u043B\u0438\u0442\u0435 \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443, \u0437\u0430\u0442\u0435\u043C \u0432\u044B\u0434\u0435\u043B\u0438\u0442\u0435 \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u044B\u0439 \u0431\u043B\u043E\u043A, \u0437\u0430\u0442\u0435\u043C \u0432\u044B\u0434\u0435\u043B\u0438\u0442\u0435 \u0432\u0435\u0441\u044C \u0442\u0435\u043A\u0441\u0442." - }, - puncRectify: { - name: "\u041A\u043E\u0440\u0440\u0435\u043A\u0446\u0438\u044F \u043F\u0443\u043D\u043A\u0442\u0443\u0430\u0446\u0438\u0438", - desc: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0430\u044F \u043A\u043E\u043D\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044F \u0430\u043D\u0433\u043B\u0438\u0439\u0441\u043A\u043E\u0439 \u043F\u0443\u043D\u043A\u0442\u0443\u0430\u0446\u0438\u0438 (, . ? !) \u043C\u0435\u0436\u0434\u0443 \u043A\u0438\u0442\u0430\u0439\u0441\u043A\u0438\u043C\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u0430\u043C\u0438 \u0432 \u043F\u043E\u043B\u043D\u043E\u0448\u0438\u0440\u0438\u043D\u043D\u0443\u044E \u043F\u0443\u043D\u043A\u0442\u0443\u0430\u0446\u0438\u044E \u043F\u0440\u0438 \u043D\u0430\u0431\u043E\u0440\u0435 \u0442\u0435\u043A\u0441\u0442\u0430 (\u043E\u0431\u0440\u0430\u0442\u0438\u043C\u043E)." - }, - printDebugInfo: { - name: "\u0412\u044B\u0432\u043E\u0434 \u043E\u0442\u043B\u0430\u0434\u043E\u0447\u043D\u043E\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438 \u0432 \u043A\u043E\u043D\u0441\u043E\u043B\u044C", - desc: "\u0412\u044B\u0432\u043E\u0434 \u043E\u0442\u043B\u0430\u0434\u043E\u0447\u043D\u043E\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438 \u0432 \u043A\u043E\u043D\u0441\u043E\u043B\u044C." - }, - selectionReplaceRule: { - name: "\u041F\u0440\u0430\u0432\u0438\u043B\u043E \u0437\u0430\u043C\u0435\u043D\u044B \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0433\u043E \u0442\u0435\u043A\u0441\u0442\u0430", - desc: "\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0435 \u043F\u0440\u0430\u0432\u0438\u043B\u043E \u0437\u0430\u043C\u0435\u043D\u044B \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0433\u043E \u0442\u0435\u043A\u0441\u0442\u0430" - }, - deleteRule: { - name: "\u041F\u0440\u0430\u0432\u0438\u043B\u043E \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F", - desc: "\u041F\u0440\u0430\u0432\u0438\u043B\u043E: \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 | \u0434\u043B\u044F \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u0438 \u043A\u0443\u0440\u0441\u043E\u0440\u0430. \u041F\u043E\u0434\u0441\u043A\u0430\u0437\u043A\u0430: \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 | \u0434\u043B\u044F \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u0438 \u043A\u0443\u0440\u0441\u043E\u0440\u0430." - }, - convertRule: { - name: "\u041F\u0440\u0430\u0432\u0438\u043B\u043E \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F", - desc: "\u041F\u0440\u0430\u0432\u0438\u043B\u043E: \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 | \u0434\u043B\u044F \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u0438 \u043A\u0443\u0440\u0441\u043E\u0440\u0430. \u041F\u043E\u0434\u0441\u043A\u0430\u0437\u043A\u0430: \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 | \u0434\u043B\u044F \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u0438 \u043A\u0443\u0440\u0441\u043E\u0440\u0430." - }, - trigger: { - name: "\u0422\u0440\u0438\u0433\u0433\u0435\u0440" - }, - left: { - name: "\u041B\u0435\u0432\u044B\u0439" - }, - right: { - name: "\u041F\u0440\u0430\u0432\u044B\u0439" - }, - oldPattern: { - name: "\u0421\u0442\u0430\u0440\u044B\u0439 \u0448\u0430\u0431\u043B\u043E\u043D" - }, - newPattern: { - name: "\u041D\u043E\u0432\u044B\u0439 \u0448\u0430\u0431\u043B\u043E\u043D" - } - }, - headers: { - main: "\u041F\u043B\u0430\u0433\u0438\u043D Obsidian EasyTyping", - githubDetail: "\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435 \u043D\u0430 Github: ", - enhancedEditing: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0443\u043B\u0443\u0447\u0448\u0435\u043D\u043D\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F", - customizeEditRule: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u043F\u0440\u0430\u0432\u0438\u043B\u0430 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F", - autoformatSetting: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0430\u0432\u0442\u043E\u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F", - detailedSetting: "\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0430\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u043D\u0438\u0436\u0435", - customRegexpBlock: "\u0411\u043B\u043E\u043A \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0445 \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u044B\u0445 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0439", - excludeFoldersFiles: "\u0418\u0441\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u0430\u043F\u043A\u0438/\u0444\u0430\u0439\u043B\u044B", - experimentalFeatures: "\u042D\u043A\u0441\u043F\u0435\u0440\u0438\u043C\u0435\u043D\u0442\u0430\u043B\u044C\u043D\u044B\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438", - aboutRegexp: { - header: "\u0414\u043B\u044F \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438 \u043E \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u044B\u0445 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F\u0445 \u0441\u043C. ", - text: "Yifeng Nguyen: \u041A\u0440\u0430\u0442\u043A\u043E\u0435 \u0440\u0443\u043A\u043E\u0432\u043E\u0434\u0441\u0442\u0432\u043E \u043F\u043E \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u044B\u043C \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F\u043C" - }, - instructionsRegexp: { - header: "\u0418\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0438\u0438 \u0438 \u043F\u0440\u0438\u043C\u0435\u0440\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u0440\u0430\u0432\u0438\u043B \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u044B\u0445 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0439: ", - text: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0445 \u043F\u0440\u0430\u0432\u0438\u043B \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u044B\u0445 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0439" - }, - customizeSelectionRule: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u043F\u0440\u0430\u0432\u0438\u043B\u0430 \u0437\u0430\u043C\u0435\u043D\u044B \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0433\u043E \u0442\u0435\u043A\u0441\u0442\u0430", - customizeDeleteRule: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u043F\u0440\u0430\u0432\u0438\u043B\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F", - customizeConvertRule: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u043F\u0440\u0430\u0432\u0438\u043B\u0430 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F", - editSelectionReplaceRule: "\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043F\u0440\u0430\u0432\u0438\u043B\u0430 \u0437\u0430\u043C\u0435\u043D\u044B \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0433\u043E \u0442\u0435\u043A\u0441\u0442\u0430" - }, - dropdownOptions: { - enterTwice: "\u0414\u0432\u0430\u0436\u0434\u044B \u043D\u0430\u0436\u043C\u0438\u0442\u0435 Enter", - twoSpace: "\u0414\u0432\u0430 \u043F\u0440\u043E\u0431\u0435\u043B\u0430", - mixMode: "\u0421\u043C\u0435\u0448\u0430\u043D\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C", - onlyWhenTyping: "\u0422\u043E\u043B\u044C\u043A\u043E \u043F\u0440\u0438 \u043D\u0430\u0431\u043E\u0440\u0435 \u0442\u0435\u043A\u0441\u0442\u0430", - globally: "\u0420\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u0433\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u043E", - noRequire: "\u041D\u0435\u0442 \u0442\u0440\u0435\u0431\u043E\u0432\u0430\u043D\u0438\u0439", - softSpace: "\u041C\u044F\u0433\u043A\u0438\u0439 \u043F\u0440\u043E\u0431\u0435\u043B", - strictSpace: "\u0421\u0442\u0440\u043E\u0433\u0438\u0439 \u043F\u0440\u043E\u0431\u0435\u043B", - dummy: "\u0424\u0438\u043A\u0442\u0438\u0432\u043D\u044B\u0439", - smart: "\u0423\u043C\u043D\u044B\u0439" - }, - toolTip: { - switch: "\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C", - editRule: "\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u0430\u0432\u0438\u043B\u043E", - removeRule: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u0440\u0430\u0432\u0438\u043B\u043E", - addRule: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0430\u0432\u0438\u043B\u043E" - }, - placeHolder: { - triggerSymbol: "\u0421\u0438\u043C\u0432\u043E\u043B \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430", - newLeftSideString: "\u041D\u043E\u0432\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 \u0441 \u043B\u0435\u0432\u043E\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u044B", - newRightSideString: "\u041D\u043E\u0432\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 \u0441 \u043F\u0440\u0430\u0432\u043E\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u044B", - addRule: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0430\u0432\u0438\u043B\u043E", - noticeInvaidTrigger: "\u041D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u0442\u0440\u0438\u0433\u0433\u0435\u0440, \u0442\u0440\u0438\u0433\u0433\u0435\u0440 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u043C \u0434\u043B\u0438\u043D\u043E\u0439 1 \u0438\u043B\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u043C \u2014\u2014, \u2026\u2026", - noticeWarnTriggerExists: "\u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435! \u0422\u0440\u0438\u0433\u0433\u0435\u0440 %s \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442!", - noticeMissingInput: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u0432\u043E\u0434", - beforeDelete: "\u0414\u043E \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F", - newPattern: "\u041D\u043E\u0432\u044B\u0439 \u0448\u0430\u0431\u043B\u043E\u043D", - noticeInvaidTriggerPatternContainSymbol: "\u041D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u0442\u0440\u0438\u0433\u0433\u0435\u0440, \u0448\u0430\u0431\u043B\u043E\u043D \u0434\u043E\u043B\u0436\u0435\u043D \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u0441\u0438\u043C\u0432\u043E\u043B |, \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0438\u0439 \u043D\u0430 \u043F\u043E\u0437\u0438\u0446\u0438\u044E \u043A\u0443\u0440\u0441\u043E\u0440\u0430", - beforeConvert: "\u0414\u043E \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F", - noticeInvalidPatternString: "\u041D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 \u0448\u0430\u0431\u043B\u043E\u043D\u0430!" - }, - button: { - update: "\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C" - } -}; -var ru_RU_default = locale3; - -// src/lang/locale/zh-TW.ts -var locale4 = { - settings: { - symbolAutoPair: { - name: "\u7B26\u865F\u81EA\u52D5\u914D\u5C0D\u53CA\u522A\u9664\u914D\u5C0D", - desc: "\u589E\u52A0\u591A\u7A2E\u7B26\u865F\u914D\u5C0D\u8F38\u5165\uFF0C\u914D\u5C0D\u522A\u9664\uFF0C\u5982\u300A\u300B, \u201C\u201D, \u300C\u300D, \u300E\u300F, \u3010\u3011\u7B49" - }, - selectionReplace: { - name: "\u9078\u4E2D\u6587\u672C\u66FF\u63DB\u589E\u5F3A", - desc: "\u9078\u4E2D\u6587\u672C\u60C5\u6CC1\u4E0B\u7684\u7DE8\u8F2F\u589E\u5F3A\uFF0C\u6309\uFFE5\u2192$\u9078\u4E2D\u7684\u6587\u672C$, \u6309\xB7\u2192`\u9078\u4E2D\u7684\u6587\u672C`\uFF0C\u300A \u2192 \u300A\u9078\u4E2D\u7684\u6587\u672C\u300B\u7B49\u7B49" - }, - fullWidthToHalfWidth: { - name: "\u9023\u7E8C\u8F38\u5165\u5168\u89D2\u7B26\u865F\u8F49\u534A\u89D2\u7B26\u865F", - desc: "\u9023\u7E8C\u8F38\u5165\u5168\u89D2\u7B26\u865F\u8F49\u534A\u89D2\uFF0C\u3002\u3002\u2192 .\uFF0C\uFF01\uFF01\u2192 !\uFF0C \u300B\u300B\u2192 >" - }, - basicInputEnhance: { - name: "Obsidian \u7684\u57FA\u790E\u7B26\u865F\u8F38\u5165\u589E\u5F3A", - desc: "Obsidian \u7684\u57FA\u790E\u8F38\u5165\u589E\u5F3A\uFF0C\u5982\u3010\u3010| \u2192 [[|]]\uFF0C\u53E5\u9996\u7684\u3001\u2192 /\uFF0C\u53E5\u9996\u7684\u300B\u2192 >\uFF0C\xB7\xB7| \u2192 `|`\uFF0C `\xB7|` \u8B8A\u6210\u4EE3\u78BC\u584A\uFF0C\uFFE5\uFFE5| \u2192 $|$" - }, - codeblockEdit: { - name: "\u589E\u5F3A\u4EE3\u78BC\u584A\u7DE8\u8F2F", - desc: "\u589E\u5F3A\u4EE3\u78BC\u584A\u5167\u7684\u7DE8\u8F2F\uFF08Cmd/Ctrl+A \u9078\u4E2D\u3001Tab\u3001\u522A\u9664\u3001\u7C98\u8CBC\uFF09" - }, - backspaceEdit: { - name: "\u589E\u5F37\u522A\u9664\u529F\u80FD", - desc: "\u589E\u5F37\u522A\u9664\u7A7A\u5217\u8868\u9805\u6216\u7A7A\u5F15\u7528\u884C\u7684\u529F\u80FD" - }, - tabOut: { - name: "Tab \u952E\u5149\u6807\u8DF3\u51FA", - desc: "Tab \u952E\u8DF3\u51FA\u884C\u5167\u4EE3\u78BC\u584A\u6216\u914D\u5C0D\u7B26\u865F\u584A" - }, - autoFormatting: { - name: "\u8F38\u5165\u6642\u81EA\u52D5\u683C\u5F0F\u5316", - desc: "\u662F\u5426\u5728\u7DE8\u8F2F\u6587\u6A94\u6642\u81EA\u52D5\u683C\u5F0F\u5316\u6587\u672C\uFF0C\u81EA\u52D5\u683C\u5F0F\u5316\u7684\u7E3D\u958B\u95DC" - }, - spaceBetweenChineseEnglish: { - name: "\u4E2D\u6587\u8207\u82F1\u6587\u4E4B\u9593\u7684\u7A7A\u683C", - desc: "\u5728\u4E2D\u6587\u548C\u82F1\u6587\u4E4B\u9593\u63D2\u5165\u7A7A\u683C\uFF0C\u53EF\u53D6\u6D88" - }, - spaceBetweenChineseNumber: { - name: "\u4E2D\u6587\u8207\u6578\u5B57\u4E4B\u9593\u7684\u7A7A\u683C", - desc: "\u5728\u4E2D\u6587\u548C\u6578\u5B57\u4E4B\u9593\u63D2\u5165\u7A7A\u683C\uFF0C\u53EF\u53D6\u6D88" - }, - spaceBetweenEnglishNumber: { - name: "\u82F1\u6587\u8207\u6578\u5B57\u4E4B\u9593\u7684\u7A7A\u683C", - desc: "\u5728\u82F1\u6587\u548C\u6578\u5B57\u4E4B\u9593\u63D2\u5165\u7A7A\u683C\uFF0C\u53EF\u53D6\u6D88" - }, - quoteSpace: { - name: "\u5F15\u7528\u7B26\u865F > \u8207\u6587\u672C\u4E4B\u9593\u81EA\u52D5\u7A7A\u683C", - desc: "\u5728\u5F15\u7528\u7B26\u865F > \u8207\u6587\u672C\u4E4B\u9593\u81EA\u52D5\u63D2\u5165\u7A7A\u683C\uFF0C\u4E0D\u53EF\u53D6\u6D88" - }, - deleteSpaceBetweenChinese: { - name: "\u522A\u9664\u4E2D\u6587\u5B57\u7B26\u9593\u7684\u7A7A\u683C", - desc: "\u53BB\u9664\u4E2D\u6587\u5B57\u7B26\u4E4B\u9593\u7684\u7A7A\u683C\uFF0C\u4E0D\u53EF\u53D6\u6D88" - }, - capitalizeFirstLetter: { - name: "\u53E5\u9996\u5B57\u6BCD\u5927\u5BEB", - desc: "\u82F1\u6587\u6BCF\u500B\u53E5\u9996\u5B57\u6BCD\u5927\u5BEB\uFF0C\u53EF\u53D6\u6D88" - }, - smartInsertSpace: { - name: "\u667A\u80FD\u63D2\u5165\u7A7A\u683C", - desc: "\u5728\u6587\u672C\u548C\u6A19\u9EDE\u4E4B\u9593\u667A\u80FD\u63D2\u5165\u7A7A\u683C" - }, - spaceStrategyInlineCode: { - name: "\u884C\u5167\u4EE3\u78BC\u548C\u6587\u672C\u4E4B\u9593\u7684\u7A7A\u683C\u7B56\u7565", - desc: "\u7121\u8981\u6C42\uFF1A\u5C0D\u672C\u985E\u5225\u584A\u8207\u5DE6\u53F3\u6587\u672C\u6C92\u6709\u7A7A\u683C\u7684\u8981\u6C42\uFF0C\u8EDF\u7A7A\u683C\uFF1A\u5C0D\u672C\u985E\u5225\u584A\u8207\u5468\u570D\u5340\u584A\u53EA\u8981\u6C42\u6709\u8EDF\u7A7A\u683C\uFF0C\u8EDF\u7A7A\u683C\u5982\u7576\u524D\u584A\u5DE6\u908A\u7684\u81E8\u8FD1\u6587\u672C\u70BA\u3002\uFF0C\uFF1B\uFF1F\u7B49\u5168\u89D2\u6A19\u9EDE\uFF0C\u7576\u524D\u584A\u53F3\u908A\u7684\u81E8\u8FD1\u6587\u672C\u70BA\u6240\u6709\u5168\u534A\u89D2\u6A19\u9EDE\uFF0C\u56B4\u683C\u7A7A\u683C\uFF1A\u7576\u524D\u584A\u8207\u81E8\u8FD1\u6587\u672C\u4E4B\u9593\u56B4\u683C\u6DFB\u52A0\u7A7A\u683C\u3002" - }, - spaceStrategyInlineFormula: { - name: "\u884C\u5167\u516C\u5F0F\u548C\u6587\u672C\u4E4B\u9593\u7684\u7A7A\u683C\u7B56\u7565", - desc: "\u5B9A\u7FA9\u884C\u5167\u516C\u5F0F\u548C\u6587\u672C\u4E4B\u9593\u7684\u7A7A\u683C\u7B56\u7565" - }, - spaceStrategyLinkText: { - name: "\u9023\u7D50\u548C\u6587\u672C\u4E4B\u9593\u7684\u7A7A\u683C\u7B56\u7565", - desc: "\u5B9A\u7FA9 [[wikilink]] [mdlink](...) \u548C\u6587\u672C\u4E4B\u9593\u7684\u7A7A\u683C\u7B56\u7565" - }, - userDefinedRegexpSwitch: { - name: "\u7528\u6236\u5B9A\u7FA9\u7684\u6B63\u5247\u8868\u9054\u5F0F\u958B\u95DC", - desc: "\u81EA\u5B9A\u7FA9\u6B63\u5247\u8868\u9054\u5F0F\u958B\u95DC\uFF0C\u5339\u914D\u5230\u7684\u5167\u5BB9\u4E0D\u9032\u884C\u683C\u5F0F\u5316\uFF0C\u4E14\u53EF\u4EE5\u8A2D\u7F6E\u5339\u914D\u5230\u7684\u5167\u5BB9\u584A\u8207\u5176\u4ED6\u5167\u5BB9\u4E4B\u9593\u7684\u7A7A\u683C\u7B56\u7565" - }, - userDefinedRegexp: { - name: "\u7528\u6236\u5B9A\u7FA9\u7684\u6B63\u5247\u8868\u9054\u5F0F", - desc: "\u7528\u6236\u81EA\u5B9A\u7FA9\u6B63\u5247\u8868\u9054\u5F0F\uFF0C\u5339\u914D\u5230\u7684\u5167\u5BB9\u4E0D\u9032\u884C\u683C\u5F0F\u5316\uFF0C\u6BCF\u884C\u4E00\u500B\u8868\u9054\u5F0F\uFF0C\u884C\u5C3E\u4E0D\u8981\u96A8\u610F\u52A0\u7A7A\u683C\u3002\u6BCF\u884C\u672B\u5C3E3\u500B\u5B57\u7B26\u7684\u56FA\u5B9A\u70BA|\u548C\u5169\u500B\u7A7A\u683C\u7B56\u7565\u7B26\u865F\uFF0C\u7A7A\u683C\u7B56\u7565\u7B26\u865F\u70BA-=+\uFF0C\u5206\u5225\u4EE3\u8868\u4E0D\u8981\u6C42\u7A7A\u683C(-)\uFF0C\u8EDF\u7A7A\u683C(=)\uFF0C\u56B4\u683C\u7A7A\u683C(+)\u3002\u9019\u5169\u500B\u7A7A\u683C\u7B56\u7565\u7B26\u865F\u5206\u5225\u70BA\u5339\u914D\u5340\u584A\u7684\u5DE6\u53F3\u5169\u908A\u7684\u7A7A\u683C\u7B56\u7565" - }, - excludeFoldersFiles: { - name: "\u6392\u9664\u6587\u4EF6\u593E/\u6587\u4EF6", - desc: "\u8A72\u63D2\u4EF6\u5C07\u6BCF\u884C\u89E3\u6790\u70BA\u4E00\u500B\u6392\u9664\u6587\u4EF6\u593E\u6216\u6587\u4EF6\u3002\u4F8B\u5982\uFF1ADailyNote/, DailyNote/WeekNotes/, DailyNote/test.md" - }, - fixMacOSContextMenu: { - name: "\u4FEE\u5FA9 MacOS \u53F3\u9375\u83DC\u55AE\u5149\u6A19\u4F4D\u7F6E", - desc: "\u4FEE\u5FA9 MacOS \u9F20\u6A19\u53F3\u9375\u547C\u51FA\u83DC\u55AE\u6642\u5149\u6A19\u8DF3\u5230\u4E0B\u4E00\u884C\u7684\u554F\u984C (\u9700\u8981\u91CD\u555F Obsidian \u751F\u6548)" - }, - fixMicrosoftIME: { - name: "\u4FEE\u5FA9\u5FAE\u8EDF\u8F38\u5165\u6CD5\u554F\u984C", - desc: "\u9069\u914D\u820A\u7248\u5FAE\u8EDF\u8F38\u5165\u6CD5" - }, - strictLineBreaks: { - name: "\u56B4\u683C\u63DB\u884C\u6A21\u5F0F\u56DE\u8ECA\u589E\u5F37", - desc: "\u56B4\u683C\u63DB\u884C\u7684\u8A2D\u7F6E\u4E0B\uFF0C\u5728\u666E\u901A\u6587\u672C\u884C\u9032\u884C\u4E00\u6B21\u56DE\u8ECA\u6703\u6839\u64DA\u6A21\u5F0F\u7522\u751F\u5169\u500B\u63DB\u884C\u7B26\u6216\u8005\u5169\u500B\u7A7A\u683C\u548C\u56DE\u8ECA" - }, - enhanceModA: { - name: "\u589E\u5F37 Mod+A \u529F\u80FD", - desc: "\u7B2C\u4E00\u6B21\u9078\u4E2D\u7576\u524D\u884C\uFF0C\u7B2C\u4E8C\u6B21\u9078\u4E2D\u7576\u524D\u6587\u672C\u584A\uFF0C\u7B2C\u4E09\u6B21\u9078\u4E2D\u5168\u6587\u3002" - }, - puncRectify: { - name: "\u6A19\u9EDE\u77EB\u6B63", - desc: "\u50C5\u5728\u8F38\u5165\u904E\u7A0B\u4E2D\uFF0C\u4E2D\u6587\u9593\u7684\u82F1\u6587\u6A19\u9EDE\uFF08,.?!\uFF09\u81EA\u52D5\u8F49\u63DB\u70BA\u5168\u89D2\uFF08\u53EF\u53D6\u6D88\uFF09" - }, - printDebugInfo: { - name: "\u5728\u63A7\u5236\u53F0\u8F38\u51FA\u8ABF\u8A66\u8CC7\u8A0A", - desc: "\u5728\u63A7\u5236\u53F0\u8F38\u51FA\u8ABF\u8A66\u8CC7\u8A0A" - }, - selectionReplaceRule: { - name: "\u9078\u4E2D\u66FF\u63DB\u898F\u5247", - desc: "\u7528\u6236\u5B9A\u7FA9\u7684\u9078\u4E2D\u66FF\u63DB\u898F\u5247" - }, - deleteRule: { - name: "\u522A\u9664\u898F\u5247", - desc: "\u898F\u5247\uFF1A\u7528 | \u4EE3\u8868\u5149\u6A19\u4F4D\u7F6E\uFF0C\u5FC5\u9808\u5305\u542B\u5149\u6A19\u3002\u63D0\u793A\uFF1A\u4F7F\u7528 | \u8868\u793A\u5149\u6A19\u4F4D\u7F6E\u3002" - }, - convertRule: { - name: "\u8F49\u63DB\u898F\u5247", - desc: "\u898F\u5247\uFF1A\u7528 | \u4EE3\u8868\u5149\u6A19\u4F4D\u7F6E\uFF0C\u5FC5\u9808\u5305\u542B\u5149\u6A19\u3002\u63D0\u793A\uFF1A\u4F7F\u7528 | \u8868\u793A\u5149\u6A19\u4F4D\u7F6E\u3002" - }, - trigger: { - name: "\u89F8\u767C\u5668" - }, - left: { - name: "\u5DE6" - }, - right: { - name: "\u53F3" - }, - oldPattern: { - name: "\u820A\u6A21\u5F0F" - }, - newPattern: { - name: "\u65B0\u6A21\u5F0F" - } - }, - headers: { - main: "Obsidian EasyTyping \u63D2\u4EF6", - githubDetail: "\u8A73\u60C5\u898B Github\uFF1A", - enhancedEditing: "\u589E\u5F37\u7DE8\u8F2F\u8A2D\u7F6E", - customizeEditRule: "\u81EA\u5B9A\u7FA9\u7DE8\u8F2F\u8F49\u63DB\u898F\u5247", - autoformatSetting: "\u81EA\u52D5\u683C\u5F0F\u5316\u8A2D\u7F6E", - detailedSetting: "\u8A73\u7D30\u8A2D\u7F6E\u5982\u4E0B", - customRegexpBlock: "\u81EA\u5B9A\u7FA9\u6B63\u5247\u5340\u584A", - excludeFoldersFiles: "\u6307\u5B9A\u6587\u4EF6\u4E0D\u81EA\u52D5\u683C\u5F0F\u5316", - experimentalFeatures: "\u5BE6\u9A57\u529F\u80FD", - aboutRegexp: { - header: "\u6B63\u5247\u8868\u9054\u5F0F\u76F8\u95DC\u77E5\u8B58\uFF0C\u898B ", - text: "\u300A\u962E\u4E00\u5CF0\uFF1A\u6B63\u5247\u8868\u9054\u5F0F\u7C21\u660E\u6559\u7A0B\u300B" - }, - instructionsRegexp: { - header: "\u6B63\u5247\u8868\u9054\u5F0F\u898F\u5247\u4F7F\u7528\u8AAA\u660E\u8207\u793A\u4F8B\uFF1A ", - text: "\u81EA\u5B9A\u7FA9\u6B63\u5247\u8868\u9054\u5F0F\u898F\u5247" - }, - customizeSelectionRule: "\u81EA\u5B9A\u7FA9\u9078\u4E2D\u6587\u672C\u7DE8\u8F2F\u589E\u5F3A\u898F\u5247", - customizeDeleteRule: "\u81EA\u5B9A\u7FA9\u522A\u9664\u7DE8\u8F2F\u589E\u5F3A\u898F\u5247", - customizeConvertRule: "\u81EA\u5B9A\u7FA9\u7DE8\u8F2F\u8F49\u63DB\u898F\u5247", - editSelectionReplaceRule: "\u7DE8\u8F2F\u9078\u4E2D\u66FF\u63DB\u898F\u5247" - }, - dropdownOptions: { - enterTwice: "\u5169\u6B21\u56DE\u8ECA", - twoSpace: "\u52A0\u5169\u500B\u7A7A\u683C", - mixMode: "\u6DF7\u5408\u6A21\u5F0F", - onlyWhenTyping: "\u8F38\u5165\u6642\u751F\u6548", - globally: "\u5168\u5C40\u751F\u6548", - noRequire: "\u7121\u8981\u6C42", - softSpace: "\u8EDF\u7A7A\u683C", - strictSpace: "\u56B4\u683C\u7A7A\u683C", - dummy: "\u5446\u7A7A\u683C", - smart: "\u667A\u80FD\u7A7A\u683C" - }, - toolTip: { - switch: "\u529F\u80FD\u958B\u95DC", - editRule: "\u7DE8\u8F2F\u898F\u5247", - removeRule: "\u522A\u9664\u898F\u5247", - addRule: "\u6DFB\u52A0\u898F\u5247" - }, - placeHolder: { - triggerSymbol: "\u89F8\u767C\u7B26", - newLeftSideString: "\u5DE6\u908A\u7B26\u865F", - newRightSideString: "\u53F3\u908A\u7B26\u865F", - addRule: "\u6DFB\u52A0\u898F\u5247", - noticeInvaidTrigger: "\u7121\u6548\u7684\u89F8\u767C\u7B26, \u89F8\u767C\u7B26\u5FC5\u9808\u662F\u55AE\u5B57\u7B26\u6216\u8005\u662F \u2014\u2014\u3001\u2026\u2026", - noticeWarnTriggerExists: "\u7121\u6548\u898F\u5247! \u89F8\u767C\u7B26 %s \u5DF2\u5B58\u5728", - noticeMissingInput: "missing input", - beforeDelete: "\u522A\u9664\u524D|", - newPattern: "\u89F8\u767C\u898F\u5247\u5F8C\u5B57\u4E32\u6A21\u5F0F", - noticeInvaidTriggerPatternContainSymbol: "\u7121\u6548\u898F\u5247, \u8F49\u63DB\u524D\u6A21\u5F0F\u5FC5\u9808\u5305\u542B\u4EE3\u8868\u5149\u6A19\u4F4D\u7F6E\u7684\u7B26\u865F |", - beforeConvert: "\u8F49\u63DB\u524D|", - noticeInvalidPatternString: "Invalid pattern string!" - }, - button: { - update: "\u66F4\u65B0" - } -}; -var zh_TW_default = locale4; - -// src/settings.ts -var import_sprintf_js = __toESM(require_sprintf()); -var DEFAULT_SETTINGS = { - Tabout: true, - SelectionEnhance: true, - IntrinsicSymbolPairs: true, - BaseObEditEnhance: true, - FW2HWEnhance: true, - BetterCodeEdit: true, - BetterBackspace: true, - AutoFormat: true, - ExcludeFiles: "", - ChineseEnglishSpace: true, - ChineseNumberSpace: true, - EnglishNumberSpace: true, - ChineseNoSpace: true, - QuoteSpace: true, - PunctuationSpace: true, - AutoCapital: true, - AutoCapitalMode: "typing" /* OnlyWhenTyping */, - PunctuationSpaceMode: "typing" /* OnlyWhenTyping */, - InlineCodeSpaceMode: 1 /* soft */, - InlineFormulaSpaceMode: 1 /* soft */, - InlineLinkSpaceMode: 1 /* soft */, - InlineLinkSmartSpace: true, - UserDefinedRegSwitch: true, - UserDefinedRegExp: "{{.*?}}|++\n<.*?>|--\n\\[\\!.*?\\][-+]{0,1}|-+\n(file:///|https?://|ftp://|obsidian://|zotero://|www.)[^\\s\uFF08\uFF09\u300A\u300B\u3002,\uFF0C\uFF01\uFF1F;\uFF1B\uFF1A\u201C\u201D\u2018\u2019\\)\\(\\[\\]\\{\\}']+|--\n\n[a-zA-Z0-9_\\-.]+@[a-zA-Z0-9_\\-.]+|++\n(? { - toggle.setValue(this.plugin.settings.IntrinsicSymbolPairs).onChange(async (value) => { - this.plugin.settings.IntrinsicSymbolPairs = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.selectionReplace.name).setDesc(locale5.settings.selectionReplace.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.SelectionEnhance).onChange(async (value) => { - this.plugin.settings.SelectionEnhance = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.fullWidthToHalfWidth.name).setDesc(locale5.settings.fullWidthToHalfWidth.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.FW2HWEnhance).onChange(async (value) => { - this.plugin.settings.FW2HWEnhance = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.basicInputEnhance.name).setDesc(locale5.settings.basicInputEnhance.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.BaseObEditEnhance).onChange(async (value) => { - this.plugin.settings.BaseObEditEnhance = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.codeblockEdit.name).setDesc(locale5.settings.codeblockEdit.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.BetterCodeEdit).onChange(async (value) => { - this.plugin.settings.BetterCodeEdit = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.backspaceEdit.name).setDesc(locale5.settings.backspaceEdit.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.BetterBackspace).onChange(async (value) => { - this.plugin.settings.BetterBackspace = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.tabOut.name).setDesc(locale5.settings.tabOut.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.Tabout).onChange(async (value) => { - this.plugin.settings.Tabout = value; - await this.plugin.saveSettings(); - }); - }); - containerEl.createEl("h2", { text: locale5.headers.customizeEditRule }); - this.buildUserSelRepRuleSetting(this.containerEl.createEl("details", { - cls: "easytyping-nested-settings", - attr: { - ...this.plugin.settings.userSelRuleSettingsOpen ? { open: true } : {} - } - })); - this.buildUserDeleteRuleSetting(this.containerEl.createEl("details", { - cls: "easytyping-nested-settings", - attr: { - ...this.plugin.settings.userDelRuleSettingsOpen ? { open: true } : {} - } - })); - this.buildUserConvertRuleSetting(this.containerEl.createEl("details", { - cls: "easytyping-nested-settings", - attr: { - ...this.plugin.settings.userCvtRuleSettingsOpen ? { open: true } : {} - } - })); - containerEl.createEl("h2", { text: locale5.headers.autoformatSetting }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.autoFormatting.name).setDesc(locale5.settings.autoFormatting.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.AutoFormat).onChange(async (value) => { - this.plugin.settings.AutoFormat = value; - await this.plugin.saveSettings(); - }); - }); - containerEl.createEl("p", { text: locale5.headers.detailedSetting }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.spaceBetweenChineseEnglish.name).setDesc(locale5.settings.spaceBetweenChineseEnglish.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.ChineseEnglishSpace).onChange(async (value) => { - this.plugin.settings.ChineseEnglishSpace = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.spaceBetweenChineseNumber.name).setDesc(locale5.settings.spaceBetweenChineseNumber.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.ChineseNumberSpace).onChange(async (value) => { - this.plugin.settings.ChineseNumberSpace = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.spaceBetweenEnglishNumber.name).setDesc(locale5.settings.spaceBetweenEnglishNumber.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.EnglishNumberSpace).onChange(async (value) => { - this.plugin.settings.EnglishNumberSpace = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.deleteSpaceBetweenChinese.name).setDesc(locale5.settings.deleteSpaceBetweenChinese.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.ChineseNoSpace).onChange(async (value) => { - this.plugin.settings.ChineseNoSpace = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.quoteSpace.name).setDesc(locale5.settings.quoteSpace.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.QuoteSpace).onChange(async (value) => { - this.plugin.settings.QuoteSpace = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.capitalizeFirstLetter.name).setDesc(locale5.settings.capitalizeFirstLetter.desc).addDropdown((dropdown) => { - dropdown.addOption("typing" /* OnlyWhenTyping */, locale5.dropdownOptions.onlyWhenTyping); - dropdown.addOption("global" /* Globally */, locale5.dropdownOptions.globally); - dropdown.setValue(this.plugin.settings.AutoCapitalMode); - dropdown.onChange(async (v) => { - this.plugin.settings.AutoCapitalMode = v; - await this.plugin.saveSettings(); - }); - }).addToggle((toggle) => { - toggle.setTooltip(locale5.toolTip.switch); - toggle.setValue(this.plugin.settings.AutoCapital).onChange(async (value) => { - this.plugin.settings.AutoCapital = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.smartInsertSpace.name).setDesc(locale5.settings.smartInsertSpace.desc).addDropdown((dropdown) => { - dropdown.addOption("typing" /* OnlyWhenTyping */, locale5.dropdownOptions.onlyWhenTyping); - dropdown.addOption("global" /* Globally */, locale5.dropdownOptions.globally); - dropdown.setValue(this.plugin.settings.PunctuationSpaceMode); - dropdown.onChange(async (v) => { - this.plugin.settings.PunctuationSpaceMode = v; - await this.plugin.saveSettings(); - }); - }).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.PunctuationSpace).onChange(async (value) => { - this.plugin.settings.PunctuationSpace = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.spaceStrategyInlineCode.name).setDesc(locale5.settings.spaceStrategyInlineCode.desc).addDropdown((dropdown) => { - dropdown.addOption(String(0 /* none */), locale5.dropdownOptions.noRequire); - dropdown.addOption(String(1 /* soft */), locale5.dropdownOptions.softSpace); - dropdown.addOption(String(2 /* strict */), locale5.dropdownOptions.strictSpace); - dropdown.setValue(String(this.plugin.settings.InlineCodeSpaceMode)); - dropdown.onChange(async (v) => { - this.plugin.settings.InlineCodeSpaceMode = string2SpaceState(v); - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.spaceStrategyInlineFormula.name).setDesc(locale5.settings.spaceStrategyInlineFormula.desc).addDropdown((dropdown) => { - dropdown.addOption(String(0 /* none */), locale5.dropdownOptions.noRequire); - dropdown.addOption(String(1 /* soft */), locale5.dropdownOptions.softSpace); - dropdown.addOption(String(2 /* strict */), locale5.dropdownOptions.strictSpace); - dropdown.setValue(String(this.plugin.settings.InlineFormulaSpaceMode)); - dropdown.onChange(async (v) => { - this.plugin.settings.InlineFormulaSpaceMode = string2SpaceState(v); - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.spaceStrategyLinkText.name).setDesc(locale5.settings.spaceStrategyLinkText.desc).addDropdown((dropdown) => { - dropdown.addOption("dummy", locale5.dropdownOptions.dummy); - dropdown.addOption("smart", locale5.dropdownOptions.smart); - dropdown.setValue(this.plugin.settings.InlineLinkSmartSpace ? "smart" : "dummy"); - dropdown.onChange(async (v) => { - this.plugin.settings.InlineLinkSmartSpace = v == "smart" ? true : false; - await this.plugin.saveSettings(); - }); - }).addDropdown((dropdown) => { - dropdown.addOption(String(0 /* none */), locale5.dropdownOptions.noRequire); - dropdown.addOption(String(1 /* soft */), locale5.dropdownOptions.softSpace); - dropdown.addOption(String(2 /* strict */), locale5.dropdownOptions.strictSpace); - dropdown.setValue(String(this.plugin.settings.InlineLinkSpaceMode)); - dropdown.onChange(async (v) => { - this.plugin.settings.InlineLinkSpaceMode = string2SpaceState(v); - await this.plugin.saveSettings(); - }); - }); - containerEl.createEl("h2", { text: locale5.headers.customRegexpBlock }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.userDefinedRegexpSwitch.name).setDesc(locale5.settings.userDefinedRegexpSwitch.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.UserDefinedRegSwitch).onChange(async (value) => { - this.plugin.settings.UserDefinedRegSwitch = value; - await this.plugin.saveSettings(); - }); - }); - containerEl.createEl("p", { text: locale5.headers.aboutRegexp.header }).createEl("a", { - text: locale5.headers.aboutRegexp.text, - href: "https://javascript.ruanyifeng.com/stdlib/regexp.html#" - }); - containerEl.createEl("p", { text: locale5.headers.instructionsRegexp.header }).createEl("a", { - text: locale5.headers.instructionsRegexp.text, - href: "https://github.com/Yaozhuwa/easy-typing-obsidian/blob/master/UserDefinedRegExp.md" - }); - const regContentAreaSetting = new import_obsidian2.Setting(containerEl); - regContentAreaSetting.settingEl.setAttribute("style", "display: grid; grid-template-columns: 1fr;"); - regContentAreaSetting.setName(locale5.settings.userDefinedRegexp.name).setDesc(locale5.settings.userDefinedRegexp.desc); - const regContentArea = new import_obsidian2.TextAreaComponent(regContentAreaSetting.controlEl); - setAttributes(regContentArea.inputEl, { - style: "margin-top: 12px; width: 100%; height: 30vh;" - }); - regContentArea.setValue(this.plugin.settings.UserDefinedRegExp).onChange(async (value) => { - this.plugin.settings.UserDefinedRegExp = value; - this.plugin.saveSettings(); - }); - containerEl.createEl("h2", { text: locale5.headers.excludeFoldersFiles }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.excludeFoldersFiles.name).setDesc(locale5.settings.excludeFoldersFiles.desc).addTextArea((text) => text.setValue(this.plugin.settings.ExcludeFiles).onChange(async (value) => { - this.plugin.settings.ExcludeFiles = value; - this.plugin.saveSettings(); - })); - containerEl.createEl("h2", { text: locale5.headers.experimentalFeatures }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.strictLineBreaks.name).setDesc(locale5.settings.strictLineBreaks.desc).addDropdown((dropdown) => { - dropdown.addOption("enter_twice" /* EnterTwice */, locale5.dropdownOptions.enterTwice); - dropdown.addOption("two_space" /* TwoSpace */, locale5.dropdownOptions.twoSpace); - dropdown.addOption("mix_mode" /* Mix */, locale5.dropdownOptions.mixMode); - dropdown.setValue(this.plugin.settings.StrictLineMode); - dropdown.onChange(async (v) => { - this.plugin.settings.StrictLineMode = v; - await this.plugin.saveSettings(); - }); - }).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.StrictModeEnter).onChange(async (value) => { - this.plugin.settings.StrictModeEnter = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.enhanceModA.name).setDesc(locale5.settings.enhanceModA.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.EnhanceModA).onChange(async (value) => { - this.plugin.settings.EnhanceModA = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.fixMicrosoftIME.name).setDesc(locale5.settings.fixMicrosoftIME.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.TryFixMSIME).onChange(async (value) => { - this.plugin.settings.TryFixMSIME = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.fixMacOSContextMenu.name).setDesc(locale5.settings.fixMacOSContextMenu.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.FixMacOSContextMenu).onChange(async (value) => { - this.plugin.settings.FixMacOSContextMenu = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.puncRectify.name).setDesc(locale5.settings.puncRectify.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.PuncRectify).onChange(async (value) => { - this.plugin.settings.PuncRectify = value; - await this.plugin.saveSettings(); - }); - }); - new import_obsidian2.Setting(containerEl).setName(locale5.settings.printDebugInfo.name).setDesc(locale5.settings.printDebugInfo.desc).addToggle((toggle) => { - toggle.setValue(this.plugin.settings.debug).onChange(async (value) => { - this.plugin.settings.debug = value; - setDebug(value); - await this.plugin.saveSettings(); - }); - }); - } - buildUserSelRepRuleSetting(containerEl) { - containerEl.empty(); - containerEl.ontoggle = async () => { - this.plugin.settings.userSelRuleSettingsOpen = containerEl.open; - await this.plugin.saveSettings(); - }; - const summary = containerEl.createEl("summary", { cls: "easytyping-nested-settings" }); - summary.setText(locale5.headers.customizeSelectionRule); - const selectionRuleSetting = new import_obsidian2.Setting(containerEl); - selectionRuleSetting.setName(locale5.settings.selectionReplaceRule.name); - const replaceRuleTrigger = new import_obsidian2.TextComponent(selectionRuleSetting.controlEl); - replaceRuleTrigger.setPlaceholder(locale5.placeHolder.triggerSymbol); - const replaceLeftString = new import_obsidian2.TextComponent(selectionRuleSetting.controlEl); - replaceLeftString.setPlaceholder(locale5.placeHolder.newLeftSideString); - const replaceRightString = new import_obsidian2.TextComponent(selectionRuleSetting.controlEl); - replaceRightString.setPlaceholder(locale5.placeHolder.newRightSideString); - selectionRuleSetting.addButton((button) => { - button.setButtonText("+").setTooltip(locale5.placeHolder.addRule).onClick(async (buttonEl) => { - let trigger = replaceRuleTrigger.inputEl.value; - let left = replaceLeftString.inputEl.value; - let right = replaceRightString.inputEl.value; - if (trigger && (left || right)) { - if (trigger.length != 1 && trigger != "\u2014\u2014" && trigger != "\u2026\u2026") { - new import_obsidian2.Notice(locale5.placeHolder.noticeInvaidTrigger); - return; - } - if (this.plugin.addUserSelectionRepRule(trigger, left, right)) { - await this.plugin.saveSettings(); - this.display(); - } else { - new import_obsidian2.Notice((0, import_sprintf_js.sprintf)(locale5.placeHolder.noticeWarnTriggerExists, trigger)); - } - } else { - new import_obsidian2.Notice(locale5.placeHolder.noticeMissingInput); - } - }); - }); - for (let i = 0; i < this.plugin.settings.userSelRepRuleTrigger.length; i++) { - let trigger = this.plugin.settings.userSelRepRuleTrigger[i]; - let left_s = this.plugin.settings.userSelRepRuleValue[i].left; - let right_s = this.plugin.settings.userSelRepRuleValue[i].right; - let showStr = "Trigger: " + trigger + " \u2192 " + showString(left_s) + "selected" + showString(right_s); - new import_obsidian2.Setting(containerEl).setName(showStr).addExtraButton((button) => { - button.setIcon("gear").setTooltip(locale5.toolTip.editRule).onClick(() => { - new SelectRuleEditModal(this.app, trigger, left_s, right_s, async (new_left, new_right) => { - this.plugin.updateUserSelectionRepRule(i, new_left, new_right); - await this.plugin.saveSettings(); - this.display(); - }).open(); - }); - }).addExtraButton((button) => { - button.setIcon("trash").setTooltip(locale5.toolTip.removeRule).onClick(async () => { - this.plugin.deleteUserSelectionRepRule(i); - await this.plugin.saveSettings(); - this.display(); - }); - }); - } - } - buildUserDeleteRuleSetting(containerEl) { - containerEl.empty(); - containerEl.ontoggle = async () => { - this.plugin.settings.userDelRuleSettingsOpen = containerEl.open; - await this.plugin.saveSettings(); - }; - const summary = containerEl.createEl("summary", { cls: "easytyping-nested-settings" }); - summary.setText(locale5.headers.customizeDeleteRule); - const deleteRuleSetting = new import_obsidian2.Setting(containerEl); - deleteRuleSetting.setName(locale5.settings.deleteRule.name).setDesc(locale5.settings.deleteRule.desc); - const patternBefore = new import_obsidian2.TextAreaComponent(deleteRuleSetting.controlEl); - patternBefore.setPlaceholder(locale5.placeHolder.beforeDelete); - const patternAfter = new import_obsidian2.TextAreaComponent(deleteRuleSetting.controlEl); - patternAfter.setPlaceholder(locale5.placeHolder.newPattern); - deleteRuleSetting.addButton((button) => { - button.setButtonText("+").setTooltip(locale5.toolTip.addRule).onClick(async (buttonEl) => { - let before = patternBefore.inputEl.value; - let after = patternAfter.inputEl.value; - if (before && after) { - if (findFirstPipeNotPrecededByBackslash(before) == -1) { - new import_obsidian2.Notice(locale5.placeHolder.noticeInvaidTriggerPatternContainSymbol); - return; - } else { - this.plugin.addUserDeleteRule(before, after); - await this.plugin.saveSettings(); - this.display(); - } - } else { - new import_obsidian2.Notice(locale5.placeHolder.noticeMissingInput); - } - }); - }); - for (let i = 0; i < this.plugin.settings.userDeleteRulesStrList.length; i++) { - let before = this.plugin.settings.userDeleteRulesStrList[i][0]; - let after = this.plugin.settings.userDeleteRulesStrList[i][1]; - let showStr = '"' + showString(before) + '" delete.backwards \u2192 "' + showString(after) + '"'; - new import_obsidian2.Setting(containerEl).setName(showStr).addExtraButton((button) => { - button.setIcon("gear").setTooltip(locale5.toolTip.editRule).onClick(() => { - new EditConvertRuleModal(this.app, "Delete Rule" /* delete */, before, after, async (new_before, new_after) => { - this.plugin.updateUserDeleteRule(i, new_before, new_after); - await this.plugin.saveSettings(); - this.display(); - }).open(); - }); - }).addExtraButton((button) => { - button.setIcon("trash").setTooltip(locale5.toolTip.removeRule).onClick(async () => { - this.plugin.deleteUserDeleteRule(i); - await this.plugin.saveSettings(); - this.display(); - }); - }); - } - } - buildUserConvertRuleSetting(containerEl) { - containerEl.empty(); - containerEl.ontoggle = async () => { - this.plugin.settings.userCvtRuleSettingsOpen = containerEl.open; - await this.plugin.saveSettings(); - }; - const summary = containerEl.createEl("summary", { cls: "easytyping-nested-settings" }); - summary.setText(locale5.headers.customizeConvertRule); - const convertRuleSetting = new import_obsidian2.Setting(containerEl); - convertRuleSetting.setName(locale5.settings.convertRule.name).setDesc(locale5.settings.convertRule.desc); - const patternBefore = new import_obsidian2.TextAreaComponent(convertRuleSetting.controlEl); - patternBefore.setPlaceholder(locale5.placeHolder.beforeConvert); - const patternAfter = new import_obsidian2.TextAreaComponent(convertRuleSetting.controlEl); - patternAfter.setPlaceholder(locale5.placeHolder.newPattern); - convertRuleSetting.addButton((button) => { - button.setButtonText("+").setTooltip(locale5.toolTip.addRule).onClick(async (buttonEl) => { - let before = patternBefore.inputEl.value; - let after = patternAfter.inputEl.value; - if (before && after) { - if (findFirstPipeNotPrecededByBackslash(before) == -1) { - new import_obsidian2.Notice(locale5.placeHolder.noticeInvaidTriggerPatternContainSymbol); - return; - } else { - this.plugin.addUserConvertRule(before, after); - await this.plugin.saveSettings(); - this.display(); - } - } else { - new import_obsidian2.Notice(locale5.placeHolder.noticeMissingInput); - } - }); - }); - for (let i = 0; i < this.plugin.settings.userConvertRulesStrList.length; i++) { - let before = this.plugin.settings.userConvertRulesStrList[i][0]; - let after = this.plugin.settings.userConvertRulesStrList[i][1]; - let showStr = '"' + showString(before) + '" auto convert to "' + showString(after) + '"'; - new import_obsidian2.Setting(containerEl).setName(showStr).addExtraButton((button) => { - button.setIcon("gear").setTooltip(locale5.toolTip.editRule).onClick(() => { - new EditConvertRuleModal(this.app, "Convert Rule" /* convert */, before, after, async (new_before, new_after) => { - this.plugin.updateUserConvertRule(i, new_before, new_after); - await this.plugin.saveSettings(); - this.display(); - }).open(); - }); - }).addExtraButton((button) => { - button.setIcon("trash").setTooltip(locale5.toolTip.removeRule).onClick(async () => { - this.plugin.deleteUserConvertRule(i); - await this.plugin.saveSettings(); - this.display(); - }); - }); - } - } -}; -function setAttributes(element, attributes) { - for (let key in attributes) { - element.setAttribute(key, attributes[key]); - } -} -var SelectRuleEditModal = class extends import_obsidian2.Modal { - constructor(app, trigger, left, right, onSubmit) { - super(app); - this.trigger = trigger; - this.old_left = left; - this.old_right = right; - this.new_left = left; - this.new_right = right; - this.onSubmit = onSubmit; - } - onOpen() { - const { contentEl } = this; - contentEl.createEl("h1", { text: locale5.headers.editSelectionReplaceRule }); - new import_obsidian2.Setting(contentEl).setName(locale5.settings.trigger.name).addText((text) => { - text.setValue(this.trigger); - text.setDisabled(true); - }); - new import_obsidian2.Setting(contentEl).setName(locale5.settings.left.name).addTextArea((text) => { - text.setValue(this.old_left); - text.onChange((value) => { - this.new_left = value; - }); - }); - new import_obsidian2.Setting(contentEl).setName(locale5.settings.right.name).addTextArea((text) => { - text.setValue(this.old_right); - text.onChange((value) => { - this.new_right = value; - }); - }); - new import_obsidian2.Setting(contentEl).addButton((btn) => btn.setButtonText(locale5.button.update).setCta().onClick(() => { - this.close(); - this.onSubmit(this.new_left, this.new_right); - })); - } - onClose() { - let { contentEl } = this; - contentEl.empty(); - } -}; -var EditConvertRuleModal = class extends import_obsidian2.Modal { - constructor(app, type, before, after, onSubmit) { - super(app); - this.type = type; - this.old_before = before; - this.old_after = after; - this.new_before = before; - this.new_after = after; - this.onSubmit = onSubmit; - } - onOpen() { - const { contentEl } = this; - contentEl.createEl("h1", { text: "Edit " + this.type }); - new import_obsidian2.Setting(contentEl).setName(locale5.settings.oldPattern.name).addTextArea((text) => { - text.setValue(this.old_before); - text.onChange((value) => { - this.new_before = value; - }); - }); - new import_obsidian2.Setting(contentEl).setName(locale5.settings.newPattern.name).addTextArea((text) => { - text.setValue(this.old_after); - text.onChange((value) => { - this.new_after = value; - }); - }); - new import_obsidian2.Setting(contentEl).addButton((btn) => btn.setButtonText(locale5.button.update).setCta().onClick(() => { - if (this.checkConvertPatternString(this.new_before, this.new_after)) { - this.close(); - this.onSubmit(this.new_before, this.new_after); - } else { - new import_obsidian2.Notice(locale5.placeHolder.noticeInvalidPatternString); - } - })); - } - checkConvertPatternString(before, after) { - if (findFirstPipeNotPrecededByBackslash(before) == -1) - return false; - return true; - } - onClose() { - let { contentEl } = this; - contentEl.empty(); - } -}; - -// src/main.ts -var import_view3 = require("@codemirror/view"); -var import_language3 = require("@codemirror/language"); - -// src/syntax.ts -var import_language2 = require("@codemirror/language"); -function isCodeBlockInPos(state, pos) { - let codeBlockInfos = getCodeBlocksInfos(state); - for (let i = 0; i < codeBlockInfos.length; i++) { - if (pos >= codeBlockInfos[i].start_pos && pos <= codeBlockInfos[i].end_pos) { - return true; - } - } - return false; -} -function getCodeBlockInfoInPos(state, pos) { - let codeBlockInfos = getCodeBlocksInfos(state); - for (let i = 0; i < codeBlockInfos.length; i++) { - if (pos >= codeBlockInfos[i].start_pos && pos <= codeBlockInfos[i].end_pos) { - return codeBlockInfos[i]; - } - } - return null; -} -function selectCodeBlockInPos(view, selection) { - let pos = selection.anchor; - let codeBlockInfos = getCodeBlocksInfos(view.state); - for (let i = 0; i < codeBlockInfos.length; i++) { - if (pos >= codeBlockInfos[i].start_pos && pos <= codeBlockInfos[i].end_pos) { - if (codeBlockInfos[i].code_start_pos == codeBlockInfos[i].code_end_pos) { - view.dispatch({ - selection: { - anchor: codeBlockInfos[i].start_pos, - head: codeBlockInfos[i].end_pos - } - }); - return true; - } - let code_line_start = view.state.doc.lineAt(codeBlockInfos[i].code_start_pos); - let isCodeSelected = selection.anchor == code_line_start.from && selection.head == codeBlockInfos[i].code_end_pos; - let isCodeBlockSelected = selection.anchor == codeBlockInfos[i].start_pos && selection.head == codeBlockInfos[i].end_pos; - if (isCodeSelected) { - view.dispatch({ - selection: { - anchor: codeBlockInfos[i].start_pos, - head: codeBlockInfos[i].end_pos - } - }); - return true; - } - if (isCodeBlockSelected) - return false; - view.dispatch({ - selection: { - anchor: code_line_start.from, - head: codeBlockInfos[i].code_end_pos - } - }); - return true; - } - } - return false; -} -function getCodeBlocksInfos(state) { - let isCodeBlockBegin = false; - let codeBlockInfos = []; - let curCodeBlockInfo = null; - const doc = state.doc; - (0, import_language2.syntaxTree)(state).iterate({ - enter(node) { - const nodeName = node.name; - const nodeFrom = node.from; - const nodeTo = node.to; - const nodeText = state.sliceDoc(nodeFrom, nodeTo); - if (nodeName.includes("codeblock-begin")) { - isCodeBlockBegin = true; - let start_pos = nodeFrom + nodeText.indexOf("`"); - let indent = start_pos - state.doc.lineAt(start_pos).from; - let language = nodeText.trim().substring(3); - curCodeBlockInfo = { - start_pos, - end_pos: -1, - code_start_pos: -1, - code_end_pos: -1, - language: language.toLowerCase(), - indent - }; - } else if (nodeName.includes("codeblock-end")) { - isCodeBlockBegin = false; - if (curCodeBlockInfo != null) { - curCodeBlockInfo.end_pos = nodeTo; - if (doc.lineAt(curCodeBlockInfo.start_pos).number == doc.lineAt(curCodeBlockInfo.end_pos).number - 1) { - curCodeBlockInfo.code_start_pos = doc.lineAt(curCodeBlockInfo.start_pos).to; - curCodeBlockInfo.code_end_pos = doc.lineAt(curCodeBlockInfo.start_pos).to; - } else { - let code_start_line = doc.lineAt(curCodeBlockInfo.start_pos).number + 1; - let code_end_line = doc.lineAt(curCodeBlockInfo.end_pos).number - 1; - curCodeBlockInfo.code_start_pos = doc.line(code_start_line).from + curCodeBlockInfo.indent; - curCodeBlockInfo.code_end_pos = doc.line(code_end_line).to; - } - codeBlockInfos.push(curCodeBlockInfo); - curCodeBlockInfo = null; - } - } - } - }); - if (isCodeBlockBegin && curCodeBlockInfo) { - curCodeBlockInfo.end_pos = doc.length; - curCodeBlockInfo.code_end_pos = doc.length; - if (doc.lines > doc.lineAt(curCodeBlockInfo.start_pos).number) { - let start_line = doc.lineAt(curCodeBlockInfo.start_pos).number + 1; - let code_start_pos = doc.line(start_line).from + curCodeBlockInfo.indent; - curCodeBlockInfo.code_start_pos = code_start_pos < doc.length ? code_start_pos : doc.lineAt(curCodeBlockInfo.start_pos + 1).from; - } else { - curCodeBlockInfo.code_start_pos = doc.lineAt(curCodeBlockInfo.start_pos).to; - } - codeBlockInfos.push(curCodeBlockInfo); - curCodeBlockInfo = null; - } - return codeBlockInfos; -} -function getQuoteInfoInPos(state, pos) { - let quote_regex = /^(\s*)(>+) ?/; - let callout_regex = /^(\s*)(>)+ \[![^\s]+\][+-]? ?/; - let cur_line = state.doc.lineAt(pos); - let match = cur_line.text.match(quote_regex); - let is_callout = false; - let cur_start_pos = -1; - let cur_end_pos = -1; - if (match) { - let match_callout = cur_line.text.match(callout_regex); - cur_start_pos = cur_line.from + (match_callout ? match_callout[0].length : match[0].length); - cur_end_pos = cur_line.to; - let quote_start_line = cur_line.number; - let quote_end_line = quote_start_line; - for (let i = quote_start_line + 1; i <= state.doc.lines; i += 1) { - let line = state.doc.line(i); - if (line.text.match(quote_regex)) { - quote_end_line = i; - } else - break; - } - for (let i = quote_start_line; i >= 1; i -= 1) { - let line = state.doc.line(i); - let match_callout2 = line.text.match(callout_regex); - let match_quote = line.text.match(quote_regex); - if (match_callout2) { - is_callout = true; - quote_start_line = i; - } else if (match_quote) { - quote_start_line = i; - } else - break; - } - return { - start_pos: state.doc.line(quote_start_line).from, - end_pos: state.doc.line(quote_end_line).to, - is_callout, - cur_start_pos, - cur_end_pos - }; - } else { - return null; - } -} - -// src/tabstops_state_field.ts -var import_view = require("@codemirror/view"); -var import_state = require("@codemirror/state"); -var addTabstopsEffect = import_state.StateEffect.define(); -var removeTabstopEffect = import_state.StateEffect.define(); -var removeAllTabstopsEffect = import_state.StateEffect.define(); -var tabstopsStateField = import_state.StateField.define({ - create() { - return []; - }, - update(value, transaction) { - let tabstopGroups = value; - tabstopGroups.forEach((grp) => grp.map(transaction.changes)); - for (const effect of transaction.effects) { - if (effect.is(addTabstopsEffect)) { - tabstopGroups = []; - tabstopGroups.unshift(...effect.value); - } else if (effect.is(removeTabstopEffect)) { - tabstopGroups.shift(); - } else if (effect.is(removeAllTabstopsEffect)) { - tabstopGroups = []; - } - } - return tabstopGroups; - }, - provide: (field) => { - return import_view.EditorView.decorations.of((view) => { - const tabstopGroups = view.state.field(field); - const decos = []; - if (tabstopGroups.length >= 2) { - decos.push(...tabstopGroups[1].getDecoRanges()); - } - return import_view.Decoration.set(decos, true); - }); - } -}); -function getTabstopGroupsFromView(view) { - const currentTabstopGroups = view.state.field(tabstopsStateField); - return currentTabstopGroups; -} -function addTabstops(view, tabstopGroups) { - view.dispatch({ - effects: [addTabstopsEffect.of(tabstopGroups)] - }); -} -function removeTabstop(view) { - view.dispatch({ - effects: [removeTabstopEffect.of(null)] - }); -} -function removeAllTabstops(view) { - view.dispatch({ - effects: [removeAllTabstopsEffect.of(null)] - }); -} -function addTabstopsAndSelect(view, tabstopGroups) { - addTabstops(view, tabstopGroups); - tabstopGroups[0].select(view, false); -} -function tidyTabstops(view) { - const currentTabstopGroups = getTabstopGroupsFromView(view); - if (currentTabstopGroups.length === 1) { - removeAllTabstops(view); - } -} -function isInsideCurTabstop(view) { - const currentTabstopGroups = getTabstopGroupsFromView(view); - if (currentTabstopGroups.length > 1 && currentTabstopGroups[0].containsSelection(view.state.selection)) { - return true; - } - return false; -} -function consumeAndGotoNextTabstop(view) { - if (getTabstopGroupsFromView(view).length === 0) - return false; - removeTabstop(view); - const oldSel = view.state.selection; - const nextGrp = getTabstopGroupsFromView(view)[0]; - if (!nextGrp) - return false; - const shouldMoveToEndpoints = nextGrp.containsSelection(oldSel); - nextGrp.select(view, shouldMoveToEndpoints); - const newSel = view.state.selection; - if (oldSel.eq(newSel)) - return consumeAndGotoNextTabstop(view); - tidyTabstops(view); - return true; -} - -// src/tabstop.ts -var import_state2 = require("@codemirror/state"); -var import_view2 = require("@codemirror/view"); -var TABSTOP_DECO_CLASS = "easy-typing-tabstops"; -var CURSOR_WIDGET_CLASS = "easy-typing-cursor-widget"; -function getMarkerDecoration(from, to) { - const className = `${TABSTOP_DECO_CLASS}`; - if (from == to) { - return import_view2.Decoration.widget({ - widget: new CursorWidget(), - side: 1 - }).range(from); - } - return import_view2.Decoration.mark({ - inclusive: true, - class: className - }).range(from, to); -} -var TabstopGroup = class { - constructor(tabstopSpecs) { - const decos = tabstopSpecs.map((spec) => getMarkerDecoration(spec.from, spec.to)); - this.selections = tabstopSpecs.map((spec) => import_state2.EditorSelection.range(spec.from, spec.to)); - this.decos = import_view2.Decoration.set(decos, true); - } - select(view, selectEndpoints) { - const sel = this.toEditorSelection(); - const toSelect = selectEndpoints ? getEditorSelectionEndpoints(sel) : sel; - view.dispatch({ - selection: toSelect - }); - } - toSelectionRanges() { - return this.selections; - } - toEditorSelection() { - return import_state2.EditorSelection.create(this.toSelectionRanges()); - } - containsSelection(selection) { - function rangeLiesWithinSelection(range, sel) { - for (const selRange of sel) { - if (selRange.from <= range.from && selRange.to >= range.to) { - return true; - } - } - return false; - } - const tabstopRanges = this.toSelectionRanges(); - let result = true; - for (const range of selection.ranges) { - if (!rangeLiesWithinSelection(range, tabstopRanges)) { - result = false; - break; - } - } - return result; - } - map(changes) { - this.decos = this.decos.map(changes); - this.selections = this.selections.map((range) => { - let rangeFrom = changes.mapPos(range.from, -1); - let rangeTo = changes.mapPos(range.to, 1); - return import_state2.EditorSelection.range(rangeFrom, rangeTo); - }); - } - getDecoRanges() { - const ranges = []; - const cur = this.decos.iter(); - while (cur.value != null) { - if (cur.from != cur.to) { - ranges.push(cur.value.range(cur.from, cur.to)); - } else { - ranges.push(cur.value.range(cur.from)); - } - cur.next(); - } - return ranges; - } -}; -function tabstopSpecsToTabstopGroups(tabstops) { - const tabstopsByNumber = {}; - for (const tabstop of tabstops) { - const n = String(tabstop.number); - if (tabstopsByNumber[n]) { - tabstopsByNumber[n].push(tabstop); - } else { - tabstopsByNumber[n] = [tabstop]; - } - } - const result = []; - const numbers = Object.keys(tabstopsByNumber); - numbers.sort((a, b) => parseInt(a) - parseInt(b)); - for (const number of numbers) { - const grp = new TabstopGroup(tabstopsByNumber[number]); - result.push(grp); - } - return result; -} -function getEditorSelectionEndpoints(sel) { - const endpoints = sel.ranges.map((range) => import_state2.EditorSelection.range(range.to, range.to)); - return import_state2.EditorSelection.create(endpoints); -} -var CursorWidget = class extends import_view2.WidgetType { - eq(widget) { - return true; - } - toDOM(view) { - const cursorEl = document.createElement("span"); - cursorEl.className = `${CURSOR_WIDGET_CLASS}`; - cursorEl.textContent = "|"; - return cursorEl; - } -}; - -// src/main.ts -var EasyTypingPlugin = class extends import_obsidian3.Plugin { - constructor() { - super(...arguments); - this.getDefaultIndentChar = () => { - let useTab = this.app.vault.config.useTab === void 0 ? true : false; - let tabSize = this.app.vault.config.tabSize == void 0 ? 4 : this.app.vault.config.tabSize; - let default_indent = useTab ? " " : " ".repeat(tabSize); - return default_indent; - }; - this.transactionFilterPlugin = (tr) => { - const changes = []; - if (!tr.docChanged) - return tr; - let selected = tr.startState.selection.asSingle().main.anchor != tr.startState.selection.asSingle().main.head; - let changeTypeStr = getTypeStrOfTransac(tr); - tr.changes.iterChanges((fromA, toA, fromB, toB, inserted) => { - var _a, _b, _c; - let changedStr = tr.startState.sliceDoc(fromA, toA); - let changestr_ = changedStr.replace(/\s/g, "0"); - let insertedStr = inserted.sliceString(0); - if (this.settings.debug) { - console.log("[TransactionFilter] type, fromA, toA, changed, fromB, toB, inserted"); - console.log(changeTypeStr, fromA, toA, changedStr, fromB, toB, insertedStr); - } - if (getPosLineType(tr.startState, fromA) == "table" /* table */) - return tr; - if (this.settings.SelectionEnhance) { - if ((changeTypeStr == "input.type" || changeTypeStr == "input.type.compose") && fromA != toA && (fromB + 1 === toB || insertedStr == "\u2014\u2014" || insertedStr == "\u2026\u2026")) { - if (this.SelectionReplaceMap.has(insertedStr)) { - changes.push({ changes: { from: fromA, insert: (_a = this.SelectionReplaceMap.get(insertedStr)) == null ? void 0 : _a.left }, userEvent: "EasyTyping.change" }); - changes.push({ changes: { from: toA, insert: (_b = this.SelectionReplaceMap.get(insertedStr)) == null ? void 0 : _b.right }, userEvent: "EasyTyping.change" }); - tr = tr.startState.update(...changes); - return tr; - } - } - } - if (this.settings.BetterCodeEdit && changeTypeStr.contains("paste") && fromA == fromB && isCodeBlockInPos(tr.startState, fromA)) { - print("\u68C0\u6D4B\u5230\u5728\u4EE3\u7801\u5757\u4E2D\u7C98\u8D34"); - let line = tr.startState.doc.lineAt(fromB).text; - let base_indent_num = (_c = getCodeBlockInfoInPos(tr.startState, fromA)) == null ? void 0 : _c.indent; - let base_indent = base_indent_num == 0 ? "" : " ".repeat(base_indent_num); - let inserted_lines = insertedStr.split("\n"); - if (inserted_lines.length > 1) { - let min_indent_space = Infinity; - for (let line2 of inserted_lines) { - if (!/^\s*$/.test(line2)) { - let indent = line2.match(/^\s*/)[0].length; - min_indent_space = Math.min(min_indent_space, indent); - } - } - let adjusted_lines = inserted_lines.map((line2, index) => { - let trimmed_line = line2.substring(min_indent_space); - trimmed_line = trimmed_line.replace(/[\t]/g, this.getDefaultIndentChar()); - if (index === 0) { - return trimmed_line; - } else { - return base_indent + trimmed_line; - } - }); - let new_insertedStr = adjusted_lines.join("\n"); - changes.push({ - changes: { from: fromA, to: toA, insert: new_insertedStr }, - selection: { anchor: fromA + new_insertedStr.length }, - userEvent: "EasyTyping.change" - }); - tr = tr.startState.update(...changes); - return tr; - } - } - if (this.settings.BaseObEditEnhance && changeTypeStr.contains("paste") && fromA == fromB && fromA == tr.startState.doc.lineAt(toA).to) { - const lineContent = tr.startState.doc.lineAt(toA).text; - const listMatch = lineContent.match(/^(\s*)([-*+] \[.\]|[-*+]|\d+\.)\s/); - const quoteMatch = lineContent.match(/^(\s*)(>+)(\s)?/); - if (listMatch || quoteMatch) { - let prefix = listMatch ? listMatch[1] + listMatch[2] + " " : quoteMatch[1] + quoteMatch[2] + " "; - let indent_num = listMatch ? listMatch[1].length : quoteMatch[1].length; - let indent_str = indent_num == 0 ? "" : " ".repeat(indent_num); - let inserted_lines = insertedStr.split("\n"); - let min_indent_space = Infinity; - for (let line of inserted_lines) { - if (!/^\s*$/.test(line)) { - let indent = line.match(/^\s*/)[0].length; - min_indent_space = Math.min(min_indent_space, indent); - } - } - let paste_list = true; - for (let line of inserted_lines) { - if (line.match(/^(\s*)([-*+] \[.\]|[-*+]|\d+\.)\s/) || /^\s*$/.test(line)) { - continue; - } else { - let indent = line.match(/^\s*/)[0].length; - if (indent < min_indent_space + 2) { - paste_list = false; - break; - } - } - } - let adjusted_lines = []; - if (paste_list && listMatch) { - adjusted_lines = inserted_lines.map((line, index) => { - let trimmed_line = line.substring(min_indent_space); - trimmed_line = trimmed_line.replace(/[\t]/g, this.getDefaultIndentChar()); - if (index === 0) { - trimmed_line = trimmed_line.replace(/^([-*+] \[.\]|[-*+]|\d+\.)\s/, ""); - return trimmed_line; - } else { - return indent_str + trimmed_line; - } - }); - } else { - adjusted_lines = inserted_lines.map((line, index) => { - let trimmed_line = line.substring(min_indent_space); - trimmed_line = trimmed_line.replace(/[\t]/g, this.getDefaultIndentChar()); - if (index === 0) { - return trimmed_line; - } else { - return prefix + trimmed_line; - } - }); - } - let new_insertedStr = adjusted_lines.join("\n"); - changes.push({ - changes: { from: fromA, to: toA, insert: new_insertedStr }, - selection: { anchor: fromA + new_insertedStr.length }, - userEvent: "EasyTyping.change" - }); - tr = tr.startState.update(...changes); - return tr; - } - } - if (selected) - return tr; - if (this.settings.TryFixMSIME && changeTypeStr == "input.type.compose" && changedStr == "" && /^[\u4e00-\u9fa5]+$/.test(insertedStr)) { - print("MS-IME Compose detected:", insertedStr); - tr = tr.startState.update(...changes); - return tr; - } - let codeblockinfo = getCodeBlockInfoInPos(tr.startState, toA); - if (this.settings.BetterCodeEdit && changeTypeStr == "delete.backward" && !selected && codeblockinfo && toA > tr.startState.doc.lineAt(codeblockinfo.start_pos).to) { - let line_number = tr.startState.doc.lineAt(toA).number; - let cur_line = tr.startState.doc.lineAt(toA); - let list_code_indent = codeblockinfo.indent; - if (list_code_indent !== 0) { - print("list_code, indent: ", list_code_indent); - if (toA == cur_line.from + list_code_indent) { - changes.push({ changes: { from: tr.startState.doc.line(line_number - 1).to, to: toA, insert: "" }, userEvent: "EasyTyping.change" }); - tr = tr.startState.update(...changes); - return tr; - } - if (fromA >= cur_line.from && fromA < cur_line.from + list_code_indent && toA > cur_line.from + list_code_indent) { - changes.push({ changes: { from: cur_line.from + list_code_indent, to: toA, insert: "" }, userEvent: "EasyTyping.change" }); - tr = tr.startState.update(...changes); - return tr; - } - } - } - if (changeTypeStr === "delete.backward" && this.settings.IntrinsicSymbolPairs) { - if (this.SymbolPairsMap.has(changedStr) && this.SymbolPairsMap.get(changedStr) === tr.startState.sliceDoc(toA, toA + 1)) { - changes.push({ changes: { from: fromA, to: toA + 1 }, userEvent: "EasyTyping.change" }); - tr = tr.startState.update(...changes); - return tr; - } - let line_content = tr.startState.doc.lineAt(toA).text; - let next_line_content = tr.startState.doc.sliceString(toA, toA + line_content.length + 1); - if (/^\s*```$/.test(line_content) && "\n" + line_content == next_line_content) { - changes.push({ - changes: { - from: toA - 3, - to: toA + line_content.length + 1, - insert: "" - }, - selection: { anchor: toA - 3 }, - userEvent: "EasyTyping.change" - }); - tr = tr.startState.update(...changes); - return tr; - } - for (let rule of this.IntrinsicDeleteRules) { - let left = tr.startState.doc.sliceString(toA - rule.before.left.length, toA); - let right = tr.startState.doc.sliceString(toA, toA + rule.before.right.length); - if (left === rule.before.left && right === rule.before.right) { - changes.push({ - changes: { - from: toA - rule.before.left.length, - to: toA + rule.before.right.length, - insert: rule.after.left + rule.after.right - }, - selection: { anchor: toA - rule.before.left.length + rule.after.left.length }, - userEvent: "EasyTyping.change" - }); - tr = tr.startState.update(...changes); - return tr; - } - } - } - if (changeTypeStr == "delete.backward") { - for (let rule of this.UserDeleteRules) { - let leftDocStr = tr.startState.doc.sliceString(0, toA); - let rightDocStr = tr.startState.doc.sliceString(toA); - let leftRegexpStr = rule.before.left; - if (isRegexp(rule.before.left)) { - leftRegexpStr = leftRegexpStr.slice(2, -1); - } else { - leftRegexpStr = leftRegexpStr.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); - } - let leftRegexp = new RegExp(leftRegexpStr + "$"); - let leftMatch = leftDocStr.match(leftRegexp); - if (leftMatch) { - let leftMatchStr = leftMatch[0]; - let matchList = leftMatch.slice(1); - let matchPosBegin = toA - leftMatchStr.length; - let rightRegexpStr = rule.before.right; - if (isRegexp(rule.before.right)) { - rightRegexpStr = rightRegexpStr.slice(2, -1); - } else { - rightRegexpStr = rightRegexpStr.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); - } - let rightRegexp = new RegExp("^" + rightRegexpStr); - let rightMatch = rightDocStr.match(rightRegexp); - if (rightMatch) { - let rightMatchStr = rightMatch[0]; - let matchPosEnd = toA + rightMatchStr.length; - matchList.push(...rightMatch.slice(1)); - let [new_string, tabstops] = parseTheAfterPattern(rule.after_pattern, matchList); - const updatedTabstops = tabstops.map((tabstop) => ({ - ...tabstop, - from: tabstop.from + matchPosBegin, - to: tabstop.to + matchPosBegin - })); - let tabstopGroups = tabstopSpecsToTabstopGroups(updatedTabstops); - changes.push({ - changes: { - from: matchPosBegin, - to: matchPosEnd, - insert: new_string - }, - selection: tabstopGroups[0].toEditorSelection(), - effects: [addTabstopsEffect.of(tabstopGroups)], - userEvent: "EasyTyping.change" - }); - tr = tr.startState.update(...changes); - return tr; - } - } - } - } - if (changeTypeStr == "input.type" && insertedStr == "`\n```" && this.settings.BaseObEditEnhance) { - const line_content = tr.startState.doc.lineAt(fromA).text; - if (/^\s*``$/.test(line_content)) { - changes.push({ - changes: { from: fromA, to: toA, insert: "`\n" + line_content + "`" }, - selection: { anchor: fromA + 1 }, - userEvent: "EasyTyping.change" - }); - tr = tr.startState.update(...changes); - return tr; - } - } - if ((changeTypeStr == "input.type" || changeTypeStr == "input.type.compose") && fromA === toA && fromB + 1 === toB) { - if (this.settings.BaseObEditEnhance) { - if (insertedStr === "`" && toA - tr.startState.doc.lineAt(toA).from > 2 && tr.startState.sliceDoc(toA - 1, toA) === "`" && tr.startState.sliceDoc(toA - 2, toA - 1) != "`") { - changes.push({ - changes: { from: toA, insert: "`" }, - selection: { anchor: toA }, - userEvent: "EasyTyping.change" - }); - tr = tr.startState.update(...changes); - return tr; - } - if (insertedStr == "\xB7") { - let line_content = tr.startState.doc.lineAt(fromA).text; - let ch_pos = fromA - tr.startState.doc.lineAt(fromA).from; - if (/^\s*``$/.test(line_content) && ch_pos == line_content.length - 1) { - changes.push({ - changes: { from: fromA + 1, to: toA + 1, insert: "`\n" + line_content + "`" }, - selection: { anchor: fromA + 2 }, - userEvent: "EasyTyping.change" - }); - tr = tr.startState.update(...changes); - return tr; - } - } - for (let rule of this.BasicConvRules) { - if (insertedStr != rule.before.left.charAt(rule.before.left.length - 1)) - continue; - if (rule.before.left.charAt(0) === "\n" && offsetToPos(tr.state.doc, fromA).line === 0 && toB - rule.before.left.length + 1 === 0) { - let left = tr.state.doc.sliceString(toB - rule.before.left.length + 1, toB); - let right = tr.state.doc.sliceString(toB, toB + rule.before.right.length); - if (left === rule.before.left.substring(1) && right === rule.before.right) { - changes.push({ - changes: { - from: toA - rule.before.left.length + 2, - to: toA + rule.before.right.length, - insert: rule.after.left.substring(1) + rule.after.right - }, - selection: { anchor: toA - rule.before.left.length + rule.after.left.length + 1 }, - userEvent: "EasyTyping.change" - }); - tr = tr.startState.update(...changes); - return tr; - } - } else { - let left = tr.state.doc.sliceString(toB - rule.before.left.length, toB); - let right = tr.state.doc.sliceString(toB, toB + rule.before.right.length); - if (left === rule.before.left && right === rule.before.right) { - changes.push({ - changes: { - from: toA - rule.before.left.length + 1, - to: toA + rule.before.right.length, - insert: rule.after.left + rule.after.right - }, - selection: { anchor: toA - rule.before.left.length + rule.after.left.length + 1 }, - userEvent: "EasyTyping.change" - }); - tr = tr.startState.update(...changes); - return tr; - } - } - } - } - if (this.settings.FW2HWEnhance) { - for (let rule of this.FW2HWSymbolRules) { - if (insertedStr != rule.before.left.charAt(rule.before.left.length - 1)) - continue; - let left = tr.state.doc.sliceString(toB - rule.before.left.length, toB); - let right = tr.state.doc.sliceString(toB, toB + rule.before.right.length); - if (left === rule.before.left && right === rule.before.right) { - changes.push({ - changes: { - from: toA - rule.before.left.length + 1, - to: toA + rule.before.right.length, - insert: rule.after.left + rule.after.right - }, - selection: { anchor: toA - rule.before.left.length + rule.after.left.length + 1 }, - userEvent: "EasyTyping.change" - }); - tr = tr.startState.update(...changes); - return tr; - } - } - } - if (this.settings.IntrinsicSymbolPairs) { - for (let rule of this.IntrinsicAutoPairRulesPatch) { - if (insertedStr != rule.before.left.charAt(rule.before.left.length - 1)) - continue; - let left = tr.state.doc.sliceString(toB - rule.before.left.length, toB); - let right = tr.state.doc.sliceString(toB, toB + rule.before.right.length); - if (left === rule.before.left && right === rule.before.right) { - changes.push({ - changes: { - from: toA - rule.before.left.length + 1, - to: toA + rule.before.right.length, - insert: rule.after.left + rule.after.right - }, - selection: { anchor: toA - rule.before.left.length + rule.after.left.length + 1 }, - userEvent: "EasyTyping.change" - }); - tr = tr.startState.update(...changes); - return tr; - } - } - if (this.SymbolPairsMap.has(insertedStr) && insertedStr != "'") { - changes.push({ - changes: { from: fromA, to: toA, insert: insertedStr + this.SymbolPairsMap.get(insertedStr) }, - selection: { anchor: fromA + 1 }, - userEvent: "EasyTyping.change" - }); - tr = tr.startState.update(...changes); - return tr; - } else if (insertedStr === "'") { - let charBeforeCursor = tr.startState.sliceDoc(fromA - 1, fromA); - if (["", " ", "\n"].includes(charBeforeCursor)) { - changes.push({ - changes: { from: fromA, to: toA, insert: "''" }, - selection: { anchor: fromA + 1 }, - userEvent: "EasyTyping.change" - }); - tr = tr.startState.update(...changes); - return tr; - } - } - if (insertedStr === "\u201D" || insertedStr === "\u2019") { - let tempStr = insertedStr === "\u201D" ? "\u201C\u201D" : "\u2018\u2019"; - changes.push({ - changes: { from: fromA, to: toA, insert: tempStr }, - selection: { anchor: fromA + 1 }, - userEvent: "EasyTyping.change" - }); - tr = tr.startState.update(...changes); - return tr; - } - } - } - }); - return tr; - }; - this.viewUpdatePlugin = (update) => { - if (this.onFormatArticle === true) - return; - let cursor_changed = update.transactions.find((tr2) => tr2.selection) != null; - if ((update.docChanged || cursor_changed) && !update.view.composing && !isInsideCurTabstop(update.view)) { - removeAllTabstops(update.view); - } - if (update.transactions.find((tr2) => tr2.isUserEvent("undo"))) { - removeAllTabstops(update.view); - } - let notSelected = true; - let mainSelection = update.view.state.selection.asSingle().main; - if (mainSelection.anchor != mainSelection.head) - notSelected = false; - if (!update.docChanged) - return; - let isExcludeFile = this.isCurrentFileExclude(); - let tr = update.transactions[0]; - let changeType = getTypeStrOfTransac(tr); - tr.changes.iterChanges((fromA, toA, fromB, toB, inserted) => { - let insertedStr = inserted.sliceString(0); - let changedStr = tr.startState.doc.sliceString(fromA, toA); - if (this.settings.debug) { - console.log("[ViewUpdate] type, fromA, toA, changed, fromB, toB, inserted"); - console.log(changeType, fromA, toA, changedStr, fromB, toB, insertedStr); - console.log("==>[Composing]", update.view.composing); - } - if (getPosLineType(update.view.state, fromB) == "table" /* table */) { - return; - } - let cursor = update.view.state.selection.asSingle().main; - if (update.view.composing) { - if (this.compose_need_handle) { - this.compose_end_pos = cursor.anchor; - } else { - this.compose_need_handle = true; - this.compose_begin_pos = fromA; - this.compose_end_pos = cursor.anchor; - } - return; - } - let change_from = fromB; - let change_to = toB; - let composeEnd = false; - if (this.compose_need_handle) { - composeEnd = true; - this.compose_need_handle = false; - change_from = this.compose_begin_pos; - change_to = this.compose_end_pos; - } - if (changeType.contains("EasyTyping") || changeType == "undo" || changeType == "redo") - return; - if (changeType != "none" && notSelected && !changeType.includes("delete")) { - if (this.triggerCvtRule(update.view, mainSelection.anchor)) - return; - if (composeEnd && this.triggerPuncRectify(update.view, change_from)) - return; - if (this.settings.AutoFormat && notSelected && !isExcludeFile && (changeType != "none" || insertedStr == "\n")) { - if (getPosLineType(update.view.state, change_from) == "text" /* text */ || getPosLineType(update.view.state, change_from) == "table" /* table */) { - let changes = this.Formater.formatLineOfDoc(update.state, this.settings, change_from, cursor.anchor, insertedStr); - if (changes != null) { - update.view.dispatch(...changes[0]); - update.view.dispatch(changes[1]); - return; - } - } - } - } - if (this.settings.AutoFormat && !isExcludeFile && changeType == "input.paste" && !import_obsidian3.Platform.isIosApp) { - let updateLineStart = update.state.doc.lineAt(fromB).number; - let updateLineEnd = update.state.doc.lineAt(toB).number; - if (updateLineStart == updateLineEnd && getPosLineType(update.view.state, toB) == "text" /* text */) { - let changes = this.Formater.formatLineOfDoc(update.state, this.settings, fromB, toB, insertedStr); - if (changes != null) { - update.view.dispatch(...changes[0]); - return; - } - } else { - let all_changes = []; - let inserted_array = insertedStr.split("\n"); - let update_start = fromB; - for (let i = updateLineStart; i <= updateLineEnd; i++) { - let real_inserted = inserted_array[i - updateLineStart]; - let changes = this.Formater.formatLineOfDoc(update.state, this.settings, update_start, update_start + real_inserted.length, real_inserted); - if (changes != null) { - all_changes.push(...changes[0]); - } - update_start += real_inserted.length + 1; - } - if (all_changes.length > 0) { - update.view.dispatch(...all_changes); - return; - } - } - } - }); - }; - this.handleTabDown = (view) => { - if (consumeAndGotoNextTabstop(view)) { - return true; - } - if (!this.settings.Tabout) - return false; - let state = view.state; - let doc = state.doc; - const tree = (0, import_language3.syntaxTree)(state); - const s = view.state.selection; - if (s.ranges.length > 1) - return false; - const pos = s.main.to; - let line = doc.lineAt(pos); - if (s.main.from == s.main.to && isCodeBlockInPos(state, pos)) { - const default_indent = this.getDefaultIndentChar(); - view.dispatch({ - changes: { - from: s.main.from, - insert: default_indent - }, - selection: { - anchor: s.main.from + default_indent.length - } - }); - return true; - } - if (this.settings.BetterCodeEdit && pos - line.from != 0 && tree.resolve(pos - 1, 1).name.contains("inline-code")) { - if (tree.resolve(pos, 1).name.contains("formatting-code_inline-code")) { - view.dispatch({ - selection: { anchor: pos + 1, head: pos + 1 } - }); - return true; - } - for (let p = pos + 1; p < line.to && tree.resolve(p, 1).name.contains("inline-code"); p += 1) { - if (tree.resolve(p, 1).name.contains("formatting-code_inline-code")) { - view.dispatch({ - selection: { anchor: p, head: p } - }); - return true; - } - if (p == line.to - 1 && tree.resolve(p, 1).name.contains("inline-code")) { - view.dispatch({ - selection: { anchor: p + 1, head: p + 1 } - }); - return true; - } - } - } - let selection = view.state.selection.asSingle().main; - let selected = selection.anchor != selection.head; - if (selected) { - let new_anchor = selection.anchor < selection.head ? selection.anchor : selection.head; - let new_head = selection.anchor > selection.head ? selection.anchor : selection.head; - for (let pstr of this.TaboutPairStrs) { - if (doc.sliceString(new_anchor - pstr.left.length, new_anchor) == pstr.left && doc.sliceString(new_head, new_head + pstr.right.length) == pstr.right) { - view.dispatch({ - selection: { anchor: new_head + pstr.right.length, head: new_head + pstr.right.length } - }); - return true; - } - } - } else { - let taboutRes = taboutCursorInPairedString(line.text, pos - line.from, this.TaboutPairStrs); - if (taboutRes.isSuccess) { - view.dispatch({ - selection: { anchor: taboutRes.newPosition + line.from } - }); - return true; - } - } - return false; - }; - this.handleEnter = (view) => { - var _a; - let state = view.state; - let doc = state.doc; - const tree = (0, import_language3.syntaxTree)(state); - const s = view.state.selection; - if (s.ranges.length > 1) - return false; - const pos = s.main.to; - let line = doc.lineAt(pos); - let codeBlockInfo = getCodeBlockInfoInPos(state, pos); - if (this.settings.BetterCodeEdit && codeBlockInfo && codeBlockInfo.code_start_pos !== doc.lineAt(codeBlockInfo.start_pos).to && pos >= codeBlockInfo.code_start_pos && pos <= codeBlockInfo.code_end_pos) { - let line_indent_str = ((_a = line.text.match(/^\s*/)) == null ? void 0 : _a[0]) || ""; - view.dispatch({ - changes: { from: pos, to: pos, insert: "\n" + line_indent_str }, - selection: { anchor: pos + line_indent_str.length + 1, head: pos + line_indent_str.length + 1 }, - userEvent: "EasyTyping.handleEnter" - }); - return true; - } - if (!this.settings.StrictModeEnter) - return false; - let strictLineBreaks = this.app.vault.config.strictLineBreaks || false; - if (!strictLineBreaks) - return false; - if (/^\s*$/.test(line.text)) - return false; - if (pos == line.from) - return false; - if (getPosLineType2(state, pos) == "quote" /* quote */) { - let reg_quote = /^(\s*)(>+)/; - let quote_match = line.text.match(reg_quote); - if (!quote_match) - return false; - let quote_indent_str = (quote_match == null ? void 0 : quote_match[1]) || ""; - let quote_level = (quote_match == null ? void 0 : quote_match[2].length) || 0; - let quote_content = line.text.slice(quote_match[0].length); - if (quote_content.trim() == "") - return false; - else { - let space_str2 = " "; - if (quote_content.endsWith(" ")) - space_str2 = ""; - let inserted_str = space_str2 + "\n" + quote_match[0] + " "; - if (this.settings.StrictLineMode == "enter_twice" /* EnterTwice */) { - inserted_str = "\n" + quote_match[0] + " \n" + quote_match[0] + " "; - } - view.dispatch({ - changes: { from: pos, to: pos, insert: inserted_str }, - selection: { anchor: pos + inserted_str.length }, - userEvent: "EasyTyping.handleEnter" - }); - return true; - } - } - let space_str = " "; - if (line.text.endsWith(" ")) - space_str = ""; - if (line.number < doc.lines && !/^\s*$/.test(doc.line(line.number + 1).text)) { - if (this.settings.StrictLineMode != "two_space" /* TwoSpace */) - return false; - } - if (this.settings.StrictLineMode == "two_space" /* TwoSpace */ && getPosLineType2(state, pos) == "text" /* text */) { - let inserted_str = space_str + "\n"; - view.dispatch({ - changes: { from: pos, to: pos, insert: inserted_str }, - selection: { anchor: pos + inserted_str.length, head: pos + inserted_str.length }, - userEvent: "EasyTyping.handleEnter" - }); - return true; - } - if (getPosLineType2(state, pos) == "text" /* text */ || codeBlockInfo && pos == codeBlockInfo.end_pos && codeBlockInfo.indent == 0) { - view.dispatch({ - changes: { - from: pos, - to: pos, - insert: "\n\n" - }, - selection: { anchor: pos + 2 }, - userEvent: "EasyTyping.handleEnter" - }); - return true; - } - return false; - }; - this.handleModA = (view) => { - let selection = view.state.selection.main; - let line = view.state.doc.lineAt(selection.head); - let line_type = getPosLineType2(view.state, selection.head); - let is_in_code_block = isCodeBlockInPos(view.state, selection.head); - if (this.settings.EnhanceModA && line_type == "text" /* text */ && !is_in_code_block) { - let [block_start, block_end] = this.getBlockLinesInPos(view.state, selection.head); - if (selection.anchor <= view.state.doc.line(block_start).from && selection.head >= view.state.doc.line(block_end).to) { - return false; - } - if (selection.anchor == line.from && selection.head == line.to) { - if (block_start != block_end) { - view.dispatch({ - selection: { - anchor: view.state.doc.line(block_start).from, - head: view.state.doc.line(block_end).to - }, - userEvent: "EasyTyping.handleModA" - }); - return true; - } - return false; - } - view.dispatch({ - selection: { anchor: line.from, head: line.to }, - userEvent: "EasyTyping.handleModA" - }); - return true; - } - let quote_info = getQuoteInfoInPos(view.state, selection.head); - if (this.settings.EnhanceModA && quote_info) { - if (selection.anchor == quote_info.start_pos && selection.head == quote_info.end_pos) { - return false; - } else if (selection.anchor == quote_info.cur_start_pos && selection.head == quote_info.cur_end_pos) { - view.dispatch({ - selection: { anchor: quote_info.start_pos, head: quote_info.end_pos }, - userEvent: "EasyTyping.handleModA" - }); - return true; - } else { - view.dispatch({ - selection: { anchor: quote_info.cur_start_pos, head: quote_info.cur_end_pos }, - userEvent: "EasyTyping.handleModA" - }); - return true; - } - } - if (this.settings.EnhanceModA && line_type == "list" /* list */) { - } - if (!this.settings.BetterCodeEdit) - return false; - let mainSelection = view.state.selection.asSingle().main; - return selectCodeBlockInPos(view, mainSelection); - }; - this.onKeyup = (event, view) => { - if (this.settings.debug) { - console.log("Keyup:", event.key); - } - this.handleEndComposeTypeKey(event, view); - }; - this.triggerCvtRule = (view, cursor_pos) => { - let rules = []; - if (this.settings.BaseObEditEnhance) - rules = rules.concat(this.ExtraBasicConvRules); - if (this.settings.QuoteSpace) - rules = rules.concat(this.QuoteSpaceRules); - rules = rules.concat(this.UserConvertRules); - for (let rule of rules) { - let leftDocStr = view.state.doc.sliceString(0, cursor_pos); - let rightDocStr = view.state.doc.sliceString(cursor_pos); - let leftRegexpStr = rule.before.left; - if (isRegexp(rule.before.left)) { - leftRegexpStr = leftRegexpStr.slice(2, -1); - } else { - leftRegexpStr = leftRegexpStr.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); - } - let leftRegexp = new RegExp(leftRegexpStr + "$"); - let leftMatch = leftDocStr.match(leftRegexp); - if (leftMatch) { - let leftMatchStr = leftMatch[0]; - let matchList = leftMatch.slice(1); - let matchPosBegin = cursor_pos - leftMatchStr.length; - let rightRegexpStr = rule.before.right; - if (isRegexp(rule.before.right)) { - rightRegexpStr = rightRegexpStr.slice(2, -1); - } else { - rightRegexpStr = rightRegexpStr.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); - } - let rightRegexp = new RegExp("^" + rightRegexpStr); - let rightMatch = rightDocStr.match(rightRegexp); - if (rightMatch) { - let rightMatchStr = rightMatch[0]; - let matchPosEnd = cursor_pos + rightMatchStr.length; - matchList.push(...rightMatch.slice(1)); - let [new_string, tabstops] = parseTheAfterPattern(rule.after_pattern, matchList); - const updatedTabstops = tabstops.map((tabstop) => ({ - ...tabstop, - from: tabstop.from + matchPosBegin, - to: tabstop.to + matchPosBegin - })); - view.dispatch({ - changes: { - from: matchPosBegin, - to: matchPosEnd, - insert: new_string - }, - userEvent: "EasyTyping.change" - }); - addTabstopsAndSelect(view, tabstopSpecsToTabstopGroups(updatedTabstops)); - return true; - } - } - } - return false; - }; - this.triggerPuncRectify = (view, change_from_pos) => { - if (this.settings.PuncRectify && /[,.?!]/.test(view.state.doc.sliceString(change_from_pos - 1, change_from_pos))) { - let punc = view.state.doc.sliceString(change_from_pos - 1, change_from_pos); - if (change_from_pos > 2 && /[^\u4e00-\u9fa5]/.test(view.state.doc.sliceString(change_from_pos - 2, change_from_pos - 1))) { - } else { - view.dispatch({ - changes: { - from: change_from_pos - 1, - to: change_from_pos, - insert: this.halfToFullSymbolMap.get(punc) - }, - userEvent: "EasyTyping.change" - }); - return true; - } - } - return false; - }; - this.handleEndComposeTypeKey = (event, view) => { - if ((["Enter", "Process", " ", "Shift"].contains(event.key) || /\d/.test(event.key)) && this.compose_need_handle) { - let cursor = view.state.selection.asSingle().main; - if (cursor.head != cursor.anchor) - return; - let insertedStr = view.state.doc.sliceString(this.compose_begin_pos, cursor.anchor); - this.compose_need_handle = false; - if (this.triggerCvtRule(view, cursor.anchor)) - return; - if (this.triggerPuncRectify(view, this.compose_begin_pos)) - return; - if (this.settings.AutoFormat && !this.isCurrentFileExclude()) { - if (getPosLineType(view.state, cursor.anchor) != "text" /* text */) - return; - let changes = this.Formater.formatLineOfDoc(view.state, this.settings, this.compose_begin_pos, cursor.anchor, insertedStr); - if (changes != null) { - view.dispatch(...changes[0]); - view.dispatch(changes[1]); - return; - } - } - } - }; - this.formatArticle = (editor, view) => { - const editorView = editor.cm; - const tree = (0, import_language3.ensureSyntaxTree)(editorView.state, editorView.state.doc.length); - if (!tree) { - new import_obsidian3.Notice("EasyTyping: Syntax tree is not ready yet, please wait a moment and try again later!", 5e3); - return; - } - this.onFormatArticle = true; - let lineCount = editor.lineCount(); - let new_article = ""; - let cs = editor.getCursor(); - let ch = 0; - for (let i = 0; i < lineCount; i++) { - if (i != 0) - new_article += "\n"; - if (i != cs.line) { - new_article += this.preFormatOneLine(editor, i + 1)[0]; - } else { - let newData = this.preFormatOneLine(editor, i + 1, cs.ch); - new_article += newData[0]; - ch = newData[1]; - } - } - editor.setValue(new_article); - editor.setCursor({ line: cs.line, ch }); - this.onFormatArticle = false; - new import_obsidian3.Notice("EasyTyping: Format Article Done!"); - }; - this.formatSelectionOrCurLine = (editor, view) => { - if (!editor.somethingSelected() || editor.getSelection() === "") { - let lineNumber = editor.getCursor().line; - let newLineData = this.preFormatOneLine(editor, lineNumber + 1, editor.getCursor().ch); - editor.replaceRange(newLineData[0], { line: lineNumber, ch: 0 }, { line: lineNumber, ch: editor.getLine(lineNumber).length }); - editor.setSelection({ line: lineNumber, ch: newLineData[1] }); - return; - } - let selection = editor.listSelections()[0]; - let begin = selection.anchor.line; - let end = selection.head.line; - if (begin > end) { - let temp = begin; - begin = end; - end = temp; - } - let new_lines = ""; - for (let i = begin; i <= end; i++) { - if (i != begin) - new_lines += "\n"; - new_lines += this.preFormatOneLine(editor, i + 1)[0]; - } - editor.replaceRange(new_lines, { line: begin, ch: 0 }, { line: end, ch: editor.getLine(end).length }); - if (selection.anchor.line < selection.head.line) { - editor.setSelection({ line: selection.anchor.line, ch: 0 }, { line: selection.head.line, ch: editor.getLine(selection.head.line).length }); - } else { - editor.setSelection({ line: selection.anchor.line, ch: editor.getLine(selection.anchor.line).length }, { line: selection.head.line, ch: 0 }); - } - }; - this.formatOneLine = (editor, lineNumber) => { - const editorView = editor.cm; - let state = editorView.state; - let line = state.doc.line(lineNumber); - if (getPosLineType(state, line.from) == "text" /* text */ || getPosLineType(state, line.from) == "table" /* table */) { - let oldLine = line.text; - let newLine = this.Formater.formatLine(state, lineNumber, this.settings, oldLine.length, 0)[0]; - if (oldLine != newLine) { - editor.replaceRange(newLine, { line: lineNumber - 1, ch: 0 }, { line: lineNumber - 1, ch: oldLine.length }); - editor.setCursor({ line: lineNumber - 1, ch: editor.getLine(lineNumber - 1).length }); - } - } - return; - }; - this.preFormatOneLine = (editor, lineNumber, ch = -1) => { - const editorView = editor.cm; - let state = editorView.state; - let line = state.doc.line(lineNumber); - let newLine = line.text; - let newCh = 0; - let curCh = line.text.length; - if (ch != -1) { - curCh = ch; - } - if (getPosLineType(state, line.from) == "text" /* text */ || getPosLineType(state, line.from) == "table" /* table */) { - let newLineData = this.Formater.formatLine(state, lineNumber, this.settings, curCh, 0); - newLine = newLineData[0]; - newCh = newLineData[1]; - } - return [newLine, newCh]; - }; - this.deleteBlankLines = (editor) => { - if (this.settings.debug) { - console.log("config.strictLineBreaks", this.app.vault.getConfig("strictLineBreaks")); - } - let strictLineBreaks = this.app.vault.config.strictLineBreaks || false; - const editorView = editor.cm; - let state = editorView.state; - let doc = state.doc; - const tree = (0, import_language3.ensureSyntaxTree)(state, doc.length); - if (!tree) { - new import_obsidian3.Notice("EasyTyping: Syntax tree is not ready yet, please wait a moment and try again later!", 5e3); - return; - } - let start_line = 1; - let end_line = doc.lines; - let line_num = doc.lines; - const selected = editor.somethingSelected() && editor.getSelection() != ""; - if (selected) { - let selection = editor.listSelections()[0]; - let begin = selection.anchor.line + 1; - let end = selection.head.line + 1; - if (begin > end) { - let temp = begin; - begin = end; - end = temp; - } - start_line = begin; - end_line = end; - } - let delete_index = []; - let blank_reg = /^\s*$/; - let remain_next_blank = false; - if (start_line != 1) { - let node = tree.resolve(doc.line(start_line - 1).from, 1); - if (node.name.contains("list") || node.name.contains("quote") || node.name.contains("blockid")) { - remain_next_blank = true; - } - } - if (end_line != line_num && !blank_reg.test(doc.line(end_line + 1).text)) { - end_line += 1; - } - for (let i = start_line; i <= end_line; i++) { - let line = doc.line(i); - let pos = line.from; - let node = tree.resolve(pos, 1); - if (blank_reg.test(line.text) && !remain_next_blank) { - delete_index.push(i); - continue; - } else if (blank_reg.test(line.text) && remain_next_blank) { - remain_next_blank = false; - continue; - } - if (node.name.contains("hr") && delete_index[delete_index.length - 1] == i - 1) { - delete_index.pop(); - } else if (node.name.contains("list") || node.name.contains("quote") || node.name.contains("blockid")) { - remain_next_blank = true; - } else { - remain_next_blank = false; - } - } - let newContent = ""; - for (let i = 1; i < line_num; i++) { - if (!delete_index.contains(i)) { - newContent += doc.line(i).text + "\n"; - } - } - if (!delete_index.contains(line_num)) { - newContent += doc.line(line_num).text; - } - editor.setValue(newContent); - }; - this.getEditor = () => { - let editor = null; - let markdownView = this.app.workspace.getActiveViewOfType(import_obsidian3.MarkdownView); - if (markdownView) { - editor = markdownView.editor; - } - if (editor === null) - console.log("can't get editor"); - return editor; - }; - } - async onload() { - await this.loadSettings(); - this.selectionReplaceMapInitalData = [ - ["\u3010", { left: "[", right: "]" }], - ["\uFFE5", { left: "$", right: "$" }], - ["\xB7", { left: "`", right: "`" }], - ["\xA5", { left: "$", right: "$" }], - ["\u300A", { left: "\u300A", right: "\u300B" }], - ["\u201C", { left: "\u201C", right: "\u201D" }], - ["\u201D", { left: "\u201C", right: "\u201D" }], - ["\uFF08", { left: "\uFF08", right: "\uFF09" }], - ["<", { left: "<", right: ">" }], - ['"', { left: '"', right: '"' }], - ["'", { left: "'", right: "'" }], - ["\u300C", { left: "\u300C", right: "\u300D" }], - ["\u300E", { left: "\u300E", right: "\u300F" }] - ]; - this.refreshSelectionReplaceRule(); - this.SymbolPairsMap = /* @__PURE__ */ new Map(); - let SymbolPairs = ["\u3010\u3011", "\uFF08\uFF09", "\u300A\u300B", "\u201C\u201D", "\u2018\u2019", "\u300C\u300D", "\u300E\u300F", "[]", "()", "{}", '""', "''"]; - for (let pairStr of SymbolPairs) - this.SymbolPairsMap.set(pairStr.charAt(0), pairStr.charAt(1)); - this.halfToFullSymbolMap = /* @__PURE__ */ new Map([ - [".", "\u3002"], - [",", "\uFF0C"], - ["?", "\uFF1F"], - ["!", "\uFF01"] - ]); - let BasicConvRuleStringList = [ - ["\xB7\xB7|", "`|`"], - ["\uFF01\u3010\u3010|\u3011", "![[|]]"], - ["\uFF01\u3010\u3010|", "![[|]]"], - ["\u3010\u3010|\u3011", "[[|]]"], - ["\u3010\u3010|", "[[|]]"], - ["\uFFE5\uFFE5|", "$|$"], - ["$\uFFE5|$", "$$\n|\n$$"], - ["\xA5\xA5|", "$|$"], - ["$\xA5|$", "$$\n|\n$$"], - ["$$|$", "$$\n|\n$$"], - ["$$|", "$|$"], - ["\n\u300B|", "\n> |"], - ["\n\u3001|", "\n/|"] - ]; - let ExtraBasicConvRuleStringList = [["r/(?<=^|\\n)(\\s*>*) ?[>\u300B]/|", "[[0]]> |"]]; - let QuoteSpaceRuleStringList = [["r/(?<=^|\\n)(\\s*>+)([^ >\u300B]+)/|", "[[0]] [[1]]|"]]; - this.ExtraBasicConvRules = ruleStringList2RuleList(ExtraBasicConvRuleStringList); - this.QuoteSpaceRules = ruleStringList2RuleList(QuoteSpaceRuleStringList); - this.BasicConvRules = ruleStringList2RuleList(BasicConvRuleStringList); - let FW2HWSymbolRulesStrList = [ - ["\u3002\u3002|", ".|"], - ["\uFF01\uFF01|", "!|"], - ["\uFF1B\uFF1B|", ";|"], - ["\uFF0C\uFF0C|", ",|"], - ["\uFF1A\uFF1A|", ":|"], - ["\uFF1F\uFF1F|", "?|"], - ["\uFF08\uFF08|\uFF09", "(|)"], - ["\uFF08\uFF08|", "(|)"], - ["\u201C\u201C|\u201D", '"|"'], - ["\u201C\u201D|\u201D", '"|"'], - ["\u2018\u2018|\u2019", "'|'"], - ["\u2018\u2019|\u2019", "'|'"], - ["\u300B\u300B|", ">|"], - ["\u300A\u300A|\u300B", "<|"], - ["\u300A\u300A|", "<|"] - ]; - this.FW2HWSymbolRules = ruleStringList2RuleList(FW2HWSymbolRulesStrList); - let fw2hw_rule_0 = { before: { left: "\uFF5C\uFF5C", right: "" }, after: { left: "|", right: "" } }; - this.FW2HWSymbolRules.push(fw2hw_rule_0); - let DeleteRulesStrList = [["$|$", "|"], ["==|==", "|"], ["$$\n|\n$$", "|"]]; - this.IntrinsicDeleteRules = ruleStringList2RuleList(DeleteRulesStrList); - let autoPairRulesPatchStrList = [ - ["\u3010\u3011|\u3011", "\u3010\u3011|"], - ["\uFF08\uFF09|\uFF09", "\uFF08\uFF09|"], - ["<>|>", "<>|"], - ["\u300A\u300B|\u300B", "\u300A\u300B|"], - ["\u300C\u300D|\u300D", "\u300C\u300D|"], - ["\u300E\u300F|\u300F", "\u300E\u300F|"], - ["()|)", "()|"], - ["[]|]", "[]|"], - ["{}|}", "{}|"], - ["''|'", "''|"], - ['""|"', '""|'] - ]; - this.IntrinsicAutoPairRulesPatch = ruleStringList2RuleList(autoPairRulesPatchStrList); - let TaboutPairStrs = [ - "\u3010|\u3011", - "\uFF08|\uFF09", - "\u300A|\u300B", - "\u201C|\u201D", - "\u2018|\u2019", - "\u300C|\u300D", - "\u300E|\u300F", - "'|'", - '"|"', - "$$|$$", - "$|$", - "__|__", - "_|_", - "==|==", - "~~|~~", - "**|**", - "*|*", - "[[|]]", - "[|]", - "{|}", - "(|)", - "<|>" - ]; - this.TaboutPairStrs = TaboutPairStrs.map((s) => string2pairstring(s)); - this.refreshUserDeleteRule(); - this.refreshUserConvertRule(); - this.CurActiveMarkdown = ""; - this.compose_need_handle = false; - this.Formater = new LineFormater(); - this.onFormatArticle = false; - setDebug(this.settings.debug); - this.registerEditorExtension([ - import_state3.EditorState.transactionFilter.of(this.transactionFilterPlugin), - import_view3.EditorView.updateListener.of(this.viewUpdatePlugin), - import_state3.Prec.highest(import_view3.EditorView.domEventHandlers({ - "keyup": this.onKeyup - })), - tabstopsStateField.extension - ]); - this.registerEditorExtension(import_state3.Prec.highest(import_view3.keymap.of([ - { - key: "Tab", - run: (view) => { - const success = this.handleTabDown(view); - return success; - } - }, - { - key: "Enter", - run: (view) => { - const success = this.handleEnter(view); - return success; - } - }, - { - key: "Mod-a", - run: (view) => { - const success = this.handleModA(view); - return success; - } - }, - { - key: "Backspace", - run: (view) => { - if (!this.settings.BetterBackspace) - return false; - return this.handleBackspace(view); - } - }, - { - key: "Shift-Enter", - run: (view) => { - const success = this.handleShiftEnter(view); - return success; - } - } - ]))); - this.lang = window.localStorage.getItem("language"); - let command_name_map = this.getCommandNameMap(); - this.addCommand({ - id: "easy-typing-format-article", - name: command_name_map.get("format_article"), - editorCallback: (editor, view) => { - this.formatArticle(editor, view); - }, - hotkeys: [{ - modifiers: ["Mod", "Shift"], - key: "s" - }] - }); - this.addCommand({ - id: "easy-typing-select-block", - name: command_name_map.get("select_block"), - editorCallback: (editor, view) => { - this.selectBlockInCurser(editor.cm); - } - }); - this.addCommand({ - id: "easy-typing-format-selection", - name: command_name_map.get("format_selection"), - editorCallback: (editor, view) => { - this.formatSelectionOrCurLine(editor, view); - }, - hotkeys: [{ - modifiers: ["Mod", "Shift"], - key: "l" - }] - }); - this.addCommand({ - id: "easy-typing-delete-blank-line", - name: command_name_map.get("delete_blank_line"), - editorCallback: (editor, view) => { - this.deleteBlankLines(editor); - }, - hotkeys: [{ - modifiers: ["Mod", "Shift"], - key: "k" - }] - }); - this.addCommand({ - id: "easy-typing-goto-new-line-after-cur-line", - name: command_name_map.get("goto_new_line_after_cur_line"), - editorCallback: (editor, view) => { - this.goNewLineAfterCurLine(editor.cm); - }, - hotkeys: [{ modifiers: ["Mod"], key: "Enter" }] - }); - this.addCommand({ - id: "easy-typing-insert-codeblock", - name: command_name_map.get("insert_codeblock"), - editorCallback: (editor, view) => { - this.convert2CodeBlock(editor); - }, - hotkeys: [{ - modifiers: ["Mod", "Shift"], - key: "n" - }] - }); - this.addCommand({ - id: "easy-typing-format-switch", - name: command_name_map.get("switch_autoformat"), - callback: () => this.switchAutoFormatting(), - hotkeys: [{ - modifiers: ["Ctrl"], - key: "tab" - }] - }); - this.addCommand({ - id: "easy-typing-paste-without-format", - name: command_name_map.get("paste_wo_format"), - editorCallback: (editor) => this.normalPaste(editor), - hotkeys: [ - { - modifiers: ["Mod", "Shift"], - key: "v" - } - ] - }); - this.addCommand({ - id: "easy-typing-toggle-comment", - name: command_name_map.get("toggle_comment"), - editorCallback: (editor, view) => this.toggleComment(editor.cm), - hotkeys: [{ modifiers: ["Mod"], key: "/" }] - }); - this.addSettingTab(new EasyTypingSettingTab(this.app, this)); - this.registerEvent(this.app.workspace.on("active-leaf-change", (leaf) => { - if (leaf.view.getViewType() == "markdown") { - let file = this.app.workspace.getActiveFile(); - if (file != null && this.CurActiveMarkdown != file.path) { - this.CurActiveMarkdown = file.path; - if (this.settings.debug) - new import_obsidian3.Notice("new md-file open: " + file.path); - } - } - })); - if (import_obsidian3.Platform.isMacOS && this.settings.FixMacOSContextMenu) { - this.registerEvent(this.app.workspace.on("editor-menu", (menu, editor, view) => { - if (editor.listSelections().length != 1) - return; - let selection = editor.listSelections()[0]; - let selected = editor.getSelection(); - if (selected == "\n") { - editor.setSelection(selection.anchor, selection.anchor); - } - })); - } - console.log("Easy Typing Plugin loaded."); - } - onunload() { - console.log("Easy Typing Plugin unloaded."); - } - async normalPaste(editor) { - let clipboardText = await navigator.clipboard.readText(); - if (clipboardText === null || clipboardText === "") - return; - if (this.settings.debug) - console.log("Normal Paste!!"); - const editorView = editor.cm; - let mainSelection = editorView.state.selection.asSingle().main; - editorView.dispatch({ - changes: { from: mainSelection.from, to: mainSelection.to, insert: clipboardText }, - selection: { anchor: mainSelection.from + clipboardText.length }, - userEvent: "EasyTyping.paste" - }); - } - getBlockLinesInPos(state, pos) { - const strictLineBreaks = this.app.vault.config.strictLineBreaks || false; - let line = state.doc.lineAt(pos); - let block_start = line.number; - let block_end = line.number; - let reg_headings = /^#+ /; - for (let i = line.number - 1; i >= 1; i--) { - let line2 = state.doc.line(i); - if (getPosLineType2(state, line2.from) == "text" /* text */ && line2.text !== "" && !reg_headings.test(line2.text)) { - block_start = i; - continue; - } - break; - } - for (let i = line.number + 1; i <= state.doc.lines; i++) { - let line2 = state.doc.line(i); - if (getPosLineType2(state, line2.from) == "text" /* text */ && line2.text !== "" && !reg_headings.test(line2.text)) { - block_end = i; - continue; - } - break; - } - return [block_start, block_end]; - } - selectBlockInCurser(view) { - let selection = view.state.selection.main; - let line = view.state.doc.lineAt(selection.head); - if (/^\s*$/.test(line.text)) - return false; - let [block_start, block_end] = this.getBlockLinesInPos(view.state, selection.head); - view.dispatch({ - selection: { anchor: view.state.doc.line(block_start).from, head: view.state.doc.line(block_end).to }, - userEvent: "EasyTyping.selectBlockInCurser" - }); - return true; - } - toggleComment(view) { - const state = view.state; - const selection = state.selection.main; - const codeBlockInfo = getCodeBlockInfoInPos(state, selection.from); - if (codeBlockInfo) { - return this.toggleCodeBlockComment(view); - } - return this.toggleMarkdownComment(selection.from, selection.to, view); - } - toggleCodeBlockComment(view) { - const state = view.state; - const selection = state.selection.main; - const codeBlockInfo = getCodeBlockInfoInPos(state, selection.from); - if (!codeBlockInfo) - return false; - const language = codeBlockInfo.language; - const commentSymbol = this.getCommentSymbol(language.toLowerCase()); - if (!commentSymbol) - return false; - let changes = []; - if (selection.from === selection.to) { - const line = state.doc.lineAt(selection.from); - let change = this.toggleCodeBlockLineComment(line.from, line.to, state.doc.sliceString(line.from, line.to), commentSymbol, selection.from); - if (change && change.selection) { - changes.push(change); - view.dispatch({ - changes, - selection: change.selection, - userEvent: "EasyTyping.toggleComment" - }); - return true; - } else if (change) { - changes.push(change); - } - } else { - const fromLine = state.doc.lineAt(selection.from); - const toLine = state.doc.lineAt(selection.to); - for (let i = fromLine.number; i <= toLine.number; i++) { - const line = state.doc.line(i); - let change = this.toggleCodeBlockLineComment(line.from, line.to, state.doc.sliceString(line.from, line.to), commentSymbol); - if (change) { - changes.push(change); - } - } - } - view.dispatch({ changes, userEvent: "EasyTyping.toggleComment" }); - return true; - } - toggleCodeBlockLineComment(from, to, text, commentSymbol, cursor_pos) { - if (text.trim() == "" && cursor_pos) { - if (typeof commentSymbol === "string") { - let new_pos = cursor_pos + commentSymbol.length + 1; - return { - from: cursor_pos, - to: cursor_pos, - insert: commentSymbol + " ", - selection: { anchor: new_pos, head: new_pos } - }; - } else { - let new_pos = cursor_pos + commentSymbol.start.length + 1; - return { - from: cursor_pos, - to: cursor_pos, - insert: commentSymbol.start + " " + commentSymbol.end, - selection: { anchor: new_pos, head: new_pos } - }; - } - } - if (text.trim() == "") - return null; - if (typeof commentSymbol === "string") { - const trimmedText = text.trimStart(); - if (trimmedText.startsWith(commentSymbol)) { - const commentIndex = text.indexOf(commentSymbol); - return { - from: from + commentIndex, - to: from + commentIndex + commentSymbol.length + (trimmedText.startsWith(commentSymbol + " ") ? 1 : 0), - insert: "" - }; - } else { - const indent = text.length - trimmedText.length; - return { - from: from + indent, - to: from + indent, - insert: commentSymbol + " " - }; - } - } else { - const trimmedText = text.trim(); - if (trimmedText.startsWith(commentSymbol.start) && trimmedText.endsWith(commentSymbol.end)) { - const commentStartIndex = text.indexOf(commentSymbol.start); - return { - from: from + commentStartIndex, - to, - insert: trimmedText.slice(commentSymbol.start.length + 1, -commentSymbol.end.length - 1) - }; - } else { - const indent = text.length - text.trimStart().length; - return { - from: from + indent, - to, - insert: `${commentSymbol.start} ${trimmedText} ${commentSymbol.end}` - }; - } - } - } - toggleMarkdownComment(from, to, view) { - const state = view.state; - const doc = state.doc; - const changes = []; - if (from === to) { - const currentText = doc.sliceString(from - 3, to + 3); - if (currentText === "%% %%") { - changes.push({ - from: from - 3, - to: to + 3, - insert: "" - }); - view.dispatch({ - changes, - selection: { anchor: from - 3, head: from - 3 }, - userEvent: "EasyTyping.toggleComment" - }); - return true; - } - changes.push({ - from, - to, - insert: "%% %%" - }); - const newPos = from + 3; - view.dispatch({ - changes, - selection: { anchor: newPos, head: newPos }, - userEvent: "EasyTyping.toggleComment" - }); - } else { - const selectedText = doc.sliceString(from, to); - if (selectedText.startsWith("%%") && selectedText.endsWith("%%")) { - changes.push({ - from, - to, - insert: selectedText.slice(2, -2) - }); - } else { - changes.push({ - from, - to, - insert: `%%${selectedText}%%` - }); - } - view.dispatch({ changes, userEvent: "EasyTyping.toggleComment" }); - } - return true; - } - getCommentSymbol(language) { - const commentSymbols = { - "js": "//", - "javascript": "//", - "ts": "//", - "typescript": "//", - "py": "#", - "python": "#", - "rb": "#", - "ruby": "#", - "java": "//", - "c": "//", - "cpp": "//", - "cs": "//", - "go": "//", - "rust": "//", - "swift": "//", - "kotlin": "//", - "php": "//", - "css": { start: "/*", end: "*/" }, - "scss": { start: "/*", end: "*/" }, - "sql": "--", - "shell": "#", - "bash": "#", - "powershell": "#", - "html": { start: "" }, - "matlab": "%", - "markdown": { start: "%%", end: "%%" } - }; - return commentSymbols[language] || null; - } - handleShiftEnter(view) { - const state = view.state; - const doc = state.doc; - const selection = state.selection.main; - if (selection.anchor != selection.head) - return false; - const line = doc.lineAt(selection.head); - const lineContent = line.text; - const taskListMatch = lineContent.match(/^(\s*)([-*+] \[.\])\s/); - if (taskListMatch) { - const [, indent, listMarker] = taskListMatch; - let inserted = "\n" + indent + " "; - view.dispatch({ - changes: [{ from: selection.anchor, insert: inserted }], - selection: { anchor: selection.anchor + inserted.length, head: selection.anchor + inserted.length }, - userEvent: "EasyTyping.handleShiftEnter" - }); - return true; - } - return false; - } - goNewLineAfterCurLine(view) { - const state = view.state; - const doc = state.doc; - const selection = state.selection.main; - const line = doc.lineAt(selection.head); - const lineContent = line.text; - const listMatch = lineContent.match(/^(\s*)([-*+] \[.\]|[-*+]|\d+\.)\s/); - const quoteMatch = lineContent.match(/^(\s*)(>+)(\s)?/); - let changes; - let newCursorPos; - let prefix = ""; - if (listMatch) { - const [, indent, listMarker] = listMatch; - if (["-", "*", "+"].includes(listMarker)) { - prefix = indent + listMarker + " "; - } else if (listMarker.match(/[-*+] \[.\]/)) { - prefix = indent + listMarker.replace(/\[.\]/g, "[ ]") + " "; - } else { - prefix = indent + (parseInt(listMarker) + 1) + ". "; - } - } else if (quoteMatch) { - prefix = quoteMatch[1] + quoteMatch[2] + " "; - } - changes = [{ from: line.to, insert: "\n" + prefix }]; - newCursorPos = line.to + 1 + prefix.length; - const tr = state.update({ - changes, - selection: { anchor: newCursorPos, head: newCursorPos }, - userEvent: "EasyTyping.goNewLineAfterCurLine" - }); - view.dispatch(tr); - return true; - } - handleBackspace(view) { - const state = view.state; - const doc = state.doc; - const selection = state.selection.main; - if (selection.anchor != selection.head) - return false; - const line = doc.lineAt(selection.from); - const lineContent = line.text; - const listMatchEmpty = lineContent.match(/^\s*([-*+]|\d+\.) $/); - const quoteMatchEmpty = lineContent.match(/^(\s*)(>+) ?$/); - if ((listMatchEmpty || quoteMatchEmpty) && selection.anchor == line.to) { - let changes; - let newCursorPos; - if (quoteMatchEmpty) { - const quote_indent_str = quoteMatchEmpty[1]; - const quoteLevel = quoteMatchEmpty[2].length; - if (quoteLevel > 1) { - if (line.number > 1) { - const prevLine = doc.line(line.number - 1); - const prevLineContent = prevLine.text; - const prevQuoteMatchEmpty = prevLineContent.match(/^(\s*)(>+) ?$/); - if (prevQuoteMatchEmpty && prevQuoteMatchEmpty[1] == quote_indent_str && prevQuoteMatchEmpty[2].length == quoteLevel) { - let temp_line = quote_indent_str + ">".repeat(quoteLevel - 1) + " "; - let inseted = temp_line + "\n" + temp_line; - changes = [{ from: prevLine.from, to: line.to, insert: inseted }]; - newCursorPos = prevLine.from + inseted.length; - } else { - const newQuotePrefix = ">".repeat(quoteLevel - 1) + " "; - changes = [{ from: line.from, to: line.to, insert: newQuotePrefix }]; - newCursorPos = line.from + newQuotePrefix.length; - } - } else { - const newQuotePrefix = ">".repeat(quoteLevel - 1) + " "; - changes = [{ from: line.from, to: line.to, insert: newQuotePrefix }]; - newCursorPos = line.from + newQuotePrefix.length; - } - } else { - if (line.number > 1) { - const prevLine = doc.line(line.number - 1); - const prevLineContent = prevLine.text; - const prevQuoteMatch = prevLineContent.match(/^\s*(>+)/); - if (prevQuoteMatch) { - changes = [{ from: prevLine.to, to: line.to, insert: "" }]; - newCursorPos = prevLine.to; - } else { - changes = [{ from: line.from, to: line.to, insert: "" }]; - newCursorPos = line.from; - } - } else { - changes = [{ from: line.from, to: line.to, insert: "" }]; - newCursorPos = line.from; - } - } - } else { - if (line.number > 1) { - const prevLine = doc.line(line.number - 1); - const prevLineContent = prevLine.text; - const prevListMatch = prevLineContent.match(/^\s*([-*+]|\d+\.)\s/); - if (prevListMatch) { - changes = [{ from: prevLine.to, to: line.to, insert: "" }]; - newCursorPos = prevLine.to; - } else { - changes = [{ from: line.from, to: line.to, insert: "" }]; - newCursorPos = line.from; - } - } else { - changes = [{ from: line.from, to: line.to, insert: "" }]; - newCursorPos = line.from; - } - let nextLineNumber = line.number + 1; - const currentIndent = lineContent.match(/^\s*/)[0]; - const currentListMatch = lineContent.match(/^\s*(\d+)\.\s/); - let expectedNextNumber = currentListMatch ? parseInt(currentListMatch[1], 10) + 1 : null; - while (nextLineNumber <= doc.lines && expectedNextNumber !== null) { - const nextLine = doc.line(nextLineNumber); - const nextLineContent = nextLine.text; - const nextListMatch = nextLineContent.match(/^\s*(\d+)\.\s/); - if (nextListMatch) { - const nextIndent = nextLineContent.match(/^\s*/)[0]; - if (nextIndent !== currentIndent) { - break; - } - const nextListNumber = parseInt(nextListMatch[1], 10); - if (nextListNumber === expectedNextNumber) { - const newNextLineContent = nextLineContent.replace(/^\s*\d+\.\s/, `${nextIndent}${nextListNumber - 1}. `); - changes.push({ from: nextLine.from, to: nextLine.to, insert: newNextLineContent }); - expectedNextNumber++; - } else { - break; - } - } else { - break; - } - nextLineNumber++; - } - } - const tr = state.update({ - changes, - selection: { anchor: newCursorPos, head: newCursorPos }, - userEvent: "EasyTyping.handleBackspace" - }); - view.dispatch(tr); - return true; - } - return false; - } - isCurrentFileExclude() { - if (this.CurActiveMarkdown == "") { - let file = this.app.workspace.getActiveFile(); - if (file != null && this.CurActiveMarkdown != file.path) { - this.CurActiveMarkdown = file.path; - } else { - return true; - } - } - let excludePaths = this.settings.ExcludeFiles.split("\n"); - for (let epath of excludePaths) { - if (epath.charAt(0) == "/") - epath = epath.substring(1); - if (this.CurActiveMarkdown == epath) - return true; - let len = epath.length; - if (this.CurActiveMarkdown.substring(0, len) == epath && (this.CurActiveMarkdown.charAt(len) == "/" || this.CurActiveMarkdown.charAt(len) == "\\" || epath.charAt(len - 1) == "/" || epath.charAt(len - 1) == "\\")) { - return true; - } - } - return false; - } - switchAutoFormatting() { - this.settings.AutoFormat = !this.settings.AutoFormat; - let status = this.settings.AutoFormat ? "on" : "off"; - new import_obsidian3.Notice("EasyTyping: Autoformat is " + status + "!"); - } - convert2CodeBlock(editor) { - if (this.settings.debug) - console.log("----- EasyTyping: insert code block-----"); - if (editor.somethingSelected && editor.getSelection() != "") { - let selected = editor.getSelection(); - let selectedRange = editor.listSelections()[0]; - let anchor = selectedRange.anchor; - let head = selectedRange.head; - let replacement = "```\n" + selected + "\n```"; - if (anchor.line > head.line || anchor.line == head.line && anchor.ch > head.ch) { - let temp = anchor; - anchor = head; - head = temp; - } - let dstLine = anchor.line; - if (anchor.ch != 0) { - replacement = "\n" + replacement; - dstLine += 1; - } - if (head.ch != editor.getLine(head.line).length) { - replacement = replacement + "\n"; - } - editor.replaceSelection(replacement); - editor.setCursor({ line: dstLine, ch: 3 }); - } else { - let cs = editor.getCursor(); - let replace = "```\n```"; - let dstLine = cs.line; - if (cs.ch != 0) { - replace = "\n" + replace; - dstLine += 1; - } - if (cs.ch != editor.getLine(cs.line).length) { - replace = replace + "\n"; - } - editor.replaceRange(replace, cs); - editor.setCursor({ line: dstLine, ch: 3 }); - } - } - refreshSelectionReplaceRule() { - this.SelectionReplaceMap = new Map(this.selectionReplaceMapInitalData); - for (let i = 0; i < this.settings.userSelRepRuleTrigger.length; i++) { - let trigger = this.settings.userSelRepRuleTrigger[i]; - let lefts = this.settings.userSelRepRuleValue[i].left; - let rights = this.settings.userSelRepRuleValue[i].right; - this.SelectionReplaceMap.set(trigger, { left: lefts, right: rights }); - } - } - addUserSelectionRepRule(trigger, left, right) { - if (this.settings.userSelRepRuleTrigger.includes(trigger)) - return false; - this.settings.userSelRepRuleTrigger.push(trigger); - this.settings.userSelRepRuleValue.push({ left, right }); - this.refreshSelectionReplaceRule(); - return true; - } - deleteUserSelectionRepRule(idx) { - if (idx < 0 || idx >= this.settings.userSelRepRuleTrigger.length) - return; - this.settings.userSelRepRuleTrigger.splice(idx, 1); - this.settings.userSelRepRuleValue.splice(idx, 1); - this.refreshSelectionReplaceRule(); - } - updateUserSelectionRepRule(idx, left, right) { - if (idx < 0 || idx >= this.settings.userSelRepRuleTrigger.length) - return; - this.settings.userSelRepRuleValue[idx].left = left; - this.settings.userSelRepRuleValue[idx].right = right; - this.refreshSelectionReplaceRule(); - } - refreshUserDeleteRule() { - this.UserDeleteRules = ruleStringList2RuleList(this.settings.userDeleteRulesStrList); - } - addUserDeleteRule(before, after) { - this.settings.userDeleteRulesStrList.push([before, after]); - this.refreshUserDeleteRule(); - } - deleteUserDeleteRule(idx) { - if (idx >= this.settings.userDeleteRulesStrList.length || idx < 0) - return; - this.settings.userDeleteRulesStrList.splice(idx, 1); - this.refreshUserDeleteRule(); - } - updateUserDeleteRule(idx, before, after) { - if (idx >= this.settings.userDeleteRulesStrList.length || idx < 0) - return; - this.settings.userDeleteRulesStrList[idx][0] = before; - this.settings.userDeleteRulesStrList[idx][1] = after; - this.refreshUserDeleteRule(); - } - refreshUserConvertRule() { - this.UserConvertRules = ruleStringList2RuleList(this.settings.userConvertRulesStrList); - } - addUserConvertRule(before, after) { - this.settings.userConvertRulesStrList.push([before, after]); - this.refreshUserConvertRule(); - } - deleteUserConvertRule(idx) { - if (idx >= this.settings.userConvertRulesStrList.length || idx < 0) - return; - this.settings.userConvertRulesStrList.splice(idx, 1); - this.refreshUserConvertRule(); - } - getCommandNameMap() { - const lang = window.localStorage.getItem("language"); - let command_name_map_en = /* @__PURE__ */ new Map([ - ["format_article", "Format current article"], - ["format_selection", "Format selected text or current line"], - ["delete_blank_line", "Delete blank lines of the selected or whole article"], - ["insert_codeblock", "Insert code block w/wo selection"], - ["switch_autoformat", "Switch autoformat"], - ["paste_wo_format", "Paste without format"], - ["toggle_comment", "Toggle comment"], - ["goto_new_line_after_cur_line", "Go to new line after current line"], - ["select_block", "Select current text block"] - ]); - let command_name_map_zh_TW = /* @__PURE__ */ new Map([ - ["format_article", "\u683C\u5F0F\u5316\u5168\u6587"], - ["format_selection", "\u683C\u5F0F\u5316\u9078\u4E2D\u90E8\u5206/\u7576\u524D\u884C"], - ["delete_blank_line", "\u522A\u9664\u9078\u4E2D\u90E8\u5206/\u5168\u6587\u7684\u591A\u9918\u7A7A\u767D\u884C"], - ["insert_codeblock", "\u63D2\u5165\u4EE3\u78BC\u584A"], - ["switch_autoformat", "\u5207\u63DB\u81EA\u52D5\u683C\u5F0F\u5316\u958B\u95DC"], - ["paste_wo_format", "\u7121\u683C\u5F0F\u5316\u7C98\u8CBC"], - ["toggle_comment", "\u5207\u63DB\u8A3B\u91CB"], - ["goto_new_line_after_cur_line", "\u8DF3\u5230\u7576\u524D\u884C\u5F8C\u7684\u65B0\u884C"], - ["select_block", "\u9078\u64C7\u7576\u524D\u6587\u672C\u584A"] - ]); - let command_name_map_zh = /* @__PURE__ */ new Map([ - ["format_article", "\u683C\u5F0F\u5316\u5168\u6587"], - ["format_selection", "\u683C\u5F0F\u5316\u9009\u4E2D\u90E8\u5206/\u5F53\u524D\u884C"], - ["delete_blank_line", "\u522A\u9664\u9009\u4E2D\u90E8\u5206/\u5168\u6587\u7684\u591A\u4F59\u7A7A\u767D\u884C"], - ["insert_codeblock", "\u63D2\u5165\u4EE3\u7801\u5757"], - ["switch_autoformat", "\u5207\u6362\u81EA\u52A8\u683C\u5F0F\u5316\u5F00\u5173"], - ["paste_wo_format", "\u65E0\u683C\u5F0F\u5316\u7C98\u8D34"], - ["toggle_comment", "\u5207\u6362\u6CE8\u91CA"], - ["goto_new_line_after_cur_line", "\u8DF3\u5230\u5F53\u524D\u884C\u540E\u65B0\u884C"], - ["select_block", "\u9009\u62E9\u5F53\u524D\u6587\u672C\u5757"] - ]); - let command_name_map_ru = /* @__PURE__ */ new Map([ - ["format_article", "\u0424\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0430\u0442\u044C\u044E"], - ["format_selection", "\u0424\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442 \u0438\u043B\u0438 \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443"], - ["delete_blank_line", "\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u043C \u0438\u043B\u0438 \u0432\u0441\u0435\u0439 \u0441\u0442\u0430\u0442\u044C\u0435"], - ["insert_codeblock", "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0431\u043B\u043E\u043A \u043A\u043E\u0434\u0430 \u0441/\u0431\u0435\u0437 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435\u043C"], - ["switch_autoformat", "\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435"], - ["paste_wo_format", "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0431\u0435\u0437 \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F"], - ["toggle_comment", "\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439"], - ["goto_new_line_after_cur_line", "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043D\u043E\u0432\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u0435 \u043F\u043E\u0441\u043B\u0435 \u0442\u0435\u043A\u0443\u0449\u0435\u0439"], - ["select_block", "\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u044B\u0439 \u0431\u043B\u043E\u043A"] - ]); - let command_name_map = command_name_map_en; - if (lang == "zh") { - command_name_map = command_name_map_zh; - } else if (lang == "zh-TW") { - command_name_map = command_name_map_zh_TW; - } else if (lang == "ru") { - command_name_map = command_name_map_ru; - } - return command_name_map; - } - updateUserConvertRule(idx, before, after) { - if (idx >= this.settings.userConvertRulesStrList.length || idx < 0) - return; - this.settings.userConvertRulesStrList[idx][0] = before; - this.settings.userConvertRulesStrList[idx][1] = after; - this.refreshUserConvertRule(); - } - async loadSettings() { - this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); - } - async saveSettings() { - await this.saveData(this.settings); - } -}; - - -/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/easy-typing-obsidian/manifest.json b/.obsidian/plugins/easy-typing-obsidian/manifest.json deleted file mode 100644 index fbd87fbe..00000000 --- a/.obsidian/plugins/easy-typing-obsidian/manifest.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "id": "easy-typing-obsidian", - "name": "Easy Typing", - "version": "5.5.11", - "minAppVersion": "0.15.0", - "description": "This plugin aims to enhance and optimize the editing experience in Obsidian", - "author": "yaozhuwa", - "authorUrl": "https://github.com/Yaozhuwa", - "isDesktopOnly": false, - "fundingUrl": "https://www.buymeacoffee.com/yaozhuwa" -} \ No newline at end of file diff --git a/.obsidian/plugins/easy-typing-obsidian/styles.css b/.obsidian/plugins/easy-typing-obsidian/styles.css deleted file mode 100644 index 9ab536c0..00000000 --- a/.obsidian/plugins/easy-typing-obsidian/styles.css +++ /dev/null @@ -1,17 +0,0 @@ -span[class="easy-typing-tabstops"] { - border-radius: 2px; - background-color: #87cefa2e; - outline: #87cefa6e solid 1px; -} - -span[class="easy-typing-cursor-widget"] { - color: #1364ce6e; - /* animation: blink 1s step-start 0s infinite; */ - display: inline; - position: absolute; - white-space: pre; -} - -/* @keyframes blink { - 50% { opacity: 0; } -} */ \ No newline at end of file diff --git a/.obsidian/plugins/file-explorer-note-count/data.json b/.obsidian/plugins/file-explorer-note-count/data.json deleted file mode 100644 index a75f7e6e..00000000 --- a/.obsidian/plugins/file-explorer-note-count/data.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "showAllNumbers": true, - "filterList": [ - "md" - ], - "blacklist": false, - "addRootFolder": false -} \ No newline at end of file diff --git a/.obsidian/plugins/file-explorer-note-count/main.js b/.obsidian/plugins/file-explorer-note-count/main.js deleted file mode 100644 index d817b9f7..00000000 --- a/.obsidian/plugins/file-explorer-note-count/main.js +++ /dev/null @@ -1,970 +0,0 @@ -'use strict'; - -var obsidian = require('obsidian'); - -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - -function __awaiter(thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} - -typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; -}; - -// 'path' module extracted from Node.js v8.11.1 (only the posix part) - -function assertPath(path) { - if (typeof path !== 'string') { - throw new TypeError('Path must be a string. Received ' + JSON.stringify(path)); - } -} - -// Resolves . and .. elements in a path with directory names -function normalizeStringPosix(path, allowAboveRoot) { - var res = ''; - var lastSegmentLength = 0; - var lastSlash = -1; - var dots = 0; - var code; - for (var i = 0; i <= path.length; ++i) { - if (i < path.length) - code = path.charCodeAt(i); - else if (code === 47 /*/*/) - break; - else - code = 47 /*/*/; - if (code === 47 /*/*/) { - if (lastSlash === i - 1 || dots === 1) ; else if (lastSlash !== i - 1 && dots === 2) { - if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 /*.*/ || res.charCodeAt(res.length - 2) !== 46 /*.*/) { - if (res.length > 2) { - var lastSlashIndex = res.lastIndexOf('/'); - if (lastSlashIndex !== res.length - 1) { - if (lastSlashIndex === -1) { - res = ''; - lastSegmentLength = 0; - } else { - res = res.slice(0, lastSlashIndex); - lastSegmentLength = res.length - 1 - res.lastIndexOf('/'); - } - lastSlash = i; - dots = 0; - continue; - } - } else if (res.length === 2 || res.length === 1) { - res = ''; - lastSegmentLength = 0; - lastSlash = i; - dots = 0; - continue; - } - } - if (allowAboveRoot) { - if (res.length > 0) - res += '/..'; - else - res = '..'; - lastSegmentLength = 2; - } - } else { - if (res.length > 0) - res += '/' + path.slice(lastSlash + 1, i); - else - res = path.slice(lastSlash + 1, i); - lastSegmentLength = i - lastSlash - 1; - } - lastSlash = i; - dots = 0; - } else if (code === 46 /*.*/ && dots !== -1) { - ++dots; - } else { - dots = -1; - } - } - return res; -} - -function _format(sep, pathObject) { - var dir = pathObject.dir || pathObject.root; - var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || ''); - if (!dir) { - return base; - } - if (dir === pathObject.root) { - return dir + base; - } - return dir + sep + base; -} - -var posix = { - // path.resolve([from ...], to) - resolve: function resolve() { - var resolvedPath = ''; - var resolvedAbsolute = false; - var cwd; - - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path; - if (i >= 0) - path = arguments[i]; - else { - if (cwd === undefined) - cwd = process.cwd(); - path = cwd; - } - - assertPath(path); - - // Skip empty entries - if (path.length === 0) { - continue; - } - - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/; - } - - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - - // Normalize the path - resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute); - - if (resolvedAbsolute) { - if (resolvedPath.length > 0) - return '/' + resolvedPath; - else - return '/'; - } else if (resolvedPath.length > 0) { - return resolvedPath; - } else { - return '.'; - } - }, - - normalize: function normalize(path) { - assertPath(path); - - if (path.length === 0) return '.'; - - var isAbsolute = path.charCodeAt(0) === 47 /*/*/; - var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/; - - // Normalize the path - path = normalizeStringPosix(path, !isAbsolute); - - if (path.length === 0 && !isAbsolute) path = '.'; - if (path.length > 0 && trailingSeparator) path += '/'; - - if (isAbsolute) return '/' + path; - return path; - }, - - isAbsolute: function isAbsolute(path) { - assertPath(path); - return path.length > 0 && path.charCodeAt(0) === 47 /*/*/; - }, - - join: function join() { - if (arguments.length === 0) - return '.'; - var joined; - for (var i = 0; i < arguments.length; ++i) { - var arg = arguments[i]; - assertPath(arg); - if (arg.length > 0) { - if (joined === undefined) - joined = arg; - else - joined += '/' + arg; - } - } - if (joined === undefined) - return '.'; - return posix.normalize(joined); - }, - - relative: function relative(from, to) { - assertPath(from); - assertPath(to); - - if (from === to) return ''; - - from = posix.resolve(from); - to = posix.resolve(to); - - if (from === to) return ''; - - // Trim any leading backslashes - var fromStart = 1; - for (; fromStart < from.length; ++fromStart) { - if (from.charCodeAt(fromStart) !== 47 /*/*/) - break; - } - var fromEnd = from.length; - var fromLen = fromEnd - fromStart; - - // Trim any leading backslashes - var toStart = 1; - for (; toStart < to.length; ++toStart) { - if (to.charCodeAt(toStart) !== 47 /*/*/) - break; - } - var toEnd = to.length; - var toLen = toEnd - toStart; - - // Compare paths to find the longest common path from root - var length = fromLen < toLen ? fromLen : toLen; - var lastCommonSep = -1; - var i = 0; - for (; i <= length; ++i) { - if (i === length) { - if (toLen > length) { - if (to.charCodeAt(toStart + i) === 47 /*/*/) { - // We get here if `from` is the exact base path for `to`. - // For example: from='/foo/bar'; to='/foo/bar/baz' - return to.slice(toStart + i + 1); - } else if (i === 0) { - // We get here if `from` is the root - // For example: from='/'; to='/foo' - return to.slice(toStart + i); - } - } else if (fromLen > length) { - if (from.charCodeAt(fromStart + i) === 47 /*/*/) { - // We get here if `to` is the exact base path for `from`. - // For example: from='/foo/bar/baz'; to='/foo/bar' - lastCommonSep = i; - } else if (i === 0) { - // We get here if `to` is the root. - // For example: from='/foo'; to='/' - lastCommonSep = 0; - } - } - break; - } - var fromCode = from.charCodeAt(fromStart + i); - var toCode = to.charCodeAt(toStart + i); - if (fromCode !== toCode) - break; - else if (fromCode === 47 /*/*/) - lastCommonSep = i; - } - - var out = ''; - // Generate the relative path based on the path difference between `to` - // and `from` - for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { - if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) { - if (out.length === 0) - out += '..'; - else - out += '/..'; - } - } - - // Lastly, append the rest of the destination (`to`) path that comes after - // the common path parts - if (out.length > 0) - return out + to.slice(toStart + lastCommonSep); - else { - toStart += lastCommonSep; - if (to.charCodeAt(toStart) === 47 /*/*/) - ++toStart; - return to.slice(toStart); - } - }, - - _makeLong: function _makeLong(path) { - return path; - }, - - dirname: function dirname(path) { - assertPath(path); - if (path.length === 0) return '.'; - var code = path.charCodeAt(0); - var hasRoot = code === 47 /*/*/; - var end = -1; - var matchedSlash = true; - for (var i = path.length - 1; i >= 1; --i) { - code = path.charCodeAt(i); - if (code === 47 /*/*/) { - if (!matchedSlash) { - end = i; - break; - } - } else { - // We saw the first non-path separator - matchedSlash = false; - } - } - - if (end === -1) return hasRoot ? '/' : '.'; - if (hasRoot && end === 1) return '//'; - return path.slice(0, end); - }, - - basename: function basename(path, ext) { - if (ext !== undefined && typeof ext !== 'string') throw new TypeError('"ext" argument must be a string'); - assertPath(path); - - var start = 0; - var end = -1; - var matchedSlash = true; - var i; - - if (ext !== undefined && ext.length > 0 && ext.length <= path.length) { - if (ext.length === path.length && ext === path) return ''; - var extIdx = ext.length - 1; - var firstNonSlashEnd = -1; - for (i = path.length - 1; i >= 0; --i) { - var code = path.charCodeAt(i); - if (code === 47 /*/*/) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - start = i + 1; - break; - } - } else { - if (firstNonSlashEnd === -1) { - // We saw the first non-path separator, remember this index in case - // we need it if the extension ends up not matching - matchedSlash = false; - firstNonSlashEnd = i + 1; - } - if (extIdx >= 0) { - // Try to match the explicit extension - if (code === ext.charCodeAt(extIdx)) { - if (--extIdx === -1) { - // We matched the extension, so mark this as the end of our path - // component - end = i; - } - } else { - // Extension does not match, so our result is the entire path - // component - extIdx = -1; - end = firstNonSlashEnd; - } - } - } - } - - if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length; - return path.slice(start, end); - } else { - for (i = path.length - 1; i >= 0; --i) { - if (path.charCodeAt(i) === 47 /*/*/) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - start = i + 1; - break; - } - } else if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // path component - matchedSlash = false; - end = i + 1; - } - } - - if (end === -1) return ''; - return path.slice(start, end); - } - }, - - extname: function extname(path) { - assertPath(path); - var startDot = -1; - var startPart = 0; - var end = -1; - var matchedSlash = true; - // Track the state of characters (if any) we see before our first dot and - // after any path separator we find - var preDotState = 0; - for (var i = path.length - 1; i >= 0; --i) { - var code = path.charCodeAt(i); - if (code === 47 /*/*/) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // extension - matchedSlash = false; - end = i + 1; - } - if (code === 46 /*.*/) { - // If this is our first dot, mark it as the start of our extension - if (startDot === -1) - startDot = i; - else if (preDotState !== 1) - preDotState = 1; - } else if (startDot !== -1) { - // We saw a non-dot and non-path separator before our dot, so we should - // have a good chance at having a non-empty extension - preDotState = -1; - } - } - - if (startDot === -1 || end === -1 || - // We saw a non-dot character immediately before the dot - preDotState === 0 || - // The (right-most) trimmed path component is exactly '..' - preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { - return ''; - } - return path.slice(startDot, end); - }, - - format: function format(pathObject) { - if (pathObject === null || typeof pathObject !== 'object') { - throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof pathObject); - } - return _format('/', pathObject); - }, - - parse: function parse(path) { - assertPath(path); - - var ret = { root: '', dir: '', base: '', ext: '', name: '' }; - if (path.length === 0) return ret; - var code = path.charCodeAt(0); - var isAbsolute = code === 47 /*/*/; - var start; - if (isAbsolute) { - ret.root = '/'; - start = 1; - } else { - start = 0; - } - var startDot = -1; - var startPart = 0; - var end = -1; - var matchedSlash = true; - var i = path.length - 1; - - // Track the state of characters (if any) we see before our first dot and - // after any path separator we find - var preDotState = 0; - - // Get non-dir info - for (; i >= start; --i) { - code = path.charCodeAt(i); - if (code === 47 /*/*/) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // extension - matchedSlash = false; - end = i + 1; - } - if (code === 46 /*.*/) { - // If this is our first dot, mark it as the start of our extension - if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1; - } else if (startDot !== -1) { - // We saw a non-dot and non-path separator before our dot, so we should - // have a good chance at having a non-empty extension - preDotState = -1; - } - } - - if (startDot === -1 || end === -1 || - // We saw a non-dot character immediately before the dot - preDotState === 0 || - // The (right-most) trimmed path component is exactly '..' - preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { - if (end !== -1) { - if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end); - } - } else { - if (startPart === 0 && isAbsolute) { - ret.name = path.slice(1, startDot); - ret.base = path.slice(1, end); - } else { - ret.name = path.slice(startPart, startDot); - ret.base = path.slice(startPart, end); - } - ret.ext = path.slice(startDot, end); - } - - if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = '/'; - - return ret; - }, - - sep: '/', - delimiter: ':', - win32: null, - posix: null -}; - -posix.posix = posix; - -var pathBrowserify = posix; - -const withSubfolderClass = 'oz-with-subfolder'; -const showAllNumbersClass = 'oz-show-all-num'; -const isFolder = (item) => item.file instanceof obsidian.TFolder; -const iterateItems = (items, callback) => { - for (const key in items) { - if (!Object.prototype.hasOwnProperty.call(items, key)) - continue; - callback(items[key]); - } -}; -const getParentPath = (src) => { - if (src === '/') - return null; - const path = pathBrowserify.dirname(src); - if (path === '.') - return '/'; - else - return path; -}; -const equals = (arr1, arr2) => { - // if the other array is a falsy value, return - if (!Array.isArray(arr1) || !Array.isArray(arr2)) - return false; - // compare lengths - can save a lot of time - if (arr1.length != arr2.length) - return false; - return arr1.every((v, i) => v === arr2[i]); -}; -const isParent = (parent, child) => { - if (child === parent) - return false; - if (parent === '/') - parent = ''; - if (child === '/') - child = ''; - const parentTokens = parent.split('/').filter((i) => i.length); - return parentTokens.every((t, i) => child.split('/')[i] === t); -}; -// Helper to play with the File Explorer (if exists) -const doWithFileExplorer = (plugin, callback) => { - let leaves; - let count = 0; - const tryGetView = () => { - leaves = plugin.app.workspace.getLeavesOfType('file-explorer'); - if (leaves.length === 0) { - if (count++ > 5) - console.error('failed to get file-explorer'); - else { - console.log('file-explorer not found, retrying...'); - setTimeout(tryGetView, 500); - } - } - else { - if (leaves.length > 1) - console.warn('more then one file-explorer'); - callback(leaves[0].view); - } - }; - tryGetView(); -}; - -function around(obj, factories) { - const removers = Object.keys(factories).map(key => around1(obj, key, factories[key])); - return removers.length === 1 ? removers[0] : function () { removers.forEach(r => r()); }; -} -function around1(obj, method, createWrapper) { - const original = obj[method], hadOwn = obj.hasOwnProperty(method); - let current = createWrapper(original); - // Let our wrapper inherit static props from the wrapping method, - // and the wrapping method, props from the original method - if (original) - Object.setPrototypeOf(current, original); - Object.setPrototypeOf(wrapper, current); - obj[method] = wrapper; - // Return a callback to allow safe removal - return remove; - function wrapper(...args) { - // If we have been deactivated and are no longer wrapped, remove ourselves - if (current === original && obj[method] === wrapper) - remove(); - return current.apply(this, args); - } - function remove() { - // If no other patches, just do a direct removal - if (obj[method] === wrapper) { - if (hadOwn) - obj[method] = original; - else - delete obj[method]; - } - if (current === original) - return; - // Else pass future calls through, and remove wrapper from the prototype chain - current = original; - Object.setPrototypeOf(wrapper, original || Function); - } -} - -const countFolderChildren = (folder, filter) => { - let count = 0; - for (const af of folder.children) { - if (filter(af)) - count++; - if (af instanceof obsidian.TFolder) - count += countFolderChildren(af, filter); - } - return count; -}; -/** filter out all path that is the parent of existing path */ -const filterParent = (pathList) => { - const list = Array.from(pathList); - list.sort(); - for (let i = 0; i < list.length; i++) { - if (i < list.length - 1 && (list[i] === list[i + 1] || isParent(list[i], list[i + 1]))) { - list.shift(); - i--; - } - } - return new Set(list); -}; -/** get all parents and add to set if not exist */ -const getAllParents = (path, set) => { - let parent = getParentPath(path); - while (parent && !set.has(parent)) { - set.add(parent); - parent = getParentPath(parent); - } -}; -/** - * Update folder count of target's parent - */ -const updateCount = (targetList, plugin) => { - const set = filterParent(targetList); - for (const path of targetList) { - getAllParents(path, set); - } - // set count of path - const { fileExplorer, fileFilter } = plugin; - if (!fileExplorer) { - console.error('fileExplorer missing'); - return; - } - for (const path of set) { - // check if path available - if (!fileExplorer.fileItems[path]) - continue; - setCount(fileExplorer.fileItems[path], fileFilter); - } - // Update root separately - if (plugin.rootFolderEl && plugin.settings.addRootFolder) { - setupRootCount(plugin); - } - // empty waitingList - targetList.length = 0; -}; -const setupRootCount = (plugin) => { - if (plugin.rootFolderEl) { - let rootFolderElChildren = plugin.rootFolderEl.children; - if (rootFolderElChildren && rootFolderElChildren.length > 0) { - let totalCount = countFolderChildren(plugin.app.vault.getAbstractFileByPath('/'), plugin.fileFilter); - rootFolderElChildren[0].setAttr('data-count', totalCount.toString()); - } - } -}; -const setupCount = (plugin, revert = false) => { - if (!plugin.fileExplorer) - throw new Error('fileExplorer not found'); - // For each setup, first setup the root folder - plugin.setupRootFolder(); - setupRootCount(plugin); - // Iterate other items and include new counts - iterateItems(plugin.fileExplorer.fileItems, (item) => { - if (!isFolder(item)) - return; - if (revert) - removeCount(item); - else - setCount(item, plugin.fileFilter); - }); -}; -const setCount = (item, filter) => { - // if (item.file.isRoot()) return; - const count = countFolderChildren(item.file, filter); - item.selfEl.dataset['count'] = count.toString(); - item.selfEl.toggleClass(withSubfolderClass, Array.isArray(item.file.children) && item.file.children.some((af) => af instanceof obsidian.TFolder)); -}; -const removeCount = (item) => { - if (item.selfEl.dataset['count']) - delete item.selfEl.dataset['count']; - item.selfEl.removeClass(withSubfolderClass); -}; - -class VaultHandler { - get app() { - return this.plugin.app; - } - get vault() { - return this.plugin.app.vault; - } - constructor(plugin) { - this.waitingList = []; - this.update = obsidian.debounce(() => updateCount(this.waitingList, this.plugin), 500, true); - this.handler = (...args) => { - var _a; - for (const arg of args) { - const path = arg instanceof obsidian.TAbstractFile ? arg.path : arg; - this.waitingList.push((_a = getParentPath(path)) !== null && _a !== void 0 ? _a : '/'); - } - this.update(); - }; - this.registerVaultEvent = () => { - this.plugin.registerEvent(this.vault.on('create', this.handler)); - this.plugin.registerEvent(this.vault.on('rename', this.handler)); - this.plugin.registerEvent(this.vault.on('delete', this.handler)); - }; - this.plugin = plugin; - } -} - -const DEFAULT_SETTINGS = { - showAllNumbers: false, - filterList: ['md'], - blacklist: false, - addRootFolder: false, -}; -class FENoteCountSettingTab extends obsidian.PluginSettingTab { - constructor(app, plugin) { - super(app, plugin); - this.plugin = plugin; - } - get showOnlyNoteValue() { - const { settings } = this.plugin; - return settings.blacklist === DEFAULT_SETTINGS.blacklist && equals(settings.filterList, DEFAULT_SETTINGS.filterList); - } - set showOnlyNoteValue(value) { - const { blacklist, filterList } = DEFAULT_SETTINGS; - this.plugin.settings.blacklist = blacklist; - if (value) { - // do deep copy - this.plugin.settings.filterList = Array.from(filterList); - } - else { - this.plugin.settings.filterList.length = 0; - } - } - display() { - let { containerEl } = this; - containerEl.empty(); - containerEl.createEl('h2', { - text: 'File Explorer Note Count Settings', - }); - new obsidian.Setting(containerEl) - .setName('Show All Numbers') - .setDesc('Turn on this option if you want to see the number of notes even after you expand the collapsed folders') - .addToggle((toggle) => toggle.setValue(this.plugin.settings.showAllNumbers).onChange((value) => { - document.body.toggleClass('oz-show-all-num', value); - this.plugin.settings.showAllNumbers = value; - this.plugin.saveSettings(); - })); - new obsidian.Setting(containerEl) - .setName('Add Root Folder') - .setDesc('By default, there is no root folder provided by Obsidian. It is moved to drop-down menu to switch between vaults. ' + - 'Enable this option if you want to see root folder and its count in the file explorer') - .addToggle((toggle) => toggle.setValue(this.plugin.settings.addRootFolder).onChange((value) => { - this.plugin.settings.addRootFolder = value; - this.plugin.saveSettings(); - this.plugin.reloadCount(); - })); - this.filterOpt(); - } - filterOpt() { - new obsidian.Setting(this.containerEl) - .setName('Show Only Markdown Notes') - .setDesc('Turn off this option to choose file that should be counted') - .addToggle((toggle) => toggle.setValue(this.showOnlyNoteValue).onChange((value) => { - this.showOnlyNoteValue = value; - this.plugin.reloadCount(); - this.plugin.saveSettings(); - this.display(); - })); - if (!this.showOnlyNoteValue) { - new obsidian.Setting(this.containerEl) - .setName('Filter List') - .setDesc(createFragment((descEl) => { - descEl.appendText('Extension list to include/exclude file during counting'); - descEl.appendChild(document.createElement('br')); - descEl.appendText('Separated by comma'); - })) - .addTextArea((text) => { - const onChange = (value) => __awaiter(this, void 0, void 0, function* () { - const list = value.split(',').map((v) => v.trim()); - this.plugin.settings.filterList = list; - this.plugin.reloadCount(); - yield this.plugin.saveSettings(); - }); - text.setPlaceholder('Leave it empty to count all types of files'); - text.setValue(this.plugin.settings.filterList.join(', ')).onChange(obsidian.debounce(onChange, 500, true)); - text.inputEl.rows = 2; - text.inputEl.cols = 25; - }); - new obsidian.Setting(this.containerEl) - .setName('Enable Blacklist') - .setDesc('Turn on this option to use Filter List to exclude files') - .addToggle((toggle) => toggle.setValue(this.plugin.settings.blacklist).onChange((value) => { - this.plugin.settings.blacklist = value; - this.plugin.reloadCount(); - this.plugin.saveSettings(); - })); - } - } -} - -class FileExplorerNoteCount extends obsidian.Plugin { - constructor() { - super(...arguments); - this.settings = DEFAULT_SETTINGS; - this.vaultHandler = new VaultHandler(this); - this.rootFolderEl = null; - this.explorerNavHeaderSelector = '.workspace-leaf-content[data-type="file-explorer"] .nav-header'; - this.rootFolderClassName = 'oz-explorer-root-folder'; - this.initialize = (revert = false) => { - let plugin = this; - // First Check if the root folder exists - let explorerHeaderEl = document.querySelector(`${this.explorerNavHeaderSelector} .${this.rootFolderClassName}`); - if (explorerHeaderEl) - this.rootFolderEl = explorerHeaderEl; - const getViewHandler = (revert) => (view) => { - this.fileExplorer = view; - setupCount(this, revert); - this.setupRootFolder(revert); - if (!revert) { - this.registerEvent(this.app.workspace.on('css-change', this.setupRootFolder)); - this.vaultHandler.registerVaultEvent(); - if (this.settings.showAllNumbers) - document.body.addClass('oz-show-all-num'); - } - else { - for (const el of document.getElementsByClassName(withSubfolderClass)) { - el.removeClass(withSubfolderClass); - } - document.body.removeClass(showAllNumbersClass); - } - if (!revert) { - // when file explorer is closed (workspace changed) - // try to update fehanlder with new file explorer instance - this.register(around(view, { - onClose: (next) => function () { - setTimeout(() => doWithFileExplorer(plugin, getViewHandler(false)), 1e3); - return next.apply(this); - }, - })); - } - }; - doWithFileExplorer(plugin, getViewHandler(revert)); - }; - this.setupRootFolder = (revert = false) => { - var _a, _b, _c; - if (!this.fileExplorer) { - console.error('file-explorer not found'); - return; - } - if (this.rootFolderEl && !this.settings.addRootFolder) { - this.rootFolderEl.remove(); - this.rootFolderEl = null; - } - // Check if root is provided by Obsidian (it shouldn't be in the new releases) - const root = (_c = (_b = (_a = this.fileExplorer) === null || _a === void 0 ? void 0 : _a.fileItems) === null || _b === void 0 ? void 0 : _b['/']) !== null && _c !== void 0 ? _c : null; - if (!root) { - // Get the Nav Header - let explorerHeaderEl = document.querySelector(this.explorerNavHeaderSelector); - if (!explorerHeaderEl) - return; - if (!this.rootFolderEl && this.settings.addRootFolder) { - this.rootFolderEl = explorerHeaderEl.createEl('div', { - cls: ['tree-item', 'nav-folder', this.rootFolderClassName], - }); - this.rootFolderEl.innerHTML = ` -
- -
- `; - } - } - }; - } - onload() { - return __awaiter(this, void 0, void 0, function* () { - console.log('loading FileExplorerNoteCount'); - this.addSettingTab(new FENoteCountSettingTab(this.app, this)); - yield this.loadSettings(); - this.app.workspace.onLayoutReady(this.initialize); - }); - } - onunload() { - console.log('unloading FileExplorerNoteCount'); - this.initialize(true); - } - loadSettings() { - return __awaiter(this, void 0, void 0, function* () { - this.settings = Object.assign(Object.assign({}, this.settings), (yield this.loadData())); - }); - } - saveSettings() { - return __awaiter(this, void 0, void 0, function* () { - yield this.saveData(this.settings); - }); - } - reloadCount() { - setupCount(this); - } - get fileFilter() { - let list = this.settings.filterList; - return (af) => { - if (af instanceof obsidian.TFile) { - const { extension: target } = af; - // if list is empty, filter nothing - if (list.length === 0) - return true; - else if (this.settings.blacklist) - return !list.includes(target); - else - return list.includes(target); - } - else - return false; - }; - } -} - -module.exports = FileExplorerNoteCount; - -/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/file-explorer-note-count/manifest.json b/.obsidian/plugins/file-explorer-note-count/manifest.json deleted file mode 100644 index f13b359a..00000000 --- a/.obsidian/plugins/file-explorer-note-count/manifest.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "id": "file-explorer-note-count", - "name": "File Explorer Note Count", - "version": "1.2.3", - "minAppVersion": "1.2.0", - "description": "The plugin helps you to see the number of notes under each folder within the file explorer.", - "author": "Ozan Tellioglu", - "authorUrl": "https://www.ozan.pl", - "isDesktopOnly": false -} diff --git a/.obsidian/plugins/file-explorer-note-count/styles.css b/.obsidian/plugins/file-explorer-note-count/styles.css deleted file mode 100644 index 07a579f1..00000000 --- a/.obsidian/plugins/file-explorer-note-count/styles.css +++ /dev/null @@ -1,34 +0,0 @@ -.nav-folder-title[data-count]::after { - content: attr(data-count); - display: inline-block; - position: relative; - font-size: calc(100% * 0.8); - margin-right: 4px; - /* border-radius: 3px; */ - padding: 2px 0; - /* background-color: var(--background-secondary-alt); */ - transition: opacity 100ms ease-in-out; -} - -.oz-explorer-root-nav-folder-title { - display: flex; -} - -.oz-explorer-root-nav-folder-title[data-count]::after { - content: attr(data-count); - margin-right: 4px; - font-size: calc(100% * 0.8); - display: inline-block; -} - -body:not(.oz-show-all-num) .nav-folder:not(.is-collapsed) > .nav-folder-title.oz-with-subfolder[data-count]:not([data-path='/'])::after { - opacity: 0; -} - -.nav-folder-title-content { - flex-grow: 1; -} - -.oz-explorer-root-folder { - margin-top: 15px; -} diff --git a/.obsidian/plugins/hidden-folder-obsidian/data.json b/.obsidian/plugins/hidden-folder-obsidian/data.json deleted file mode 100644 index ab0c807b..00000000 --- a/.obsidian/plugins/hidden-folder-obsidian/data.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "folders": "assets", - "enable": true -} \ No newline at end of file diff --git a/.obsidian/plugins/hidden-folder-obsidian/main.js b/.obsidian/plugins/hidden-folder-obsidian/main.js deleted file mode 100644 index cecac812..00000000 --- a/.obsidian/plugins/hidden-folder-obsidian/main.js +++ /dev/null @@ -1,248 +0,0 @@ -/* -THIS IS A GENERATED/BUNDLED FILE BY ESBUILD -if you want to view the source, please visit the github repository of this plugin -*/ - -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// main.ts -var main_exports = {}; -__export(main_exports, { - default: () => main_default -}); -module.exports = __toCommonJS(main_exports); - -// src/plugin.ts -var import_obsidian2 = require("obsidian"); - -// src/lang/en.ts -var en_default = {}; - -// src/lang/zh.ts -var zh_default = { - "Not Found Files List": "\u627E\u4E0D\u5230\u6587\u4EF6\u5217\u8868", - "Hidden Folder": "\u6587\u4EF6\u9690\u85CF", - "Restore display": "\u6062\u590D\u663E\u793A", - "folders": "\u6587\u4EF6\u5939", - "Folders": "\u6587\u4EF6\u5939", - "folder": "\u6587\u4EF6\u5939", - "Hidden display": "\u9690\u85CF\u663E\u793A", - "Show Folders": "\u663E\u793A\u6587\u4EF6\u5939", - "Hidden Folders": "\u9690\u85CF\u6587\u4EF6\u5939", - "Rules": "\u89C4\u5219", - "Regular expression": "\u6B63\u5219\u8868\u8FBE\u5F0F", - "Example": "\u4F8B\u5B50", - "Enable": "\u5F00\u542F", - "Enable to hidden folder": "\u662F\u5426\u5F00\u542F\u9690\u85CF", - "Saving": "\u4FDD\u5B58\u4E2D", - "Settings is saved": "\u914D\u7F6E\u5DF2\u4FDD\u5B58", - "Save": "\u4FDD\u5B58" -}; - -// src/lang/index.ts -var lang = { - en: en_default, - zh: zh_default, - get -}; -function get(text, args) { - var _a; - const language = ((_a = window.i18next) == null ? void 0 : _a.language) || "en"; - const map = lang[language] || en_default; - let result = map[text] || en_default[text] || text; - if (args) { - for (let i in args) { - result = result.replace(new RegExp(`\\{\\{${i}\\}\\}`, "g"), args[i]); - } - } - return result; -} -lang.get = get; -var lang_default = lang; - -// src/setting.ts -var import_obsidian = require("obsidian"); -var HiddenFolderSettingTab = class extends import_obsidian.PluginSettingTab { - constructor(app, plugin) { - super(app, plugin); - this.plugin = plugin; - } - display() { - const { containerEl } = this; - containerEl.empty(); - containerEl.createEl("h2", { text: lang_default.get("Hidden Folder") }); - const settings = { - folders: this.plugin.settings.folders, - enable: this.plugin.settings.enable - }; - new import_obsidian.Setting(containerEl).setName(lang_default.get("Rules")).setDesc(lang_default.get("Regular expression")).addTextArea((text) => { - text.inputEl.style.minWidth = "350px"; - text.inputEl.style.minHeight = "150px"; - text.setPlaceholder(lang_default.get("Example") + ":\n.*\\/?attachments\n^abc$\nuse multi lines for multi folders").setValue(this.plugin.settings.folders).onChange(async (value) => { - settings.folders = value; - }); - return text; - }); - new import_obsidian.Setting(containerEl).setName(lang_default.get("Enable")).setDesc(lang_default.get("Enable to hidden folder")).addToggle((toggle) => toggle.setValue(this.plugin.settings.enable).onChange((enable) => { - settings.enable = enable; - })); - new import_obsidian.Setting(containerEl).addButton((button) => button.setButtonText(lang_default.get("Save")).onClick(async () => { - new import_obsidian.Notice(lang_default.get("Hidden Folder") + " - " + lang_default.get("Saving")); - this.plugin.settings.folders = settings.folders; - this.plugin.settings.enable = settings.enable; - await this.plugin.saveSettings(); - this.plugin.restoreFolder(); - if (this.plugin.settings.enable) { - this.plugin.hiddenFolder(); - } - new import_obsidian.Notice(lang_default.get("Hidden Folder") + " - " + lang_default.get("Settings is saved")); - })); - } -}; - -// src/plugin.ts -var DEFAULT_SETTINGS = { - folders: "", - enable: false -}; -var HiddenFolder = class extends import_obsidian2.Plugin { - getFilters() { - if (!this.settings.folders) - return null; - const result = []; - const folders = this.settings.folders.split("\n"); - if (folders.length) { - for (let i of folders) { - result.push(new RegExp(i)); - } - } - return result; - } - getFolderElements() { - const folders = document.querySelectorAll(".nav-folder"); - const result = []; - for (let i = 0; i < folders.length; i++) { - const el = folders[i]; - if (el.classList.contains("mod-root")) - continue; - result.push(el); - } - return result; - } - restoreFolder() { - const folders = document.querySelectorAll(".hidden-folder-flag-hidden"); - if (folders == null ? void 0 : folders.length) { - new import_obsidian2.Notice(lang_default.get("Restore display") + "\r\n" + folders.length + " " + lang_default.get(folders.length > 1 ? "folders" : "folder")); - for (let i = 0; i < folders.length; i++) { - const el = folders[i]; - el.classList.remove("hidden-folder-flag-hidden"); - } - } - } - hiddenFolder() { - if (!this.settings.enable) - return; - const filters = this.getFilters(); - if (!(filters == null ? void 0 : filters.length)) - return; - const elements = this.getFolderElements(); - let count = 0; - for (let el of elements) { - const title = el.querySelector(".nav-folder-title"); - const path = title == null ? void 0 : title.getAttribute("data-path"); - if (!path) - continue; - if (el.classList.contains("hidden-folder-flag-hidden")) - continue; - for (let filter of filters) { - if (filter.test(path)) { - el.classList.add("hidden-folder-flag-hidden"); - count++; - } - } - } - if (count) { - new import_obsidian2.Notice(lang_default.get("Hidden display") + "\r\n" + count + " " + lang_default.get(count > 1 ? "folders" : "folder")); - } - } - async onload() { - await this.loadSettings(); - this.start(0); - } - observe() { - if (!this.container) - return; - this.observer = new MutationObserver(() => { - this.hiddenFolder(); - }); - this.observer.observe(this.container, { attributes: true, childList: true, subtree: true }); - } - start(loop) { - if (loop > 20) { - new import_obsidian2.Notice(lang_default.get("Not Found Files List")); - return; - } - this.container = document.querySelector(".nav-files-container"); - if (!this.container) { - setTimeout(() => { - this.start(loop + 1); - }, 100); - return; - } - this.observe(); - this.app.workspace.on("layout-change", () => { - const container = document.querySelector(".nav-files-container"); - if (container !== this.container) { - this.container = container; - this.observe(); - } - }); - this.addSettingTab(new HiddenFolderSettingTab(this.app, this)); - this.hiddenFolder(); - setTimeout(() => { - const el = this.addRibbonIcon("ghost", lang_default.get(this.settings.enable ? "Show Folders" : "Hidden Folders"), (evt) => { - this.settings.enable = !this.settings.enable; - this.saveSettings(); - el.setAttribute("aria-label", lang_default.get(this.settings.enable ? "Show Folders" : "Hidden Folders")); - if (this.settings.enable) { - this.hiddenFolder(); - } else { - this.restoreFolder(); - } - }); - }, 10); - } - onunload() { - if (!this.observer) - return; - this.restoreFolder(); - this.observer.disconnect(); - } - async loadSettings() { - this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); - } - async saveSettings() { - await this.saveData(this.settings); - } -}; - -// main.ts -var main_default = HiddenFolder; - -/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/hidden-folder-obsidian/manifest.json b/.obsidian/plugins/hidden-folder-obsidian/manifest.json deleted file mode 100644 index fa5066b8..00000000 --- a/.obsidian/plugins/hidden-folder-obsidian/manifest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "hidden-folder-obsidian", - "name": "Hidden Folder", - "version": "1.0.7", - "minAppVersion": "0.15.0", - "description": "Hidden Folder", - "author": "ptrsvltns", - "isDesktopOnly": true -} diff --git a/.obsidian/plugins/hidden-folder-obsidian/styles.css b/.obsidian/plugins/hidden-folder-obsidian/styles.css deleted file mode 100644 index e5dbba77..00000000 --- a/.obsidian/plugins/hidden-folder-obsidian/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -.hidden-folder-flag-hidden { - display: none; -} \ No newline at end of file diff --git a/.obsidian/plugins/nuke-orphans/data.json b/.obsidian/plugins/nuke-orphans/data.json deleted file mode 100644 index a0d9385e..00000000 --- a/.obsidian/plugins/nuke-orphans/data.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "attachmentsPaths": [ - "./assets" - ], - "trashFolderOverride": "", - "ignorePatterns": [ - "./Files", - ".md" - ], - "alternativeAttachmentAlg": false -} \ No newline at end of file diff --git a/.obsidian/plugins/nuke-orphans/main.js b/.obsidian/plugins/nuke-orphans/main.js deleted file mode 100644 index e26730b6..00000000 --- a/.obsidian/plugins/nuke-orphans/main.js +++ /dev/null @@ -1,314 +0,0 @@ -/* -THIS IS A GENERATED/BUNDLED FILE BY ESBUILD -if you want to view the source, please visit the github repository of this plugin -*/ - -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); -var __export = (target, all) => { - __markAsModule(target); - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __reExport = (target, module2, desc) => { - if (module2 && typeof module2 === "object" || typeof module2 === "function") { - for (let key of __getOwnPropNames(module2)) - if (!__hasOwnProp.call(target, key) && key !== "default") - __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable }); - } - return target; -}; -var __toModule = (module2) => { - return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2); -}; -var __async = (__this, __arguments, generator) => { - return new Promise((resolve, reject) => { - var fulfilled = (value) => { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - }; - var rejected = (value) => { - try { - step(generator.throw(value)); - } catch (e) { - reject(e); - } - }; - var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); - step((generator = generator.apply(__this, __arguments)).next()); - }); -}; - -// src/main.ts -__export(exports, { - default: () => NukeOrphansPlugin -}); -var import_obsidian3 = __toModule(require("obsidian")); - -// src/settings.ts -var import_obsidian = __toModule(require("obsidian")); -var DEFAULT_SETTINGS = { - attachmentsPaths: [], - trashFolderOverride: "", - ignorePatterns: [], - alternativeAttachmentAlg: false -}; -var CSS_CLASS_CHECK_PASS = "nuke-orphans-pass"; -var CSS_CLASS_CHECK_FAIL = "nuke-orphans-fail"; -var NukeOrphansSettingsTab = class extends import_obsidian.PluginSettingTab { - constructor(app, plugin) { - super(app, plugin); - this.plugin = plugin; - } - display() { - const { containerEl } = this; - containerEl.empty(); - containerEl.createEl("h3", { - attr: { - "style": "text-align: center;" - }, - text: "Nuke Orphans Plugin Settings" - }); - new import_obsidian.Setting(containerEl).setName("Override Attachment Folder").setDesc("Where attachments are stored").addTextArea((text) => text.setPlaceholder(this.app.vault.config.attachmentFolderPath).setValue(this.plugin.settings.attachmentsPaths.join("\n")).onChange((value) => __async(this, null, function* () { - this.plugin.settings.attachmentsPaths = value.split("\n").map((x) => x.trim()).filter((x) => x.length > 0); - yield this.plugin.saveSettings(); - }))); - new import_obsidian.Setting(containerEl).setName("Override Trash Folder").setDesc("Trash folder path, will be created if it does not exist").addText((text) => text.setPlaceholder(this.plugin.shouldUseSystemTrash() ? "system trash" : ".trash/").setValue(this.plugin.settings.trashFolderOverride).onChange((value) => __async(this, null, function* () { - this.plugin.settings.trashFolderOverride = value; - yield this.plugin.saveSettings(); - }))); - new import_obsidian.Setting(containerEl).setName("Ignore Patterns").setDesc("Add regex patterns to ignore when searching for orphans").addTextArea((text) => text.setValue(this.plugin.settings.ignorePatterns.join("\n")).onChange((value) => __async(this, null, function* () { - this.plugin.settings.ignorePatterns = value.split("\n").map((x) => x.trim()).filter((x) => x.length > 0); - yield this.plugin.saveSettings(); - }))); - new import_obsidian.Setting(containerEl).setName("Test Settings").setDesc("If the path is ignored it will be red, otherwise green").addText((text) => { - function resetColor() { - text.inputEl.classList.remove(CSS_CLASS_CHECK_PASS, CSS_CLASS_CHECK_FAIL); - } - text.onChange((value) => { - resetColor(); - if (value.length == 0) - return; - if (this.plugin.getIgnoreFilter().test(value)) - text.inputEl.classList.add(CSS_CLASS_CHECK_FAIL); - else - text.inputEl.classList.add(CSS_CLASS_CHECK_PASS); - }); - text.inputEl.addEventListener("focusout", () => resetColor()); - text.inputEl.addEventListener("focusin", () => text.onChanged()); - }); - containerEl.createEl("h3", { - attr: { - style: "font-weight: bold" - }, - text: "Advanced Settings" - }); - new import_obsidian.Setting(containerEl).setName("Alternative Attachments Finding Algorithm").setDesc("Try enabling this if attachments are not found in subfolders").addToggle((btn) => btn.setValue(this.plugin.settings.alternativeAttachmentAlg).onChange((value) => __async(this, null, function* () { - this.plugin.settings.alternativeAttachmentAlg = value; - yield this.plugin.saveSettings(); - }))); - } -}; - -// src/trash_modal.ts -var import_obsidian2 = __toModule(require("obsidian")); -var path = __toModule(require("path")); -var TrashFilesModal = class extends import_obsidian2.Modal { - constructor(app, files, trashFolderPath, useSystemTrash) { - super(app); - this.files = files; - this.trashFolderPath = trashFolderPath; - this.useSystemTrash = useSystemTrash; - } - onOpen() { - let { contentEl, titleEl } = this; - titleEl.setText("Move " + this.files.length + " files to trash?"); - const div = contentEl.createDiv({ - cls: "trash-modal-file-links" - }); - this.files.forEach((file) => { - div.createEl("p", { - cls: "trash-modal-link", - text: file.path - }).addEventListener("click", () => __async(this, null, function* () { - this.close(); - yield this.app.workspace.activeLeaf.openFile(file); - })); - }); - contentEl.createEl("button", { - cls: ["trash-modal-button"], - text: "Cancel" - }).addEventListener("click", () => this.close()); - contentEl.createEl("button", { - cls: ["trash-modal-button"], - text: "Copy list to clipboard" - }).addEventListener("click", () => __async(this, null, function* () { - yield navigator.clipboard.writeText(this.files.map((file) => file.path).join("\n")); - new import_obsidian2.Notice("Copied list to clipboard"); - })); - contentEl.createEl("button", { - cls: ["mod-cta", "trash-modal-button"], - text: "Trash" - }).addEventListener("click", () => __async(this, null, function* () { - if (this.trashFolderPath.length > 0) { - if (!(yield this.app.vault.adapter.exists(this.trashFolderPath))) - yield this.app.vault.createFolder(this.trashFolderPath); - this.files.forEach((file) => __async(this, null, function* () { - return yield this.app.fileManager.renameFile(file, path.join(this.trashFolderPath, file.name)); - })); - } else - this.files.forEach((file) => __async(this, null, function* () { - return yield this.app.vault.trash(file, this.useSystemTrash); - })); - new import_obsidian2.Notice("Trashed " + this.files.length + " files"); - this.close(); - })); - } - onClose() { - let { contentEl } = this; - contentEl.empty(); - } -}; - -// src/main.ts -var CustomFilter = class { - constructor(regexes, strings) { - this.regexes = new Set(regexes.map((x) => RegExp(x))); - this.strings = new Set(strings); - } - test(input) { - return Array.from(this.regexes).some((x) => x.test(input)) || Array.from(this.strings).some((x) => x === input); - } -}; -var NukeOrphansPlugin = class extends import_obsidian3.Plugin { - getIgnoreFilter() { - let strings = []; - if (this.settings.trashFolderOverride.length > 0) - strings.push(this.settings.trashFolderOverride); - return new CustomFilter(this.settings.ignorePatterns, strings); - } - shouldUseSystemTrash() { - switch (this.app.vault.config.trashOption) { - case "system": - return true; - default: - return false; - } - } - getAttachmentsPaths() { - if (this.settings.attachmentsPaths.length === 0) - return [this.app.vault.config.attachmentFolderPath]; - return this.settings.attachmentsPaths; - } - isAttachment(file) { - return this.getAttachmentsPaths().some((element) => { - console.log(file.path); - if (element.startsWith("./")) { - if (this.settings.alternativeAttachmentAlg) { - let path2 = file.parent; - while (path2.name !== void 0 && path2.name.length > 0) { - if (path2.name == element.substring(2)) - return true; - path2 = path2.parent; - } - } else { - return file.path.startsWith(element.substring(2)) || file.path.contains(element.substring(1) + "/"); - } - } else { - if (file.parent.path == element) - return true; - if (file.path.startsWith(element)) - return true; - } - return false; - }); - } - getCanvasLinks() { - return __async(this, null, function* () { - let links = new Set(); - yield Promise.all(this.app.vault.getFiles().filter((f) => f.extension === "canvas").map((f) => __async(this, null, function* () { - const content = yield this.app.vault.read(f); - try { - const canvas = JSON.parse(content); - canvas.nodes.filter((node) => node.type === "file").forEach((node) => links.add(node.file)); - } catch (e) { - console.error("Error parsing canvas file " + f.path + "\n", e); - } - return Promise.resolve(); - }))); - return links; - }); - } - getOrphans() { - return __async(this, null, function* () { - const links = new Set(Object.values(this.app.metadataCache.resolvedLinks).flatMap((x) => Object.keys(x))); - const canvasLinks = yield this.getCanvasLinks(); - const filter = this.getIgnoreFilter(); - return this.app.vault.getFiles().filter((file) => { - return ![ - links.has(file.path), - canvasLinks.has(file.path), - filter.test(file.path) - ].some((x) => x === true); - }); - }); - } - trash(files) { - if (files.length > 0) - new TrashFilesModal(this.app, files, this.settings.trashFolderOverride, this.shouldUseSystemTrash()).open(); - else - new import_obsidian3.Notice("No orphaned files have been found"); - } - onload() { - return __async(this, null, function* () { - yield this.loadSettings(); - this.addCommand({ - id: "nuke-orphaned-attachments", - name: "Trash orphaned attachments", - callback: () => __async(this, null, function* () { - new import_obsidian3.Notice("Gathering orphaned attachments.."); - this.trash((yield this.getOrphans()).filter((file) => this.isAttachment(file))); - }) - }); - this.addCommand({ - id: "nuke-orphaned-notes", - name: "Trash orphaned notes", - callback: () => __async(this, null, function* () { - new import_obsidian3.Notice("Gathering orphaned notes.."); - this.trash((yield this.getOrphans()).filter((file) => file.extension === "md")); - }) - }); - this.addCommand({ - id: "nuke-orphaned", - name: "Trash orphaned files", - callback: () => __async(this, null, function* () { - new import_obsidian3.Notice("Gathering orphaned files.."); - this.trash(yield this.getOrphans()); - }) - }); - this.addSettingTab(new NukeOrphansSettingsTab(this.app, this)); - }); - } - onunload() { - } - loadSettings() { - return __async(this, null, function* () { - this.settings = Object.assign({}, DEFAULT_SETTINGS, yield this.loadData()); - }); - } - saveSettings() { - return __async(this, null, function* () { - yield this.saveData(this.settings); - }); - } -}; - -/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/nuke-orphans/manifest.json b/.obsidian/plugins/nuke-orphans/manifest.json deleted file mode 100644 index 1e952577..00000000 --- a/.obsidian/plugins/nuke-orphans/manifest.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "id": "nuke-orphans", - "name": "Nuke Orphans", - "version": "1.2.5", - "minAppVersion": "1.3.0", - "description": "Plugin that trashes orphaned files and attachments", - "author": "Sandorex", - "authorUrl": "https://github.com/sandorex", - "isDesktopOnly": false -} \ No newline at end of file diff --git a/.obsidian/plugins/nuke-orphans/styles.css b/.obsidian/plugins/nuke-orphans/styles.css deleted file mode 100644 index 2a12899b..00000000 --- a/.obsidian/plugins/nuke-orphans/styles.css +++ /dev/null @@ -1,33 +0,0 @@ -.trash-modal-button { - margin-left: 5px; - margin-right: 5px; -} - -/* this is the confirm button so it should be separated */ -.trash-modal-button:last-of-type { - float: right; -} - -.trash-modal-file-links { - overflow-y: scroll; - max-height: 30vw; - margin: 1vw; -} - -.trash-modal-link { - color: var(--text-accent); - text-decoration: underline; - cursor: pointer; -} - -.trash-modal-link:hover { - color: var(--text-accent-hover, var(--text-accent)); -} - -.nuke-orphans-pass { - color: lightgreen !important; -} - -.nuke-orphans-fail { - color: red !important; -} diff --git a/.obsidian/plugins/obsidian-git/data.json b/.obsidian/plugins/obsidian-git/data.json deleted file mode 100644 index 2400f88c..00000000 --- a/.obsidian/plugins/obsidian-git/data.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "commitMessage": "vault backup: {{date}}", - "commitDateFormat": "YYYY-MM-DD HH:mm:ss", - "autoSaveInterval": 1, - "autoPushInterval": 60, - "autoPullInterval": 1, - "autoPullOnBoot": false, - "disablePush": false, - "pullBeforePush": true, - "disablePopups": false, - "disablePopupsForNoChanges": false, - "listChangedFilesInMessageBody": false, - "showStatusBar": true, - "updateSubmodules": false, - "syncMethod": "merge", - "customMessageOnAutoBackup": false, - "autoBackupAfterFileChange": true, - "treeStructure": false, - "refreshSourceControl": true, - "basePath": "", - "differentIntervalCommitAndPush": false, - "changedFilesInStatusBar": false, - "showedMobileNotice": true, - "refreshSourceControlTimer": 7000, - "showBranchStatusBar": true, - "setLastSaveToLastCommit": false, - "submoduleRecurseCheckout": false, - "gitDir": "", - "showFileMenu": true, - "authorInHistoryView": "hide", - "dateInHistoryView": false, - "diffStyle": "split", - "lineAuthor": { - "show": false, - "followMovement": "inactive", - "authorDisplay": "initials", - "showCommitHash": false, - "dateTimeFormatOptions": "date", - "dateTimeFormatCustomString": "YYYY-MM-DD HH:mm", - "dateTimeTimezone": "viewer-local", - "coloringMaxAge": "1y", - "colorNew": { - "r": 255, - "g": 150, - "b": 150 - }, - "colorOld": { - "r": 120, - "g": 160, - "b": 255 - }, - "textColorCss": "var(--text-muted)", - "ignoreWhitespace": false, - "gutterSpacingFallbackLength": 5, - "lastShownAuthorDisplay": "initials", - "lastShownDateTimeFormatOptions": "date" - }, - "autoCommitMessage": "vault backup: {{date}}" -} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-git/git_credentials_input b/.obsidian/plugins/obsidian-git/git_credentials_input deleted file mode 100644 index 4cee4d15..00000000 --- a/.obsidian/plugins/obsidian-git/git_credentials_input +++ /dev/null @@ -1 +0,0 @@ -Username for 'https://github.com': diff --git a/.obsidian/plugins/obsidian-git/git_credentials_input.response b/.obsidian/plugins/obsidian-git/git_credentials_input.response deleted file mode 100644 index e69de29b..00000000 diff --git a/.obsidian/plugins/obsidian-git/main.js b/.obsidian/plugins/obsidian-git/main.js deleted file mode 100644 index 0750938b..00000000 --- a/.obsidian/plugins/obsidian-git/main.js +++ /dev/null @@ -1,414 +0,0 @@ -/* -THIS IS A GENERATED/BUNDLED FILE BY ESBUILD -if you want to view the source visit the plugins github repository (https://github.com/denolehov/obsidian-git) -*/ - -var BP=Object.create;var Oo=Object.defineProperty;var HP=Object.getOwnPropertyDescriptor;var UP=Object.getOwnPropertyNames;var GP=Object.getPrototypeOf,zP=Object.prototype.hasOwnProperty;var jv=e=>{throw TypeError(e)};var VP=(e,t,r)=>t in e?Oo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var WP=(e,t)=>()=>(e&&(t=e(e=0)),t);var I=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),qP=(e,t)=>{for(var r in t)Oo(e,r,{get:t[r],enumerable:!0})},Bv=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of UP(t))!zP.call(e,i)&&i!==r&&Oo(e,i,{get:()=>t[i],enumerable:!(n=HP(t,i))||n.enumerable});return e};var Ze=(e,t,r)=>(r=e!=null?BP(GP(e)):{},Bv(t||!e||!e.__esModule?Oo(r,"default",{value:e,enumerable:!0}):r,e)),YP=e=>Bv(Oo({},"__esModule",{value:!0}),e);var Tr=(e,t,r)=>VP(e,typeof t!="symbol"?t+"":t,r),Hv=(e,t,r)=>t.has(e)||jv("Cannot "+r);var Bt=(e,t,r)=>(Hv(e,t,"read from private field"),r?r.call(e):t.get(e)),Rc=(e,t,r)=>t.has(e)?jv("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Mc=(e,t,r,n)=>(Hv(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);var zv=I(Oc=>{"use strict";g();Oc.byteLength=ZP;Oc.toByteArray=JP;Oc.fromByteArray=t5;var fn=[],Cr=[],XP=typeof Uint8Array!="undefined"?Uint8Array:Array,eh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Xi=0,Uv=eh.length;Xi0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function ZP(e){var t=Gv(e),r=t[0],n=t[1];return(r+n)*3/4-n}function KP(e,t,r){return(t+r)*3/4-r}function JP(e){var t,r=Gv(e),n=r[0],i=r[1],a=new XP(KP(e,n,i)),s=0,o=i>0?n-4:n,c;for(c=0;c>16&255,a[s++]=t>>8&255,a[s++]=t&255;return i===2&&(t=Cr[e.charCodeAt(c)]<<2|Cr[e.charCodeAt(c+1)]>>4,a[s++]=t&255),i===1&&(t=Cr[e.charCodeAt(c)]<<10|Cr[e.charCodeAt(c+1)]<<4|Cr[e.charCodeAt(c+2)]>>2,a[s++]=t>>8&255,a[s++]=t&255),a}function QP(e){return fn[e>>18&63]+fn[e>>12&63]+fn[e>>6&63]+fn[e&63]}function e5(e,t,r){for(var n,i=[],a=t;ao?o:s+a));return n===1?(t=e[r-1],i.push(fn[t>>2]+fn[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(fn[t>>10]+fn[t>>4&63]+fn[t<<2&63]+"=")),i.join("")}});var Vv=I(th=>{g();th.read=function(e,t,r,n,i){var a,s,o=i*8-n-1,c=(1<>1,u=-7,f=r?i-1:0,d=r?-1:1,h=e[t+f];for(f+=d,a=h&(1<<-u)-1,h>>=-u,u+=o;u>0;a=a*256+e[t+f],f+=d,u-=8);for(s=a&(1<<-u)-1,a>>=-u,u+=n;u>0;s=s*256+e[t+f],f+=d,u-=8);if(a===0)a=1-l;else{if(a===c)return s?NaN:(h?-1:1)*(1/0);s=s+Math.pow(2,n),a=a-l}return(h?-1:1)*s*Math.pow(2,a-n)};th.write=function(e,t,r,n,i,a){var s,o,c,l=a*8-i-1,u=(1<>1,d=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:a-1,p=n?1:-1,m=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,s=u):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),s+f>=1?t+=d/c:t+=d*Math.pow(2,1-f),t*c>=2&&(s++,c/=2),s+f>=u?(o=0,s=u):s+f>=1?(o=(t*c-1)*Math.pow(2,i),s=s+f):(o=t*Math.pow(2,f-1)*Math.pow(2,i),s=0));i>=8;e[r+h]=o&255,h+=p,o/=256,i-=8);for(s=s<0;e[r+h]=s&255,h+=p,s/=256,l-=8);e[r+h-p]|=m*128}});var uh=I(Za=>{"use strict";g();var rh=zv(),Ya=Vv(),Wv=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Za.Buffer=M;Za.SlowBuffer=o5;Za.INSPECT_MAX_BYTES=50;var Ic=2147483647;Za.kMaxLength=Ic;M.TYPED_ARRAY_SUPPORT=r5();!M.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function r5(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch(e){return!1}}Object.defineProperty(M.prototype,"parent",{enumerable:!0,get:function(){if(M.isBuffer(this))return this.buffer}});Object.defineProperty(M.prototype,"offset",{enumerable:!0,get:function(){if(M.isBuffer(this))return this.byteOffset}});function Ln(e){if(e>Ic)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,M.prototype),t}function M(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return sh(e)}return Zv(e,t,r)}M.poolSize=8192;function Zv(e,t,r){if(typeof e=="string")return i5(e,t);if(ArrayBuffer.isView(e))return a5(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(dn(e,ArrayBuffer)||e&&dn(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(dn(e,SharedArrayBuffer)||e&&dn(e.buffer,SharedArrayBuffer)))return ih(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return M.from(n,t,r);let i=s5(e);if(i)return i;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return M.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}M.from=function(e,t,r){return Zv(e,t,r)};Object.setPrototypeOf(M.prototype,Uint8Array.prototype);Object.setPrototypeOf(M,Uint8Array);function Kv(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function n5(e,t,r){return Kv(e),e<=0?Ln(e):t!==void 0?typeof r=="string"?Ln(e).fill(t,r):Ln(e).fill(t):Ln(e)}M.alloc=function(e,t,r){return n5(e,t,r)};function sh(e){return Kv(e),Ln(e<0?0:oh(e)|0)}M.allocUnsafe=function(e){return sh(e)};M.allocUnsafeSlow=function(e){return sh(e)};function i5(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!M.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=Jv(e,t)|0,n=Ln(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function nh(e){let t=e.length<0?0:oh(e.length)|0,r=Ln(t);for(let n=0;n=Ic)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Ic.toString(16)+" bytes");return e|0}function o5(e){return+e!=e&&(e=0),M.alloc(+e)}M.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==M.prototype};M.compare=function(t,r){if(dn(t,Uint8Array)&&(t=M.from(t,t.offset,t.byteLength)),dn(r,Uint8Array)&&(r=M.from(r,r.offset,r.byteLength)),!M.isBuffer(t)||!M.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let a=0,s=Math.min(n,i);ai.length?(M.isBuffer(s)||(s=M.from(s)),s.copy(i,a)):Uint8Array.prototype.set.call(i,s,a);else if(M.isBuffer(s))s.copy(i,a);else throw new TypeError('"list" argument must be an Array of Buffers');a+=s.length}return i};function Jv(e,t){if(M.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||dn(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return ah(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return o1(e).length;default:if(i)return n?-1:ah(e).length;t=(""+t).toLowerCase(),i=!0}}M.byteLength=Jv;function l5(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return y5(this,t,r);case"utf8":case"utf-8":return e1(this,t,r);case"ascii":return g5(this,t,r);case"latin1":case"binary":return v5(this,t,r);case"base64":return p5(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w5(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}M.prototype._isBuffer=!0;function Zi(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}M.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(t+=" ... "),""};Wv&&(M.prototype[Wv]=M.prototype.inspect);M.prototype.compare=function(t,r,n,i,a){if(dn(t,Uint8Array)&&(t=M.from(t,t.offset,t.byteLength)),!M.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;let s=a-i,o=n-r,c=Math.min(s,o),l=this.slice(i,a),u=t.slice(r,n);for(let f=0;f2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,ch(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=M.from(t,n)),M.isBuffer(t))return t.length===0?-1:qv(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):qv(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function qv(e,t,r,n,i){let a=1,s=e.length,o=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,s/=2,o/=2,r/=2}function c(u,f){return a===1?u[f]:u.readUInt16BE(f*a)}let l;if(i){let u=-1;for(l=r;ls&&(r=s-o),l=r;l>=0;l--){let u=!0;for(let f=0;fi&&(n=i)):n=i;let a=t.length;n>a/2&&(n=a/2);let s;for(s=0;s>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return c5(this,t,r,n);case"utf8":case"utf-8":return u5(this,t,r,n);case"ascii":case"latin1":case"binary":return f5(this,t,r,n);case"base64":return d5(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return h5(this,t,r,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}};M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function p5(e,t,r){return t===0&&r===e.length?rh.fromByteArray(e):rh.fromByteArray(e.slice(t,r))}function e1(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:a>223?3:a>191?2:1;if(i+o<=r){let c,l,u,f;switch(o){case 1:a<128&&(s=a);break;case 2:c=e[i+1],(c&192)===128&&(f=(a&31)<<6|c&63,f>127&&(s=f));break;case 3:c=e[i+1],l=e[i+2],(c&192)===128&&(l&192)===128&&(f=(a&15)<<12|(c&63)<<6|l&63,f>2047&&(f<55296||f>57343)&&(s=f));break;case 4:c=e[i+1],l=e[i+2],u=e[i+3],(c&192)===128&&(l&192)===128&&(u&192)===128&&(f=(a&15)<<18|(c&63)<<12|(l&63)<<6|u&63,f>65535&&f<1114112&&(s=f))}}s===null?(s=65533,o=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=o}return m5(n)}var Yv=4096;function m5(e){let t=e.length;if(t<=Yv)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let a=t;an&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}M.prototype.readUintLE=M.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||yt(t,r,this.length);let i=this[t],a=1,s=0;for(;++s>>0,r=r>>>0,n||yt(t,r,this.length);let i=this[t+--r],a=1;for(;r>0&&(a*=256);)i+=this[t+--r]*a;return i};M.prototype.readUint8=M.prototype.readUInt8=function(t,r){return t=t>>>0,r||yt(t,1,this.length),this[t]};M.prototype.readUint16LE=M.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||yt(t,2,this.length),this[t]|this[t+1]<<8};M.prototype.readUint16BE=M.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||yt(t,2,this.length),this[t]<<8|this[t+1]};M.prototype.readUint32LE=M.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||yt(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};M.prototype.readUint32BE=M.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||yt(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};M.prototype.readBigUInt64LE=ui(function(t){t=t>>>0,Xa(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&Io(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(a)<>>0,Xa(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&Io(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<>>0,r=r>>>0,n||yt(t,r,this.length);let i=this[t],a=1,s=0;for(;++s=a&&(i-=Math.pow(2,8*r)),i};M.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||yt(t,r,this.length);let i=r,a=1,s=this[t+--i];for(;i>0&&(a*=256);)s+=this[t+--i]*a;return a*=128,s>=a&&(s-=Math.pow(2,8*r)),s};M.prototype.readInt8=function(t,r){return t=t>>>0,r||yt(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};M.prototype.readInt16LE=function(t,r){t=t>>>0,r||yt(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};M.prototype.readInt16BE=function(t,r){t=t>>>0,r||yt(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};M.prototype.readInt32LE=function(t,r){return t=t>>>0,r||yt(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};M.prototype.readInt32BE=function(t,r){return t=t>>>0,r||yt(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};M.prototype.readBigInt64LE=ui(function(t){t=t>>>0,Xa(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&Io(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<>>0,Xa(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&Io(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<>>0,r||yt(t,4,this.length),Ya.read(this,t,!0,23,4)};M.prototype.readFloatBE=function(t,r){return t=t>>>0,r||yt(t,4,this.length),Ya.read(this,t,!1,23,4)};M.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||yt(t,8,this.length),Ya.read(this,t,!0,52,8)};M.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||yt(t,8,this.length),Ya.read(this,t,!1,52,8)};function Kt(e,t,r,n,i,a){if(!M.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}M.prototype.writeUintLE=M.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let o=Math.pow(2,8*n)-1;Kt(this,t,r,n,o,0)}let a=1,s=0;for(this[r]=t&255;++s>>0,n=n>>>0,!i){let o=Math.pow(2,8*n)-1;Kt(this,t,r,n,o,0)}let a=n-1,s=1;for(this[r+a]=t&255;--a>=0&&(s*=256);)this[r+a]=t/s&255;return r+n};M.prototype.writeUint8=M.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Kt(this,t,r,1,255,0),this[r]=t&255,r+1};M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Kt(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Kt(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Kt(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Kt(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function t1(e,t,r,n,i){s1(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function r1(e,t,r,n,i){s1(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}M.prototype.writeBigUInt64LE=ui(function(t,r=0){return t1(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});M.prototype.writeBigUInt64BE=ui(function(t,r=0){return r1(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});M.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let c=Math.pow(2,8*n-1);Kt(this,t,r,n,c-1,-c)}let a=0,s=1,o=0;for(this[r]=t&255;++a>0)-o&255;return r+n};M.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let c=Math.pow(2,8*n-1);Kt(this,t,r,n,c-1,-c)}let a=n-1,s=1,o=0;for(this[r+a]=t&255;--a>=0&&(s*=256);)t<0&&o===0&&this[r+a+1]!==0&&(o=1),this[r+a]=(t/s>>0)-o&255;return r+n};M.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Kt(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};M.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Kt(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};M.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Kt(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};M.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Kt(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};M.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Kt(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};M.prototype.writeBigInt64LE=ui(function(t,r=0){return t1(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});M.prototype.writeBigInt64BE=ui(function(t,r=0){return r1(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function n1(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function i1(e,t,r,n,i){return t=+t,r=r>>>0,i||n1(e,t,r,4,34028234663852886e22,-34028234663852886e22),Ya.write(e,t,r,n,23,4),r+4}M.prototype.writeFloatLE=function(t,r,n){return i1(this,t,r,!0,n)};M.prototype.writeFloatBE=function(t,r,n){return i1(this,t,r,!1,n)};function a1(e,t,r,n,i){return t=+t,r=r>>>0,i||n1(e,t,r,8,17976931348623157e292,-17976931348623157e292),Ya.write(e,t,r,n,52,8),r+8}M.prototype.writeDoubleLE=function(t,r,n){return a1(this,t,r,!0,n)};M.prototype.writeDoubleBE=function(t,r,n){return a1(this,t,r,!1,n)};M.prototype.copy=function(t,r,n,i){if(!M.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t=="number")for(a=r;a2**32?i=Xv(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=Xv(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function Xv(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function b5(e,t,r){Xa(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&Io(t,e.length-(r+1))}function s1(e,t,r,n,i,a){if(e>r||e3?t===0||t===BigInt(0)?o=`>= 0${s} and < 2${s} ** ${(a+1)*8}${s}`:o=`>= -(2${s} ** ${(a+1)*8-1}${s}) and < 2 ** ${(a+1)*8-1}${s}`:o=`>= ${t}${s} and <= ${r}${s}`,new qa.ERR_OUT_OF_RANGE("value",o,e)}b5(n,i,a)}function Xa(e,t){if(typeof e!="number")throw new qa.ERR_INVALID_ARG_TYPE(t,"number",e)}function Io(e,t,r){throw Math.floor(e)!==e?(Xa(e,r),new qa.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new qa.ERR_BUFFER_OUT_OF_BOUNDS:new qa.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var _5=/[^+/0-9A-Za-z-_]/g;function x5(e){if(e=e.split("=")[0],e=e.trim().replace(_5,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function ah(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function S5(e){let t=[];for(let r=0;r>8,i=r%256,a.push(i),a.push(n);return a}function o1(e){return rh.toByteArray(x5(e))}function Fc(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function dn(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function ch(e){return e!==e}var A5=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function ui(e){return typeof BigInt=="undefined"?k5:e}function k5(){throw new Error("BigInt not supported")}});var l1,fh,Buffer,g=WP(()=>{l1=require("obsidian");l1.Platform.isMobileApp?fh=uh().Buffer:fh=global.Buffer;Buffer=fh});var u1=I((qH,c1)=>{"use strict";g();var fr=function(e){if(e=e||{},this.Promise=e.Promise||Promise,this.queues=Object.create(null),this.domainReentrant=e.domainReentrant||!1,this.domainReentrant){if(typeof process=="undefined"||typeof process.domain=="undefined")throw new Error("Domain-reentrant locks require `process.domain` to exist. Please flip `opts.domainReentrant = false`, use a NodeJS version that still implements Domain, or install a browser polyfill.");this.domains=Object.create(null)}this.timeout=e.timeout||fr.DEFAULT_TIMEOUT,this.maxOccupationTime=e.maxOccupationTime||fr.DEFAULT_MAX_OCCUPATION_TIME,this.maxExecutionTime=e.maxExecutionTime||fr.DEFAULT_MAX_EXECUTION_TIME,e.maxPending===1/0||Number.isInteger(e.maxPending)&&e.maxPending>=0?this.maxPending=e.maxPending:this.maxPending=fr.DEFAULT_MAX_PENDING};fr.DEFAULT_TIMEOUT=0;fr.DEFAULT_MAX_OCCUPATION_TIME=0;fr.DEFAULT_MAX_EXECUTION_TIME=0;fr.DEFAULT_MAX_PENDING=1e3;fr.prototype.acquire=function(e,t,r,n){if(Array.isArray(e))return this._acquireBatch(e,t,r,n);if(typeof t!="function")throw new Error("You must pass a function to execute");var i=null,a=null,s=null;typeof r!="function"&&(n=r,r=null,s=new this.Promise(function(b,x){i=b,a=x})),n=n||{};var o=!1,c=null,l=null,u=null,f=this,d=function(b,x,E){l&&(clearTimeout(l),l=null),u&&(clearTimeout(u),u=null),b&&(f.queues[e]&&f.queues[e].length===0&&delete f.queues[e],f.domainReentrant&&delete f.domains[e]),o||(s?x?a(x):i(E):typeof r=="function"&&r(x,E),o=!0),b&&f.queues[e]&&f.queues[e].length>0&&f.queues[e].shift()()},h=function(b){if(o)return d(b);c&&(clearTimeout(c),c=null),f.domainReentrant&&b&&(f.domains[e]=process.domain);var x=n.maxExecutionTime||f.maxExecutionTime;if(x&&(u=setTimeout(function(){f.queues[e]&&d(b,new Error("Maximum execution time is exceeded "+e))},x)),t.length===1){var E=!1;try{t(function(_,k){E||(E=!0,d(b,_,k))})}catch(_){E||(E=!0,d(b,_))}}else f._promiseTry(function(){return t()}).then(function(_){d(b,void 0,_)},function(_){d(b,_)})};f.domainReentrant&&process.domain&&(h=process.domain.bind(h));var p=n.maxPending||f.maxPending;if(!f.queues[e])f.queues[e]=[],h(!0);else if(f.domainReentrant&&process.domain&&process.domain===f.domains[e])h(!1);else if(f.queues[e].length>=p)d(!1,new Error("Too many pending tasks in queue "+e));else{var m=function(){h(!0)};n.skipQueue?f.queues[e].unshift(m):f.queues[e].push(m);var v=n.timeout||f.timeout;v&&(c=setTimeout(function(){c=null,d(!1,new Error("async-lock timed out in queue "+e))},v))}var y=n.maxOccupationTime||f.maxOccupationTime;if(y&&(l=setTimeout(function(){f.queues[e]&&d(!1,new Error("Maximum occupation time is exceeded in queue "+e))},y)),s)return s};fr.prototype._acquireBatch=function(e,t,r,n){typeof r!="function"&&(n=r,r=null);var i=this,a=function(o,c){return function(l){i.acquire(o,c,l,n)}},s=e.reduceRight(function(o,c){return a(c,o)},t);if(typeof r=="function")s(r);else return new this.Promise(function(o,c){s.length===1?s(function(l,u){l?c(l):o(u)}):o(s())})};fr.prototype.isBusy=function(e){return e?!!this.queues[e]:Object.keys(this.queues).length>0};fr.prototype._promiseTry=function(e){try{return this.Promise.resolve(e())}catch(t){return this.Promise.reject(t)}};c1.exports=fr});var d1=I((XH,f1)=>{"use strict";g();f1.exports=u1()});var h1=I((KH,dh)=>{g();typeof Object.create=="function"?dh.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:dh.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}});var ph=I((hh,m1)=>{g();var $c=uh(),hn=$c.Buffer;function p1(e,t){for(var r in e)t[r]=e[r]}hn.from&&hn.alloc&&hn.allocUnsafe&&hn.allocUnsafeSlow?m1.exports=$c:(p1($c,hh),hh.Buffer=Ki);function Ki(e,t,r){return hn(e,t,r)}Ki.prototype=Object.create(hn.prototype);p1(hn,Ki);Ki.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return hn(e,t,r)};Ki.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=hn(e);return t!==void 0?typeof r=="string"?n.fill(t,r):n.fill(t):n.fill(0),n};Ki.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return hn(e)};Ki.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return $c.SlowBuffer(e)}});var y1=I((eU,v1)=>{g();var g1=ph().Buffer;function Lc(e,t){this._block=g1.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}Lc.prototype.update=function(e,t){typeof e=="string"&&(t=t||"utf8",e=g1.from(e,t));for(var r=this._block,n=this._blockSize,i=e.length,a=this._len,s=0;s=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=this._len*8;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(r&4294967295)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var a=this._hash();return e?a.toString(e):a};Lc.prototype._update=function(){throw new Error("_update must be implemented by subclass")};v1.exports=Lc});var _1=I((rU,b1)=>{g();var T5=h1(),w1=y1(),C5=ph().Buffer,P5=[1518500249,1859775393,-1894007588,-899497514],R5=new Array(80);function Fo(){this.init(),this._w=R5,w1.call(this,64,56)}T5(Fo,w1);Fo.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function M5(e){return e<<1|e>>>31}function O5(e){return e<<5|e>>>27}function I5(e){return e<<30|e>>>2}function F5(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}Fo.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,a=this._d|0,s=this._e|0,o=0;o<16;++o)t[o]=e.readInt32BE(o*4);for(;o<80;++o)t[o]=M5(t[o-3]^t[o-8]^t[o-14]^t[o-16]);for(var c=0;c<80;++c){var l=~~(c/20),u=O5(r)+F5(l,n,i,a)+s+t[c]+P5[l]|0;s=a,a=i,i=I5(n),n=r,r=u}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=a+this._d|0,this._e=s+this._e|0};Fo.prototype._hash=function(){var e=C5.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e};b1.exports=Fo});var S1=I(mh=>{g();var x1;(function(e){typeof DO_NOT_EXPORT_CRC=="undefined"?typeof mh=="object"?e(mh):typeof define=="function"&&define.amd?define(function(){var t={};return e(t),t}):e(x1={}):e(x1={})})(function(e){e.version="1.2.2";function t(){for(var w=0,A=new Array(256),S=0;S!=256;++S)w=S,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,A[S]=w;return typeof Int32Array!="undefined"?new Int32Array(A):A}var r=t();function n(w){var A=0,S=0,T=0,P=typeof Int32Array!="undefined"?new Int32Array(4096):new Array(4096);for(T=0;T!=256;++T)P[T]=w[T];for(T=0;T!=256;++T)for(S=w[T],A=256+T;A<4096;A+=256)S=P[A]=S>>>8^w[S&255];var O=[];for(T=1;T!=16;++T)O[T-1]=typeof Int32Array!="undefined"?P.subarray(T*256,T*256+256):P.slice(T*256,T*256+256);return O}var i=n(r),a=i[0],s=i[1],o=i[2],c=i[3],l=i[4],u=i[5],f=i[6],d=i[7],h=i[8],p=i[9],m=i[10],v=i[11],y=i[12],b=i[13],x=i[14];function E(w,A){for(var S=A^-1,T=0,P=w.length;T>>8^r[(S^w.charCodeAt(T++))&255];return~S}function _(w,A){for(var S=A^-1,T=w.length-15,P=0;P>8&255]^y[w[P++]^S>>16&255]^v[w[P++]^S>>>24]^m[w[P++]]^p[w[P++]]^h[w[P++]]^d[w[P++]]^f[w[P++]]^u[w[P++]]^l[w[P++]]^c[w[P++]]^o[w[P++]]^s[w[P++]]^a[w[P++]]^r[w[P++]];for(T+=15;P>>8^r[(S^w[P++])&255];return~S}function k(w,A){for(var S=A^-1,T=0,P=w.length,O=0,j=0;T>>8^r[(S^O)&255]:O<2048?(S=S>>>8^r[(S^(192|O>>6&31))&255],S=S>>>8^r[(S^(128|O&63))&255]):O>=55296&&O<57344?(O=(O&1023)+64,j=w.charCodeAt(T++)&1023,S=S>>>8^r[(S^(240|O>>8&7))&255],S=S>>>8^r[(S^(128|O>>2&63))&255],S=S>>>8^r[(S^(128|j>>6&15|(O&3)<<4))&255],S=S>>>8^r[(S^(128|j&63))&255]):(S=S>>>8^r[(S^(224|O>>12&15))&255],S=S>>>8^r[(S^(128|O>>6&63))&255],S=S>>>8^r[(S^(128|O&63))&255]);return~S}e.table=r,e.bstr=E,e.buf=_,e.str=k})});var Dn=I(Ht=>{"use strict";g();var $5=typeof Uint8Array!="undefined"&&typeof Uint16Array!="undefined"&&typeof Int32Array!="undefined";function L5(e,t){return Object.prototype.hasOwnProperty.call(e,t)}Ht.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(typeof r!="object")throw new TypeError(r+"must be non-object");for(var n in r)L5(r,n)&&(e[n]=r[n])}}return e};Ht.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var D5={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray){e.set(t.subarray(r,r+n),i);return}for(var a=0;a{"use strict";g();var j5=Dn(),B5=4,E1=0,A1=1,H5=2;function Ja(e){for(var t=e.length;--t>=0;)e[t]=0}var U5=0,M1=1,G5=2,z5=3,V5=258,xh=29,Bo=256,Lo=Bo+1+xh,Ka=30,Sh=19,O1=2*Lo+1,Ji=15,gh=16,W5=7,Eh=256,I1=16,F1=17,$1=18,bh=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Dc=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],q5=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],L1=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Y5=512,Nn=new Array((Lo+2)*2);Ja(Nn);var $o=new Array(Ka*2);Ja($o);var Do=new Array(Y5);Ja(Do);var No=new Array(V5-z5+1);Ja(No);var Ah=new Array(xh);Ja(Ah);var Nc=new Array(Ka);Ja(Nc);function vh(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}var D1,N1,j1;function yh(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function B1(e){return e<256?Do[e]:Do[256+(e>>>7)]}function jo(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function Jt(e,t,r){e.bi_valid>gh-r?(e.bi_buf|=t<>gh-e.bi_valid,e.bi_valid+=r-gh):(e.bi_buf|=t<>>=1,r<<=1;while(--t>0);return r>>>1}function X5(e){e.bi_valid===16?(jo(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function Z5(e,t){var r=t.dyn_tree,n=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,s=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,u,f,d,h,p,m=0;for(d=0;d<=Ji;d++)e.bl_count[d]=0;for(r[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;lc&&(d=c,m++),r[u*2+1]=d,!(u>n)&&(e.bl_count[d]++,h=0,u>=o&&(h=s[u-o]),p=r[u*2],e.opt_len+=p*(d+h),a&&(e.static_len+=p*(i[u*2+1]+h)));if(m!==0){do{for(d=c-1;e.bl_count[d]===0;)d--;e.bl_count[d]--,e.bl_count[d+1]+=2,e.bl_count[c]--,m-=2}while(m>0);for(d=c;d!==0;d--)for(u=e.bl_count[d];u!==0;)f=e.heap[--l],!(f>n)&&(r[f*2+1]!==d&&(e.opt_len+=(d-r[f*2+1])*r[f*2],r[f*2+1]=d),u--)}}function U1(e,t,r){var n=new Array(Ji+1),i=0,a,s;for(a=1;a<=Ji;a++)n[a]=i=i+r[a-1]<<1;for(s=0;s<=t;s++){var o=e[s*2+1];o!==0&&(e[s*2]=H1(n[o]++,o))}}function K5(){var e,t,r,n,i,a=new Array(Ji+1);for(r=0,n=0;n>=7;n8?jo(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function J5(e,t,r,n){z1(e),n&&(jo(e,r),jo(e,~r)),j5.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function k1(e,t,r,n){var i=t*2,a=r*2;return e[i]>1;s>=1;s--)wh(e,r,s);l=a;do s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],wh(e,r,1),o=e.heap[1],e.heap[--e.heap_max]=s,e.heap[--e.heap_max]=o,r[l*2]=r[s*2]+r[o*2],e.depth[l]=(e.depth[s]>=e.depth[o]?e.depth[s]:e.depth[o])+1,r[s*2+1]=r[o*2+1]=l,e.heap[1]=l++,wh(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],Z5(e,t),U1(r,c,e.bl_count)}function C1(e,t,r){var n,i=-1,a,s=t[0*2+1],o=0,c=7,l=4;for(s===0&&(c=138,l=3),t[(r+1)*2+1]=65535,n=0;n<=r;n++)a=s,s=t[(n+1)*2+1],!(++o=3&&e.bl_tree[L1[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function eR(e,t,r,n){var i;for(Jt(e,t-257,5),Jt(e,r-1,5),Jt(e,n-4,4),i=0;i>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return E1;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return A1;for(r=32;r0?(e.strm.data_type===H5&&(e.strm.data_type=tR(e)),_h(e,e.l_desc),_h(e,e.d_desc),s=Q5(e),i=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=i&&(i=a)):i=a=r+5,r+4<=i&&t!==-1?V1(e,t,r,n):e.strategy===B5||a===i?(Jt(e,(M1<<1)+(n?1:0),3),T1(e,Nn,$o)):(Jt(e,(G5<<1)+(n?1:0),3),eR(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),T1(e,e.dyn_ltree,e.dyn_dtree)),G1(e),n&&z1(e)}function aR(e,t,r){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=r&255,e.last_lit++,t===0?e.dyn_ltree[r*2]++:(e.matches++,t--,e.dyn_ltree[(No[r]+Bo+1)*2]++,e.dyn_dtree[B1(t)*2]++),e.last_lit===e.lit_bufsize-1}Qa._tr_init=rR;Qa._tr_stored_block=V1;Qa._tr_flush_block=iR;Qa._tr_tally=aR;Qa._tr_align=nR});var kh=I((uU,q1)=>{"use strict";g();function sR(e,t,r,n){for(var i=e&65535|0,a=e>>>16&65535|0,s=0;r!==0;){s=r>2e3?2e3:r,r-=s;do i=i+t[n++]|0,a=a+i|0;while(--s);i%=65521,a%=65521}return i|a<<16|0}q1.exports=sR});var Th=I((dU,Y1)=>{"use strict";g();function oR(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=e&1?3988292384^e>>>1:e>>>1;t[r]=e}return t}var lR=oR();function cR(e,t,r,n){var i=lR,a=n+r;e^=-1;for(var s=n;s>>8^i[(e^t[s])&255];return e^-1}Y1.exports=cR});var jc=I((pU,X1)=>{"use strict";g();X1.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var iy=I(vn=>{"use strict";g();var Ut=Dn(),Pr=W1(),Q1=kh(),fi=Th(),uR=jc(),ra=0,fR=1,dR=3,gi=4,Z1=5,gn=0,K1=1,Rr=-2,hR=-3,Ch=-5,pR=-1,mR=1,Bc=2,gR=3,vR=4,yR=0,wR=2,zc=8,bR=9,_R=15,xR=8,SR=29,ER=256,Rh=ER+1+SR,AR=30,kR=19,TR=2*Rh+1,CR=15,we=3,pi=258,Xr=pi+we+1,PR=32,Vc=42,Mh=69,Hc=73,Uc=91,Gc=103,Qi=113,Uo=666,pt=1,Go=2,ea=3,rs=4,RR=3;function mi(e,t){return e.msg=uR[t],t}function J1(e){return(e<<1)-(e>4?9:0)}function hi(e){for(var t=e.length;--t>=0;)e[t]=0}function di(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(Ut.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,t.pending===0&&(t.pending_out=0))}function xt(e,t){Pr._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,di(e.strm)}function Ae(e,t){e.pending_buf[e.pending++]=t}function Ho(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function MR(e,t,r,n){var i=e.avail_in;return i>n&&(i=n),i===0?0:(e.avail_in-=i,Ut.arraySet(t,e.input,e.next_in,i,r),e.state.wrap===1?e.adler=Q1(e.adler,t,i,r):e.state.wrap===2&&(e.adler=fi(e.adler,t,i,r)),e.next_in+=i,e.total_in+=i,i)}function ey(e,t){var r=e.max_chain_length,n=e.strstart,i,a,s=e.prev_length,o=e.nice_match,c=e.strstart>e.w_size-Xr?e.strstart-(e.w_size-Xr):0,l=e.window,u=e.w_mask,f=e.prev,d=e.strstart+pi,h=l[n+s-1],p=l[n+s];e.prev_length>=e.good_match&&(r>>=2),o>e.lookahead&&(o=e.lookahead);do if(i=t,!(l[i+s]!==p||l[i+s-1]!==h||l[i]!==l[n]||l[++i]!==l[n+1])){n+=2,i++;do;while(l[++n]===l[++i]&&l[++n]===l[++i]&&l[++n]===l[++i]&&l[++n]===l[++i]&&l[++n]===l[++i]&&l[++n]===l[++i]&&l[++n]===l[++i]&&l[++n]===l[++i]&&ns){if(e.match_start=t,s=a,a>=o)break;h=l[n+s-1],p=l[n+s]}}while((t=f[t&u])>c&&--r!==0);return s<=e.lookahead?s:e.lookahead}function ta(e){var t=e.w_size,r,n,i,a,s;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Xr)){Ut.arraySet(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,n=e.hash_size,r=n;do i=e.head[--r],e.head[r]=i>=t?i-t:0;while(--n);n=t,r=n;do i=e.prev[--r],e.prev[r]=i>=t?i-t:0;while(--n);a+=t}if(e.strm.avail_in===0)break;if(n=MR(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=n,e.lookahead+e.insert>=we)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(ta(e),e.lookahead===0&&t===ra)return pt;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((e.strstart===0||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,xt(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-Xr&&(xt(e,!1),e.strm.avail_out===0))return pt}return e.insert=0,t===gi?(xt(e,!0),e.strm.avail_out===0?ea:rs):(e.strstart>e.block_start&&(xt(e,!1),e.strm.avail_out===0),pt)}function Ph(e,t){for(var r,n;;){if(e.lookahead=we&&(e.ins_h=(e.ins_h<=we)if(n=Pr._tr_tally(e,e.strstart-e.match_start,e.match_length-we),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=we){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<=we&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=we-1)),e.prev_length>=we&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-we,n=Pr._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-we),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(e.ins_h=(e.ins_h<=we&&e.strstart>0&&(i=e.strstart-1,n=s[i],n===s[++i]&&n===s[++i]&&n===s[++i])){a=e.strstart+pi;do;while(n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=we?(r=Pr._tr_tally(e,1,e.match_length-we),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=Pr._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(xt(e,!1),e.strm.avail_out===0))return pt}return e.insert=0,t===gi?(xt(e,!0),e.strm.avail_out===0?ea:rs):e.last_lit&&(xt(e,!1),e.strm.avail_out===0)?pt:Go}function FR(e,t){for(var r;;){if(e.lookahead===0&&(ta(e),e.lookahead===0)){if(t===ra)return pt;break}if(e.match_length=0,r=Pr._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(xt(e,!1),e.strm.avail_out===0))return pt}return e.insert=0,t===gi?(xt(e,!0),e.strm.avail_out===0?ea:rs):e.last_lit&&(xt(e,!1),e.strm.avail_out===0)?pt:Go}function mn(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}var ts;ts=[new mn(0,0,0,0,OR),new mn(4,4,8,4,Ph),new mn(4,5,16,8,Ph),new mn(4,6,32,32,Ph),new mn(4,4,16,16,es),new mn(8,16,32,32,es),new mn(8,16,128,128,es),new mn(8,32,128,256,es),new mn(32,128,258,1024,es),new mn(32,258,258,4096,es)];function $R(e){e.window_size=2*e.w_size,hi(e.head),e.max_lazy_match=ts[e.level].max_lazy,e.good_match=ts[e.level].good_length,e.nice_match=ts[e.level].nice_length,e.max_chain_length=ts[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=we-1,e.match_available=0,e.ins_h=0}function LR(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=zc,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Ut.Buf16(TR*2),this.dyn_dtree=new Ut.Buf16((2*AR+1)*2),this.bl_tree=new Ut.Buf16((2*kR+1)*2),hi(this.dyn_ltree),hi(this.dyn_dtree),hi(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Ut.Buf16(CR+1),this.heap=new Ut.Buf16(2*Rh+1),hi(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Ut.Buf16(2*Rh+1),hi(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ty(e){var t;return!e||!e.state?mi(e,Rr):(e.total_in=e.total_out=0,e.data_type=wR,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Vc:Qi,e.adler=t.wrap===2?0:1,t.last_flush=ra,Pr._tr_init(t),gn)}function ry(e){var t=ty(e);return t===gn&&$R(e.state),t}function DR(e,t){return!e||!e.state||e.state.wrap!==2?Rr:(e.state.gzhead=t,gn)}function ny(e,t,r,n,i,a){if(!e)return Rr;var s=1;if(t===pR&&(t=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),i<1||i>bR||r!==zc||n<8||n>15||t<0||t>9||a<0||a>vR)return mi(e,Rr);n===8&&(n=9);var o=new LR;return e.state=o,o.strm=e,o.wrap=s,o.gzhead=null,o.w_bits=n,o.w_size=1<Z1||t<0)return e?mi(e,Rr):Rr;if(n=e.state,!e.output||!e.input&&e.avail_in!==0||n.status===Uo&&t!==gi)return mi(e,e.avail_out===0?Ch:Rr);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===Vc)if(n.wrap===2)e.adler=0,Ae(n,31),Ae(n,139),Ae(n,8),n.gzhead?(Ae(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Ae(n,n.gzhead.time&255),Ae(n,n.gzhead.time>>8&255),Ae(n,n.gzhead.time>>16&255),Ae(n,n.gzhead.time>>24&255),Ae(n,n.level===9?2:n.strategy>=Bc||n.level<2?4:0),Ae(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(Ae(n,n.gzhead.extra.length&255),Ae(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=fi(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Mh):(Ae(n,0),Ae(n,0),Ae(n,0),Ae(n,0),Ae(n,0),Ae(n,n.level===9?2:n.strategy>=Bc||n.level<2?4:0),Ae(n,RR),n.status=Qi);else{var s=zc+(n.w_bits-8<<4)<<8,o=-1;n.strategy>=Bc||n.level<2?o=0:n.level<6?o=1:n.level===6?o=2:o=3,s|=o<<6,n.strstart!==0&&(s|=PR),s+=31-s%31,n.status=Qi,Ho(n,s),n.strstart!==0&&(Ho(n,e.adler>>>16),Ho(n,e.adler&65535)),e.adler=1}if(n.status===Mh)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(n.gzhead.extra.length&65535)&&!(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=fi(e.adler,n.pending_buf,n.pending-i,i)),di(e),i=n.pending,n.pending===n.pending_buf_size));)Ae(n,n.gzhead.extra[n.gzindex]&255),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=fi(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=Hc)}else n.status=Hc;if(n.status===Hc)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=fi(e.adler,n.pending_buf,n.pending-i,i)),di(e),i=n.pending,n.pending===n.pending_buf_size)){a=1;break}n.gzindexi&&(e.adler=fi(e.adler,n.pending_buf,n.pending-i,i)),a===0&&(n.gzindex=0,n.status=Uc)}else n.status=Uc;if(n.status===Uc)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=fi(e.adler,n.pending_buf,n.pending-i,i)),di(e),i=n.pending,n.pending===n.pending_buf_size)){a=1;break}n.gzindexi&&(e.adler=fi(e.adler,n.pending_buf,n.pending-i,i)),a===0&&(n.status=Gc)}else n.status=Gc;if(n.status===Gc&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&di(e),n.pending+2<=n.pending_buf_size&&(Ae(n,e.adler&255),Ae(n,e.adler>>8&255),e.adler=0,n.status=Qi)):n.status=Qi),n.pending!==0){if(di(e),e.avail_out===0)return n.last_flush=-1,gn}else if(e.avail_in===0&&J1(t)<=J1(r)&&t!==gi)return mi(e,Ch);if(n.status===Uo&&e.avail_in!==0)return mi(e,Ch);if(e.avail_in!==0||n.lookahead!==0||t!==ra&&n.status!==Uo){var c=n.strategy===Bc?FR(n,t):n.strategy===gR?IR(n,t):ts[n.level].func(n,t);if((c===ea||c===rs)&&(n.status=Uo),c===pt||c===ea)return e.avail_out===0&&(n.last_flush=-1),gn;if(c===Go&&(t===fR?Pr._tr_align(n):t!==Z1&&(Pr._tr_stored_block(n,0,0,!1),t===dR&&(hi(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),di(e),e.avail_out===0))return n.last_flush=-1,gn}return t!==gi?gn:n.wrap<=0?K1:(n.wrap===2?(Ae(n,e.adler&255),Ae(n,e.adler>>8&255),Ae(n,e.adler>>16&255),Ae(n,e.adler>>24&255),Ae(n,e.total_in&255),Ae(n,e.total_in>>8&255),Ae(n,e.total_in>>16&255),Ae(n,e.total_in>>24&255)):(Ho(n,e.adler>>>16),Ho(n,e.adler&65535)),di(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?gn:K1)}function BR(e){var t;return!e||!e.state?Rr:(t=e.state.status,t!==Vc&&t!==Mh&&t!==Hc&&t!==Uc&&t!==Gc&&t!==Qi&&t!==Uo?mi(e,Rr):(e.state=null,t===Qi?mi(e,hR):gn))}function HR(e,t){var r=t.length,n,i,a,s,o,c,l,u;if(!e||!e.state||(n=e.state,s=n.wrap,s===2||s===1&&n.status!==Vc||n.lookahead))return Rr;for(s===1&&(e.adler=Q1(e.adler,t,r,0)),n.wrap=0,r>=n.w_size&&(s===0&&(hi(n.head),n.strstart=0,n.block_start=0,n.insert=0),u=new Ut.Buf8(n.w_size),Ut.arraySet(u,t,r-n.w_size,n.w_size,0),t=u,r=n.w_size),o=e.avail_in,c=e.next_in,l=e.input,e.avail_in=r,e.next_in=0,e.input=t,ta(n);n.lookahead>=we;){i=n.strstart,a=n.lookahead-(we-1);do n.ins_h=(n.ins_h<{"use strict";g();var Wc=Dn(),ay=!0,sy=!0;try{String.fromCharCode.apply(null,[0])}catch(e){ay=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){sy=!1}var zo=new Wc.Buf8(256);for(jn=0;jn<256;jn++)zo[jn]=jn>=252?6:jn>=248?5:jn>=240?4:jn>=224?3:jn>=192?2:1;var jn;zo[254]=zo[254]=1;ns.string2buf=function(e){var t,r,n,i,a,s=e.length,o=0;for(i=0;i>>6,t[a++]=128|r&63):r<65536?(t[a++]=224|r>>>12,t[a++]=128|r>>>6&63,t[a++]=128|r&63):(t[a++]=240|r>>>18,t[a++]=128|r>>>12&63,t[a++]=128|r>>>6&63,t[a++]=128|r&63);return t};function oy(e,t){if(t<65534&&(e.subarray&&sy||!e.subarray&&ay))return String.fromCharCode.apply(null,Wc.shrinkBuf(e,t));for(var r="",n=0;n4){o[n++]=65533,r+=a-1;continue}for(i&=a===2?31:a===3?15:7;a>1&&r1){o[n++]=65533;continue}i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|i&1023)}return oy(o,n)};ns.utf8border=function(e,t){var r;for(t=t||e.length,t>e.length&&(t=e.length),r=t-1;r>=0&&(e[r]&192)===128;)r--;return r<0||r===0?t:r+zo[e[r]]>t?r:t}});var Ih=I((bU,ly)=>{"use strict";g();function UR(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}ly.exports=UR});var dy=I(qo=>{"use strict";g();var Vo=iy(),Wo=Dn(),$h=Oh(),Lh=jc(),GR=Ih(),fy=Object.prototype.toString,zR=0,Fh=4,is=0,cy=1,uy=2,VR=-1,WR=0,qR=8;function na(e){if(!(this instanceof na))return new na(e);this.options=Wo.assign({level:VR,method:qR,chunkSize:16384,windowBits:15,memLevel:8,strategy:WR,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new GR,this.strm.avail_out=0;var r=Vo.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==is)throw new Error(Lh[r]);if(t.header&&Vo.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(typeof t.dictionary=="string"?n=$h.string2buf(t.dictionary):fy.call(t.dictionary)==="[object ArrayBuffer]"?n=new Uint8Array(t.dictionary):n=t.dictionary,r=Vo.deflateSetDictionary(this.strm,n),r!==is)throw new Error(Lh[r]);this._dict_set=!0}}na.prototype.push=function(e,t){var r=this.strm,n=this.options.chunkSize,i,a;if(this.ended)return!1;a=t===~~t?t:t===!0?Fh:zR,typeof e=="string"?r.input=$h.string2buf(e):fy.call(e)==="[object ArrayBuffer]"?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new Wo.Buf8(n),r.next_out=0,r.avail_out=n),i=Vo.deflate(r,a),i!==cy&&i!==is)return this.onEnd(i),this.ended=!0,!1;(r.avail_out===0||r.avail_in===0&&(a===Fh||a===uy))&&(this.options.to==="string"?this.onData($h.buf2binstring(Wo.shrinkBuf(r.output,r.next_out))):this.onData(Wo.shrinkBuf(r.output,r.next_out)))}while((r.avail_in>0||r.avail_out===0)&&i!==cy);return a===Fh?(i=Vo.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===is):(a===uy&&(this.onEnd(is),r.avail_out=0),!0)};na.prototype.onData=function(e){this.chunks.push(e)};na.prototype.onEnd=function(e){e===is&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Wo.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Dh(e,t){var r=new na(t);if(r.push(e,!0),r.err)throw r.msg||Lh[r.err];return r.result}function YR(e,t){return t=t||{},t.raw=!0,Dh(e,t)}function XR(e,t){return t=t||{},t.gzip=!0,Dh(e,t)}qo.Deflate=na;qo.deflate=Dh;qo.deflateRaw=YR;qo.gzip=XR});var py=I((EU,hy)=>{"use strict";g();var qc=30,ZR=12;hy.exports=function(t,r){var n,i,a,s,o,c,l,u,f,d,h,p,m,v,y,b,x,E,_,k,w,A,S,T,P;n=t.state,i=t.next_in,T=t.input,a=i+(t.avail_in-5),s=t.next_out,P=t.output,o=s-(r-t.avail_out),c=s+(t.avail_out-257),l=n.dmax,u=n.wsize,f=n.whave,d=n.wnext,h=n.window,p=n.hold,m=n.bits,v=n.lencode,y=n.distcode,b=(1<>>24,p>>>=_,m-=_,_=E>>>16&255,_===0)P[s++]=E&65535;else if(_&16){k=E&65535,_&=15,_&&(m<_&&(p+=T[i++]<>>=_,m-=_),m<15&&(p+=T[i++]<>>24,p>>>=_,m-=_,_=E>>>16&255,_&16){if(w=E&65535,_&=15,m<_&&(p+=T[i++]<l){t.msg="invalid distance too far back",n.mode=qc;break e}if(p>>>=_,m-=_,_=s-o,w>_){if(_=w-_,_>f&&n.sane){t.msg="invalid distance too far back",n.mode=qc;break e}if(A=0,S=h,d===0){if(A+=u-_,_2;)P[s++]=S[A++],P[s++]=S[A++],P[s++]=S[A++],k-=3;k&&(P[s++]=S[A++],k>1&&(P[s++]=S[A++]))}else{A=s-w;do P[s++]=P[A++],P[s++]=P[A++],P[s++]=P[A++],k-=3;while(k>2);k&&(P[s++]=P[A++],k>1&&(P[s++]=P[A++]))}}else if(_&64){t.msg="invalid distance code",n.mode=qc;break e}else{E=y[(E&65535)+(p&(1<<_)-1)];continue r}break}}else if(_&64)if(_&32){n.mode=ZR;break e}else{t.msg="invalid literal/length code",n.mode=qc;break e}else{E=v[(E&65535)+(p&(1<<_)-1)];continue t}break}}while(i>3,i-=k,m-=k<<3,p&=(1<{"use strict";g();var my=Dn(),as=15,gy=852,vy=592,yy=0,Nh=1,wy=2,KR=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],JR=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],QR=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],e6=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];by.exports=function(t,r,n,i,a,s,o,c){var l=c.bits,u=0,f=0,d=0,h=0,p=0,m=0,v=0,y=0,b=0,x=0,E,_,k,w,A,S=null,T=0,P,O=new my.Buf16(as+1),j=new my.Buf16(as+1),D=null,Q=0,de,ee,J;for(u=0;u<=as;u++)O[u]=0;for(f=0;f=1&&O[h]===0;h--);if(p>h&&(p=h),h===0)return a[s++]=1<<24|64<<16|0,a[s++]=1<<24|64<<16|0,c.bits=1,0;for(d=1;d0&&(t===yy||h!==1))return-1;for(j[1]=0,u=1;ugy||t===wy&&b>vy)return 1;for(;;){de=u-v,o[f]P?(ee=D[Q+o[f]],J=S[T+o[f]]):(ee=96,J=0),E=1<>v)+_]=de<<24|ee<<16|J|0;while(_!==0);for(E=1<>=1;if(E!==0?(x&=E-1,x+=E):x=0,f++,--O[u]===0){if(u===h)break;u=r[n+o[f]]}if(u>p&&(x&w)!==k){for(v===0&&(v=p),A+=d,m=u-v,y=1<gy||t===wy&&b>vy)return 1;k=x&w,a[k]=p<<24|m<<16|A-s|0}}return x!==0&&(a[A+x]=u-v<<24|64<<16|0),c.bits=p,0}});var rw=I(Zr=>{"use strict";g();var dr=Dn(),zh=kh(),yn=Th(),t6=py(),Yo=_y(),r6=0,qy=1,Yy=2,xy=4,n6=5,Yc=6,ia=0,i6=1,a6=2,Mr=-2,Xy=-3,Vh=-4,s6=-5,Sy=8,Zy=1,Ey=2,Ay=3,ky=4,Ty=5,Cy=6,Py=7,Ry=8,My=9,Oy=10,Kc=11,Bn=12,jh=13,Iy=14,Bh=15,Fy=16,$y=17,Ly=18,Dy=19,Xc=20,Zc=21,Ny=22,jy=23,By=24,Hy=25,Uy=26,Hh=27,Gy=28,zy=29,je=30,Wh=31,o6=32,l6=852,c6=592,u6=15,f6=u6;function Vy(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function d6(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new dr.Buf16(320),this.work=new dr.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Ky(e){var t;return!e||!e.state?Mr:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Zy,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new dr.Buf32(l6),t.distcode=t.distdyn=new dr.Buf32(c6),t.sane=1,t.back=-1,ia)}function Jy(e){var t;return!e||!e.state?Mr:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,Ky(e))}function Qy(e,t){var r,n;return!e||!e.state||(n=e.state,t<0?(r=0,t=-t):(r=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?Mr:(n.window!==null&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,Jy(e))}function ew(e,t){var r,n;return e?(n=new d6,e.state=n,n.window=null,r=Qy(e,t),r!==ia&&(e.state=null),r):Mr}function h6(e){return ew(e,f6)}var Wy=!0,Uh,Gh;function p6(e){if(Wy){var t;for(Uh=new dr.Buf32(512),Gh=new dr.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Yo(qy,e.lens,0,288,Uh,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Yo(Yy,e.lens,0,32,Gh,0,e.work,{bits:5}),Wy=!1}e.lencode=Uh,e.lenbits=9,e.distcode=Gh,e.distbits=5}function tw(e,t,r,n){var i,a=e.state;return a.window===null&&(a.wsize=1<=a.wsize?(dr.arraySet(a.window,t,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>n&&(i=n),dr.arraySet(a.window,t,r-n,i,a.wnext),n-=i,n?(dr.arraySet(a.window,t,r-n,n,0),a.wnext=n,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave>>8&255,r.check=yn(r.check,S,2,0),l=0,u=0,r.mode=Ey;break}if(r.flags=0,r.head&&(r.head.done=!1),!(r.wrap&1)||(((l&255)<<8)+(l>>8))%31){e.msg="incorrect header check",r.mode=je;break}if((l&15)!==Sy){e.msg="unknown compression method",r.mode=je;break}if(l>>>=4,u-=4,w=(l&15)+8,r.wbits===0)r.wbits=w;else if(w>r.wbits){e.msg="invalid window size",r.mode=je;break}r.dmax=1<>8&1),r.flags&512&&(S[0]=l&255,S[1]=l>>>8&255,r.check=yn(r.check,S,2,0)),l=0,u=0,r.mode=Ay;case Ay:for(;u<32;){if(o===0)break e;o--,l+=n[a++]<>>8&255,S[2]=l>>>16&255,S[3]=l>>>24&255,r.check=yn(r.check,S,4,0)),l=0,u=0,r.mode=ky;case ky:for(;u<16;){if(o===0)break e;o--,l+=n[a++]<>8),r.flags&512&&(S[0]=l&255,S[1]=l>>>8&255,r.check=yn(r.check,S,2,0)),l=0,u=0,r.mode=Ty;case Ty:if(r.flags&1024){for(;u<16;){if(o===0)break e;o--,l+=n[a++]<>>8&255,r.check=yn(r.check,S,2,0)),l=0,u=0}else r.head&&(r.head.extra=null);r.mode=Cy;case Cy:if(r.flags&1024&&(h=r.length,h>o&&(h=o),h&&(r.head&&(w=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),dr.arraySet(r.head.extra,n,a,h,w)),r.flags&512&&(r.check=yn(r.check,n,h,a)),o-=h,a+=h,r.length-=h),r.length))break e;r.length=0,r.mode=Py;case Py:if(r.flags&2048){if(o===0)break e;h=0;do w=n[a+h++],r.head&&w&&r.length<65536&&(r.head.name+=String.fromCharCode(w));while(w&&h>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=Bn;break;case Oy:for(;u<32;){if(o===0)break e;o--,l+=n[a++]<>>=u&7,u-=u&7,r.mode=Hh;break}for(;u<3;){if(o===0)break e;o--,l+=n[a++]<>>=1,u-=1,l&3){case 0:r.mode=Iy;break;case 1:if(p6(r),r.mode=Xc,t===Yc){l>>>=2,u-=2;break e}break;case 2:r.mode=$y;break;case 3:e.msg="invalid block type",r.mode=je}l>>>=2,u-=2;break;case Iy:for(l>>>=u&7,u-=u&7;u<32;){if(o===0)break e;o--,l+=n[a++]<>>16^65535)){e.msg="invalid stored block lengths",r.mode=je;break}if(r.length=l&65535,l=0,u=0,r.mode=Bh,t===Yc)break e;case Bh:r.mode=Fy;case Fy:if(h=r.length,h){if(h>o&&(h=o),h>c&&(h=c),h===0)break e;dr.arraySet(i,n,a,h,s),o-=h,a+=h,c-=h,s+=h,r.length-=h;break}r.mode=Bn;break;case $y:for(;u<14;){if(o===0)break e;o--,l+=n[a++]<>>=5,u-=5,r.ndist=(l&31)+1,l>>>=5,u-=5,r.ncode=(l&15)+4,l>>>=4,u-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=je;break}r.have=0,r.mode=Ly;case Ly:for(;r.have>>=3,u-=3}for(;r.have<19;)r.lens[O[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,T={bits:r.lenbits},A=Yo(r6,r.lens,0,19,r.lencode,0,r.work,T),r.lenbits=T.bits,A){e.msg="invalid code lengths set",r.mode=je;break}r.have=0,r.mode=Dy;case Dy:for(;r.have>>24,b=v>>>16&255,x=v&65535,!(y<=u);){if(o===0)break e;o--,l+=n[a++]<>>=y,u-=y,r.lens[r.have++]=x;else{if(x===16){for(P=y+2;u>>=y,u-=y,r.have===0){e.msg="invalid bit length repeat",r.mode=je;break}w=r.lens[r.have-1],h=3+(l&3),l>>>=2,u-=2}else if(x===17){for(P=y+3;u>>=y,u-=y,w=0,h=3+(l&7),l>>>=3,u-=3}else{for(P=y+7;u>>=y,u-=y,w=0,h=11+(l&127),l>>>=7,u-=7}if(r.have+h>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=je;break}for(;h--;)r.lens[r.have++]=w}}if(r.mode===je)break;if(r.lens[256]===0){e.msg="invalid code -- missing end-of-block",r.mode=je;break}if(r.lenbits=9,T={bits:r.lenbits},A=Yo(qy,r.lens,0,r.nlen,r.lencode,0,r.work,T),r.lenbits=T.bits,A){e.msg="invalid literal/lengths set",r.mode=je;break}if(r.distbits=6,r.distcode=r.distdyn,T={bits:r.distbits},A=Yo(Yy,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,T),r.distbits=T.bits,A){e.msg="invalid distances set",r.mode=je;break}if(r.mode=Xc,t===Yc)break e;case Xc:r.mode=Zc;case Zc:if(o>=6&&c>=258){e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=l,r.bits=u,t6(e,d),s=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,n=e.input,o=e.avail_in,l=r.hold,u=r.bits,r.mode===Bn&&(r.back=-1);break}for(r.back=0;v=r.lencode[l&(1<>>24,b=v>>>16&255,x=v&65535,!(y<=u);){if(o===0)break e;o--,l+=n[a++]<>E)],y=v>>>24,b=v>>>16&255,x=v&65535,!(E+y<=u);){if(o===0)break e;o--,l+=n[a++]<>>=E,u-=E,r.back+=E}if(l>>>=y,u-=y,r.back+=y,r.length=x,b===0){r.mode=Uy;break}if(b&32){r.back=-1,r.mode=Bn;break}if(b&64){e.msg="invalid literal/length code",r.mode=je;break}r.extra=b&15,r.mode=Ny;case Ny:if(r.extra){for(P=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=jy;case jy:for(;v=r.distcode[l&(1<>>24,b=v>>>16&255,x=v&65535,!(y<=u);){if(o===0)break e;o--,l+=n[a++]<>E)],y=v>>>24,b=v>>>16&255,x=v&65535,!(E+y<=u);){if(o===0)break e;o--,l+=n[a++]<>>=E,u-=E,r.back+=E}if(l>>>=y,u-=y,r.back+=y,b&64){e.msg="invalid distance code",r.mode=je;break}r.offset=x,r.extra=b&15,r.mode=By;case By:if(r.extra){for(P=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=je;break}r.mode=Hy;case Hy:if(c===0)break e;if(h=d-c,r.offset>h){if(h=r.offset-h,h>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=je;break}h>r.wnext?(h-=r.wnext,p=r.wsize-h):p=r.wnext-h,h>r.length&&(h=r.length),m=r.window}else m=i,p=s-r.offset,h=r.length;h>c&&(h=c),c-=h,r.length-=h;do i[s++]=m[p++];while(--h);r.length===0&&(r.mode=Zc);break;case Uy:if(c===0)break e;i[s++]=r.length,c--,r.mode=Zc;break;case Hh:if(r.wrap){for(;u<32;){if(o===0)break e;o--,l|=n[a++]<{"use strict";g();nw.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var aw=I((OU,iw)=>{"use strict";g();function w6(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}iw.exports=w6});var ow=I(Zo=>{"use strict";g();var ss=rw(),Xo=Dn(),Jc=Oh(),et=qh(),Yh=jc(),b6=Ih(),_6=aw(),sw=Object.prototype.toString;function aa(e){if(!(this instanceof aa))return new aa(e);this.options=Xo.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new b6,this.strm.avail_out=0;var r=ss.inflateInit2(this.strm,t.windowBits);if(r!==et.Z_OK)throw new Error(Yh[r]);if(this.header=new _6,ss.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Jc.string2buf(t.dictionary):sw.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=ss.inflateSetDictionary(this.strm,t.dictionary),r!==et.Z_OK)))throw new Error(Yh[r])}aa.prototype.push=function(e,t){var r=this.strm,n=this.options.chunkSize,i=this.options.dictionary,a,s,o,c,l,u=!1;if(this.ended)return!1;s=t===~~t?t:t===!0?et.Z_FINISH:et.Z_NO_FLUSH,typeof e=="string"?r.input=Jc.binstring2buf(e):sw.call(e)==="[object ArrayBuffer]"?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new Xo.Buf8(n),r.next_out=0,r.avail_out=n),a=ss.inflate(r,et.Z_NO_FLUSH),a===et.Z_NEED_DICT&&i&&(a=ss.inflateSetDictionary(this.strm,i)),a===et.Z_BUF_ERROR&&u===!0&&(a=et.Z_OK,u=!1),a!==et.Z_STREAM_END&&a!==et.Z_OK)return this.onEnd(a),this.ended=!0,!1;r.next_out&&(r.avail_out===0||a===et.Z_STREAM_END||r.avail_in===0&&(s===et.Z_FINISH||s===et.Z_SYNC_FLUSH))&&(this.options.to==="string"?(o=Jc.utf8border(r.output,r.next_out),c=r.next_out-o,l=Jc.buf2string(r.output,o),r.next_out=c,r.avail_out=n-c,c&&Xo.arraySet(r.output,r.output,o,c,0),this.onData(l)):this.onData(Xo.shrinkBuf(r.output,r.next_out))),r.avail_in===0&&r.avail_out===0&&(u=!0)}while((r.avail_in>0||r.avail_out===0)&&a!==et.Z_STREAM_END);return a===et.Z_STREAM_END&&(s=et.Z_FINISH),s===et.Z_FINISH?(a=ss.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===et.Z_OK):(s===et.Z_SYNC_FLUSH&&(this.onEnd(et.Z_OK),r.avail_out=0),!0)};aa.prototype.onData=function(e){this.chunks.push(e)};aa.prototype.onEnd=function(e){e===et.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Xo.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Xh(e,t){var r=new aa(t);if(r.push(e,!0),r.err)throw r.msg||Yh[r.err];return r.result}function x6(e,t){return t=t||{},t.raw=!0,Xh(e,t)}Zo.Inflate=aa;Zo.inflate=Xh;Zo.inflateRaw=x6;Zo.ungzip=Xh});var uw=I((LU,cw)=>{"use strict";g();var S6=Dn().assign,E6=dy(),A6=ow(),k6=qh(),lw={};S6(lw,E6,A6,k6);cw.exports=lw});var hw=I((NU,dw)=>{"use strict";g();var fw=(e,t)=>function(...r){let n=t.promiseModule;return new n((i,a)=>{t.multiArgs?r.push((...s)=>{t.errorFirst?s[0]?a(s):(s.shift(),i(s)):i(s)}):t.errorFirst?r.push((s,o)=>{s?a(s):i(o)}):r.push(i),e.apply(this,r)})};dw.exports=(e,t)=>{t=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},t);let r=typeof e;if(!(e!==null&&(r==="object"||r==="function")))throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${e===null?"null":r}\``);let n=a=>{let s=o=>typeof o=="string"?a===o:o.test(a);return t.include?t.include.some(s):!t.exclude.some(s)},i;r==="function"?i=function(...a){return t.excludeMain?e(...a):fw(e,t).apply(this,a)}:i=Object.create(Object.getPrototypeOf(e));for(let a in e){let s=e[a];i[a]=typeof s=="function"&&n(a)?fw(s,t):s}return i}});var xw=I((BU,_w)=>{g();function pw(e){return Array.isArray(e)?e:[e]}var Jh="",mw=" ",Zh="\\",T6=/^\s+$/,C6=/(?:[^\\]|^)\\$/,P6=/^\\!/,R6=/^\\#/,M6=/\r?\n/g,O6=/^\.*\/|^\.+$/,Kh="/",yw="node-ignore";typeof Symbol!="undefined"&&(yw=Symbol.for("node-ignore"));var gw=yw,I6=(e,t,r)=>Object.defineProperty(e,t,{value:r}),F6=/([0-z])-([0-z])/g,ww=()=>!1,$6=e=>e.replace(F6,(t,r,n)=>r.charCodeAt(0)<=n.charCodeAt(0)?t:Jh),L6=e=>{let{length:t}=e;return e.slice(0,t-t%2)},D6=[[/^\uFEFF/,()=>Jh],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,r)=>t+(r.indexOf("\\")===0?mw:Jh)],[/(\\+?)\s/g,(e,t)=>{let{length:r}=t;return t.slice(0,r-r%2)+mw}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,r)=>t+6{let n=r.replace(/\\\*/g,"[^\\/]*");return t+n}],[/\\\\\\(?=[$.|*+(){^])/g,()=>Zh],[/\\\\/g,()=>Zh],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,r,n,i)=>t===Zh?`\\[${r}${L6(n)}${i}`:i==="]"&&n.length%2===0?`[${$6(r)}${n}]`:"[]"],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(e,t)=>`${t?`${t}[^/]+`:"[^/]*"}(?=$|\\/$)`]],vw=Object.create(null),N6=(e,t)=>{let r=vw[e];return r||(r=D6.reduce((n,[i,a])=>n.replace(i,a.bind(e)),e),vw[e]=r),t?new RegExp(r,"i"):new RegExp(r)},tp=e=>typeof e=="string",j6=e=>e&&tp(e)&&!T6.test(e)&&!C6.test(e)&&e.indexOf("#")!==0,B6=e=>e.split(M6),Qh=class{constructor(t,r,n,i){this.origin=t,this.pattern=r,this.negative=n,this.regex=i}},H6=(e,t)=>{let r=e,n=!1;e.indexOf("!")===0&&(n=!0,e=e.substr(1)),e=e.replace(P6,"!").replace(R6,"#");let i=N6(e,t);return new Qh(r,e,n,i)},U6=(e,t)=>{throw new t(e)},Hn=(e,t,r)=>tp(e)?e?Hn.isNotRelative(e)?r(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${t}\``,TypeError),bw=e=>O6.test(e);Hn.isNotRelative=bw;Hn.convert=e=>e;var ep=class{constructor({ignorecase:t=!0,ignoreCase:r=t,allowRelativePaths:n=!1}={}){I6(this,gw,!0),this._rules=[],this._ignoreCase=r,this._allowRelativePaths=n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(t){if(t&&t[gw]){this._rules=this._rules.concat(t._rules),this._added=!0;return}if(j6(t)){let r=H6(t,this._ignoreCase);this._added=!0,this._rules.push(r)}}add(t){return this._added=!1,pw(tp(t)?B6(t):t).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(t){return this.add(t)}_testOne(t,r){let n=!1,i=!1;return this._rules.forEach(a=>{let{negative:s}=a;if(i===s&&n!==i||s&&!n&&!i&&!r)return;a.regex.test(t)&&(n=!s,i=s)}),{ignored:n,unignored:i}}_test(t,r,n,i){let a=t&&Hn.convert(t);return Hn(a,t,this._allowRelativePaths?ww:U6),this._t(a,r,n,i)}_t(t,r,n,i){if(t in r)return r[t];if(i||(i=t.split(Kh)),i.pop(),!i.length)return r[t]=this._testOne(t,n);let a=this._t(i.join(Kh)+Kh,r,n,i);return r[t]=a.ignored?a:this._testOne(t,n)}ignores(t){return this._test(t,this._ignoreCache,!1).ignored}createFilter(){return t=>!this.ignores(t)}filter(t){return pw(t).filter(this.createFilter())}test(t){return this._test(t,this._testCache,!0)}},Qc=e=>new ep(e),G6=e=>Hn(e&&Hn.convert(e),e,ww);Qc.isPathValid=G6;Qc.default=Qc;_w.exports=Qc;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let e=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");Hn.convert=e;let t=/^[a-z]:\//i;Hn.isNotRelative=r=>t.test(r)||bw(r)}});var Ew=I((UU,Sw)=>{"use strict";g();function z6(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function wn(e,t,r){return t=t instanceof RegExp?t:new RegExp(z6(t),"g"),e.replace(t,r)}var V6={clean:function(t){if(typeof t!="string")throw new Error("Expected a string, received: "+t);return t=wn(t,"./","/"),t=wn(t,"..","."),t=wn(t," ","-"),t=wn(t,/^[~^:?*\\\-]/g,""),t=wn(t,/[~^:?*\\]/g,"-"),t=wn(t,/[~^:?*\\\-]$/g,""),t=wn(t,"@{","-"),t=wn(t,/\.$/g,""),t=wn(t,/\/$/g,""),t=wn(t,/\.lock$/g,""),t}};Sw.exports=V6});var kw=I((zU,Aw)=>{g();Aw.exports=function(e,t){var r=e,n=t,i=r.length,a=n.length,s=!1,o=null,c=i+1,l=[],u=[],f=[],d="",h=-1,p=0,m=1,v,y,b=function(){i>=a&&(v=r,y=i,r=n,n=v,i=a,a=y,s=!0,c=i+1)},x=function(w,A,S){return{x:w,y:A,k:S}},E=function(w,A){return{elem:w,t:A}},_=function(w,A,S){var T,P,O;for(A>S?T=l[w-1+c]:T=l[w+1+c],O=Math.max(A,S),P=O-w;P=0;--O)for(;TP-T?(s?f[f.length]=new E(n[P],h):f[f.length]=new E(n[P],m),++S,++P):w[O].y-w[O].x=w+1;--D)S[D+c]=_(D,S[D-1+c]+1,S[D+1+c]);S[w+c]=_(w,S[w-1+c]+1,S[w+1+c])}while(S[w+c]!==a);for(o=w+2*T,P=l[w+c],O=[];P!==-1;)O[O.length]=new x(u[P].x,u[P].y,null),P=u[P].k;k(O)}}}});var Pw=I((WU,Cw)=>{g();var W6=kw();function q6(e,t){var r=new W6(e,t);r.compose();for(var n=r.getses(),i,a,s=e.length-1,o=t.length-1,c=n.length-1;c>=0;--c)n[c].t===r.SES_COMMON?(a?(a.chain={file1index:s,file2index:o,chain:null},a=a.chain):(i={file1index:s,file2index:o,chain:null},a=i),s--,o--):n[c].t===r.SES_DELETE?s--:n[c].t===r.SES_ADD&&o--;var l={file1index:-1,file2index:-1,chain:null};return a?(a.chain=l,i):l}function Tw(e,t){for(var r=[],n=e.length,i=t.length,a=q6(e,t);a!==null;a=a.chain){var s=n-a.file1index-1,o=i-a.file2index-1;n=a.file1index,i=a.file2index,(s||o)&&r.push({file1:[n+1,s],file2:[i+1,o]})}return r.reverse(),r}function Y6(e,t,r){var n,i=Tw(t,e),a=Tw(t,r),s=[];function o(j,D){s.push([j.file1[0],D,j.file1[1],j.file2[0],j.file2[1]])}for(n=0;nl&&(c.push([1,l,j-l]),l=j)}for(var f=0;fm)break;m=Math.max(m,y+v[2]),f++}if(u(p),d==f)h[4]>0&&c.push([h[1],h[3],h[4]]);else{var b={0:[e.length,-1,t.length,-1],2:[r.length,-1,t.length,-1]};for(n=d;n<=f;n++){h=s[n];var x=h[1],E=b[x],_=h[0],k=_+h[2],w=h[3],A=w+h[4];E[0]=Math.min(w,E[0]),E[1]=Math.max(A,E[1]),E[2]=Math.min(_,E[2]),E[3]=Math.max(k,E[3])}var S=b[0][0]+(p-b[0][2]),T=b[0][1]+(m-b[0][3]),P=b[2][0]+(p-b[2][2]),O=b[2][1]+(m-b[2][3]);c.push([-1,S,T-S,p,m-p,P,O-P])}l=m}return u(t.length),c}function X6(e,t,r){var n=[],i=[e,t,r],a=Y6(e,t,r),s=[];function o(){s.length&&n.push({ok:s}),s=[]}function c(h){for(var p=0;p{g();var Es=1e3,As=Es*60,ks=As*60,da=ks*24,J8=da*7,Q8=da*365.25;O2.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return eI(e);if(r==="number"&&isFinite(e))return t.long?rI(e):tI(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function eI(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*Q8;case"weeks":case"week":case"w":return r*J8;case"days":case"day":case"d":return r*da;case"hours":case"hour":case"hrs":case"hr":case"h":return r*ks;case"minutes":case"minute":case"mins":case"min":case"m":return r*As;case"seconds":case"second":case"secs":case"sec":case"s":return r*Es;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function tI(e){var t=Math.abs(e);return t>=da?Math.round(e/da)+"d":t>=ks?Math.round(e/ks)+"h":t>=As?Math.round(e/As)+"m":t>=Es?Math.round(e/Es)+"s":e+"ms"}function rI(e){var t=Math.abs(e);return t>=da?bu(e,t,da,"day"):t>=ks?bu(e,t,ks,"hour"):t>=As?bu(e,t,As,"minute"):t>=Es?bu(e,t,Es,"second"):e+" ms"}function bu(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var $2=I((tG,F2)=>{g();function nI(e){r.debug=r,r.default=r,r.coerce=c,r.disable=a,r.enable=i,r.enabled=s,r.humanize=I2(),r.destroy=l,Object.keys(e).forEach(u=>{r[u]=e[u]}),r.names=[],r.skips=[],r.formatters={};function t(u){let f=0;for(let d=0;d{if(k==="%%")return"%";E++;let A=r.formatters[w];if(typeof A=="function"){let S=v[E];k=A.call(y,S),v.splice(E,1),E--}return k}),r.formatArgs.call(y,v),(y.log||r.log).apply(y,v)}return m.namespace=u,m.useColors=r.useColors(),m.color=r.selectColor(u),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==r.namespaces&&(h=r.namespaces,p=r.enabled(u)),p),set:v=>{d=v}}),typeof r.init=="function"&&r.init(m),m}function n(u,f){let d=r(this.namespace+(typeof f=="undefined"?":":f)+u);return d.log=this.log,d}function i(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let f,d=(typeof u=="string"?u:"").split(/[\s,]+/),h=d.length;for(f=0;f"-"+f)].join(",");return r.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let f,d;for(f=0,d=r.skips.length;f{g();mr.formatArgs=aI;mr.save=sI;mr.load=oI;mr.useColors=iI;mr.storage=lI();mr.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();mr.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function iI(){if(typeof window!="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function aI(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+_u.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),e.splice(n,0,t)}mr.log=console.debug||console.log||(()=>{});function sI(e){try{e?mr.storage.setItem("debug",e):mr.storage.removeItem("debug")}catch(t){}}function oI(){let e;try{e=mr.storage.getItem("debug")}catch(t){}return!e&&typeof process!="undefined"&&"env"in process&&(e=process.env.DEBUG),e}function lI(){try{return localStorage}catch(e){}}_u.exports=$2()(mr);var{formatters:cI}=_u.exports;cI.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var L2=I(gr=>{"use strict";g();var uI=gr&&gr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(gr,"__esModule",{value:!0});var fI=require("fs"),dI=uI(xu()),Ts=dI.default("@kwsites/file-exists");function hI(e,t,r){Ts("checking %s",e);try{let n=fI.statSync(e);return n.isFile()&&t?(Ts("[OK] path represents a file"),!0):n.isDirectory()&&r?(Ts("[OK] path represents a directory"),!0):(Ts("[FAIL] path represents something other than a file or directory"),!1)}catch(n){if(n.code==="ENOENT")return Ts("[FAIL] path is not accessible: %o",n),!1;throw Ts("[FATAL] %o",n),n}}function pI(e,t=gr.READABLE){return hI(e,(t&gr.FILE)>0,(t&gr.FOLDER)>0)}gr.exists=pI;gr.FILE=1;gr.FOLDER=2;gr.READABLE=gr.FILE+gr.FOLDER});var D2=I(Su=>{"use strict";g();function mI(e){for(var t in e)Su.hasOwnProperty(t)||(Su[t]=e[t])}Object.defineProperty(Su,"__esModule",{value:!0});mI(L2())});var Mp=I(ha=>{"use strict";g();Object.defineProperty(ha,"__esModule",{value:!0});ha.createDeferred=ha.deferred=void 0;function Rp(){let e,t,r="pending";return{promise:new Promise((i,a)=>{e=i,t=a}),done(i){r==="pending"&&(r="resolved",e(i))},fail(i){r==="pending"&&(r="rejected",t(i))},get fulfilled(){return r!=="pending"},get status(){return r}}}ha.deferred=Rp;ha.createDeferred=Rp;ha.default=Rp});var kx=I((qG,Ax)=>{"use strict";g();Ax.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Cx=I((XG,Tx)=>{g();var Sm={px:{px:1,cm:37.79527559055118,mm:3.7795275590551185,in:96,pt:1.3333333333333333,pc:16},cm:{px:.026458333333333334,cm:1,mm:.1,in:2.54,pt:.035277777777777776,pc:.42333333333333334},mm:{px:.26458333333333334,cm:10,mm:1,in:25.4,pt:.35277777777777775,pc:4.233333333333333},in:{px:.010416666666666666,cm:.39370078740157477,mm:.03937007874015748,in:1,pt:.013888888888888888,pc:.16666666666666666},pt:{px:.75,cm:28.346456692913385,mm:2.834645669291339,in:72,pt:1,pc:12},pc:{px:.0625,cm:2.3622047244094486,mm:.2362204724409449,in:6,pt:.08333333333333333,pc:1},deg:{deg:1,grad:.9,rad:180/Math.PI,turn:360},grad:{deg:1.1111111111111112,grad:1,rad:200/Math.PI,turn:400},rad:{deg:Math.PI/180,grad:Math.PI/200,rad:1,turn:Math.PI*2},turn:{deg:.002777777777777778,grad:.0025,rad:.5/Math.PI,turn:1},s:{s:1,ms:.001},ms:{s:1e3,ms:1},Hz:{Hz:1,kHz:1e3},kHz:{Hz:.001,kHz:1},dpi:{dpi:1,dpcm:.39370078740157477,dppx:.010416666666666666},dpcm:{dpi:2.54,dpcm:1,dppx:.026458333333333334},dppx:{dpi:96,dpcm:37.79527559055118,dppx:1}};Tx.exports=function(e,t,r,n){if(!Sm.hasOwnProperty(r))throw new Error("Cannot convert to "+r);if(!Sm[r].hasOwnProperty(t))throw new Error("Cannot convert from "+t+" to "+r);var i=Sm[r][t]*e;return n!==!1?(n=Math.pow(10,parseInt(n)||5),Math.round(i*n)/n):i}});var Ux=I(Wn=>{"use strict";g();Object.defineProperty(Wn,"__esModule",{value:!0});Wn.fromRgba=Fs;Wn.fromRgb=Em;Wn.fromHsla=Yu;Wn.fromHsl=Bx;Wn.fromString=Hx;Wn.default=void 0;var Px=Ox(kx()),T$=Ox(Cx());function Ox(e){return e&&e.__esModule?e:{default:e}}function C$(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Rx(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r-1}function F$(e,t,r){var n=e/255,i=t/255,a=r/255,s=Math.max(n,i,a),o=Math.min(n,i,a),c=s-o,l=(s+o)/2;if(c===0)return[0,0,l*100];var u=c/(1-Math.abs(2*l-1)),f=function(){switch(s){case n:return(i-a)/c%6;case i:return(a-n)/c+2;default:return(n-i)/c+4}}();return[f*60,u*100,l*100]}function $$(e,t,r){var n=e/60,i=t/100,a=r/100,s=(1-Math.abs(2*a-1))*i,o=s*(1-Math.abs(n%2-1)),c=a-s/2,l=function(){return n<1?[s,o,0]:n<2?[o,s,0]:n<3?[0,s,o]:n<4?[0,o,s]:n<5?[o,0,s]:[s,0,o]}(),u=Wt(l,3),f=u[0],d=u[1],h=u[2];return[(f+c)*255,(d+c)*255,(h+c)*255]}var L$=function(){function e(t){var r=Wt(t,4),n=r[0],i=r[1],a=r[2],s=r[3];C$(this,e),this.values=[Math.max(Math.min(parseInt(n,10),255),0),Math.max(Math.min(parseInt(i,10),255),0),Math.max(Math.min(parseInt(a,10),255),0),s==null?1:Math.max(Math.min(parseFloat(s),255),0)]}return P$(e,[{key:"toRgbString",value:function(){var r=Wt(this.values,4),n=r[0],i=r[1],a=r[2],s=r[3];return s===1?"rgb(".concat(n,", ").concat(i,", ").concat(a,")"):"rgba(".concat(n,", ").concat(i,", ").concat(a,", ").concat(s,")")}},{key:"toHslString",value:function(){var r=this.toHslaArray(),n=Wt(r,4),i=n[0],a=n[1],s=n[2],o=n[3];return o===1?"hsl(".concat(i,", ").concat(a,"%, ").concat(s,"%)"):"hsla(".concat(i,", ").concat(a,"%, ").concat(s,"%, ").concat(o,")")}},{key:"toHexString",value:function(){var r=Wt(this.values,4),n=r[0],i=r[1],a=r[2],s=r[3];return n=Number(n).toString(16).padStart(2,"0"),i=Number(i).toString(16).padStart(2,"0"),a=Number(a).toString(16).padStart(2,"0"),s=s<1?parseInt(s*255,10).toString(16).padStart(2,"0"):"","#".concat(n).concat(i).concat(a).concat(s)}},{key:"toRgbaArray",value:function(){return this.values}},{key:"toHslaArray",value:function(){var r=Wt(this.values,4),n=r[0],i=r[1],a=r[2],s=r[3],o=F$(n,i,a),c=Wt(o,3),l=c[0],u=c[1],f=c[2];return[l,u,f,s]}}]),e}();function Fs(e){var t=Wt(e,4),r=t[0],n=t[1],i=t[2],a=t[3];return new L$([r,n,i,a])}function Em(e){var t=Wt(e,3),r=t[0],n=t[1],i=t[2];return Fs([r,n,i,1])}function Yu(e){var t=Wt(e,4),r=t[0],n=t[1],i=t[2],a=t[3],s=$$(r,n,i),o=Wt(s,3),c=o[0],l=o[1],u=o[2];return Fs([c,l,u,a])}function Bx(e){var t=Wt(e,3),r=t[0],n=t[1],i=t[2];return Yu([r,n,i,1])}function D$(e){var t=Ix.exec(e)||Fx.exec(e),r=Wt(t,5),n=r[1],i=r[2],a=r[3],s=r[4];return n=parseInt(n.length<2?n.repeat(2):n,16),i=parseInt(i.length<2?i.repeat(2):i,16),a=parseInt(a.length<2?a.repeat(2):a,16),s=s&&(parseInt(s.length<2?s.repeat(2):s,16)/255).toPrecision(1)||1,Fs([n,i,a,s])}function N$(e){var t=$x.exec(e)||Dx.exec(e)||Lx.exec(e)||Nx.exec(e),r=Wt(t,5),n=r[1],i=r[2],a=r[3],s=r[4];return n=Ol(n,"%")?parseInt(n,10)*255/100:parseInt(n,10),i=Ol(i,"%")?parseInt(i,10)*255/100:parseInt(i,10),a=Ol(a,"%")>0?parseInt(a,10)*255/100:parseInt(a,10),s=s===void 0?1:parseFloat(s)/(Ol(s,"%")?100:1),Fs([n,i,a,s])}function j$(e){var t=jx.exec(e),r=Wt(t,6),n=r[1],i=r[2],a=r[3],s=r[4],o=r[5];return i=i||"deg",n=(0,T$.default)(parseFloat(n),i,"deg"),a=parseFloat(a),s=parseFloat(s),o=o===void 0?1:parseFloat(o)/(Ol(o,"%")?100:1),Yu([n,a,s,o])}function Hx(e){return Px.default[e]?Em(Px.default[e]):Ix.test(e)||Fx.test(e)?D$(e):$x.test(e)||Dx.test(e)||Lx.test(e)||Nx.test(e)?N$(e):jx.test(e)?j$(e):null}var B$={fromString:Hx,fromRgb:Em,fromRgba:Fs,fromHsl:Bx,fromHsla:Yu};Wn.default=B$});var Am=I((QG,zx)=>{"use strict";g();var Gx=Object.prototype.toString;zx.exports=function(t){var r=Gx.call(t),n=r==="[object Arguments]";return n||(n=r!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&Gx.call(t.callee)==="[object Function]"),n}});var Qx=I((tz,Jx)=>{"use strict";g();var Kx;Object.keys||(Il=Object.prototype.hasOwnProperty,km=Object.prototype.toString,Vx=Am(),Tm=Object.prototype.propertyIsEnumerable,Wx=!Tm.call({toString:null},"toString"),qx=Tm.call(function(){},"prototype"),Fl=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Xu=function(e){var t=e.constructor;return t&&t.prototype===e},Yx={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},Xx=function(){if(typeof window=="undefined")return!1;for(var e in window)try{if(!Yx["$"+e]&&Il.call(window,e)&&window[e]!==null&&typeof window[e]=="object")try{Xu(window[e])}catch(t){return!0}}catch(t){return!0}return!1}(),Zx=function(e){if(typeof window=="undefined"||!Xx)return Xu(e);try{return Xu(e)}catch(t){return!1}},Kx=function(t){var r=t!==null&&typeof t=="object",n=km.call(t)==="[object Function]",i=Vx(t),a=r&&km.call(t)==="[object String]",s=[];if(!r&&!n&&!i)throw new TypeError("Object.keys called on a non-object");var o=qx&&n;if(a&&t.length>0&&!Il.call(t,0))for(var c=0;c0)for(var l=0;l{"use strict";g();var H$=Array.prototype.slice,U$=Am(),eS=Object.keys,Zu=eS?function(t){return eS(t)}:Qx(),tS=Object.keys;Zu.shim=function(){if(Object.keys){var t=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);t||(Object.keys=function(n){return U$(n)?tS(H$.call(n)):tS(n)})}else Object.keys=Zu;return Object.keys||Zu};rS.exports=Zu});var iS=I((az,nS)=>{"use strict";g();nS.exports=Error});var sS=I((oz,aS)=>{"use strict";g();aS.exports=EvalError});var lS=I((cz,oS)=>{"use strict";g();oS.exports=RangeError});var uS=I((fz,cS)=>{"use strict";g();cS.exports=ReferenceError});var Cm=I((hz,fS)=>{"use strict";g();fS.exports=SyntaxError});var qn=I((mz,dS)=>{"use strict";g();dS.exports=TypeError});var pS=I((vz,hS)=>{"use strict";g();hS.exports=URIError});var $l=I((wz,mS)=>{"use strict";g();mS.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var i=42;t[r]=i;for(r in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var a=Object.getOwnPropertySymbols(t);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(t,r);if(s.value!==i||s.enumerable!==!0)return!1}return!0}});var Ju=I((_z,vS)=>{"use strict";g();var gS=typeof Symbol!="undefined"&&Symbol,G$=$l();vS.exports=function(){return typeof gS!="function"||typeof Symbol!="function"||typeof gS("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:G$()}});var wS=I((Sz,yS)=>{"use strict";g();var Pm={__proto__:null,foo:{}},z$=Object;yS.exports=function(){return{__proto__:Pm}.foo===Pm.foo&&!(Pm instanceof z$)}});var xS=I((Az,_S)=>{"use strict";g();var V$="Function.prototype.bind called on incompatible ",W$=Object.prototype.toString,q$=Math.max,Y$="[object Function]",bS=function(t,r){for(var n=[],i=0;i{"use strict";g();var K$=xS();SS.exports=Function.prototype.bind||K$});var Rm=I((Pz,ES)=>{"use strict";g();var J$=Function.prototype.call,Q$=Object.prototype.hasOwnProperty,eL=Qu();ES.exports=eL.call(J$,Q$)});var Qr=I((Mz,PS)=>{"use strict";g();var ve,tL=iS(),rL=sS(),nL=lS(),iL=uS(),Ns=Cm(),Ds=qn(),aL=pS(),CS=Function,Mm=function(e){try{return CS('"use strict"; return ('+e+").constructor;")()}catch(t){}},va=Object.getOwnPropertyDescriptor;if(va)try{va({},"")}catch(e){va=null}var Om=function(){throw new Ds},sL=va?function(){try{return arguments.callee,Om}catch(e){try{return va(arguments,"callee").get}catch(t){return Om}}}():Om,$s=Ju()(),oL=wS()(),wt=Object.getPrototypeOf||(oL?function(e){return e.__proto__}:null),Ls={},lL=typeof Uint8Array=="undefined"||!wt?ve:wt(Uint8Array),ya={__proto__:null,"%AggregateError%":typeof AggregateError=="undefined"?ve:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer=="undefined"?ve:ArrayBuffer,"%ArrayIteratorPrototype%":$s&&wt?wt([][Symbol.iterator]()):ve,"%AsyncFromSyncIteratorPrototype%":ve,"%AsyncFunction%":Ls,"%AsyncGenerator%":Ls,"%AsyncGeneratorFunction%":Ls,"%AsyncIteratorPrototype%":Ls,"%Atomics%":typeof Atomics=="undefined"?ve:Atomics,"%BigInt%":typeof BigInt=="undefined"?ve:BigInt,"%BigInt64Array%":typeof BigInt64Array=="undefined"?ve:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array=="undefined"?ve:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView=="undefined"?ve:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":tL,"%eval%":eval,"%EvalError%":rL,"%Float32Array%":typeof Float32Array=="undefined"?ve:Float32Array,"%Float64Array%":typeof Float64Array=="undefined"?ve:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry=="undefined"?ve:FinalizationRegistry,"%Function%":CS,"%GeneratorFunction%":Ls,"%Int8Array%":typeof Int8Array=="undefined"?ve:Int8Array,"%Int16Array%":typeof Int16Array=="undefined"?ve:Int16Array,"%Int32Array%":typeof Int32Array=="undefined"?ve:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":$s&&wt?wt(wt([][Symbol.iterator]())):ve,"%JSON%":typeof JSON=="object"?JSON:ve,"%Map%":typeof Map=="undefined"?ve:Map,"%MapIteratorPrototype%":typeof Map=="undefined"||!$s||!wt?ve:wt(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise=="undefined"?ve:Promise,"%Proxy%":typeof Proxy=="undefined"?ve:Proxy,"%RangeError%":nL,"%ReferenceError%":iL,"%Reflect%":typeof Reflect=="undefined"?ve:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set=="undefined"?ve:Set,"%SetIteratorPrototype%":typeof Set=="undefined"||!$s||!wt?ve:wt(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer=="undefined"?ve:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":$s&&wt?wt(""[Symbol.iterator]()):ve,"%Symbol%":$s?Symbol:ve,"%SyntaxError%":Ns,"%ThrowTypeError%":sL,"%TypedArray%":lL,"%TypeError%":Ds,"%Uint8Array%":typeof Uint8Array=="undefined"?ve:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray=="undefined"?ve:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array=="undefined"?ve:Uint16Array,"%Uint32Array%":typeof Uint32Array=="undefined"?ve:Uint32Array,"%URIError%":aL,"%WeakMap%":typeof WeakMap=="undefined"?ve:WeakMap,"%WeakRef%":typeof WeakRef=="undefined"?ve:WeakRef,"%WeakSet%":typeof WeakSet=="undefined"?ve:WeakSet};if(wt)try{null.error}catch(e){AS=wt(wt(e)),ya["%Error.prototype%"]=AS}var AS,cL=function e(t){var r;if(t==="%AsyncFunction%")r=Mm("async function () {}");else if(t==="%GeneratorFunction%")r=Mm("function* () {}");else if(t==="%AsyncGeneratorFunction%")r=Mm("async function* () {}");else if(t==="%AsyncGenerator%"){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&wt&&(r=wt(i.prototype))}return ya[t]=r,r},kS={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Ll=Qu(),ef=Rm(),uL=Ll.call(Function.call,Array.prototype.concat),fL=Ll.call(Function.apply,Array.prototype.splice),TS=Ll.call(Function.call,String.prototype.replace),tf=Ll.call(Function.call,String.prototype.slice),dL=Ll.call(Function.call,RegExp.prototype.exec),hL=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,pL=/\\(\\)?/g,mL=function(t){var r=tf(t,0,1),n=tf(t,-1);if(r==="%"&&n!=="%")throw new Ns("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new Ns("invalid intrinsic syntax, expected opening `%`");var i=[];return TS(t,hL,function(a,s,o,c){i[i.length]=o?TS(c,pL,"$1"):s||a}),i},gL=function(t,r){var n=t,i;if(ef(kS,n)&&(i=kS[n],n="%"+i[0]+"%"),ef(ya,n)){var a=ya[n];if(a===Ls&&(a=cL(n)),typeof a=="undefined"&&!r)throw new Ds("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:a}}throw new Ns("intrinsic "+t+" does not exist!")};PS.exports=function(t,r){if(typeof t!="string"||t.length===0)throw new Ds("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new Ds('"allowMissing" argument must be a boolean');if(dL(/^%?[^%]*%?$/,t)===null)throw new Ns("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=mL(t),i=n.length>0?n[0]:"",a=gL("%"+i+"%",r),s=a.name,o=a.value,c=!1,l=a.alias;l&&(i=l[0],fL(n,uL([0,1],l)));for(var u=1,f=!0;u=n.length){var m=va(o,d);f=!!m,f&&"get"in m&&!("originalValue"in m.get)?o=m.get:o=o[d]}else f=ef(o,d),o=o[d];f&&!c&&(ya[s]=o)}}return o}});var nf=I((Iz,RS)=>{"use strict";g();var vL=Qr(),rf=vL("%Object.defineProperty%",!0)||!1;if(rf)try{rf({},"a",{value:1})}catch(e){rf=!1}RS.exports=rf});var sf=I(($z,MS)=>{"use strict";g();var yL=Qr(),af=yL("%Object.getOwnPropertyDescriptor%",!0);if(af)try{af([],"length")}catch(e){af=null}MS.exports=af});var of=I((Dz,FS)=>{"use strict";g();var OS=nf(),wL=Cm(),js=qn(),IS=sf();FS.exports=function(t,r,n){if(!t||typeof t!="object"&&typeof t!="function")throw new js("`obj` must be an object or a function`");if(typeof r!="string"&&typeof r!="symbol")throw new js("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new js("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new js("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new js("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new js("`loose`, if provided, must be a boolean");var i=arguments.length>3?arguments[3]:null,a=arguments.length>4?arguments[4]:null,s=arguments.length>5?arguments[5]:null,o=arguments.length>6?arguments[6]:!1,c=!!IS&&IS(t,r);if(OS)OS(t,r,{configurable:s===null&&c?c.configurable:!s,enumerable:i===null&&c?c.enumerable:!i,value:n,writable:a===null&&c?c.writable:!a});else if(o||!i&&!a&&!s)t[r]=n;else throw new wL("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}});var lf=I((jz,LS)=>{"use strict";g();var Im=nf(),$S=function(){return!!Im};$S.hasArrayLengthDefineBug=function(){if(!Im)return null;try{return Im([],"length",{value:1}).length!==1}catch(t){return!0}};LS.exports=$S});var Ti=I((Hz,BS)=>{"use strict";g();var bL=Ku(),_L=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",xL=Object.prototype.toString,SL=Array.prototype.concat,DS=of(),EL=function(e){return typeof e=="function"&&xL.call(e)==="[object Function]"},NS=lf()(),AL=function(e,t,r,n){if(t in e){if(n===!0){if(e[t]===r)return}else if(!EL(n)||!n())return}NS?DS(e,t,r,!0):DS(e,t,r)},jS=function(e,t){var r=arguments.length>2?arguments[2]:{},n=bL(t);_L&&(n=SL.call(n,Object.getOwnPropertySymbols(t)));for(var i=0;i{"use strict";g();var kL=Qr(),HS=of(),TL=lf()(),US=sf(),GS=qn(),CL=kL("%Math.floor%");zS.exports=function(t,r){if(typeof t!="function")throw new GS("`fn` is not a function");if(typeof r!="number"||r<0||r>4294967295||CL(r)!==r)throw new GS("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],i=!0,a=!0;if("length"in t&&US){var s=US(t,"length");s&&!s.configurable&&(i=!1),s&&!s.writable&&(a=!1)}return(i||a||!n)&&(TL?HS(t,"length",r,!0,!0):HS(t,"length",r)),t}});var wa=I((Vz,cf)=>{"use strict";g();var Fm=Qu(),uf=Qr(),PL=VS(),RL=qn(),YS=uf("%Function.prototype.apply%"),XS=uf("%Function.prototype.call%"),ZS=uf("%Reflect.apply%",!0)||Fm.call(XS,YS),WS=nf(),ML=uf("%Math.max%");cf.exports=function(t){if(typeof t!="function")throw new RL("a function is required");var r=ZS(Fm,XS,arguments);return PL(r,1+ML(0,t.length-(arguments.length-1)),!0)};var qS=function(){return ZS(Fm,YS,arguments)};WS?WS(cf.exports,"apply",{value:qS}):cf.exports.apply=qS});var wr=I((qz,QS)=>{"use strict";g();var KS=Qr(),JS=wa(),OL=JS(KS("String.prototype.indexOf"));QS.exports=function(t,r){var n=KS(t,!!r);return typeof n=="function"&&OL(t,".prototype.")>-1?JS(n):n}});var $m=I((Xz,iE)=>{"use strict";g();var IL=Ku(),rE=$l()(),nE=wr(),eE=Object,FL=nE("Array.prototype.push"),tE=nE("Object.prototype.propertyIsEnumerable"),$L=rE?Object.getOwnPropertySymbols:null;iE.exports=function(t,r){if(t==null)throw new TypeError("target must be an object");var n=eE(t);if(arguments.length===1)return n;for(var i=1;i{"use strict";g();var Lm=$m(),LL=function(){if(!Object.assign)return!1;for(var e="abcdefghijklmnopqrst",t=e.split(""),r={},n=0;n{"use strict";g();var NL=Ti(),jL=Dm();sE.exports=function(){var t=jL();return NL(Object,{assign:t},{assign:function(){return Object.assign!==t}}),t}});var fE=I((tV,uE)=>{"use strict";g();var BL=Ti(),HL=wa(),UL=$m(),lE=Dm(),GL=oE(),zL=HL.apply(lE()),cE=function(t,r){return zL(Object,arguments)};BL(cE,{getPolyfill:lE,implementation:UL,shim:GL});uE.exports=cE});var hE=I((nV,dE)=>{"use strict";g();var Nl=function(){return typeof function(){}.name=="string"},Dl=Object.getOwnPropertyDescriptor;if(Dl)try{Dl([],"length")}catch(e){Dl=null}Nl.functionsHaveConfigurableNames=function(){if(!Nl()||!Dl)return!1;var t=Dl(function(){},"name");return!!t&&!!t.configurable};var VL=Function.prototype.bind;Nl.boundFunctionsHaveNames=function(){return Nl()&&typeof VL=="function"&&function(){}.bind().name!==""};dE.exports=Nl});var gE=I((aV,mE)=>{"use strict";g();var pE=of(),WL=lf()(),qL=hE().functionsHaveConfigurableNames(),YL=qn();mE.exports=function(t,r){if(typeof t!="function")throw new YL("`fn` is not a function");var n=arguments.length>2&&!!arguments[2];return(!n||qL)&&(WL?pE(t,"name",r,!0,!0):pE(t,"name",r)),t}});var Nm=I((oV,vE)=>{"use strict";g();var XL=gE(),ZL=qn(),KL=Object;vE.exports=XL(function(){if(this==null||this!==KL(this))throw new ZL("RegExp.prototype.flags getter called on non-object");var t="";return this.hasIndices&&(t+="d"),this.global&&(t+="g"),this.ignoreCase&&(t+="i"),this.multiline&&(t+="m"),this.dotAll&&(t+="s"),this.unicode&&(t+="u"),this.unicodeSets&&(t+="v"),this.sticky&&(t+="y"),t},"get flags",!0)});var jm=I((cV,yE)=>{"use strict";g();var JL=Nm(),QL=Ti().supportsDescriptors,eD=Object.getOwnPropertyDescriptor;yE.exports=function(){if(QL&&/a/mig.flags==="gim"){var t=eD(RegExp.prototype,"flags");if(t&&typeof t.get=="function"&&"dotAll"in RegExp.prototype&&"hasIndices"in RegExp.prototype){var r="",n={};if(Object.defineProperty(n,"hasIndices",{get:function(){r+="d"}}),Object.defineProperty(n,"sticky",{get:function(){r+="y"}}),t.get.call(n),r==="dy")return t.get}}return JL}});var _E=I((fV,bE)=>{"use strict";g();var tD=Ti().supportsDescriptors,rD=jm(),nD=Object.getOwnPropertyDescriptor,iD=Object.defineProperty,aD=TypeError,wE=Object.getPrototypeOf,sD=/a/;bE.exports=function(){if(!tD||!wE)throw new aD("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var t=rD(),r=wE(sD),n=nD(r,"flags");return(!n||n.get!==t)&&iD(r,"flags",{configurable:!0,enumerable:!1,get:t}),t}});var AE=I((hV,EE)=>{"use strict";g();var oD=Ti(),lD=wa(),cD=Nm(),xE=jm(),uD=_E(),SE=lD(xE());oD(SE,{getPolyfill:xE,implementation:cD,shim:uD});EE.exports=SE});var Ci=I((mV,kE)=>{"use strict";g();var fD=$l();kE.exports=function(){return fD()&&!!Symbol.toStringTag}});var Hm=I((vV,CE)=>{"use strict";g();var dD=Ci()(),hD=wr(),Bm=hD("Object.prototype.toString"),ff=function(t){return dD&&t&&typeof t=="object"&&Symbol.toStringTag in t?!1:Bm(t)==="[object Arguments]"},TE=function(t){return ff(t)?!0:t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&Bm(t)!=="[object Array]"&&Bm(t.callee)==="[object Function]"},pD=function(){return ff(arguments)}();ff.isLegacyArguments=TE;CE.exports=pD?ff:TE});var PE=I(()=>{g()});var XE=I((xV,YE)=>{g();var Km=typeof Map=="function"&&Map.prototype,Um=Object.getOwnPropertyDescriptor&&Km?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,hf=Km&&Um&&typeof Um.get=="function"?Um.get:null,RE=Km&&Map.prototype.forEach,Jm=typeof Set=="function"&&Set.prototype,Gm=Object.getOwnPropertyDescriptor&&Jm?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,pf=Jm&&Gm&&typeof Gm.get=="function"?Gm.get:null,ME=Jm&&Set.prototype.forEach,mD=typeof WeakMap=="function"&&WeakMap.prototype,Bl=mD?WeakMap.prototype.has:null,gD=typeof WeakSet=="function"&&WeakSet.prototype,Hl=gD?WeakSet.prototype.has:null,vD=typeof WeakRef=="function"&&WeakRef.prototype,OE=vD?WeakRef.prototype.deref:null,yD=Boolean.prototype.valueOf,wD=Object.prototype.toString,bD=Function.prototype.toString,_D=String.prototype.match,Qm=String.prototype.slice,Ri=String.prototype.replace,xD=String.prototype.toUpperCase,IE=String.prototype.toLowerCase,UE=RegExp.prototype.test,FE=Array.prototype.concat,En=Array.prototype.join,SD=Array.prototype.slice,$E=Math.floor,Wm=typeof BigInt=="function"?BigInt.prototype.valueOf:null,zm=Object.getOwnPropertySymbols,qm=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,Bs=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Rt=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Bs||!0)?Symbol.toStringTag:null,GE=Object.prototype.propertyIsEnumerable,LE=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function DE(e,t){if(e===1/0||e===-1/0||e!==e||e&&e>-1e3&&e<1e3||UE.call(/e/,t))return t;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof e=="number"){var n=e<0?-$E(-e):$E(e);if(n!==e){var i=String(n),a=Qm.call(t,i.length+1);return Ri.call(i,r,"$&_")+"."+Ri.call(Ri.call(a,/([0-9]{3})/g,"$&_"),/_$/,"")}}return Ri.call(t,r,"$&_")}var Ym=PE(),NE=Ym.custom,jE=VE(NE)?NE:null;YE.exports=function e(t,r,n,i){var a=r||{};if(Pi(a,"quoteStyle")&&a.quoteStyle!=="single"&&a.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Pi(a,"maxStringLength")&&(typeof a.maxStringLength=="number"?a.maxStringLength<0&&a.maxStringLength!==1/0:a.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var s=Pi(a,"customInspect")?a.customInspect:!0;if(typeof s!="boolean"&&s!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Pi(a,"indent")&&a.indent!==null&&a.indent!==" "&&!(parseInt(a.indent,10)===a.indent&&a.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(Pi(a,"numericSeparator")&&typeof a.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var o=a.numericSeparator;if(typeof t=="undefined")return"undefined";if(t===null)return"null";if(typeof t=="boolean")return t?"true":"false";if(typeof t=="string")return qE(t,a);if(typeof t=="number"){if(t===0)return 1/0/t>0?"0":"-0";var c=String(t);return o?DE(t,c):c}if(typeof t=="bigint"){var l=String(t)+"n";return o?DE(t,l):l}var u=typeof a.depth=="undefined"?5:a.depth;if(typeof n=="undefined"&&(n=0),n>=u&&u>0&&typeof t=="object")return Xm(t)?"[Array]":"[Object]";var f=HD(a,n);if(typeof i=="undefined")i=[];else if(WE(i,t)>=0)return"[Circular]";function d(j,D,Q){if(D&&(i=SD.call(i),i.push(D)),Q){var de={depth:a.depth};return Pi(a,"quoteStyle")&&(de.quoteStyle=a.quoteStyle),e(j,de,n+1,i)}return e(j,a,n+1,i)}if(typeof t=="function"&&!BE(t)){var h=OD(t),p=df(t,d);return"[Function"+(h?": "+h:" (anonymous)")+"]"+(p.length>0?" { "+En.call(p,", ")+" }":"")}if(VE(t)){var m=Bs?Ri.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):qm.call(t);return typeof t=="object"&&!Bs?jl(m):m}if(ND(t)){for(var v="<"+IE.call(String(t.nodeName)),y=t.attributes||[],b=0;b",v}if(Xm(t)){if(t.length===0)return"[]";var x=df(t,d);return f&&!BD(x)?"["+Zm(x,f)+"]":"[ "+En.call(x,", ")+" ]"}if(kD(t)){var E=df(t,d);return!("cause"in Error.prototype)&&"cause"in t&&!GE.call(t,"cause")?"{ ["+String(t)+"] "+En.call(FE.call("[cause]: "+d(t.cause),E),", ")+" }":E.length===0?"["+String(t)+"]":"{ ["+String(t)+"] "+En.call(E,", ")+" }"}if(typeof t=="object"&&s){if(jE&&typeof t[jE]=="function"&&Ym)return Ym(t,{depth:u-n});if(s!=="symbol"&&typeof t.inspect=="function")return t.inspect()}if(ID(t)){var _=[];return RE&&RE.call(t,function(j,D){_.push(d(D,t,!0)+" => "+d(j,t))}),HE("Map",hf.call(t),_,f)}if(LD(t)){var k=[];return ME&&ME.call(t,function(j){k.push(d(j,t))}),HE("Set",pf.call(t),k,f)}if(FD(t))return Vm("WeakMap");if(DD(t))return Vm("WeakSet");if($D(t))return Vm("WeakRef");if(CD(t))return jl(d(Number(t)));if(RD(t))return jl(d(Wm.call(t)));if(PD(t))return jl(yD.call(t));if(TD(t))return jl(d(String(t)));if(typeof window!="undefined"&&t===window)return"{ [object Window] }";if(typeof globalThis!="undefined"&&t===globalThis||typeof global!="undefined"&&t===global)return"{ [object globalThis] }";if(!AD(t)&&!BE(t)){var w=df(t,d),A=LE?LE(t)===Object.prototype:t instanceof Object||t.constructor===Object,S=t instanceof Object?"":"null prototype",T=!A&&Rt&&Object(t)===t&&Rt in t?Qm.call(Mi(t),8,-1):S?"Object":"",P=A||typeof t.constructor!="function"?"":t.constructor.name?t.constructor.name+" ":"",O=P+(T||S?"["+En.call(FE.call([],T||[],S||[]),": ")+"] ":"");return w.length===0?O+"{}":f?O+"{"+Zm(w,f)+"}":O+"{ "+En.call(w,", ")+" }"}return String(t)};function zE(e,t,r){var n=(r.quoteStyle||t)==="double"?'"':"'";return n+e+n}function ED(e){return Ri.call(String(e),/"/g,""")}function Xm(e){return Mi(e)==="[object Array]"&&(!Rt||!(typeof e=="object"&&Rt in e))}function AD(e){return Mi(e)==="[object Date]"&&(!Rt||!(typeof e=="object"&&Rt in e))}function BE(e){return Mi(e)==="[object RegExp]"&&(!Rt||!(typeof e=="object"&&Rt in e))}function kD(e){return Mi(e)==="[object Error]"&&(!Rt||!(typeof e=="object"&&Rt in e))}function TD(e){return Mi(e)==="[object String]"&&(!Rt||!(typeof e=="object"&&Rt in e))}function CD(e){return Mi(e)==="[object Number]"&&(!Rt||!(typeof e=="object"&&Rt in e))}function PD(e){return Mi(e)==="[object Boolean]"&&(!Rt||!(typeof e=="object"&&Rt in e))}function VE(e){if(Bs)return e&&typeof e=="object"&&e instanceof Symbol;if(typeof e=="symbol")return!0;if(!e||typeof e!="object"||!qm)return!1;try{return qm.call(e),!0}catch(t){}return!1}function RD(e){if(!e||typeof e!="object"||!Wm)return!1;try{return Wm.call(e),!0}catch(t){}return!1}var MD=Object.prototype.hasOwnProperty||function(e){return e in this};function Pi(e,t){return MD.call(e,t)}function Mi(e){return wD.call(e)}function OD(e){if(e.name)return e.name;var t=_D.call(bD.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}function WE(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0,n=e.length;rt.maxStringLength){var r=e.length-t.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return qE(Qm.call(e,0,t.maxStringLength),t)+n}var i=Ri.call(Ri.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,jD);return zE(i,"single",t)}function jD(e){var t=e.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return r?"\\"+r:"\\x"+(t<16?"0":"")+xD.call(t.toString(16))}function jl(e){return"Object("+e+")"}function Vm(e){return e+" { ? }"}function HE(e,t,r,n){var i=n?Zm(r,n):En.call(r,", ");return e+" ("+t+") {"+i+"}"}function BD(e){for(var t=0;t=0)return!1;return!0}function HD(e,t){var r;if(e.indent===" ")r=" ";else if(typeof e.indent=="number"&&e.indent>0)r=En.call(Array(e.indent+1)," ");else return null;return{base:r,prev:En.call(Array(t+1),r)}}function Zm(e,t){if(e.length===0)return"";var r=` -`+t.prev+t.base;return r+En.call(e,","+r)+` -`+t.prev}function df(e,t){var r=Xm(e),n=[];if(r){n.length=e.length;for(var i=0;i{"use strict";g();var ZE=Qr(),Hs=wr(),UD=XE(),GD=qn(),mf=ZE("%WeakMap%",!0),gf=ZE("%Map%",!0),zD=Hs("WeakMap.prototype.get",!0),VD=Hs("WeakMap.prototype.set",!0),WD=Hs("WeakMap.prototype.has",!0),qD=Hs("Map.prototype.get",!0),YD=Hs("Map.prototype.set",!0),XD=Hs("Map.prototype.has",!0),eg=function(e,t){for(var r=e,n;(n=r.next)!==null;r=n)if(n.key===t)return r.next=n.next,n.next=e.next,e.next=n,n},ZD=function(e,t){var r=eg(e,t);return r&&r.value},KD=function(e,t,r){var n=eg(e,t);n?n.value=r:e.next={key:t,next:e.next,value:r}},JD=function(e,t){return!!eg(e,t)};KE.exports=function(){var t,r,n,i={assert:function(a){if(!i.has(a))throw new GD("Side channel does not contain "+UD(a))},get:function(a){if(mf&&a&&(typeof a=="object"||typeof a=="function")){if(t)return zD(t,a)}else if(gf){if(r)return qD(r,a)}else if(n)return ZD(n,a)},has:function(a){if(mf&&a&&(typeof a=="object"||typeof a=="function")){if(t)return WD(t,a)}else if(gf){if(r)return XD(r,a)}else if(n)return JD(n,a);return!1},set:function(a,s){mf&&a&&(typeof a=="object"||typeof a=="function")?(t||(t=new mf),VD(t,a,s)):gf?(r||(r=new gf),YD(r,a,s)):(n||(n={key:{},next:null}),KD(n,a,s))}};return i}});var QE=I((kV,JE)=>{"use strict";g();var QD=Rm(),Ul=tg()(),Yn=qn(),rg={assert:function(e,t){if(!e||typeof e!="object"&&typeof e!="function")throw new Yn("`O` is not an object");if(typeof t!="string")throw new Yn("`slot` must be a string");if(Ul.assert(e),!rg.has(e,t))throw new Yn("`"+t+"` is not present on `O`")},get:function(e,t){if(!e||typeof e!="object"&&typeof e!="function")throw new Yn("`O` is not an object");if(typeof t!="string")throw new Yn("`slot` must be a string");var r=Ul.get(e);return r&&r["$"+t]},has:function(e,t){if(!e||typeof e!="object"&&typeof e!="function")throw new Yn("`O` is not an object");if(typeof t!="string")throw new Yn("`slot` must be a string");var r=Ul.get(e);return!!r&&QD(r,"$"+t)},set:function(e,t,r){if(!e||typeof e!="object"&&typeof e!="function")throw new Yn("`O` is not an object");if(typeof t!="string")throw new Yn("`slot` must be a string");var n=Ul.get(e);n||(n={},Ul.set(e,n)),n["$"+t]=r}};Object.freeze&&Object.freeze(rg);JE.exports=rg});var rA=I((CV,tA)=>{"use strict";g();var Gl=QE(),eN=SyntaxError,eA=typeof StopIteration=="object"?StopIteration:null;tA.exports=function(t){if(!eA)throw new eN("this environment lacks StopIteration");Gl.set(t,"[[Done]]",!1);var r={next:function(){var i=Gl.get(this,"[[Iterator]]"),a=Gl.get(i,"[[Done]]");try{return{done:a,value:a?void 0:i.next()}}catch(s){if(Gl.set(i,"[[Done]]",!0),s!==eA)throw s;return{done:!0,value:void 0}}}};return Gl.set(r,"[[Iterator]]",t),r}});var ng=I((RV,nA)=>{g();var tN={}.toString;nA.exports=Array.isArray||function(e){return tN.call(e)=="[object Array]"}});var ig=I((OV,iA)=>{"use strict";g();var rN=String.prototype.valueOf,nN=function(t){try{return rN.call(t),!0}catch(r){return!1}},iN=Object.prototype.toString,aN="[object String]",sN=Ci()();iA.exports=function(t){return typeof t=="string"?!0:typeof t!="object"?!1:sN?nN(t):iN.call(t)===aN}});var sg=I((FV,oA)=>{"use strict";g();var ag=typeof Map=="function"&&Map.prototype?Map:null,oN=typeof Set=="function"&&Set.prototype?Set:null,vf;ag||(vf=function(t){return!1});var sA=ag?Map.prototype.has:null,aA=oN?Set.prototype.has:null;!vf&&!sA&&(vf=function(t){return!1});oA.exports=vf||function(t){if(!t||typeof t!="object")return!1;try{if(sA.call(t),aA)try{aA.call(t)}catch(r){return!0}return t instanceof ag}catch(r){}return!1}});var lg=I((LV,uA)=>{"use strict";g();var lN=typeof Map=="function"&&Map.prototype?Map:null,og=typeof Set=="function"&&Set.prototype?Set:null,yf;og||(yf=function(t){return!1});var lA=lN?Map.prototype.has:null,cA=og?Set.prototype.has:null;!yf&&!cA&&(yf=function(t){return!1});uA.exports=yf||function(t){if(!t||typeof t!="object")return!1;try{if(cA.call(t),lA)try{lA.call(t)}catch(r){return!0}return t instanceof og}catch(r){}return!1}});var xA=I((NV,_f)=>{"use strict";g();var fA=Hm(),dA=rA();Ju()()||$l()()?(wf=Symbol.iterator,_f.exports=function(t){if(t!=null&&typeof t[wf]!="undefined")return t[wf]();if(fA(t))return Array.prototype[wf].call(t)}):(hA=ng(),pA=ig(),cg=Qr(),mA=cg("%Map%",!0),gA=cg("%Set%",!0),$r=wr(),ug=$r("Array.prototype.push"),fg=$r("String.prototype.charCodeAt"),vA=$r("String.prototype.slice"),yA=function(t,r){var n=t.length;if(r+1>=n)return r+1;var i=fg(t,r);if(i<55296||i>56319)return r+1;var a=fg(t,r+1);return a<56320||a>57343?r+1:r+2},bf=function(t){var r=0;return{next:function(){var i=r>=t.length,a;return i||(a=t[r],r+=1),{done:i,value:a}}}},dg=function(t,r){if(hA(t)||fA(t))return bf(t);if(pA(t)){var n=0;return{next:function(){var a=yA(t,n),s=vA(t,n,a);return n=a,{done:a>t.length,value:s}}}}if(r&&typeof t["_es6-shim iterator_"]!="undefined")return t["_es6-shim iterator_"]()},!mA&&!gA?_f.exports=function(t){if(t!=null)return dg(t,!0)}:(wA=sg(),bA=lg(),hg=$r("Map.prototype.forEach",!0),pg=$r("Set.prototype.forEach",!0),(typeof process=="undefined"||!process.versions||!process.versions.node)&&(mg=$r("Map.prototype.iterator",!0),gg=$r("Set.prototype.iterator",!0)),vg=$r("Map.prototype.@@iterator",!0)||$r("Map.prototype._es6-shim iterator_",!0),yg=$r("Set.prototype.@@iterator",!0)||$r("Set.prototype._es6-shim iterator_",!0),_A=function(t){if(wA(t)){if(mg)return dA(mg(t));if(vg)return vg(t);if(hg){var r=[];return hg(t,function(i,a){ug(r,[a,i])}),bf(r)}}if(bA(t)){if(gg)return dA(gg(t));if(yg)return yg(t);if(pg){var n=[];return pg(t,function(i){ug(n,i)}),bf(n)}}},_f.exports=function(t){return _A(t)||dg(t)}));var wf,hA,pA,cg,mA,gA,$r,ug,fg,vA,yA,bf,dg,wA,bA,hg,pg,mg,gg,vg,yg,_A});var wg=I((BV,EA)=>{"use strict";g();var SA=function(e){return e!==e};EA.exports=function(t,r){return t===0&&r===0?1/t===1/r:!!(t===r||SA(t)&&SA(r))}});var bg=I((UV,AA)=>{"use strict";g();var cN=wg();AA.exports=function(){return typeof Object.is=="function"?Object.is:cN}});var TA=I((zV,kA)=>{"use strict";g();var uN=bg(),fN=Ti();kA.exports=function(){var t=uN();return fN(Object,{is:t},{is:function(){return Object.is!==t}}),t}});var MA=I((WV,RA)=>{"use strict";g();var dN=Ti(),hN=wa(),pN=wg(),CA=bg(),mN=TA(),PA=hN(CA(),Object);dN(PA,{getPolyfill:CA,implementation:pN,shim:mN});RA.exports=PA});var xg=I((YV,$A)=>{"use strict";g();var gN=wa(),FA=wr(),vN=Qr(),_g=vN("%ArrayBuffer%",!0),xf=FA("ArrayBuffer.prototype.byteLength",!0),yN=FA("Object.prototype.toString"),OA=!!_g&&!xf&&new _g(0).slice,IA=!!OA&&gN(OA);$A.exports=xf||IA?function(t){if(!t||typeof t!="object")return!1;try{return xf?xf(t):IA(t,0),!0}catch(r){return!1}}:_g?function(t){return yN(t)==="[object ArrayBuffer]"}:function(t){return!1}});var DA=I((ZV,LA)=>{"use strict";g();var wN=Date.prototype.getDay,bN=function(t){try{return wN.call(t),!0}catch(r){return!1}},_N=Object.prototype.toString,xN="[object Date]",SN=Ci()();LA.exports=function(t){return typeof t!="object"||t===null?!1:SN?bN(t):_N.call(t)===xN}});var UA=I((JV,HA)=>{"use strict";g();var Sg=wr(),NA=Ci()(),jA,BA,Eg,Ag;NA&&(jA=Sg("Object.prototype.hasOwnProperty"),BA=Sg("RegExp.prototype.exec"),Eg={},Sf=function(){throw Eg},Ag={toString:Sf,valueOf:Sf},typeof Symbol.toPrimitive=="symbol"&&(Ag[Symbol.toPrimitive]=Sf));var Sf,EN=Sg("Object.prototype.toString"),AN=Object.getOwnPropertyDescriptor,kN="[object RegExp]";HA.exports=NA?function(t){if(!t||typeof t!="object")return!1;var r=AN(t,"lastIndex"),n=r&&jA(r,"value");if(!n)return!1;try{BA(t,Ag)}catch(i){return i===Eg}}:function(t){return!t||typeof t!="object"&&typeof t!="function"?!1:EN(t)===kN}});var VA=I((eW,zA)=>{"use strict";g();var TN=wr(),GA=TN("SharedArrayBuffer.prototype.byteLength",!0);zA.exports=GA?function(t){if(!t||typeof t!="object")return!1;try{return GA(t),!0}catch(r){return!1}}:function(t){return!1}});var qA=I((rW,WA)=>{"use strict";g();var CN=Number.prototype.toString,PN=function(t){try{return CN.call(t),!0}catch(r){return!1}},RN=Object.prototype.toString,MN="[object Number]",ON=Ci()();WA.exports=function(t){return typeof t=="number"?!0:typeof t!="object"?!1:ON?PN(t):RN.call(t)===MN}});var ZA=I((iW,XA)=>{"use strict";g();var YA=wr(),IN=YA("Boolean.prototype.toString"),FN=YA("Object.prototype.toString"),$N=function(t){try{return IN(t),!0}catch(r){return!1}},LN="[object Boolean]",DN=Ci()();XA.exports=function(t){return typeof t=="boolean"?!0:t===null||typeof t!="object"?!1:DN&&Symbol.toStringTag in t?$N(t):FN(t)===LN}});var ek=I((sW,kg)=>{"use strict";g();var NN=Object.prototype.toString,jN=Ju()();jN?(KA=Symbol.prototype.toString,JA=/^Symbol\(.*\)$/,QA=function(t){return typeof t.valueOf()!="symbol"?!1:JA.test(KA.call(t))},kg.exports=function(t){if(typeof t=="symbol")return!0;if(NN.call(t)!=="[object Symbol]")return!1;try{return QA(t)}catch(r){return!1}}):kg.exports=function(t){return!1};var KA,JA,QA});var nk=I((lW,rk)=>{"use strict";g();var tk=typeof BigInt!="undefined"&&BigInt;rk.exports=function(){return typeof tk=="function"&&typeof BigInt=="function"&&typeof tk(42)=="bigint"&&typeof BigInt(42)=="bigint"}});var sk=I((uW,Tg)=>{"use strict";g();var BN=nk()();BN?(ik=BigInt.prototype.valueOf,ak=function(t){try{return ik.call(t),!0}catch(r){}return!1},Tg.exports=function(t){return t===null||typeof t=="undefined"||typeof t=="boolean"||typeof t=="string"||typeof t=="number"||typeof t=="symbol"||typeof t=="function"?!1:typeof t=="bigint"?!0:ak(t)}):Tg.exports=function(t){return!1};var ik,ak});var lk=I((dW,ok)=>{"use strict";g();var HN=ig(),UN=qA(),GN=ZA(),zN=ek(),VN=sk();ok.exports=function(t){if(t==null||typeof t!="object"&&typeof t!="function")return null;if(HN(t))return"String";if(UN(t))return"Number";if(GN(t))return"Boolean";if(zN(t))return"Symbol";if(VN(t))return"BigInt"}});var fk=I((pW,uk)=>{"use strict";g();var Ef=typeof WeakMap=="function"&&WeakMap.prototype?WeakMap:null,ck=typeof WeakSet=="function"&&WeakSet.prototype?WeakSet:null,Af;Ef||(Af=function(t){return!1});var Pg=Ef?Ef.prototype.has:null,Cg=ck?ck.prototype.has:null;!Af&&!Pg&&(Af=function(t){return!1});uk.exports=Af||function(t){if(!t||typeof t!="object")return!1;try{if(Pg.call(t,Pg),Cg)try{Cg.call(t,Cg)}catch(r){return!0}return t instanceof Ef}catch(r){}return!1}});var hk=I((gW,Mg)=>{"use strict";g();var WN=Qr(),dk=wr(),qN=WN("%WeakSet%",!0),Rg=dk("WeakSet.prototype.has",!0);Rg?(kf=dk("WeakMap.prototype.has",!0),Mg.exports=function(t){if(!t||typeof t!="object")return!1;try{if(Rg(t,Rg),kf)try{kf(t,kf)}catch(r){return!0}return t instanceof qN}catch(r){}return!1}):Mg.exports=function(t){return!1};var kf});var mk=I((yW,pk)=>{"use strict";g();var YN=sg(),XN=lg(),ZN=fk(),KN=hk();pk.exports=function(t){if(t&&typeof t=="object"){if(YN(t))return"Map";if(XN(t))return"Set";if(ZN(t))return"WeakMap";if(KN(t))return"WeakSet"}return!1}});var wk=I((bW,yk)=>{"use strict";g();var vk=Function.prototype.toString,Us=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,Ig,Tf;if(typeof Us=="function"&&typeof Object.defineProperty=="function")try{Ig=Object.defineProperty({},"length",{get:function(){throw Tf}}),Tf={},Us(function(){throw 42},null,Ig)}catch(e){e!==Tf&&(Us=null)}else Us=null;var JN=/^\s*class\b/,Fg=function(t){try{var r=vk.call(t);return JN.test(r)}catch(n){return!1}},Og=function(t){try{return Fg(t)?!1:(vk.call(t),!0)}catch(r){return!1}},Cf=Object.prototype.toString,QN="[object Object]",ej="[object Function]",tj="[object GeneratorFunction]",rj="[object HTMLAllCollection]",nj="[object HTML document.all class]",ij="[object HTMLCollection]",aj=typeof Symbol=="function"&&!!Symbol.toStringTag,sj=!(0 in[,]),$g=function(){return!1};typeof document=="object"&&(gk=document.all,Cf.call(gk)===Cf.call(document.all)&&($g=function(t){if((sj||!t)&&(typeof t=="undefined"||typeof t=="object"))try{var r=Cf.call(t);return(r===rj||r===nj||r===ij||r===QN)&&t("")==null}catch(n){}return!1}));var gk;yk.exports=Us?function(t){if($g(t))return!0;if(!t||typeof t!="function"&&typeof t!="object")return!1;try{Us(t,null,Ig)}catch(r){if(r!==Tf)return!1}return!Fg(t)&&Og(t)}:function(t){if($g(t))return!0;if(!t||typeof t!="function"&&typeof t!="object")return!1;if(aj)return Og(t);if(Fg(t))return!1;var r=Cf.call(t);return r!==ej&&r!==tj&&!/^\[object HTML/.test(r)?!1:Og(t)}});var xk=I((xW,_k)=>{"use strict";g();var oj=wk(),lj=Object.prototype.toString,bk=Object.prototype.hasOwnProperty,cj=function(t,r,n){for(var i=0,a=t.length;i=3&&(i=n),lj.call(t)==="[object Array]"?cj(t,r,i):typeof t=="string"?uj(t,r,i):fj(t,r,i)};_k.exports=dj});var Ek=I((EW,Sk)=>{"use strict";g();Sk.exports=["Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]});var kk=I((kW,Ak)=>{"use strict";g();var Lg=Ek(),hj=typeof globalThis=="undefined"?global:globalThis;Ak.exports=function(){for(var t=[],r=0;r{"use strict";g();var Rf=xk(),pj=kk(),Tk=wa(),jg=wr(),Pf=sf(),mj=jg("Object.prototype.toString"),Pk=Ci()(),Ck=typeof globalThis=="undefined"?global:globalThis,Ng=pj(),Bg=jg("String.prototype.slice"),Dg=Object.getPrototypeOf,gj=jg("Array.prototype.indexOf",!0)||function(t,r){for(var n=0;n-1?r:r!=="Object"?!1:yj(t)}return Pf?vj(t):null}});var Fk=I((RW,Ik)=>{"use strict";g();var wj=wr(),Ok=wj("ArrayBuffer.prototype.byteLength",!0),bj=xg();Ik.exports=function(t){return bj(t)?Ok?Ok(t):t.byteLength:NaN}});var aT=I((OW,iT)=>{"use strict";g();var tT=fE(),An=wr(),$k=AE(),_j=Qr(),Gs=xA(),xj=tg(),Lk=MA(),Dk=Hm(),Nk=ng(),jk=xg(),Bk=DA(),Hk=UA(),Uk=VA(),Gk=Ku(),zk=lk(),Vk=mk(),Wk=Mk(),qk=Fk(),Yk=An("SharedArrayBuffer.prototype.byteLength",!0),Xk=An("Date.prototype.getTime"),Hg=Object.getPrototypeOf,Zk=An("Object.prototype.toString"),If=_j("%Set%",!0),Ug=An("Map.prototype.has",!0),Ff=An("Map.prototype.get",!0),Kk=An("Map.prototype.size",!0),$f=An("Set.prototype.add",!0),rT=An("Set.prototype.delete",!0),Lf=An("Set.prototype.has",!0),Of=An("Set.prototype.size",!0);function Jk(e,t,r,n){for(var i=Gs(e),a;(a=i.next())&&!a.done;)if(en(t,a.value,r,n))return rT(e,a.value),!0;return!1}function nT(e){if(typeof e=="undefined")return null;if(typeof e!="object")return typeof e=="symbol"?!1:typeof e=="string"||typeof e=="number"?+e==+e:!0}function Sj(e,t,r,n,i,a){var s=nT(r);if(s!=null)return s;var o=Ff(t,s),c=tT({},i,{strict:!1});return typeof o=="undefined"&&!Ug(t,s)||!en(n,o,c,a)?!1:!Ug(e,s)&&en(n,o,c,a)}function Ej(e,t,r){var n=nT(r);return n!=null?n:Lf(t,n)&&!Lf(e,n)}function Qk(e,t,r,n,i,a){for(var s=Gs(e),o,c;(o=s.next())&&!o.done;)if(c=o.value,en(r,c,i,a)&&en(n,Ff(t,c),i,a))return rT(e,c),!0;return!1}function en(e,t,r,n){var i=r||{};if(i.strict?Lk(e,t):e===t)return!0;var a=zk(e),s=zk(t);if(a!==s)return!1;if(!e||!t||typeof e!="object"&&typeof t!="object")return i.strict?Lk(e,t):e==t;var o=n.has(e),c=n.has(t),l;if(o&&c){if(n.get(e)===n.get(t))return!0}else l={};return o||n.set(e,l),c||n.set(t,l),Tj(e,t,i,n)}function eT(e){return!e||typeof e!="object"||typeof e.length!="number"||typeof e.copy!="function"||typeof e.slice!="function"||e.length>0&&typeof e[0]!="number"?!1:!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}function Aj(e,t,r,n){if(Of(e)!==Of(t))return!1;for(var i=Gs(e),a=Gs(t),s,o,c;(s=i.next())&&!s.done;)if(s.value&&typeof s.value=="object")c||(c=new If),$f(c,s.value);else if(!Lf(t,s.value)){if(r.strict||!Ej(e,t,s.value))return!1;c||(c=new If),$f(c,s.value)}if(c){for(;(o=a.next())&&!o.done;)if(o.value&&typeof o.value=="object"){if(!Jk(c,o.value,r.strict,n))return!1}else if(!r.strict&&!Lf(e,o.value)&&!Jk(c,o.value,r.strict,n))return!1;return Of(c)===0}return!0}function kj(e,t,r,n){if(Kk(e)!==Kk(t))return!1;for(var i=Gs(e),a=Gs(t),s,o,c,l,u,f;(s=i.next())&&!s.done;)if(l=s.value[0],u=s.value[1],l&&typeof l=="object")c||(c=new If),$f(c,l);else if(f=Ff(t,l),typeof f=="undefined"&&!Ug(t,l)||!en(u,f,r,n)){if(r.strict||!Sj(e,t,l,u,r,n))return!1;c||(c=new If),$f(c,l)}if(c){for(;(o=a.next())&&!o.done;)if(l=o.value[0],f=o.value[1],l&&typeof l=="object"){if(!Qk(c,e,l,f,r,n))return!1}else if(!r.strict&&(!e.has(l)||!en(Ff(e,l),f,r,n))&&!Qk(c,e,l,f,tT({},r,{strict:!1}),n))return!1;return Of(c)===0}return!0}function Tj(e,t,r,n){var i,a;if(typeof e!=typeof t||e==null||t==null||Zk(e)!==Zk(t)||Dk(e)!==Dk(t))return!1;var s=Nk(e),o=Nk(t);if(s!==o)return!1;var c=e instanceof Error,l=t instanceof Error;if(c!==l||(c||l)&&(e.name!==t.name||e.message!==t.message))return!1;var u=Hk(e),f=Hk(t);if(u!==f||(u||f)&&(e.source!==t.source||$k(e)!==$k(t)))return!1;var d=Bk(e),h=Bk(t);if(d!==h||(d||h)&&Xk(e)!==Xk(t)||r.strict&&Hg&&Hg(e)!==Hg(t))return!1;var p=Wk(e),m=Wk(t);if(p!==m)return!1;if(p||m){if(e.length!==t.length)return!1;for(i=0;i=0;i--)if(k[i]!=w[i])return!1;for(i=k.length-1;i>=0;i--)if(a=k[i],!en(e[a],t[a],r,n))return!1;var A=Vk(e),S=Vk(t);return A!==S?!1:A==="Set"||S==="Set"?Aj(e,t,r,n):A==="Map"?kj(e,t,r,n):!0}iT.exports=function(t,r,n){return en(t,r,n,xj())}});var Xg=I((exports,module)=>{g();(function(){"use strict";var ERROR="input is invalid type",WINDOW=typeof window=="object",root=WINDOW?window:{};root.JS_SHA256_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&typeof self=="object",NODE_JS=!root.JS_SHA256_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;NODE_JS?root=global:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_SHA256_NO_COMMON_JS&&typeof module=="object"&&module.exports,AMD=typeof define=="function"&&define.amd,ARRAY_BUFFER=!root.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer!="undefined",HEX_CHARS="0123456789abcdef".split(""),EXTRA=[-2147483648,8388608,32768,128],SHIFT=[24,16,8,0],K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],OUTPUT_TYPES=["hex","array","digest","arrayBuffer"],blocks=[];(root.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(e){return Object.prototype.toString.call(e)==="[object Array]"}),ARRAY_BUFFER&&(root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(e){return typeof e=="object"&&e.buffer&&e.buffer.constructor===ArrayBuffer});var createOutputMethod=function(e,t){return function(r){return new Sha256(t,!0).update(r)[e]()}},createMethod=function(e){var t=createOutputMethod("hex",e);NODE_JS&&(t=nodeWrap(t,e)),t.create=function(){return new Sha256(e)},t.update=function(i){return t.create().update(i)};for(var r=0;r>2]|=e[i]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|n&63)<=57344?(o[a>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|n&63)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|n&63)<=64?(this.block=o[16],this.start=a-64,this.hash(),this.hashed=!0):this.start=a}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Sha256.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>2]|=EXTRA[t&3],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}},Sha256.prototype.hash=function(){var e=this.h0,t=this.h1,r=this.h2,n=this.h3,i=this.h4,a=this.h5,s=this.h6,o=this.h7,c=this.blocks,l,u,f,d,h,p,m,v,y,b,x;for(l=16;l<64;++l)h=c[l-15],u=(h>>>7|h<<25)^(h>>>18|h<<14)^h>>>3,h=c[l-2],f=(h>>>17|h<<15)^(h>>>19|h<<13)^h>>>10,c[l]=c[l-16]+u+c[l-7]+f<<0;for(x=t&r,l=0;l<64;l+=4)this.first?(this.is224?(v=300032,h=c[0]-1413257819,o=h-150054599<<0,n=h+24177077<<0):(v=704751109,h=c[0]-210244248,o=h-1521486534<<0,n=h+143694565<<0),this.first=!1):(u=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),f=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),v=e&t,d=v^e&r^x,m=i&a^~i&s,h=o+f+m+K[l]+c[l],p=u+d,o=n+h<<0,n=h+p<<0),u=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),f=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),y=n&e,d=y^n&t^v,m=o&i^~o&a,h=s+f+m+K[l+1]+c[l+1],p=u+d,s=r+h<<0,r=h+p<<0,u=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),f=(s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7),b=r&n,d=b^r&e^y,m=s&o^~s&i,h=a+f+m+K[l+2]+c[l+2],p=u+d,a=t+h<<0,t=h+p<<0,u=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),f=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),x=t&r,d=x^t&n^b,m=a&s^~a&o,h=i+f+m+K[l+3]+c[l+3],p=u+d,i=e+h<<0,e=h+p<<0;this.h0=this.h0+e<<0,this.h1=this.h1+t<<0,this.h2=this.h2+r<<0,this.h3=this.h3+n<<0,this.h4=this.h4+i<<0,this.h5=this.h5+a<<0,this.h6=this.h6+s<<0,this.h7=this.h7+o<<0},Sha256.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3,i=this.h4,a=this.h5,s=this.h6,o=this.h7,c=HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[e&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[t&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[r&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[n&15]+HEX_CHARS[i>>28&15]+HEX_CHARS[i>>24&15]+HEX_CHARS[i>>20&15]+HEX_CHARS[i>>16&15]+HEX_CHARS[i>>12&15]+HEX_CHARS[i>>8&15]+HEX_CHARS[i>>4&15]+HEX_CHARS[i&15]+HEX_CHARS[a>>28&15]+HEX_CHARS[a>>24&15]+HEX_CHARS[a>>20&15]+HEX_CHARS[a>>16&15]+HEX_CHARS[a>>12&15]+HEX_CHARS[a>>8&15]+HEX_CHARS[a>>4&15]+HEX_CHARS[a&15]+HEX_CHARS[s>>28&15]+HEX_CHARS[s>>24&15]+HEX_CHARS[s>>20&15]+HEX_CHARS[s>>16&15]+HEX_CHARS[s>>12&15]+HEX_CHARS[s>>8&15]+HEX_CHARS[s>>4&15]+HEX_CHARS[s&15];return this.is224||(c+=HEX_CHARS[o>>28&15]+HEX_CHARS[o>>24&15]+HEX_CHARS[o>>20&15]+HEX_CHARS[o>>16&15]+HEX_CHARS[o>>12&15]+HEX_CHARS[o>>8&15]+HEX_CHARS[o>>4&15]+HEX_CHARS[o&15]),c},Sha256.prototype.toString=Sha256.prototype.hex,Sha256.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3,i=this.h4,a=this.h5,s=this.h6,o=this.h7,c=[e>>24&255,e>>16&255,e>>8&255,e&255,t>>24&255,t>>16&255,t>>8&255,t&255,r>>24&255,r>>16&255,r>>8&255,r&255,n>>24&255,n>>16&255,n>>8&255,n&255,i>>24&255,i>>16&255,i>>8&255,i&255,a>>24&255,a>>16&255,a>>8&255,a&255,s>>24&255,s>>16&255,s>>8&255,s&255];return this.is224||c.push(o>>24&255,o>>16&255,o>>8&255,o&255),c},Sha256.prototype.array=Sha256.prototype.digest,Sha256.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e};function HmacSha256(e,t,r){var n,i=typeof e;if(i==="string"){var a=[],s=e.length,o=0,c;for(n=0;n>6,a[o++]=128|c&63):c<55296||c>=57344?(a[o++]=224|c>>12,a[o++]=128|c>>6&63,a[o++]=128|c&63):(c=65536+((c&1023)<<10|e.charCodeAt(++n)&1023),a[o++]=240|c>>18,a[o++]=128|c>>12&63,a[o++]=128|c>>6&63,a[o++]=128|c&63);e=a}else if(i==="object"){if(e===null)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw new Error(ERROR)}else throw new Error(ERROR);e.length>64&&(e=new Sha256(t,!0).update(e).array());var l=[],u=[];for(n=0;n<64;++n){var f=e[n]||0;l[n]=92^f,u[n]=54^f}Sha256.call(this,t,r),this.update(u),this.oKeyPad=l,this.inner=!0,this.sharedMemory=r}HmacSha256.prototype=new Sha256,HmacSha256.prototype.finalize=function(){if(Sha256.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();Sha256.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(e),Sha256.prototype.finalize.call(this)}};var exports=createMethod();exports.sha256=exports,exports.sha224=createMethod(!0),exports.sha256.hmac=createHmacMethod(),exports.sha224.hmac=createHmacMethod(!0),COMMON_JS?module.exports=exports:(root.sha256=exports.sha256,root.sha224=exports.sha224,AMD&&define(function(){return exports}))})()});var AC=I(E0=>{g();(function(e){var t=/\S/,r=/\"/g,n=/\n/g,i=/\r/g,a=/\\/g,s=/\u2028/,o=/\u2029/;e.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(A,S){var T=A.length,P=0,O=1,j=2,D=P,Q=null,de=null,ee="",J=[],Ce=!1,me=0,F=0,z="{{",N="}}";function Re(){ee.length>0&&(J.push({tag:"_t",text:new String(ee)}),ee="")}function Dt(){for(var st=!0,ot=F;ot"&&($e.indent=J[Ct].text.toString()),J.splice(Ct,1));else ot||J.push({tag:` -`});Ce=!1,F=J.length}function Ee(st,ot){var Ct="="+N,$e=st.indexOf(Ct,ot),G=l(st.substring(st.indexOf("=",ot)+1,$e)).split(" ");return z=G[0],N=G[G.length-1],$e+Ct.length-1}for(S&&(S=S.split(" "),z=S[0],N=S[1]),me=0;me0;){if(D=w.shift(),j&&j.tag=="<"&&!(D.tag in f))throw new Error("Illegal content in < super tag.");if(e.tags[D.tag]<=e.tags.$||h(D,T))S.push(D),D.nodes=d(w,D.tag,S,T);else if(D.tag=="/"){if(S.length===0)throw new Error("Closing tag without opener: /"+D.n);if(O=S.pop(),D.n!=O.n&&!p(D.n,O.n,T))throw new Error("Nesting error: "+O.n+" vs. "+D.n);return O.end=D.i,P}else D.tag==` -`&&(D.last=w.length==0||w[0].tag==` -`);P.push(D)}if(S.length>0)throw new Error("missing closing tag: "+S.pop().n);return P}function h(w,A){for(var S=0,T=A.length;S":E,"<":function(w,A){var S={partials:{},code:"",subs:{},inPartial:!0};e.walk(w.nodes,S);var T=A.partials[E(w,A)];T.subs=S.subs,T.partials=S.partials},$:function(w,A){var S={subs:{},code:"",partials:A.partials,prefix:w.n};e.walk(w.nodes,S),A.subs[w.n]=S.code,A.inPartial||(A.code+='t.sub("'+b(w.n)+'",c,p,i);')},"\n":function(w,A){A.code+=k('"\\n"'+(w.last?"":" + i"))},_v:function(w,A){A.code+="t.b(t.v(t."+x(w.n)+'("'+b(w.n)+'",c,p,0)));'},_t:function(w,A){A.code+=k('"'+b(w.text)+'"')},"{":_,"&":_};function _(w,A){A.code+="t.b(t.t(t."+x(w.n)+'("'+b(w.n)+'",c,p,0)));'}function k(w){return"t.b("+w+");"}e.walk=function(w,A){for(var S,T=0,P=w.length;T{g();var BB={};(function(e){e.Template=function(d,h,p,m){d=d||{},this.r=d.code||this.r,this.c=p,this.options=m||{},this.text=h||"",this.partials=d.partials||{},this.subs=d.subs||{},this.buf=""},e.Template.prototype={r:function(d,h,p){return""},v:u,t:l,render:function(h,p,m){return this.ri([h],p||{},m)},ri:function(d,h,p){return this.r(d,h,p)},ep:function(d,h){var p=this.partials[d],m=h[p.name];if(p.instance&&p.base==m)return p.instance;if(typeof m=="string"){if(!this.c)throw new Error("No compiler available.");m=this.c.compile(m,this.options)}if(!m)return null;if(this.partials[d].base=m,p.subs){h.stackText||(h.stackText={});for(key in p.subs)h.stackText[key]||(h.stackText[key]=this.activeSub!==void 0&&h.stackText[this.activeSub]?h.stackText[this.activeSub]:this.text);m=r(m,p.subs,p.partials,this.stackSubs,this.stackPartials,h.stackText)}return this.partials[d].instance=m,m},rp:function(d,h,p,m){var v=this.ep(d,p);return v?v.ri(h,p,m):""},rs:function(d,h,p){var m=d[d.length-1];if(!f(m)){p(d,h,this);return}for(var v=0;v=0;E--)if(y=h[E],v=t(d,y,x),v!==void 0){b=!0;break}return b?(!m&&typeof v=="function"&&(v=this.mv(v,h,p)),v):m?!1:""},ls:function(d,h,p,m,v){var y=this.options.delimiters;return this.options.delimiters=v,this.b(this.ct(l(d.call(h,m)),h,p)),this.options.delimiters=y,!1},ct:function(d,h,p){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(d,this.options).render(h,p)},b:function(d){this.buf+=d},fl:function(){var d=this.buf;return this.buf="",d},ms:function(d,h,p,m,v,y,b){var x,E=h[h.length-1],_=d.call(E);return typeof _=="function"?m?!0:(x=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(_,E,p,x.substring(v,y),b)):_},mv:function(d,h,p){var m=h[h.length-1],v=d.call(m);return typeof v=="function"?this.ct(l(v.call(m)),m,p):v},sub:function(d,h,p,m){var v=this.subs[d];v&&(this.activeSub=d,v(h,p,this,m),this.activeSub=!1)}};function t(d,h,p){var m;return h&&typeof h=="object"&&(h[d]!==void 0?m=h[d]:p&&h.get&&typeof h.get=="function"&&(m=h.get(d))),m}function r(d,h,p,m,v,y){function b(){}b.prototype=d;function x(){}x.prototype=d.subs;var E,_=new b;_.subs=new x,_.subsText={},_.buf="",m=m||{},_.stackSubs=m,_.subsText=y;for(E in h)m[E]||(m[E]=h[E]);for(E in m)_.subs[E]=m[E];v=v||{},_.stackPartials=v;for(E in p)v[E]||(v[E]=p[E]);for(E in v)_.partials[E]=v[E];return _}var n=/&/g,i=//g,s=/\'/g,o=/\"/g,c=/[&<>\"\']/;function l(d){return String(d==null?"":d)}function u(d){return d=l(d),c.test(d)?d.replace(n,"&").replace(i,"<").replace(a,">").replace(s,"'").replace(o,"""):d}var f=Array.isArray||function(d){return Object.prototype.toString.call(d)==="[object Array]"}})(typeof A0!="undefined"?A0:BB)});var k0=I((FX,TC)=>{g();var gd=AC();gd.Template=kC().Template;gd.template=gd.Template;TC.exports=gd});var Y3=I((wc,Sv)=>{g();(function(t,r){typeof wc=="object"&&typeof Sv=="object"?Sv.exports=r():typeof define=="function"&&define.amd?define([],r):typeof wc=="object"?wc.feather=r():t.feather=r()})(typeof self!="undefined"?self:wc,function(){return 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(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.r=function(n){Object.defineProperty(n,"__esModule",{value:!0})},r.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=0)}({"./dist/icons.json":function(e){e.exports={activity:'',airplay:'',"alert-circle":'',"alert-octagon":'',"alert-triangle":'',"align-center":'',"align-justify":'',"align-left":'',"align-right":'',anchor:'',aperture:'',archive:'',"arrow-down-circle":'',"arrow-down-left":'',"arrow-down-right":'',"arrow-down":'',"arrow-left-circle":'',"arrow-left":'',"arrow-right-circle":'',"arrow-right":'',"arrow-up-circle":'',"arrow-up-left":'',"arrow-up-right":'',"arrow-up":'',"at-sign":'',award:'',"bar-chart-2":'',"bar-chart":'',"battery-charging":'',battery:'',"bell-off":'',bell:'',bluetooth:'',bold:'',"book-open":'',book:'',bookmark:'',box:'',briefcase:'',calendar:'',"camera-off":'',camera:'',cast:'',"check-circle":'',"check-square":'',check:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',"chevrons-down":'',"chevrons-left":'',"chevrons-right":'',"chevrons-up":'',chrome:'',circle:'',clipboard:'',clock:'',"cloud-drizzle":'',"cloud-lightning":'',"cloud-off":'',"cloud-rain":'',"cloud-snow":'',cloud:'',code:'',codepen:'',codesandbox:'',coffee:'',columns:'',command:'',compass:'',copy:'',"corner-down-left":'',"corner-down-right":'',"corner-left-down":'',"corner-left-up":'',"corner-right-down":'',"corner-right-up":'',"corner-up-left":'',"corner-up-right":'',cpu:'',"credit-card":'',crop:'',crosshair:'',database:'',delete:'',disc:'',"divide-circle":'',"divide-square":'',divide:'',"dollar-sign":'',"download-cloud":'',download:'',dribbble:'',droplet:'',"edit-2":'',"edit-3":'',edit:'',"external-link":'',"eye-off":'',eye:'',facebook:'',"fast-forward":'',feather:'',figma:'',"file-minus":'',"file-plus":'',"file-text":'',file:'',film:'',filter:'',flag:'',"folder-minus":'',"folder-plus":'',folder:'',framer:'',frown:'',gift:'',"git-branch":'',"git-commit":'',"git-merge":'',"git-pull-request":'',github:'',gitlab:'',globe:'',grid:'',"hard-drive":'',hash:'',headphones:'',heart:'',"help-circle":'',hexagon:'',home:'',image:'',inbox:'',info:'',instagram:'',italic:'',key:'',layers:'',layout:'',"life-buoy":'',"link-2":'',link:'',linkedin:'',list:'',loader:'',lock:'',"log-in":'',"log-out":'',mail:'',"map-pin":'',map:'',"maximize-2":'',maximize:'',meh:'',menu:'',"message-circle":'',"message-square":'',"mic-off":'',mic:'',"minimize-2":'',minimize:'',"minus-circle":'',"minus-square":'',minus:'',monitor:'',moon:'',"more-horizontal":'',"more-vertical":'',"mouse-pointer":'',move:'',music:'',"navigation-2":'',navigation:'',octagon:'',package:'',paperclip:'',"pause-circle":'',pause:'',"pen-tool":'',percent:'',"phone-call":'',"phone-forwarded":'',"phone-incoming":'',"phone-missed":'',"phone-off":'',"phone-outgoing":'',phone:'',"pie-chart":'',"play-circle":'',play:'',"plus-circle":'',"plus-square":'',plus:'',pocket:'',power:'',printer:'',radio:'',"refresh-ccw":'',"refresh-cw":'',repeat:'',rewind:'',"rotate-ccw":'',"rotate-cw":'',rss:'',save:'',scissors:'',search:'',send:'',server:'',settings:'',"share-2":'',share:'',"shield-off":'',shield:'',"shopping-bag":'',"shopping-cart":'',shuffle:'',sidebar:'',"skip-back":'',"skip-forward":'',slack:'',slash:'',sliders:'',smartphone:'',smile:'',speaker:'',square:'',star:'',"stop-circle":'',sun:'',sunrise:'',sunset:'',table:'',tablet:'',tag:'',target:'',terminal:'',thermometer:'',"thumbs-down":'',"thumbs-up":'',"toggle-left":'',"toggle-right":'',tool:'',"trash-2":'',trash:'',trello:'',"trending-down":'',"trending-up":'',triangle:'',truck:'',tv:'',twitch:'',twitter:'',type:'',umbrella:'',underline:'',unlock:'',"upload-cloud":'',upload:'',"user-check":'',"user-minus":'',"user-plus":'',"user-x":'',user:'',users:'',"video-off":'',video:'',voicemail:'',"volume-1":'',"volume-2":'',"volume-x":'',volume:'',watch:'',"wifi-off":'',wifi:'',wind:'',"x-circle":'',"x-octagon":'',"x-square":'',x:'',youtube:'',"zap-off":'',zap:'',"zoom-in":'',"zoom-out":''}},"./node_modules/classnames/dedupe.js":function(e,t,r){var n,i;(function(){"use strict";var a=function(){function s(){}s.prototype=Object.create(null);function o(m,v){for(var y=v.length,b=0;b1?arguments[1]:void 0,v=m!==void 0,y=0,b=l(d),x,E,_,k;if(v&&(m=n(m,p>2?arguments[2]:void 0,2)),b!=null&&!(h==Array&&s(b)))for(k=b.call(d),E=new h;!(_=k.next()).done;y++)c(E,y,v?a(k,m,[_.value,y],!0):_.value);else for(x=o(d.length),E=new h(x);x>y;y++)c(E,y,v?m(d[y],y):d[y]);return E.length=y,E}},"./node_modules/core-js/internals/array-includes.js":function(e,t,r){var n=r("./node_modules/core-js/internals/to-indexed-object.js"),i=r("./node_modules/core-js/internals/to-length.js"),a=r("./node_modules/core-js/internals/to-absolute-index.js");e.exports=function(s){return function(o,c,l){var u=n(o),f=i(u.length),d=a(l,f),h;if(s&&c!=c){for(;f>d;)if(h=u[d++],h!=h)return!0}else for(;f>d;d++)if((s||d in u)&&u[d]===c)return s||d||0;return!s&&-1}}},"./node_modules/core-js/internals/bind-context.js":function(e,t,r){var n=r("./node_modules/core-js/internals/a-function.js");e.exports=function(i,a,s){if(n(i),a===void 0)return i;switch(s){case 0:return function(){return i.call(a)};case 1:return function(o){return i.call(a,o)};case 2:return function(o,c){return i.call(a,o,c)};case 3:return function(o,c,l){return i.call(a,o,c,l)}}return function(){return i.apply(a,arguments)}}},"./node_modules/core-js/internals/call-with-safe-iteration-closing.js":function(e,t,r){var n=r("./node_modules/core-js/internals/an-object.js");e.exports=function(i,a,s,o){try{return o?a(n(s)[0],s[1]):a(s)}catch(l){var c=i.return;throw c!==void 0&&n(c.call(i)),l}}},"./node_modules/core-js/internals/check-correctness-of-iteration.js":function(e,t,r){var n=r("./node_modules/core-js/internals/well-known-symbol.js"),i=n("iterator"),a=!1;try{var s=0,o={next:function(){return{done:!!s++}},return:function(){a=!0}};o[i]=function(){return this},Array.from(o,function(){throw 2})}catch(c){}e.exports=function(c,l){if(!l&&!a)return!1;var u=!1;try{var f={};f[i]=function(){return{next:function(){return{done:u=!0}}}},c(f)}catch(d){}return u}},"./node_modules/core-js/internals/classof-raw.js":function(e,t){var r={}.toString;e.exports=function(n){return r.call(n).slice(8,-1)}},"./node_modules/core-js/internals/classof.js":function(e,t,r){var n=r("./node_modules/core-js/internals/classof-raw.js"),i=r("./node_modules/core-js/internals/well-known-symbol.js"),a=i("toStringTag"),s=n(function(){return arguments}())=="Arguments",o=function(c,l){try{return c[l]}catch(u){}};e.exports=function(c){var l,u,f;return c===void 0?"Undefined":c===null?"Null":typeof(u=o(l=Object(c),a))=="string"?u:s?n(l):(f=n(l))=="Object"&&typeof l.callee=="function"?"Arguments":f}},"./node_modules/core-js/internals/copy-constructor-properties.js":function(e,t,r){var n=r("./node_modules/core-js/internals/has.js"),i=r("./node_modules/core-js/internals/own-keys.js"),a=r("./node_modules/core-js/internals/object-get-own-property-descriptor.js"),s=r("./node_modules/core-js/internals/object-define-property.js");e.exports=function(o,c){for(var l=i(c),u=s.f,f=a.f,d=0;d",x="java"+y+":",E;for(p.style.display="none",o.appendChild(p),p.src=String(x),E=p.contentWindow.document,E.open(),E.write(v+y+b+"document.F=Object"+v+"/"+y+b),E.close(),h=E.F;m--;)delete h[f][a[m]];return h()};e.exports=Object.create||function(m,v){var y;return m!==null?(d[f]=n(m),y=new d,d[f]=null,y[u]=m):y=h(),v===void 0?y:i(y,v)},s[u]=!0},"./node_modules/core-js/internals/object-define-properties.js":function(e,t,r){var n=r("./node_modules/core-js/internals/descriptors.js"),i=r("./node_modules/core-js/internals/object-define-property.js"),a=r("./node_modules/core-js/internals/an-object.js"),s=r("./node_modules/core-js/internals/object-keys.js");e.exports=n?Object.defineProperties:function(c,l){a(c);for(var u=s(l),f=u.length,d=0,h;f>d;)i.f(c,h=u[d++],l[h]);return c}},"./node_modules/core-js/internals/object-define-property.js":function(e,t,r){var n=r("./node_modules/core-js/internals/descriptors.js"),i=r("./node_modules/core-js/internals/ie8-dom-define.js"),a=r("./node_modules/core-js/internals/an-object.js"),s=r("./node_modules/core-js/internals/to-primitive.js"),o=Object.defineProperty;t.f=n?o:function(l,u,f){if(a(l),u=s(u,!0),a(f),i)try{return o(l,u,f)}catch(d){}if("get"in f||"set"in f)throw TypeError("Accessors not supported");return"value"in f&&(l[u]=f.value),l}},"./node_modules/core-js/internals/object-get-own-property-descriptor.js":function(e,t,r){var n=r("./node_modules/core-js/internals/descriptors.js"),i=r("./node_modules/core-js/internals/object-property-is-enumerable.js"),a=r("./node_modules/core-js/internals/create-property-descriptor.js"),s=r("./node_modules/core-js/internals/to-indexed-object.js"),o=r("./node_modules/core-js/internals/to-primitive.js"),c=r("./node_modules/core-js/internals/has.js"),l=r("./node_modules/core-js/internals/ie8-dom-define.js"),u=Object.getOwnPropertyDescriptor;t.f=n?u:function(d,h){if(d=s(d),h=o(h,!0),l)try{return u(d,h)}catch(p){}if(c(d,h))return a(!i.f.call(d,h),d[h])}},"./node_modules/core-js/internals/object-get-own-property-names.js":function(e,t,r){var n=r("./node_modules/core-js/internals/object-keys-internal.js"),i=r("./node_modules/core-js/internals/enum-bug-keys.js"),a=i.concat("length","prototype");t.f=Object.getOwnPropertyNames||function(o){return n(o,a)}},"./node_modules/core-js/internals/object-get-own-property-symbols.js":function(e,t){t.f=Object.getOwnPropertySymbols},"./node_modules/core-js/internals/object-get-prototype-of.js":function(e,t,r){var n=r("./node_modules/core-js/internals/has.js"),i=r("./node_modules/core-js/internals/to-object.js"),a=r("./node_modules/core-js/internals/shared-key.js"),s=r("./node_modules/core-js/internals/correct-prototype-getter.js"),o=a("IE_PROTO"),c=Object.prototype;e.exports=s?Object.getPrototypeOf:function(l){return l=i(l),n(l,o)?l[o]:typeof l.constructor=="function"&&l instanceof l.constructor?l.constructor.prototype:l instanceof Object?c:null}},"./node_modules/core-js/internals/object-keys-internal.js":function(e,t,r){var n=r("./node_modules/core-js/internals/has.js"),i=r("./node_modules/core-js/internals/to-indexed-object.js"),a=r("./node_modules/core-js/internals/array-includes.js"),s=r("./node_modules/core-js/internals/hidden-keys.js"),o=a(!1);e.exports=function(c,l){var u=i(c),f=0,d=[],h;for(h in u)!n(s,h)&&n(u,h)&&d.push(h);for(;l.length>f;)n(u,h=l[f++])&&(~o(d,h)||d.push(h));return d}},"./node_modules/core-js/internals/object-keys.js":function(e,t,r){var n=r("./node_modules/core-js/internals/object-keys-internal.js"),i=r("./node_modules/core-js/internals/enum-bug-keys.js");e.exports=Object.keys||function(s){return n(s,i)}},"./node_modules/core-js/internals/object-property-is-enumerable.js":function(e,t,r){"use strict";var n={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,a=i&&!n.call({1:2},1);t.f=a?function(o){var c=i(this,o);return!!c&&c.enumerable}:n},"./node_modules/core-js/internals/object-set-prototype-of.js":function(e,t,r){var n=r("./node_modules/core-js/internals/validate-set-prototype-of-arguments.js");e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var i=!1,a={},s;try{s=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,s.call(a,[]),i=a instanceof Array}catch(o){}return function(c,l){return n(c,l),i?s.call(c,l):c.__proto__=l,c}}():void 0)},"./node_modules/core-js/internals/own-keys.js":function(e,t,r){var n=r("./node_modules/core-js/internals/global.js"),i=r("./node_modules/core-js/internals/object-get-own-property-names.js"),a=r("./node_modules/core-js/internals/object-get-own-property-symbols.js"),s=r("./node_modules/core-js/internals/an-object.js"),o=n.Reflect;e.exports=o&&o.ownKeys||function(l){var u=i.f(s(l)),f=a.f;return f?u.concat(f(l)):u}},"./node_modules/core-js/internals/path.js":function(e,t,r){e.exports=r("./node_modules/core-js/internals/global.js")},"./node_modules/core-js/internals/redefine.js":function(e,t,r){var n=r("./node_modules/core-js/internals/global.js"),i=r("./node_modules/core-js/internals/shared.js"),a=r("./node_modules/core-js/internals/hide.js"),s=r("./node_modules/core-js/internals/has.js"),o=r("./node_modules/core-js/internals/set-global.js"),c=r("./node_modules/core-js/internals/function-to-string.js"),l=r("./node_modules/core-js/internals/internal-state.js"),u=l.get,f=l.enforce,d=String(c).split("toString");i("inspectSource",function(h){return c.call(h)}),(e.exports=function(h,p,m,v){var y=v?!!v.unsafe:!1,b=v?!!v.enumerable:!1,x=v?!!v.noTargetGet:!1;if(typeof m=="function"&&(typeof p=="string"&&!s(m,"name")&&a(m,"name",p),f(m).source=d.join(typeof p=="string"?p:"")),h===n){b?h[p]=m:o(p,m);return}else y?!x&&h[p]&&(b=!0):delete h[p];b?h[p]=m:a(h,p,m)})(Function.prototype,"toString",function(){return typeof this=="function"&&u(this).source||c.call(this)})},"./node_modules/core-js/internals/require-object-coercible.js":function(e,t){e.exports=function(r){if(r==null)throw TypeError("Can't call method on "+r);return r}},"./node_modules/core-js/internals/set-global.js":function(e,t,r){var n=r("./node_modules/core-js/internals/global.js"),i=r("./node_modules/core-js/internals/hide.js");e.exports=function(a,s){try{i(n,a,s)}catch(o){n[a]=s}return s}},"./node_modules/core-js/internals/set-to-string-tag.js":function(e,t,r){var n=r("./node_modules/core-js/internals/object-define-property.js").f,i=r("./node_modules/core-js/internals/has.js"),a=r("./node_modules/core-js/internals/well-known-symbol.js"),s=a("toStringTag");e.exports=function(o,c,l){o&&!i(o=l?o:o.prototype,s)&&n(o,s,{configurable:!0,value:c})}},"./node_modules/core-js/internals/shared-key.js":function(e,t,r){var n=r("./node_modules/core-js/internals/shared.js"),i=r("./node_modules/core-js/internals/uid.js"),a=n("keys");e.exports=function(s){return a[s]||(a[s]=i(s))}},"./node_modules/core-js/internals/shared.js":function(e,t,r){var n=r("./node_modules/core-js/internals/global.js"),i=r("./node_modules/core-js/internals/set-global.js"),a=r("./node_modules/core-js/internals/is-pure.js"),s="__core-js_shared__",o=n[s]||i(s,{});(e.exports=function(c,l){return o[c]||(o[c]=l!==void 0?l:{})})("versions",[]).push({version:"3.1.3",mode:a?"pure":"global",copyright:"\xA9 2019 Denis Pushkarev (zloirock.ru)"})},"./node_modules/core-js/internals/string-at.js":function(e,t,r){var n=r("./node_modules/core-js/internals/to-integer.js"),i=r("./node_modules/core-js/internals/require-object-coercible.js");e.exports=function(a,s,o){var c=String(i(a)),l=n(s),u=c.length,f,d;return l<0||l>=u?o?"":void 0:(f=c.charCodeAt(l),f<55296||f>56319||l+1===u||(d=c.charCodeAt(l+1))<56320||d>57343?o?c.charAt(l):f:o?c.slice(l,l+2):(f-55296<<10)+(d-56320)+65536)}},"./node_modules/core-js/internals/to-absolute-index.js":function(e,t,r){var n=r("./node_modules/core-js/internals/to-integer.js"),i=Math.max,a=Math.min;e.exports=function(s,o){var c=n(s);return c<0?i(c+o,0):a(c,o)}},"./node_modules/core-js/internals/to-indexed-object.js":function(e,t,r){var n=r("./node_modules/core-js/internals/indexed-object.js"),i=r("./node_modules/core-js/internals/require-object-coercible.js");e.exports=function(a){return n(i(a))}},"./node_modules/core-js/internals/to-integer.js":function(e,t){var r=Math.ceil,n=Math.floor;e.exports=function(i){return isNaN(i=+i)?0:(i>0?n:r)(i)}},"./node_modules/core-js/internals/to-length.js":function(e,t,r){var n=r("./node_modules/core-js/internals/to-integer.js"),i=Math.min;e.exports=function(a){return a>0?i(n(a),9007199254740991):0}},"./node_modules/core-js/internals/to-object.js":function(e,t,r){var n=r("./node_modules/core-js/internals/require-object-coercible.js");e.exports=function(i){return Object(n(i))}},"./node_modules/core-js/internals/to-primitive.js":function(e,t,r){var n=r("./node_modules/core-js/internals/is-object.js");e.exports=function(i,a){if(!n(i))return i;var s,o;if(a&&typeof(s=i.toString)=="function"&&!n(o=s.call(i))||typeof(s=i.valueOf)=="function"&&!n(o=s.call(i))||!a&&typeof(s=i.toString)=="function"&&!n(o=s.call(i)))return o;throw TypeError("Can't convert object to primitive value")}},"./node_modules/core-js/internals/uid.js":function(e,t){var r=0,n=Math.random();e.exports=function(i){return"Symbol(".concat(i===void 0?"":i,")_",(++r+n).toString(36))}},"./node_modules/core-js/internals/validate-set-prototype-of-arguments.js":function(e,t,r){var n=r("./node_modules/core-js/internals/is-object.js"),i=r("./node_modules/core-js/internals/an-object.js");e.exports=function(a,s){if(i(a),!n(s)&&s!==null)throw TypeError("Can't set "+String(s)+" as a prototype")}},"./node_modules/core-js/internals/well-known-symbol.js":function(e,t,r){var n=r("./node_modules/core-js/internals/global.js"),i=r("./node_modules/core-js/internals/shared.js"),a=r("./node_modules/core-js/internals/uid.js"),s=r("./node_modules/core-js/internals/native-symbol.js"),o=n.Symbol,c=i("wks");e.exports=function(l){return c[l]||(c[l]=s&&o[l]||(s?o:a)("Symbol."+l))}},"./node_modules/core-js/modules/es.array.from.js":function(e,t,r){var n=r("./node_modules/core-js/internals/export.js"),i=r("./node_modules/core-js/internals/array-from.js"),a=r("./node_modules/core-js/internals/check-correctness-of-iteration.js"),s=!a(function(o){Array.from(o)});n({target:"Array",stat:!0,forced:s},{from:i})},"./node_modules/core-js/modules/es.string.iterator.js":function(e,t,r){"use strict";var n=r("./node_modules/core-js/internals/string-at.js"),i=r("./node_modules/core-js/internals/internal-state.js"),a=r("./node_modules/core-js/internals/define-iterator.js"),s="String Iterator",o=i.set,c=i.getterFor(s);a(String,"String",function(l){o(this,{type:s,string:String(l),index:0})},function(){var u=c(this),f=u.string,d=u.index,h;return d>=f.length?{value:void 0,done:!0}:(h=n(f,d,!0),u.index+=h.length,{value:h,done:!1})})},"./node_modules/webpack/buildin/global.js":function(e,t){var r;r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(n){typeof window=="object"&&(r=window)}e.exports=r},"./src/default-attrs.json":function(e){e.exports={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"}},"./src/icon.js":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(h){for(var p=1;p2&&arguments[2]!==void 0?arguments[2]:[];u(this,h),this.name=p,this.contents=m,this.tags=v,this.attrs=n({},c.default,{class:"feather feather-"+p})}return i(h,[{key:"toSvg",value:function(){var m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},v=n({},this.attrs,m,{class:(0,s.default)(this.attrs.class,m.class)});return""+this.contents+""}},{key:"toString",value:function(){return this.contents}}]),h}();function d(h){return Object.keys(h).map(function(p){return p+'="'+h[p]+'"'}).join(" ")}t.default=f},"./src/icons.js":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r("./src/icon.js"),i=l(n),a=r("./dist/icons.json"),s=l(a),o=r("./src/tags.json"),c=l(o);function l(u){return u&&u.__esModule?u:{default:u}}t.default=Object.keys(s.default).map(function(u){return new i.default(u,s.default[u],c.default[u])}).reduce(function(u,f){return u[f.name]=f,u},{})},"./src/index.js":function(e,t,r){"use strict";var n=r("./src/icons.js"),i=l(n),a=r("./src/to-svg.js"),s=l(a),o=r("./src/replace.js"),c=l(o);function l(u){return u&&u.__esModule?u:{default:u}}e.exports={icons:i.default,toSvg:s.default,replace:c.default}},"./src/replace.js":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(d){for(var h=1;h0&&arguments[0]!==void 0?arguments[0]:{};if(typeof document=="undefined")throw new Error("`feather.replace()` only works in a browser environment.");var h=document.querySelectorAll("[data-feather]");Array.from(h).forEach(function(p){return u(p,d)})}function u(d){var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},p=f(d),m=p["data-feather"];if(delete p["data-feather"],o.default[m]===void 0){console.warn("feather: '"+m+"' is not a valid icon");return}var v=o.default[m].toSvg(n({},h,p,{class:(0,a.default)(h.class,p.class)})),y=new DOMParser().parseFromString(v,"image/svg+xml"),b=y.querySelector("svg");d.parentNode.replaceChild(b,d)}function f(d){return Array.from(d.attributes).reduce(function(h,p){return h[p.name]=p.value,h},{})}t.default=l},"./src/tags.json":function(e){e.exports={activity:["pulse","health","action","motion"],airplay:["stream","cast","mirroring"],"alert-circle":["warning","alert","danger"],"alert-octagon":["warning","alert","danger"],"alert-triangle":["warning","alert","danger"],"align-center":["text alignment","center"],"align-justify":["text alignment","justified"],"align-left":["text alignment","left"],"align-right":["text alignment","right"],anchor:[],archive:["index","box"],"at-sign":["mention","at","email","message"],award:["achievement","badge"],aperture:["camera","photo"],"bar-chart":["statistics","diagram","graph"],"bar-chart-2":["statistics","diagram","graph"],battery:["power","electricity"],"battery-charging":["power","electricity"],bell:["alarm","notification","sound"],"bell-off":["alarm","notification","silent"],bluetooth:["wireless"],"book-open":["read","library"],book:["read","dictionary","booklet","magazine","library"],bookmark:["read","clip","marker","tag"],box:["cube"],briefcase:["work","bag","baggage","folder"],calendar:["date"],camera:["photo"],cast:["chromecast","airplay"],"chevron-down":["expand"],"chevron-up":["collapse"],circle:["off","zero","record"],clipboard:["copy"],clock:["time","watch","alarm"],"cloud-drizzle":["weather","shower"],"cloud-lightning":["weather","bolt"],"cloud-rain":["weather"],"cloud-snow":["weather","blizzard"],cloud:["weather"],codepen:["logo"],codesandbox:["logo"],code:["source","programming"],coffee:["drink","cup","mug","tea","cafe","hot","beverage"],columns:["layout"],command:["keyboard","cmd","terminal","prompt"],compass:["navigation","safari","travel","direction"],copy:["clone","duplicate"],"corner-down-left":["arrow","return"],"corner-down-right":["arrow"],"corner-left-down":["arrow"],"corner-left-up":["arrow"],"corner-right-down":["arrow"],"corner-right-up":["arrow"],"corner-up-left":["arrow"],"corner-up-right":["arrow"],cpu:["processor","technology"],"credit-card":["purchase","payment","cc"],crop:["photo","image"],crosshair:["aim","target"],database:["storage","memory"],delete:["remove"],disc:["album","cd","dvd","music"],"dollar-sign":["currency","money","payment"],droplet:["water"],edit:["pencil","change"],"edit-2":["pencil","change"],"edit-3":["pencil","change"],eye:["view","watch"],"eye-off":["view","watch","hide","hidden"],"external-link":["outbound"],facebook:["logo","social"],"fast-forward":["music"],figma:["logo","design","tool"],"file-minus":["delete","remove","erase"],"file-plus":["add","create","new"],"file-text":["data","txt","pdf"],film:["movie","video"],filter:["funnel","hopper"],flag:["report"],"folder-minus":["directory"],"folder-plus":["directory"],folder:["directory"],framer:["logo","design","tool"],frown:["emoji","face","bad","sad","emotion"],gift:["present","box","birthday","party"],"git-branch":["code","version control"],"git-commit":["code","version control"],"git-merge":["code","version control"],"git-pull-request":["code","version control"],github:["logo","version control"],gitlab:["logo","version control"],globe:["world","browser","language","translate"],"hard-drive":["computer","server","memory","data"],hash:["hashtag","number","pound"],headphones:["music","audio","sound"],heart:["like","love","emotion"],"help-circle":["question mark"],hexagon:["shape","node.js","logo"],home:["house","living"],image:["picture"],inbox:["email"],instagram:["logo","camera"],key:["password","login","authentication","secure"],layers:["stack"],layout:["window","webpage"],"life-buoy":["help","life ring","support"],link:["chain","url"],"link-2":["chain","url"],linkedin:["logo","social media"],list:["options"],lock:["security","password","secure"],"log-in":["sign in","arrow","enter"],"log-out":["sign out","arrow","exit"],mail:["email","message"],"map-pin":["location","navigation","travel","marker"],map:["location","navigation","travel"],maximize:["fullscreen"],"maximize-2":["fullscreen","arrows","expand"],meh:["emoji","face","neutral","emotion"],menu:["bars","navigation","hamburger"],"message-circle":["comment","chat"],"message-square":["comment","chat"],"mic-off":["record","sound","mute"],mic:["record","sound","listen"],minimize:["exit fullscreen","close"],"minimize-2":["exit fullscreen","arrows","close"],minus:["subtract"],monitor:["tv","screen","display"],moon:["dark","night"],"more-horizontal":["ellipsis"],"more-vertical":["ellipsis"],"mouse-pointer":["arrow","cursor"],move:["arrows"],music:["note"],navigation:["location","travel"],"navigation-2":["location","travel"],octagon:["stop"],package:["box","container"],paperclip:["attachment"],pause:["music","stop"],"pause-circle":["music","audio","stop"],"pen-tool":["vector","drawing"],percent:["discount"],"phone-call":["ring"],"phone-forwarded":["call"],"phone-incoming":["call"],"phone-missed":["call"],"phone-off":["call","mute"],"phone-outgoing":["call"],phone:["call"],play:["music","start"],"pie-chart":["statistics","diagram"],"play-circle":["music","start"],plus:["add","new"],"plus-circle":["add","new"],"plus-square":["add","new"],pocket:["logo","save"],power:["on","off"],printer:["fax","office","device"],radio:["signal"],"refresh-cw":["synchronise","arrows"],"refresh-ccw":["arrows"],repeat:["loop","arrows"],rewind:["music"],"rotate-ccw":["arrow"],"rotate-cw":["arrow"],rss:["feed","subscribe"],save:["floppy disk"],scissors:["cut"],search:["find","magnifier","magnifying glass"],send:["message","mail","email","paper airplane","paper aeroplane"],settings:["cog","edit","gear","preferences"],"share-2":["network","connections"],shield:["security","secure"],"shield-off":["security","insecure"],"shopping-bag":["ecommerce","cart","purchase","store"],"shopping-cart":["ecommerce","cart","purchase","store"],shuffle:["music"],"skip-back":["music"],"skip-forward":["music"],slack:["logo"],slash:["ban","no"],sliders:["settings","controls"],smartphone:["cellphone","device"],smile:["emoji","face","happy","good","emotion"],speaker:["audio","music"],star:["bookmark","favorite","like"],"stop-circle":["media","music"],sun:["brightness","weather","light"],sunrise:["weather","time","morning","day"],sunset:["weather","time","evening","night"],tablet:["device"],tag:["label"],target:["logo","bullseye"],terminal:["code","command line","prompt"],thermometer:["temperature","celsius","fahrenheit","weather"],"thumbs-down":["dislike","bad","emotion"],"thumbs-up":["like","good","emotion"],"toggle-left":["on","off","switch"],"toggle-right":["on","off","switch"],tool:["settings","spanner"],trash:["garbage","delete","remove","bin"],"trash-2":["garbage","delete","remove","bin"],triangle:["delta"],truck:["delivery","van","shipping","transport","lorry"],tv:["television","stream"],twitch:["logo"],twitter:["logo","social"],type:["text"],umbrella:["rain","weather"],unlock:["security"],"user-check":["followed","subscribed"],"user-minus":["delete","remove","unfollow","unsubscribe"],"user-plus":["new","add","create","follow","subscribe"],"user-x":["delete","remove","unfollow","unsubscribe","unavailable"],user:["person","account"],users:["group"],"video-off":["camera","movie","film"],video:["camera","movie","film"],voicemail:["phone"],volume:["music","sound","mute"],"volume-1":["music","sound"],"volume-2":["music","sound"],"volume-x":["music","sound","mute"],watch:["clock","time"],"wifi-off":["disabled"],wifi:["connection","signal","wireless"],wind:["weather","air"],"x-circle":["cancel","close","delete","remove","times","clear"],"x-octagon":["delete","stop","alert","warning","times","clear"],"x-square":["cancel","close","delete","remove","times","clear"],x:["cancel","close","delete","remove","times","clear"],youtube:["logo","video","play"],"zap-off":["flash","camera","lightning"],zap:["flash","camera","lightning"],"zoom-in":["magnifying glass"],"zoom-out":["magnifying glass"]}},"./src/to-svg.js":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r("./src/icons.js"),i=a(n);function a(o){return o&&o.__esModule?o:{default:o}}function s(o){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."),!o)throw new Error("The required `key` (icon name) parameter is missing.");if(!i.default[o])throw new Error("No icon matching '"+o+"'. See the complete list of icons at https://feathericons.com");return i.default[o].toSvg(c)}t.default=s},0:function(e,t,r){r("./node_modules/core-js/es/array/from.js"),e.exports=r("./src/index.js")}})})});var DH={};qP(DH,{default:()=>Qd});module.exports=YP(DH);g();g();var Jo=Ze(d1(),1),Ep=Ze(_1(),1),Jw=Ze(S1(),1),hu=Ze(uw(),1),ru=Ze(hw(),1),Qw=Ze(xw(),1),Kr=Ze(Ew(),1),e2=Ze(Pw(),1),_e=class e extends Error{constructor(t){super(t),this.caller=""}toJSON(){return{code:this.code,data:this.data,caller:this.caller,message:this.message,stack:this.stack}}fromJSON(t){let r=new e(t.message);return r.code=t.code,r.data=t.data,r.caller=t.caller,r.stack=t.stack,r}get isIsomorphicGitError(){return!0}},Qo=class e extends _e{constructor(t){super(`Modifying the index is not possible because you have unmerged files: ${t.toString}. Fix them up in the work tree, and then use 'git add/rm as appropriate to mark resolution and make a commit.`),this.code=this.name=e.code,this.data={filepaths:t}}};Qo.code="UnmergedPathsError";var le=class e extends _e{constructor(t){super(`An internal error caused this command to fail. Please file a bug report at https://github.com/isomorphic-git/isomorphic-git/issues with this error message: ${t}`),this.code=this.name=e.code,this.data={message:t}}};le.code="InternalError";var cs=class e extends _e{constructor(t){super(`The filepath "${t}" contains unsafe character sequences`),this.code=this.name=e.code,this.data={filepath:t}}};cs.code="UnsafeFilepathError";var Or=class{constructor(t){this.buffer=t,this._start=0}eof(){return this._start>=this.buffer.length}tell(){return this._start}seek(t){this._start=t}slice(t){let r=this.buffer.slice(this._start,this._start+t);return this._start+=t,r}toString(t,r){let n=this.buffer.toString(t,this._start,this._start+r);return this._start+=r,n}write(t,r,n){let i=this.buffer.write(t,this._start,r,n);return this._start+=r,i}copy(t,r,n){let i=t.copy(this.buffer,this._start,r,n);return this._start+=i,i}readUInt8(){let t=this.buffer.readUInt8(this._start);return this._start+=1,t}writeUInt8(t){let r=this.buffer.writeUInt8(t,this._start);return this._start+=1,r}readUInt16BE(){let t=this.buffer.readUInt16BE(this._start);return this._start+=2,t}writeUInt16BE(t){let r=this.buffer.writeUInt16BE(t,this._start);return this._start+=2,r}readUInt32BE(){let t=this.buffer.readUInt32BE(this._start);return this._start+=4,t}writeUInt32BE(t){let r=this.buffer.writeUInt32BE(t,this._start);return this._start+=4,r}};function pu(e,t){return-(et)}function t2(e,t){return pu(e.path,t.path)}function r2(e){let t=e>0?e>>12:0;t!==4&&t!==8&&t!==10&&t!==14&&(t=8);let r=e&511;return r&73?r=493:r=420,t!==8&&(r=0),(t<<12)+r}var bn=2**32;function Rw(e,t,r,n){if(e!==void 0&&t!==void 0)return[e,t];r===void 0&&(r=n.valueOf());let i=Math.floor(r/1e3),a=(r-i*1e3)*1e6;return[i,a]}function us(e){let[t,r]=Rw(e.ctimeSeconds,e.ctimeNanoseconds,e.ctimeMs,e.ctime),[n,i]=Rw(e.mtimeSeconds,e.mtimeNanoseconds,e.mtimeMs,e.mtime);return{ctimeSeconds:t%bn,ctimeNanoseconds:r%bn,mtimeSeconds:n%bn,mtimeNanoseconds:i%bn,dev:e.dev%bn,ino:e.ino%bn,mode:r2(e.mode%bn),uid:e.uid%bn,gid:e.gid%bn,size:e.size>-1?e.size%bn:0}}function Z6(e){let t="";for(let r of new Uint8Array(e))r<16&&(t+="0"),t+=r.toString(16);return t}var rp=null;async function Gn(e){return rp===null&&(rp=await J6()),rp?n2(e):K6(e)}function K6(e){return new Ep.default().update(e).digest("hex")}async function n2(e){let t=await crypto.subtle.digest("SHA-1",e);return Z6(t)}async function J6(){try{if(await n2(new Uint8Array([]))==="da39a3ee5e6b4b0d3255bfef95601890afd80709")return!0}catch(e){}return!1}function Q6(e){return{assumeValid:!!(e&32768),extended:!!(e&16384),stage:(e&12288)>>12,nameLength:e&4095}}function eM(e){let t=e.flags;return t.extended=!1,t.nameLength=Math.min(Buffer.from(e.path).length,4095),(t.assumeValid?32768:0)+(t.extended?16384:0)+((t.stage&3)<<12)+(t.nameLength&4095)}var dp=class e{constructor(t,r){this._dirty=!1,this._unmergedPaths=r||new Set,this._entries=t||new Map}_addEntry(t){if(t.flags.stage===0)t.stages=[t],this._entries.set(t.path,t),this._unmergedPaths.delete(t.path);else{let r=this._entries.get(t.path);r||(this._entries.set(t.path,t),r=t),r.stages[t.flags.stage]=t,this._unmergedPaths.add(t.path)}}static async from(t){if(Buffer.isBuffer(t))return e.fromBuffer(t);if(t===null)return new e(null);throw new le("invalid type passed to GitIndex.from")}static async fromBuffer(t){if(t.length===0)throw new le("Index file is empty (.git/index)");let r=new e,n=new Or(t),i=n.toString("utf8",4);if(i!=="DIRC")throw new le(`Invalid dircache magic file number: ${i}`);let a=await Gn(t.slice(0,-20)),s=t.slice(-20).toString("hex");if(s!==a)throw new le(`Invalid checksum in GitIndex buffer: expected ${s} but saw ${a}`);let o=n.readUInt32BE();if(o!==2)throw new le(`Unsupported dircache version: ${o}`);let c=n.readUInt32BE(),l=0;for(;!n.eof()&&lt.stages.length>1?t.stages.filter(r=>r):t)}*[Symbol.iterator](){for(let t of this.entries)yield t}insert({filepath:t,stats:r,oid:n,stage:i=0}){r||(r={ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:0,uid:0,gid:0,size:0}),r=us(r);let a=Buffer.from(t),s={ctimeSeconds:r.ctimeSeconds,ctimeNanoseconds:r.ctimeNanoseconds,mtimeSeconds:r.mtimeSeconds,mtimeNanoseconds:r.mtimeNanoseconds,dev:r.dev,ino:r.ino,mode:r.mode||33188,uid:r.uid,gid:r.gid,size:r.size,path:t,oid:n,flags:{assumeValid:!1,extended:!1,stage:i,nameLength:a.length<4095?a.length:4095},stages:[]};this._addEntry(s),this._dirty=!0}delete({filepath:t}){if(this._entries.has(t))this._entries.delete(t);else for(let r of this._entries.keys())r.startsWith(t+"/")&&this._entries.delete(r);this._unmergedPaths.has(t)&&this._unmergedPaths.delete(t),this._dirty=!0}clear(){this._entries.clear(),this._dirty=!0}has({filepath:t}){return this._entries.has(t)}render(){return this.entries.map(t=>`${t.mode.toString(8)} ${t.oid} ${t.path}`).join(` -`)}static async _entryToBuffer(t){let r=Buffer.from(t.path),n=Math.ceil((62+r.length+1)/8)*8,i=Buffer.alloc(n),a=new Or(i),s=us(t);return a.writeUInt32BE(s.ctimeSeconds),a.writeUInt32BE(s.ctimeNanoseconds),a.writeUInt32BE(s.mtimeSeconds),a.writeUInt32BE(s.mtimeNanoseconds),a.writeUInt32BE(s.dev),a.writeUInt32BE(s.ino),a.writeUInt32BE(s.mode),a.writeUInt32BE(s.uid),a.writeUInt32BE(s.gid),a.writeUInt32BE(s.size),a.write(t.oid,20,"hex"),a.writeUInt16BE(eM(t)),a.write(t.path,r.length,"utf8"),i}async toObject(){let t=Buffer.alloc(12),r=new Or(t);r.write("DIRC",4,"utf8"),r.writeUInt32BE(2),r.writeUInt32BE(this.entriesFlat.length);let n=[];for(let o of this.entries)if(n.push(e._entryToBuffer(o)),o.stages.length>1)for(let c of o.stages)c&&c!==o&&n.push(e._entryToBuffer(c));n=await Promise.all(n);let i=Buffer.concat(n),a=Buffer.concat([t,i]),s=await Gn(a);return Buffer.concat([a,Buffer.from(s,"hex")])}};function nu(e,t,r=!0,n=!0){let i=us(e),a=us(t);return r&&i.mode!==a.mode||i.mtimeSeconds!==a.mtimeSeconds||i.ctimeSeconds!==a.ctimeSeconds||i.uid!==a.uid||i.gid!==a.gid||n&&i.ino!==a.ino||i.size!==a.size}var np=null,os=Symbol("IndexCache");function tM(){return{map:new Map,stats:new Map}}async function rM(e,t,r){let n=await e.lstat(t),i=await e.read(t),a=await dp.from(i);r.map.set(t,a),r.stats.set(t,n)}async function nM(e,t,r){let n=r.stats.get(t);if(n===void 0)return!0;let i=await e.lstat(t);return n===null||i===null?!1:nu(n,i)}var mt=class{static async acquire({fs:t,gitdir:r,cache:n,allowUnmerged:i=!0},a){n[os]||(n[os]=tM());let s=`${r}/index`;np===null&&(np=new Jo.default({maxPending:1/0}));let o,c=[];return await np.acquire(s,async()=>{await nM(t,s,n[os])&&await rM(t,s,n[os]);let l=n[os].map.get(s);if(c=l.unmergedPaths,c.length&&!i)throw new Qo(c);if(o=await a(l),l._dirty){let u=await l.toObject();await t.write(s,u),n[os].stats.set(s,await t.lstat(s)),l._dirty=!1}}),o}};function iu(e){let t=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return t>-1&&(e=e.slice(t+1)),e}function fs(e){let t=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return t===-1?".":t===0?"/":e.slice(0,t)}function i2(e){let t=new Map,r=function(i){if(!t.has(i)){let a={type:"tree",fullpath:i,basename:iu(i),metadata:{},children:[]};t.set(i,a),a.parent=r(fs(i)),a.parent&&a.parent!==a&&a.parent.children.push(a)}return t.get(i)},n=function(i,a){if(!t.has(i)){let s={type:"blob",fullpath:i,basename:iu(i),metadata:a,parent:r(fs(i)),children:[]};s.parent&&s.parent.children.push(s),t.set(i,s)}return t.get(i)};r(".");for(let i of e)n(i.path,i);return t}function iM(e){switch(e){case 16384:return"tree";case 33188:return"blob";case 33261:return"blob";case 40960:return"blob";case 57344:return"commit"}throw new le(`Unexpected GitTree entry mode: ${e.toString(8)}`)}var hp=class{constructor({fs:t,gitdir:r,cache:n}){this.treePromise=mt.acquire({fs:t,gitdir:r,cache:n},async function(a){return i2(a.entries)});let i=this;this.ConstructEntry=class{constructor(s){this._fullpath=s,this._type=!1,this._mode=!1,this._stat=!1,this._oid=!1}async type(){return i.type(this)}async mode(){return i.mode(this)}async stat(){return i.stat(this)}async content(){return i.content(this)}async oid(){return i.oid(this)}}}async readdir(t){let r=t._fullpath,i=(await this.treePromise).get(r);if(!i||i.type==="blob")return null;if(i.type!=="tree")throw new Error(`ENOTDIR: not a directory, scandir '${r}'`);let a=i.children.map(s=>s.fullpath);return a.sort(pu),a}async type(t){return t._type===!1&&await t.stat(),t._type}async mode(t){return t._mode===!1&&await t.stat(),t._mode}async stat(t){if(t._stat===!1){let n=(await this.treePromise).get(t._fullpath);if(!n)throw new Error(`ENOENT: no such file or directory, lstat '${t._fullpath}'`);let i=n.type==="tree"?{}:us(n.metadata);t._type=n.type==="tree"?"tree":iM(i.mode),t._mode=i.mode,n.type==="tree"?t._stat=void 0:t._stat=i}return t._stat}async content(t){}async oid(t){if(t._oid===!1){let n=(await this.treePromise).get(t._fullpath);t._oid=n.metadata.oid}return t._oid}},mu=Symbol("GitWalkSymbol");function gu(){let e=Object.create(null);return Object.defineProperty(e,mu,{value:function({fs:t,gitdir:r,cache:n}){return new hp({fs:t,gitdir:r,cache:n})}}),Object.freeze(e),e}var Ne=class e extends _e{constructor(t){super(`Could not find ${t}.`),this.code=this.name=e.code,this.data={what:t}}};Ne.code="NotFoundError";var Gt=class e extends _e{constructor(t,r,n,i){super(`Object ${t} ${i?`at ${i}`:""}was anticipated to be a ${n} but it is a ${r}.`),this.code=this.name=e.code,this.data={oid:t,actual:r,expected:n,filepath:i}}};Gt.code="ObjectTypeError";var bi=class e extends _e{constructor(t){super(`Expected a 40-char hex object id but saw "${t}".`),this.code=this.name=e.code,this.data={value:t}}};bi.code="InvalidOidError";var el=class e extends _e{constructor(t){super(`Could not find a fetch refspec for remote "${t}". Make sure the config file has an entry like the following: -[remote "${t}"] - fetch = +refs/heads/*:refs/remotes/origin/* -`),this.code=this.name=e.code,this.data={remote:t}}};el.code="NoRefspecError";var au=class e{constructor(t){if(this.refs=new Map,this.parsedConfig=[],t){let r=null;this.parsedConfig=t.trim().split(` -`).map(n=>{if(/^\s*#/.test(n))return{line:n,comment:!0};let i=n.indexOf(" ");if(n.startsWith("^")){let a=n.slice(1);return this.refs.set(r+"^{}",a),{line:n,ref:r,peeled:a}}else{let a=n.slice(0,i);return r=n.slice(i+1),this.refs.set(r,a),{line:n,ref:r,oid:a}}})}return this}static from(t){return new e(t)}delete(t){this.parsedConfig=this.parsedConfig.filter(r=>r.ref!==t),this.refs.delete(t)}toString(){return this.parsedConfig.map(({line:t})=>t).join(` -`)+` -`}},su=class e{constructor({remotePath:t,localPath:r,force:n,matchPrefix:i}){Object.assign(this,{remotePath:t,localPath:r,force:n,matchPrefix:i})}static from(t){let[r,n,i,a,s]=t.match(/^(\+?)(.*?)(\*?):(.*?)(\*?)$/).slice(1),o=r==="+",c=i==="*";if(c!==(s==="*"))throw new le("Invalid refspec");return new e({remotePath:n,localPath:a,force:o,matchPrefix:c})}translate(t){if(this.matchPrefix){if(t.startsWith(this.remotePath))return this.localPath+t.replace(this.remotePath,"")}else if(t===this.remotePath)return this.localPath;return null}reverseTranslate(t){if(this.matchPrefix){if(t.startsWith(this.localPath))return this.remotePath+t.replace(this.localPath,"")}else if(t===this.localPath)return this.remotePath;return null}},pp=class e{constructor(t=[]){this.rules=t}static from(t){let r=[];for(let n of t)r.push(su.from(n));return new e(r)}add(t){let r=su.from(t);this.rules.push(r)}translate(t){let r=[];for(let n of this.rules)for(let i of t){let a=n.translate(i);a&&r.push([i,a])}return r}translateOne(t){let r=null;for(let n of this.rules){let i=n.translate(t);i&&(r=i)}return r}localNamespaces(){return this.rules.filter(t=>t.matchPrefix).map(t=>t.localPath.replace(/\/$/,""))}};function aM(e,t){let r=e.replace(/\^\{\}$/,""),n=t.replace(/\^\{\}$/,""),i=-(rn);return i===0?e.endsWith("^{}")?1:-1:i}var Mw=new Map;function Ow(e){let t=Mw.get(e);return t||(t=sM(e),Mw.set(e,t)),t}function sM(e){return e=e.split("/./").join("/").replace(/\/{2,}/g,"/"),e==="/."?"/":e==="./"||(e.startsWith("./")&&(e=e.slice(2)),e.endsWith("/.")&&(e=e.slice(0,-2)),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1)),e==="")?".":e}function $(...e){return Ow(e.map(Ow).join("/"))}var oM=e=>{e=e.toLowerCase();let t=parseInt(e);return e.endsWith("k")&&(t*=1024),e.endsWith("m")&&(t*=1024*1024),e.endsWith("g")&&(t*=1024*1024*1024),t},Ko=e=>{if(e=e.trim().toLowerCase(),e==="true"||e==="yes"||e==="on")return!0;if(e==="false"||e==="no"||e==="off")return!1;throw Error(`Expected 'true', 'false', 'yes', 'no', 'on', or 'off', but got ${e}`)},Iw={core:{filemode:Ko,bare:Ko,logallrefupdates:Ko,symlinks:Ko,ignorecase:Ko,bigFileThreshold:oM}},lM=/^\[([A-Za-z0-9-.]+)(?: "(.*)")?\]$/,cM=/^[A-Za-z0-9-.]+$/,uM=/^([A-Za-z][A-Za-z-]*)(?: *= *(.*))?$/,fM=/^[A-Za-z][A-Za-z-]*$/,dM=/^(.*?)( *[#;].*)$/,hM=e=>{let t=lM.exec(e);if(t!=null){let[r,n]=t.slice(1);return[r,n]}return null},pM=e=>{let t=uM.exec(e);if(t!=null){let[r,n="true"]=t.slice(1),i=mM(n),a=gM(i);return[r,a]}return null},mM=e=>{let t=dM.exec(e);if(t==null)return e;let[r,n]=t.slice(1);return Fw(r)&&Fw(n)?`${r}${n}`:r},Fw=e=>(e.match(/(?:^|[^\\])"/g)||[]).length%2!==0,gM=e=>e.split("").reduce((t,r,n,i)=>{let a=r==='"'&&i[n-1]!=="\\",s=r==="\\"&&i[n+1]==='"';return a||s?t:t+r},""),$w=e=>e!=null?e.toLowerCase():null,mp=(e,t,r)=>[$w(e),t,$w(r)].filter(n=>n!=null).join("."),Lw=e=>{let t=e.split("."),r=t.shift(),n=t.pop(),i=t.length?t.join("."):void 0;return{section:r,subsection:i,name:n,path:mp(r,i,n),sectionPath:mp(r,i,null)}},vM=(e,t)=>e.reduce((r,n,i)=>t(n)?i:r,-1),gp=class e{constructor(t){let r=null,n=null;this.parsedConfig=t?t.split(` -`).map(i=>{let a=null,s=null,o=i.trim(),c=hM(o),l=c!=null;if(l)[r,n]=c;else{let f=pM(o);f!=null&&([a,s]=f)}let u=mp(r,n,a);return{line:i,isSection:l,section:r,subsection:n,name:a,value:s,path:u}}):[]}static from(t){return new e(t)}async get(t,r=!1){let n=Lw(t).path,i=this.parsedConfig.filter(a=>a.path===n).map(({section:a,name:s,value:o})=>{let c=Iw[a]&&Iw[a][s];return c?c(o):o});return r?i:i.pop()}async getall(t){return this.get(t,!0)}async getSubsections(t){return this.parsedConfig.filter(r=>r.section===t&&r.isSection).map(r=>r.subsection)}async deleteSection(t,r){this.parsedConfig=this.parsedConfig.filter(n=>!(n.section===t&&n.subsection===r))}async append(t,r){return this.set(t,r,!0)}async set(t,r,n=!1){let{section:i,subsection:a,name:s,path:o,sectionPath:c}=Lw(t),l=vM(this.parsedConfig,u=>u.path===o);if(r==null)l!==-1&&this.parsedConfig.splice(l,1);else if(l!==-1){let u=this.parsedConfig[l],f=Object.assign({},u,{name:s,value:r,modified:!0});n?this.parsedConfig.splice(l+1,0,f):this.parsedConfig[l]=f}else{let u=this.parsedConfig.findIndex(d=>d.path===c),f={section:i,subsection:a,name:s,value:r,modified:!0,path:o};if(cM.test(i)&&fM.test(s))if(u>=0)this.parsedConfig.splice(u+1,0,f);else{let d={section:i,subsection:a,modified:!0,path:c};this.parsedConfig.push(d,f)}}}toString(){return this.parsedConfig.map(({line:t,section:r,subsection:n,name:i,value:a,modified:s=!1})=>s?i!=null&&a!=null?typeof a=="string"&&/[#;]/.test(a)?` ${i} = "${a}"`:` ${i} = ${a}`:n!=null?`[${r} "${n}"]`:`[${r}]`:t).join(` -`)}},Ve=class{static async get({fs:t,gitdir:r}){let n=await t.read(`${r}/config`,{encoding:"utf8"});return gp.from(n)}static async save({fs:t,gitdir:r,config:n}){await t.write(`${r}/config`,n.toString(),{encoding:"utf8"})}},eu=e=>[`${e}`,`refs/${e}`,`refs/tags/${e}`,`refs/heads/${e}`,`refs/remotes/${e}`,`refs/remotes/${e}/HEAD`],yM=["config","description","index","shallow","commondir"],ip;async function vi(e,t){return ip===void 0&&(ip=new Jo.default),ip.acquire(e,t)}var q=class e{static async updateRemoteRefs({fs:t,gitdir:r,remote:n,refs:i,symrefs:a,tags:s,refspecs:o=void 0,prune:c=!1,pruneTags:l=!1}){for(let v of i.values())if(!v.match(/[0-9a-f]{40}/))throw new bi(v);let u=await Ve.get({fs:t,gitdir:r});if(!o){if(o=await u.getall(`remote.${n}.fetch`),o.length===0)throw new el(n);o.unshift(`+HEAD:refs/remotes/${n}/HEAD`)}let f=pp.from(o),d=new Map;if(l){let v=await e.listRefs({fs:t,gitdir:r,filepath:"refs/tags"});await e.deleteRefs({fs:t,gitdir:r,refs:v.map(y=>`refs/tags/${y}`)})}if(s){for(let v of i.keys())if(v.startsWith("refs/tags")&&!v.endsWith("^{}")&&!await e.exists({fs:t,gitdir:r,ref:v})){let y=i.get(v);d.set(v,y)}}let h=f.translate([...i.keys()]);for(let[v,y]of h){let b=i.get(v);d.set(y,b)}let p=f.translate([...a.keys()]);for(let[v,y]of p){let b=a.get(v),x=f.translateOne(b);x&&d.set(y,`ref: ${x}`)}let m=[];if(c){for(let v of f.localNamespaces()){let y=(await e.listRefs({fs:t,gitdir:r,filepath:v})).map(b=>`${v}/${b}`);for(let b of y)d.has(b)||m.push(b)}m.length>0&&await e.deleteRefs({fs:t,gitdir:r,refs:m})}for(let[v,y]of d)await vi(v,async()=>t.write($(r,v),`${y.trim()} -`,"utf8"));return{pruned:m}}static async writeRef({fs:t,gitdir:r,ref:n,value:i}){if(!i.match(/[0-9a-f]{40}/))throw new bi(i);await vi(n,async()=>t.write($(r,n),`${i.trim()} -`,"utf8"))}static async writeSymbolicRef({fs:t,gitdir:r,ref:n,value:i}){await vi(n,async()=>t.write($(r,n),`ref: ${i.trim()} -`,"utf8"))}static async deleteRef({fs:t,gitdir:r,ref:n}){return e.deleteRefs({fs:t,gitdir:r,refs:[n]})}static async deleteRefs({fs:t,gitdir:r,refs:n}){await Promise.all(n.map(o=>t.rm($(r,o))));let i=await vi("packed-refs",async()=>t.read(`${r}/packed-refs`,{encoding:"utf8"})),a=au.from(i),s=a.refs.size;for(let o of n)a.refs.has(o)&&a.delete(o);a.refs.sizet.write(`${r}/packed-refs`,i,{encoding:"utf8"})))}static async resolve({fs:t,gitdir:r,ref:n,depth:i=void 0}){if(i!==void 0&&(i--,i===-1))return n;if(n.startsWith("ref: "))return n=n.slice(5),e.resolve({fs:t,gitdir:r,ref:n,depth:i});if(n.length===40&&/[0-9a-f]{40}/.test(n))return n;let a=await e.packedRefs({fs:t,gitdir:r}),s=eu(n).filter(o=>!yM.includes(o));for(let o of s){let c=await vi(o,async()=>await t.read(`${r}/${o}`,{encoding:"utf8"})||a.get(o));if(c)return e.resolve({fs:t,gitdir:r,ref:c.trim(),depth:i})}throw new Ne(n)}static async exists({fs:t,gitdir:r,ref:n}){try{return await e.expand({fs:t,gitdir:r,ref:n}),!0}catch(i){return!1}}static async expand({fs:t,gitdir:r,ref:n}){if(n.length===40&&/[0-9a-f]{40}/.test(n))return n;let i=await e.packedRefs({fs:t,gitdir:r}),a=eu(n);for(let s of a)if(await vi(s,async()=>t.exists(`${r}/${s}`))||i.has(s))return s;throw new Ne(n)}static async expandAgainstMap({ref:t,map:r}){let n=eu(t);for(let i of n)if(await r.has(i))return i;throw new Ne(t)}static resolveAgainstMap({ref:t,fullref:r=t,depth:n=void 0,map:i}){if(n!==void 0&&(n--,n===-1))return{fullref:r,oid:t};if(t.startsWith("ref: "))return t=t.slice(5),e.resolveAgainstMap({ref:t,fullref:r,depth:n,map:i});if(t.length===40&&/[0-9a-f]{40}/.test(t))return{fullref:r,oid:t};let a=eu(t);for(let s of a){let o=i.get(s);if(o)return e.resolveAgainstMap({ref:o.trim(),fullref:s,depth:n,map:i})}throw new Ne(t)}static async packedRefs({fs:t,gitdir:r}){let n=await vi("packed-refs",async()=>t.read(`${r}/packed-refs`,{encoding:"utf8"}));return au.from(n).refs}static async listRefs({fs:t,gitdir:r,filepath:n}){let i=e.packedRefs({fs:t,gitdir:r}),a=null;try{a=await t.readdirDeep(`${r}/${n}`),a=a.map(s=>s.replace(`${r}/${n}/`,""))}catch(s){a=[]}for(let s of(await i).keys())s.startsWith(n)&&(s=s.replace(n+"/",""),a.includes(s)||a.push(s));return a.sort(aM),a}static async listBranches({fs:t,gitdir:r,remote:n}){return n?e.listRefs({fs:t,gitdir:r,filepath:`refs/remotes/${n}`}):e.listRefs({fs:t,gitdir:r,filepath:"refs/heads"})}static async listTags({fs:t,gitdir:r}){return(await e.listRefs({fs:t,gitdir:r,filepath:"refs/tags"})).filter(i=>!i.endsWith("^{}"))}};function wM(e,t){return pu(Dw(e),Dw(t))}function Dw(e){return e.mode==="040000"?e.path+"/":e.path}function a2(e){switch(e){case"040000":return"tree";case"100644":return"blob";case"100755":return"blob";case"120000":return"blob";case"160000":return"commit"}throw new le(`Unexpected GitTree entry mode: ${e}`)}function bM(e){let t=[],r=0;for(;r`${t.mode} ${t.type} ${t.oid} ${t.path}`).join(` -`)}toObject(){let t=[...this._entries];return t.sort(wM),Buffer.concat(t.map(r=>{let n=Buffer.from(r.mode.replace(/^0/,"")),i=Buffer.from(" "),a=Buffer.from(r.path,"utf8"),s=Buffer.from([0]),o=Buffer.from(r.oid,"hex");return Buffer.concat([n,i,a,s,o])}))}entries(){return this._entries}*[Symbol.iterator](){for(let t of this._entries)yield t}},_i=class{static wrap({type:t,object:r}){return Buffer.concat([Buffer.from(`${t} ${r.byteLength.toString()}\0`),Buffer.from(r)])}static unwrap(t){let r=t.indexOf(32),n=t.indexOf(0),i=t.slice(0,r).toString("utf8"),a=t.slice(r+1,n).toString("utf8"),s=t.length-(n+1);if(parseInt(a)!==s)throw new le(`Length mismatch: expected ${a} bytes but got ${s} instead.`);return{type:i,object:Buffer.from(t.slice(n+1))}}};async function SM({fs:e,gitdir:t,oid:r}){let n=`objects/${r.slice(0,2)}/${r.slice(2)}`,i=await e.read(`${t}/${n}`);return i?{object:i,format:"deflated",source:n}:null}function EM(e,t){let r=new Or(e),n=Nw(r);if(n!==t.byteLength)throw new le(`applyDelta expected source buffer to be ${n} bytes but the provided buffer was ${t.length} bytes`);let i=Nw(r),a,s=Bw(r,t);if(s.byteLength===i)a=s;else{a=Buffer.alloc(i);let o=new Or(a);for(o.copy(s);!r.eof();)o.copy(Bw(r,t));let c=o.tell();if(i!==c)throw new le(`applyDelta expected target buffer to be ${i} bytes but the resulting buffer was ${c} bytes`)}return a}function Nw(e){let t=0,r=0,n=null;do n=e.readUInt8(),t|=(n&127)<>=1,i+=8;return n}function Bw(e,t){let r=e.readUInt8(),n=128,i=15,a=112;if(r&n){let s=jw(e,r&i,4),o=jw(e,(r&a)>>4,3);return o===0&&(o=65536),t.slice(s,s+o)}else return e.slice(r)}function AM(e){let t=[e];return{next(){return Promise.resolve({done:t.length===0,value:t.pop()})},return(){return t=[],{}},[Symbol.asyncIterator](){return this}}}function s2(e){return e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]?e[Symbol.iterator]():e.next?e:AM(e)}var ou=class{constructor(t){if(typeof Buffer=="undefined")throw new Error("Missing Buffer dependency");this.stream=s2(t),this.buffer=null,this.cursor=0,this.undoCursor=0,this.started=!1,this._ended=!1,this._discardedBytes=0}eof(){return this._ended&&this.cursor===this.buffer.length}tell(){return this._discardedBytes+this.cursor}async byte(){if(!this.eof()&&(this.started||await this._init(),!(this.cursor===this.buffer.length&&(await this._loadnext(),this._ended))))return this._moveCursor(1),this.buffer[this.undoCursor]}async chunk(){if(!this.eof()&&(this.started||await this._init(),!(this.cursor===this.buffer.length&&(await this._loadnext(),this._ended))))return this._moveCursor(this.buffer.length),this.buffer.slice(this.undoCursor,this.cursor)}async read(t){if(!this.eof())return this.started||await this._init(),this.cursor+t>this.buffer.length&&(this._trim(),await this._accumulate(t)),this._moveCursor(t),this.buffer.slice(this.undoCursor,this.cursor)}async skip(t){this.eof()||(this.started||await this._init(),this.cursor+t>this.buffer.length&&(this._trim(),await this._accumulate(t)),this._moveCursor(t))}async undo(){this.cursor=this.undoCursor}async _next(){this.started=!0;let{done:t,value:r}=await this.stream.next();return t&&(this._ended=!0,!r)?Buffer.alloc(0):(r&&(r=Buffer.from(r)),r)}_trim(){this.buffer=this.buffer.slice(this.undoCursor),this.cursor-=this.undoCursor,this._discardedBytes+=this.undoCursor,this.undoCursor=0}_moveCursor(t){this.undoCursor=this.cursor,this.cursor+=t,this.cursor>this.buffer.length&&(this.cursor=this.buffer.length)}async _accumulate(t){if(this._ended)return;let r=[this.buffer];for(;this.cursor+t>kM(r);){let n=await this._next();if(this._ended)break;r.push(n)}this.buffer=Buffer.concat(r)}async _loadnext(){this._discardedBytes+=this.buffer.length,this.undoCursor=0,this.cursor=0,this.buffer=await this._next()}async _init(){this.buffer=await this._next()}};function kM(e){return e.reduce((t,r)=>t+r.length,0)}async function TM(e,t){let r=new ou(e),n=await r.read(4);if(n=n.toString("utf8"),n!=="PACK")throw new le(`Invalid PACK header '${n}'`);let i=await r.read(4);if(i=i.readUInt32BE(0),i!==2)throw new le(`Invalid packfile version: ${i}`);let a=await r.read(4);if(a=a.readUInt32BE(0),!(a<1))for(;!r.eof()&&a--;){let s=r.tell(),{type:o,length:c,ofs:l,reference:u}=await CM(r),f=new hu.default.Inflate;for(;!f.result;){let d=await r.chunk();if(!d)break;if(f.push(d,!1),f.err)throw new le(`Pako error: ${f.msg}`);if(f.result){if(f.result.length!==c)throw new le("Inflated object size is different from that stated in packfile.");await r.undo(),await r.read(d.length-f.strm.avail_in);let h=r.tell();await t({data:f.result,type:o,num:a,offset:s,end:h,reference:u,ofs:l})}}}}async function CM(e){let t=await e.byte(),r=t>>4&7,n=t&15;if(t&128){let s=4;do t=await e.byte(),n|=(t&127)<i+1<<7|a,-1)}function OM(e,t){let r=t,n=4,i=null;do i=e.readUInt8(),r|=(i&127)<2048*1024*1024)throw new le("To keep implementation simple, I haven't implemented the layer 5 feature needed to support packfiles > 2GB in size.");n.seek(n.tell()+4*255);let s=n.readUInt32BE(),o=[];for(let u=0;u{u===null&&(u=E);let _=Math.floor((u-E)*100/u);_!==f&&n&&await n({phase:"Receiving objects",loaded:u-E,total:u}),f=_,y=i[y],["commit","tree","blob","tag"].includes(y)?a[x]={type:y,offset:x}:y==="ofs-delta"?a[x]={type:y,offset:x}:y==="ref-delta"&&(a[x]={type:y,offset:x})});let d=Object.keys(a).map(Number);for(let[v,y]of d.entries()){let b=v+1===d.length?t.byteLength-20:d[v+1],x=a[y],E=Jw.default.buf(t.slice(y,b))>>>0;x.end=b,x.crc=E}let h=new e({pack:Promise.resolve(t),packfileSha:s,crcs:c,hashes:o,offsets:l,getExternalRefDelta:r});f=null;let p=0,m=[0,0,0,0,0,0,0,0,0,0,0,0];for(let v in a){v=Number(v);let y=Math.floor(p*100/u);y!==f&&n&&await n({phase:"Resolving deltas",loaded:p,total:u}),p++,f=y;let b=a[v];if(!b.oid)try{h.readDepth=0,h.externalReadDepth=0;let{type:x,object:E}=await h.readSlice({start:v});m[h.readDepth]+=1;let _=await Gn(_i.wrap({type:x,object:E}));b.oid=_,o.push(_),l.set(_,v),c[_]=b.crc}catch(x){continue}}return o.sort(),h}async toBuffer(){let t=[],r=(l,u)=>{t.push(Buffer.from(l,u))};r("ff744f63","hex"),r("00000002","hex");let n=new Or(Buffer.alloc(256*4));for(let l=0;l<256;l++){let u=0;for(let f of this.hashes)parseInt(f.slice(0,2),16)<=l&&u++;n.writeUInt32BE(u)}t.push(n.buffer);for(let l of this.hashes)r(l,"hex");let i=new Or(Buffer.alloc(this.hashes.length*4));for(let l of this.hashes)i.writeUInt32BE(this.crcs[l]);t.push(i.buffer);let a=new Or(Buffer.alloc(this.hashes.length*4));for(let l of this.hashes)a.writeUInt32BE(this.offsets.get(l));t.push(a.buffer),r(this.packfileSha,"hex");let s=Buffer.concat(t),o=await Gn(s),c=Buffer.alloc(20);return c.write(o,"hex"),Buffer.concat([s,c])}async load({pack:t}){this.pack=t}async unload(){this.pack=null}async read({oid:t}){if(!this.offsets.get(t)){if(this.getExternalRefDelta)return this.externalReadDepth++,this.getExternalRefDelta(t);throw new le(`Could not read object ${t} from packfile`)}let r=this.offsets.get(t);return this.readSlice({start:r})}async readSlice({start:t}){if(this.offsetCache[t])return Object.assign({},this.offsetCache[t]);this.readDepth++;let r={16:"commit",32:"tree",48:"blob",64:"tag",96:"ofs_delta",112:"ref_delta"};if(!this.pack)throw new le("Tried to read from a GitPackIndex with no packfile loaded into memory");let n=(await this.pack).slice(t),i=new Or(n),a=i.readUInt8(),s=a&112,o=r[s];if(o===void 0)throw new le("Unrecognized type: 0b"+s.toString(2));let c=a&15,l=c;a&128&&(l=OM(i,c));let f=null,d=null;if(o==="ofs_delta"){let p=MM(i),m=t-p;({object:f,type:o}=await this.readSlice({start:m}))}if(o==="ref_delta"){let p=i.slice(20).toString("hex");({object:f,type:o}=await this.read({oid:p}))}let h=n.slice(i.tell());if(d=Buffer.from(await o2(h)),d.byteLength!==l)throw new le(`Packfile told us object would have length ${l} but it had length ${d.byteLength}`);return f&&(d=Buffer.from(EM(d,f))),this.readDepth>3&&(this.offsetCache[t]={type:o,object:d}),{type:o,format:"content",object:d}}},tu=Symbol("PackfileCache");async function IM({fs:e,filename:t,getExternalRefDelta:r,emitter:n,emitterPrefix:i}){let a=await e.read(t);return tl.fromIdx({idx:a,getExternalRefDelta:r})}function Ap({fs:e,cache:t,filename:r,getExternalRefDelta:n,emitter:i,emitterPrefix:a}){t[tu]||(t[tu]=new Map);let s=t[tu].get(r);return s||(s=IM({fs:e,filename:r,getExternalRefDelta:n,emitter:i,emitterPrefix:a}),t[tu].set(r,s)),s}async function FM({fs:e,cache:t,gitdir:r,oid:n,format:i="content",getExternalRefDelta:a}){let s=await e.readdir($(r,"objects/pack"));s=s.filter(o=>o.endsWith(".idx"));for(let o of s){let c=`${r}/objects/pack/${o}`,l=await Ap({fs:e,cache:t,filename:c,getExternalRefDelta:a});if(l.error)throw new le(l.error);if(l.offsets.has(n)){if(!l.pack){let f=c.replace(/idx$/,"pack");l.pack=e.read(f)}let u=await l.read({oid:n,getExternalRefDelta:a});return u.format="content",u.source=`objects/pack/${o.replace(/idx$/,"pack")}`,u}}return null}async function We({fs:e,cache:t,gitdir:r,oid:n,format:i="content"}){let a=u=>We({fs:e,cache:t,gitdir:r,oid:u}),s;if(n==="4b825dc642cb6eb9a060e54bf8d69288fbee4904"&&(s={format:"wrapped",object:Buffer.from("tree 0\0")}),s||(s=await SM({fs:e,gitdir:r,oid:n})),!s){if(s=await FM({fs:e,cache:t,gitdir:r,oid:n,getExternalRefDelta:a}),!s)throw new Ne(n);return s}if(i==="deflated"||(s.format==="deflated"&&(s.object=Buffer.from(await o2(s.object)),s.format="wrapped"),i==="wrapped"))return s;let o=await Gn(s.object);if(o!==n)throw new le(`SHA check failed! Expected ${n}, computed ${o}`);let{object:c,type:l}=_i.unwrap(s.object);if(s.type=l,s.object=c,s.format="content",i==="content")return s;throw new le(`invalid requested format "${i}"`)}var Jr=class e extends _e{constructor(t,r,n=!0){super(`Failed to create ${t} at ${r} because it already exists.${n?` (Hint: use 'force: true' parameter to overwrite existing ${t}.)`:""}`),this.code=this.name=e.code,this.data={noun:t,where:r,canForce:n}}};Jr.code="AlreadyExistsError";var rl=class e extends _e{constructor(t,r,n){super(`Found multiple ${t} matching "${r}" (${n.join(", ")}). Use a longer abbreviation length to disambiguate them.`),this.code=this.name=e.code,this.data={nouns:t,short:r,matches:n}}};rl.code="AmbiguousError";var nl=class e extends _e{constructor(t){super(`Your local changes to the following files would be overwritten by checkout: ${t.join(", ")}`),this.code=this.name=e.code,this.data={filepaths:t}}};nl.code="CheckoutConflictError";var il=class e extends _e{constructor(t,r){super(`Failed to checkout "${t}" because commit ${r} is not available locally. Do a git fetch to make the branch available locally.`),this.code=this.name=e.code,this.data={ref:t,oid:r}}};il.code="CommitNotFetchedError";var al=class e extends _e{constructor(){super("Empty response from git server."),this.code=this.name=e.code,this.data={}}};al.code="EmptyServerResponseError";var sl=class e extends _e{constructor(){super("A simple fast-forward merge was not possible."),this.code=this.name=e.code,this.data={}}};sl.code="FastForwardError";var ol=class e extends _e{constructor(t,r){super(`One or more branches were not updated: ${t}`),this.code=this.name=e.code,this.data={prettyDetails:t,result:r}}};ol.code="GitPushError";var ds=class e extends _e{constructor(t,r,n){super(`HTTP Error: ${t} ${r}`),this.code=this.name=e.code,this.data={statusCode:t,statusMessage:r,response:n}}};ds.code="HttpError";var xi=class e extends _e{constructor(t){let r="invalid filepath";t==="leading-slash"||t==="trailing-slash"?r='"filepath" parameter should not include leading or trailing directory separators because these can cause problems on some platforms.':t==="directory"&&(r='"filepath" should not be a directory.'),super(r),this.code=this.name=e.code,this.data={reason:t}}};xi.code="InvalidFilepathError";var zn=class e extends _e{constructor(t,r){super(`"${t}" would be an invalid git reference. (Hint: a valid alternative would be "${r}".)`),this.code=this.name=e.code,this.data={ref:t,suggestion:r}}};zn.code="InvalidRefNameError";var ll=class e extends _e{constructor(t){super(`Maximum search depth of ${t} exceeded.`),this.code=this.name=e.code,this.data={depth:t}}};ll.code="MaxDepthError";var hs=class e extends _e{constructor(){super("Merges with conflicts are not supported yet."),this.code=this.name=e.code,this.data={}}};hs.code="MergeNotSupportedError";var ps=class e extends _e{constructor(t,r,n,i){super(`Automatic merge failed with one or more merge conflicts in the following files: ${t.toString()}. Fix conflicts then commit the result.`),this.code=this.name=e.code,this.data={filepaths:t,bothModified:r,deleteByUs:n,deleteByTheirs:i}}};ps.code="MergeConflictError";var zt=class e extends _e{constructor(t){super(`No name was provided for ${t} in the argument or in the .git/config file.`),this.code=this.name=e.code,this.data={role:t}}};zt.code="MissingNameError";var Qt=class e extends _e{constructor(t){super(`The function requires a "${t}" parameter but none was provided.`),this.code=this.name=e.code,this.data={parameter:t}}};Qt.code="MissingParameterError";var cl=class e extends _e{constructor(t){super('There are multiple errors that were thrown by the method. Please refer to the "errors" property to see more'),this.code=this.name=e.code,this.data={errors:t},this.errors=t}};cl.code="MultipleGitError";var la=class e extends _e{constructor(t,r){super(`Expected "${t}" but received "${r}".`),this.code=this.name=e.code,this.data={expected:t,actual:r}}};la.code="ParseError";var ms=class e extends _e{constructor(t){let r="";t==="not-fast-forward"?r=" because it was not a simple fast-forward":t==="tag-exists"&&(r=" because tag already exists"),super(`Push rejected${r}. Use "force: true" to override.`),this.code=this.name=e.code,this.data={reason:t}}};ms.code="PushRejectedError";var yi=class e extends _e{constructor(t,r){super(`Remote does not support the "${t}" so the "${r}" parameter cannot be used.`),this.code=this.name=e.code,this.data={capability:t,parameter:r}}};yi.code="RemoteCapabilityError";var ul=class e extends _e{constructor(t,r){super(`Remote did not reply using the "smart" HTTP protocol. Expected "001e# service=git-upload-pack" but received: ${t}`),this.code=this.name=e.code,this.data={preview:t,response:r}}};ul.code="SmartHttpError";var fl=class e extends _e{constructor(t,r,n){super(`Git remote "${t}" uses an unrecognized transport protocol: "${r}"`),this.code=this.name=e.code,this.data={url:t,transport:r,suggestion:n}}};fl.code="UnknownTransportError";var dl=class e extends _e{constructor(t){super(`Cannot parse remote URL: "${t}"`),this.code=this.name=e.code,this.data={url:t}}};dl.code="UrlParseError";var gs=class e extends _e{constructor(){super("The operation was canceled."),this.code=this.name=e.code,this.data={}}};gs.code="UserCanceledError";var hl=class e extends _e{constructor(t){super(`Could not merge index: Entry for '${t}' is not up to date. Either reset the index entry to HEAD, or stage your unstaged changes.`),this.code=this.name=e.code,this.data={filepath:t}}};hl.code="IndexResetError";var pl=class e extends _e{constructor(t){super(`"${t}" does not point to any commit. You're maybe working on a repository with no commits yet. `),this.code=this.name=e.code,this.data={ref:t}}};pl.code="NoCommitError";var gl=Object.freeze({__proto__:null,AlreadyExistsError:Jr,AmbiguousError:rl,CheckoutConflictError:nl,CommitNotFetchedError:il,EmptyServerResponseError:al,FastForwardError:sl,GitPushError:ol,HttpError:ds,InternalError:le,InvalidFilepathError:xi,InvalidOidError:bi,InvalidRefNameError:zn,MaxDepthError:ll,MergeNotSupportedError:hs,MergeConflictError:ps,MissingNameError:zt,MissingParameterError:Qt,MultipleGitError:cl,NoRefspecError:el,NotFoundError:Ne,ObjectTypeError:Gt,ParseError:la,PushRejectedError:ms,RemoteCapabilityError:yi,SmartHttpError:ul,UnknownTransportError:fl,UnsafeFilepathError:cs,UrlParseError:dl,UserCanceledError:gs,UnmergedPathsError:Qo,IndexResetError:hl,NoCommitError:pl});function vp({name:e,email:t,timestamp:r,timezoneOffset:n}){return n=$M(n),`${e} <${t}> ${r} ${n}`}function $M(e){let t=LM(DM(e));e=Math.abs(e);let r=Math.floor(e/60);e-=r*60;let n=String(r),i=String(e);return n.length<2&&(n="0"+n),i.length<2&&(i="0"+i),(t===-1?"-":"+")+n+i}function LM(e){return Math.sign(e)||(Object.is(e,-0)?-1:1)}function DM(e){return e===0?e:-e}function Un(e){return e=e.replace(/\r/g,""),e=e.replace(/^\n+/,""),e=e.replace(/\n+$/,"")+` -`,e}function lu(e){let[,t,r,n,i]=e.match(/^(.*) <(.*)> (.*) (.*)$/);return{name:t,email:r,timestamp:Number(n),timezoneOffset:NM(i)}}function NM(e){let[,t,r,n]=e.match(/(\+|-)(\d\d)(\d\d)/);return n=(t==="+"?1:-1)*(Number(r)*60+Number(n)),jM(n)}function jM(e){return e===0?e:-e}var hr=class e{constructor(t){if(typeof t=="string")this._tag=t;else if(Buffer.isBuffer(t))this._tag=t.toString("utf8");else if(typeof t=="object")this._tag=e.render(t);else throw new le("invalid type passed to GitAnnotatedTag constructor")}static from(t){return new e(t)}static render(t){return`object ${t.object} -type ${t.type} -tag ${t.tag} -tagger ${vp(t.tagger)} - -${t.message} -${t.gpgsig?t.gpgsig:""}`}justHeaders(){return this._tag.slice(0,this._tag.indexOf(` - -`))}message(){let t=this.withoutSignature();return t.slice(t.indexOf(` - -`)+2)}parse(){return Object.assign(this.headers(),{message:this.message(),gpgsig:this.gpgsig()})}render(){return this._tag}headers(){let t=this.justHeaders().split(` -`),r=[];for(let i of t)i[0]===" "?r[r.length-1]+=` -`+i.slice(1):r.push(i);let n={};for(let i of r){let a=i.slice(0,i.indexOf(" ")),s=i.slice(i.indexOf(" ")+1);Array.isArray(n[a])?n[a].push(s):n[a]=s}return n.tagger&&(n.tagger=lu(n.tagger)),n.committer&&(n.committer=lu(n.committer)),n}withoutSignature(){let t=Un(this._tag);return t.indexOf(` ------BEGIN PGP SIGNATURE-----`)===-1?t:t.slice(0,t.lastIndexOf(` ------BEGIN PGP SIGNATURE-----`))}gpgsig(){if(this._tag.indexOf(` ------BEGIN PGP SIGNATURE-----`)===-1)return;let t=this._tag.slice(this._tag.indexOf("-----BEGIN PGP SIGNATURE-----"),this._tag.indexOf("-----END PGP SIGNATURE-----")+27);return Un(t)}payload(){return this.withoutSignature()+` -`}toObject(){return Buffer.from(this._tag,"utf8")}static async sign(t,r,n){let i=t.payload(),{signature:a}=await r({payload:i,secretKey:n});a=Un(a);let s=i+a;return e.from(s)}};function sp(e){return e.trim().split(` -`).map(t=>" "+t).join(` -`)+` -`}function BM(e){return e.split(` -`).map(t=>t.replace(/^ /,"")).join(` -`)}var tr=class e{constructor(t){if(typeof t=="string")this._commit=t;else if(Buffer.isBuffer(t))this._commit=t.toString("utf8");else if(typeof t=="object")this._commit=e.render(t);else throw new le("invalid type passed to GitCommit constructor")}static fromPayloadSignature({payload:t,signature:r}){let n=e.justHeaders(t),i=e.justMessage(t),a=Un(n+` -gpgsig`+sp(r)+` -`+i);return new e(a)}static from(t){return new e(t)}toObject(){return Buffer.from(this._commit,"utf8")}headers(){return this.parseHeaders()}message(){return e.justMessage(this._commit)}parse(){return Object.assign({message:this.message()},this.headers())}static justMessage(t){return Un(t.slice(t.indexOf(` - -`)+2))}static justHeaders(t){return t.slice(0,t.indexOf(` - -`))}parseHeaders(){let t=e.justHeaders(this._commit).split(` -`),r=[];for(let i of t)i[0]===" "?r[r.length-1]+=` -`+i.slice(1):r.push(i);let n={parent:[]};for(let i of r){let a=i.slice(0,i.indexOf(" ")),s=i.slice(i.indexOf(" ")+1);Array.isArray(n[a])?n[a].push(s):n[a]=s}return n.author&&(n.author=lu(n.author)),n.committer&&(n.committer=lu(n.committer)),n}static renderHeaders(t){let r="";if(t.tree?r+=`tree ${t.tree} -`:r+=`tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904 -`,t.parent){if(t.parent.length===void 0)throw new le("commit 'parent' property should be an array");for(let a of t.parent)r+=`parent ${a} -`}let n=t.author;r+=`author ${vp(n)} -`;let i=t.committer||t.author;return r+=`committer ${vp(i)} -`,t.gpgsig&&(r+="gpgsig"+sp(t.gpgsig)),r}static render(t){return e.renderHeaders(t)+` -`+Un(t.message)}render(){return this._commit}withoutSignature(){let t=Un(this._commit);if(t.indexOf(` -gpgsig`)===-1)return t;let r=t.slice(0,t.indexOf(` -gpgsig`)),n=t.slice(t.indexOf(`-----END PGP SIGNATURE----- -`)+28);return Un(r+` -`+n)}isolateSignature(){let t=this._commit.slice(this._commit.indexOf("-----BEGIN PGP SIGNATURE-----"),this._commit.indexOf("-----END PGP SIGNATURE-----")+27);return BM(t)}static async sign(t,r,n){let i=t.withoutSignature(),a=e.justMessage(t._commit),{signature:s}=await r({payload:i,secretKey:n});s=Un(s);let c=e.justHeaders(t._commit)+` -gpgsig`+sp(s)+` -`+a;return e.from(c)}};async function vs({fs:e,cache:t,gitdir:r,oid:n}){if(n==="4b825dc642cb6eb9a060e54bf8d69288fbee4904")return{tree:er.from([]),oid:n};let{type:i,object:a}=await We({fs:e,cache:t,gitdir:r,oid:n});if(i==="tag")return n=hr.from(a).parse().object,vs({fs:e,cache:t,gitdir:r,oid:n});if(i==="commit")return n=tr.from(a).parse().tree,vs({fs:e,cache:t,gitdir:r,oid:n});if(i!=="tree")throw new Gt(n,i,"tree");return{tree:er.from(a),oid:n}}var yp=class{constructor({fs:t,gitdir:r,ref:n,cache:i}){this.fs=t,this.cache=i,this.gitdir=r,this.mapPromise=(async()=>{let s=new Map,o;try{o=await q.resolve({fs:t,gitdir:r,ref:n})}catch(l){l instanceof Ne&&(o="4b825dc642cb6eb9a060e54bf8d69288fbee4904")}let c=await vs({fs:t,cache:this.cache,gitdir:r,oid:o});return c.type="tree",c.mode="40000",s.set(".",c),s})();let a=this;this.ConstructEntry=class{constructor(o){this._fullpath=o,this._type=!1,this._mode=!1,this._stat=!1,this._content=!1,this._oid=!1}async type(){return a.type(this)}async mode(){return a.mode(this)}async stat(){return a.stat(this)}async content(){return a.content(this)}async oid(){return a.oid(this)}}}async readdir(t){let r=t._fullpath,{fs:n,cache:i,gitdir:a}=this,s=await this.mapPromise,o=s.get(r);if(!o)throw new Error(`No obj for ${r}`);let c=o.oid;if(!c)throw new Error(`No oid for obj ${JSON.stringify(o)}`);if(o.type!=="tree")return null;let{type:l,object:u}=await We({fs:n,cache:i,gitdir:a,oid:c});if(l!==o.type)throw new Gt(c,l,o.type);let f=er.from(u);for(let d of f)s.set($(r,d.path),d);return f.entries().map(d=>$(r,d.path))}async type(t){if(t._type===!1){let r=await this.mapPromise,{type:n}=r.get(t._fullpath);t._type=n}return t._type}async mode(t){if(t._mode===!1){let r=await this.mapPromise,{mode:n}=r.get(t._fullpath);t._mode=r2(parseInt(n,8))}return t._mode}async stat(t){}async content(t){if(t._content===!1){let r=await this.mapPromise,{fs:n,cache:i,gitdir:a}=this,o=r.get(t._fullpath).oid,{type:c,object:l}=await We({fs:n,cache:i,gitdir:a,oid:o});c!=="blob"?t._content=void 0:t._content=new Uint8Array(l)}return t._content}async oid(t){if(t._oid===!1){let n=(await this.mapPromise).get(t._fullpath);t._oid=n.oid}return t._oid}};function wi({ref:e="HEAD"}={}){let t=Object.create(null);return Object.defineProperty(t,mu,{value:function({fs:r,gitdir:n,cache:i}){return new yp({fs:r,gitdir:n,ref:e,cache:i})}}),Object.freeze(t),t}var wp=class{constructor({fs:t,dir:r,gitdir:n,cache:i}){this.fs=t,this.cache=i,this.dir=r,this.gitdir=n;let a=this;this.ConstructEntry=class{constructor(o){this._fullpath=o,this._type=!1,this._mode=!1,this._stat=!1,this._content=!1,this._oid=!1}async type(){return a.type(this)}async mode(){return a.mode(this)}async stat(){return a.stat(this)}async content(){return a.content(this)}async oid(){return a.oid(this)}}}async readdir(t){let r=t._fullpath,{fs:n,dir:i}=this,a=await n.readdir($(i,r));return a===null?null:a.map(s=>$(r,s))}async type(t){return t._type===!1&&await t.stat(),t._type}async mode(t){return t._mode===!1&&await t.stat(),t._mode}async stat(t){if(t._stat===!1){let{fs:r,dir:n}=this,i=await r.lstat(`${n}/${t._fullpath}`);if(!i)throw new Error(`ENOENT: no such file or directory, lstat '${t._fullpath}'`);let a=i.isDirectory()?"tree":"blob";a==="blob"&&!i.isFile()&&!i.isSymbolicLink()&&(a="special"),t._type=a,i=us(i),t._mode=i.mode,i.size===-1&&t._actualSize&&(i.size=t._actualSize),t._stat=i}return t._stat}async content(t){if(t._content===!1){let{fs:r,dir:n,gitdir:i}=this;if(await t.type()==="tree")t._content=void 0;else{let s=await(await Ve.get({fs:r,gitdir:i})).get("core.autocrlf"),o=await r.read(`${n}/${t._fullpath}`,{autocrlf:s});t._actualSize=o.length,t._stat&&t._stat.size===-1&&(t._stat.size=t._actualSize),t._content=new Uint8Array(o)}}return t._content}async oid(t){if(t._oid===!1){let{fs:r,gitdir:n,cache:i}=this,a;await mt.acquire({fs:r,gitdir:n,cache:i},async function(s){let o=s.entriesMap.get(t._fullpath),c=await t.stat(),u=await(await Ve.get({fs:r,gitdir:n})).get("core.filemode"),f=typeof process!="undefined"?process.platform!=="win32":!0;!o||nu(c,o,u,f)?await t.content()===void 0?a=void 0:(a=await Gn(_i.wrap({type:"blob",object:await t.content()})),o&&a===o.oid&&(!u||c.mode===o.mode)&&nu(c,o,u,f)&&s.insert({filepath:t._fullpath,stats:c,oid:a})):a=o.oid}),t._oid=a}return t._oid}};function vu(){let e=Object.create(null);return Object.defineProperty(e,mu,{value:function({fs:t,dir:r,gitdir:n,cache:i}){return new wp({fs:t,dir:r,gitdir:n,cache:i})}}),Object.freeze(e),e}function HM(e,t){let r=t-e;return Array.from({length:r},(n,i)=>e+i)}var l2=typeof Array.prototype.flat=="undefined"?e=>e.reduce((t,r)=>t.concat(r),[]):e=>e.flat(),bp=class{constructor(){this.value=null}consider(t){t!=null&&(this.value===null?this.value=t:tl,reduce:s=async(c,l)=>{let u=l2(l);return c!==void 0&&u.unshift(c),u},iterate:o=(c,l)=>Promise.all([...l].map(c))}){let c=i.map(h=>h[mu]({fs:e,dir:r,gitdir:n,cache:t})),l=new Array(c.length).fill("."),u=HM(0,c.length),f=async h=>{u.map(v=>{h[v]=h[v]&&new c[v].ConstructEntry(h[v])});let m=(await Promise.all(u.map(v=>h[v]?c[v].readdir(h[v]):[]))).map(v=>v===null?[]:v).map(v=>v[Symbol.iterator]());return{entries:h,children:UM(m)}},d=async h=>{let{entries:p,children:m}=await f(h),v=p.find(b=>b&&b._fullpath)._fullpath,y=await a(v,p);if(y!==null){let b=await o(d,m);return b=b.filter(x=>x!==void 0),s(y,b)}};return d(l)}async function _p(e,t){let r=await e.readdir(t);r==null?await e.rm(t):r.length?await Promise.all(r.map(n=>{let i=$(t,n);return e.lstat(i).then(a=>{if(a)return a.isDirectory()?_p(e,i):e.rm(i)})})).then(()=>e.rmdir(t)):await e.rmdir(t)}function GM(e){return zM(e)&&Hw(e.then)&&Hw(e.catch)}function zM(e){return e&&typeof e=="object"}function Hw(e){return typeof e=="function"}function Uw(e){return GM((r=>{try{return r.readFile().catch(n=>n)}catch(n){return n}})(e))}var Gw=["readFile","writeFile","mkdir","rmdir","unlink","stat","lstat","readdir","readlink","symlink"];function zw(e,t){if(Uw(t))for(let r of Gw)e[`_${r}`]=t[r].bind(t);else for(let r of Gw)e[`_${r}`]=(0,ru.default)(t[r].bind(t));Uw(t)?t.rm?e._rm=t.rm.bind(t):t.rmdir.length>1?e._rm=t.rmdir.bind(t):e._rm=_p.bind(null,e):t.rm?e._rm=(0,ru.default)(t.rm.bind(t)):t.rmdir.length>2?e._rm=(0,ru.default)(t.rmdir.bind(t)):e._rm=_p.bind(null,e)}var X=class{constructor(t){if(typeof t._original_unwrapped_fs!="undefined")return t;let r=Object.getOwnPropertyDescriptor(t,"promises");r&&r.enumerable?zw(this,t.promises):zw(this,t),this._original_unwrapped_fs=t}async exists(t,r={}){try{return await this._stat(t),!0}catch(n){if(n.code==="ENOENT"||n.code==="ENOTDIR")return!1;throw console.log('Unhandled error in "FileSystem.exists()" function',n),n}}async read(t,r={}){try{let n=await this._readFile(t,r);if(r.autocrlf==="true")try{n=new TextDecoder("utf8",{fatal:!0}).decode(n),n=n.replace(/\r\n/g,` -`),n=new TextEncoder().encode(n)}catch(i){}return typeof n!="string"&&(n=Buffer.from(n)),n}catch(n){return null}}async write(t,r,n={}){try{await this._writeFile(t,r,n);return}catch(i){await this.mkdir(fs(t)),await this._writeFile(t,r,n)}}async mkdir(t,r=!1){try{await this._mkdir(t);return}catch(n){if(n===null||n.code==="EEXIST")return;if(r)throw n;if(n.code==="ENOENT"){let i=fs(t);if(i==="."||i==="/"||i===t)throw n;await this.mkdir(i),await this.mkdir(t,!0)}}}async rm(t){try{await this._unlink(t)}catch(r){if(r.code!=="ENOENT")throw r}}async rmdir(t,r){try{r&&r.recursive?await this._rm(t,r):await this._rmdir(t)}catch(n){if(n.code!=="ENOENT")throw n}}async readdir(t){try{let r=await this._readdir(t);return r.sort(pu),r}catch(r){return r.code==="ENOTDIR"?null:[]}}async readdirDeep(t){let r=await this._readdir(t);return(await Promise.all(r.map(async i=>{let a=t+"/"+i;return(await this._stat(a)).isDirectory()?this.readdirDeep(a):a}))).reduce((i,a)=>i.concat(a),[])}async lstat(t){try{return await this._lstat(t)}catch(r){if(r.code==="ENOENT")return null;throw r}}async readlink(t,r={encoding:"buffer"}){try{let n=await this._readlink(t,r);return Buffer.isBuffer(n)?n:Buffer.from(n)}catch(n){if(n.code==="ENOENT")return null;throw n}}async writelink(t,r){return this._symlink(r.toString("utf8"),t)}};function C(e,t){if(t===void 0)throw new Qt(e)}async function cu(e,t){return!e&&!t?!1:e&&!t||!e&&t?!0:!(await e.type()==="tree"&&await t.type()==="tree"||await e.type()===await t.type()&&await e.mode()===await t.mode()&&await e.oid()===await t.oid())}async function VM({fs:e,dir:t,gitdir:r=$(t,".git"),commit:n="HEAD",cache:i={}}){try{C("fs",e),C("dir",t),C("gitdir",r);let a=new X(e),s=[wi({ref:n}),vu(),gu()],o=[];await mt.acquire({fs:a,gitdir:r,cache:i},async function(l){o=l.unmergedPaths});let c=await ys({fs:a,cache:i,dir:t,gitdir:r,trees:s,map:async function(l,[u,f,d]){let h=!await cu(f,d),p=o.includes(l),m=!await cu(d,u);if(h||p)return u?{path:l,mode:await u.mode(),oid:await u.oid(),type:await u.type(),content:await u.content()}:void 0;if(m)return!1;throw new hl(l)}});await mt.acquire({fs:a,gitdir:r,cache:i},async function(l){for(let u of c)if(u!==!1){if(!u){await a.rmdir(`${t}/${u.path}`,{recursive:!0}),l.delete({filepath:u.path});continue}if(u.type==="blob"){let f=new TextDecoder().decode(u.content);await a.write(`${t}/${u.path}`,f,{mode:u.mode}),l.insert({filepath:u.path,oid:u.oid,stage:0})}}})}catch(a){throw a.caller="git.abortMerge",a}}var ws=class{static async isIgnored({fs:t,dir:r,gitdir:n=$(r,".git"),filepath:i}){if(iu(i)===".git")return!0;if(i===".")return!1;let a="",s=$(n,"info","exclude");await t.exists(s)&&(a=await t.read(s,"utf8"));let o=[{gitignore:$(r,".gitignore"),filepath:i}],c=i.split("/").filter(Boolean);for(let u=1;uxp({dir:t,gitdir:r,fs:o,filepath:n,index:c,force:a,parallel:s}))}catch(o){throw o.caller="git.add",o}}async function xp({dir:e,gitdir:t,fs:r,filepath:n,index:i,force:a,parallel:s}){n=Array.isArray(n)?n:[n];let o=n.map(async f=>{if(!a&&await ws.isIgnored({fs:r,dir:e,gitdir:t,filepath:f}))return;let d=await r.lstat($(e,f));if(!d)throw new Ne(f);if(d.isDirectory()){let h=await r.readdir($(e,f));if(s){let p=h.map(m=>xp({dir:e,gitdir:t,fs:r,filepath:[$(f,m)],index:i,force:a,parallel:s}));await Promise.all(p)}else for(let p of h)await xp({dir:e,gitdir:t,fs:r,filepath:[$(f,p)],index:i,force:a,parallel:s})}else{let p=await(await Ve.get({fs:r,gitdir:t})).get("core.autocrlf"),m=d.isSymbolicLink()?await r.readlink($(e,f)).then(XM):await r.read($(e,f),{autocrlf:p});if(m===null)throw new Ne(f);let v=await pr({fs:r,gitdir:t,type:"blob",object:m});i.insert({filepath:f,stats:d,oid:v})}}),c=await Promise.allSettled(o),l=c.filter(f=>f.status==="rejected").map(f=>f.reason);if(l.length>1)throw new cl(l);if(l.length===1)throw l[0];return c.filter(f=>f.status==="fulfilled"&&f.value).map(f=>f.value)}async function ml({fs:e,gitdir:t,path:r}){return(await Ve.get({fs:e,gitdir:t})).get(r)}function u2(e,...t){for(let r of t)if(r)for(let n of Object.keys(r)){let i=r[n];i!==void 0&&(e[n]=i)}return e}async function ca({fs:e,gitdir:t,author:r,commit:n}){let i=Math.floor(Date.now()/1e3),a={name:await ml({fs:e,gitdir:t,path:"user.name"}),email:await ml({fs:e,gitdir:t,path:"user.email"})||"",timestamp:i,timezoneOffset:new Date(i*1e3).getTimezoneOffset()},s=u2({},a,n?n.author:void 0,r);if(s.name!==void 0)return s}async function bs({fs:e,gitdir:t,author:r,committer:n,commit:i}){let a=Math.floor(Date.now()/1e3),s={name:await ml({fs:e,gitdir:t,path:"user.name"}),email:await ml({fs:e,gitdir:t,path:"user.email"})||"",timestamp:a,timezoneOffset:new Date(a*1e3).getTimezoneOffset()},o=u2({},s,i?i.committer:void 0,r,n);if(o.name!==void 0)return o}async function f2({fs:e,cache:t,gitdir:r,oid:n}){let{type:i,object:a}=await We({fs:e,cache:t,gitdir:r,oid:n});if(i==="tag")return n=hr.from(a).parse().object,f2({fs:e,cache:t,gitdir:r,oid:n});if(i!=="commit")throw new Gt(n,i,"commit");return{commit:tr.from(a),oid:n}}async function uu({fs:e,cache:t,gitdir:r,oid:n}){let{commit:i,oid:a}=await f2({fs:e,cache:t,gitdir:r,oid:n});return{oid:a,commit:i.parse(),payload:i.withoutSignature()}}async function yu({fs:e,cache:t,onSign:r,gitdir:n,message:i,author:a,committer:s,signingKey:o,amend:c=!1,dryRun:l=!1,noUpdateBranch:u=!1,ref:f,parent:d,tree:h}){let p=!1;f||(f=await q.resolve({fs:e,gitdir:n,ref:"HEAD",depth:2}));let m,v;try{m=await q.resolve({fs:e,gitdir:n,ref:f}),v=await uu({fs:e,gitdir:n,oid:m,cache:{}})}catch(x){p=!0}if(c&&p)throw new pl(f);let y=c?await ca({fs:e,gitdir:n,author:a,commit:v.commit}):await ca({fs:e,gitdir:n,author:a});if(!y)throw new zt("author");let b=c?await bs({fs:e,gitdir:n,author:y,committer:s,commit:v.commit}):await bs({fs:e,gitdir:n,author:y,committer:s});if(!b)throw new zt("committer");return mt.acquire({fs:e,gitdir:n,cache:t,allowUnmerged:!1},async function(x){let _=i2(x.entries).get(".");if(h||(h=await d2({fs:e,gitdir:n,inode:_,dryRun:l})),d?d=await Promise.all(d.map(A=>q.resolve({fs:e,gitdir:n,ref:A}))):c?d=v.commit.parent:d=m?[m]:[],!i)if(c)i=v.commit.message;else throw new Qt("message");let k=tr.from({tree:h,parent:d,author:y,committer:b,message:i});o&&(k=await tr.sign(k,r,o));let w=await pr({fs:e,gitdir:n,type:"commit",object:k.toObject(),dryRun:l});return!u&&!l&&await q.writeRef({fs:e,gitdir:n,ref:f,value:w}),w})}async function d2({fs:e,gitdir:t,inode:r,dryRun:n}){let i=r.children;for(let c of i)c.type==="tree"&&(c.metadata.mode="040000",c.metadata.oid=await d2({fs:e,gitdir:t,inode:c,dryRun:n}));let a=i.map(c=>({mode:c.metadata.mode,path:c.basename,oid:c.metadata.oid,type:c.type})),s=er.from(a);return await pr({fs:e,gitdir:t,type:"tree",object:s.toObject(),dryRun:n})}async function vl({fs:e,cache:t,gitdir:r,oid:n,filepath:i}){if(i.startsWith("/"))throw new xi("leading-slash");if(i.endsWith("/"))throw new xi("trailing-slash");let a=n,s=await vs({fs:e,cache:t,gitdir:r,oid:n}),o=s.tree;if(i==="")n=s.oid;else{let c=i.split("/");n=await h2({fs:e,cache:t,gitdir:r,tree:o,pathArray:c,oid:a,filepath:i})}return n}async function h2({fs:e,cache:t,gitdir:r,tree:n,pathArray:i,oid:a,filepath:s}){let o=i.shift();for(let c of n)if(c.path===o){if(i.length===0)return c.oid;{let{type:l,object:u}=await We({fs:e,cache:t,gitdir:r,oid:c.oid});if(l!=="tree")throw new Gt(a,l,"tree",s);return n=er.from(u),h2({fs:e,cache:t,gitdir:r,tree:n,pathArray:i,oid:a,filepath:s})}}throw new Ne(`file or directory found at "${a}:${s}"`)}async function Ss({fs:e,cache:t,gitdir:r,oid:n,filepath:i=void 0}){i!==void 0&&(n=await vl({fs:e,cache:t,gitdir:r,oid:n,filepath:i}));let{tree:a,oid:s}=await vs({fs:e,cache:t,gitdir:r,oid:n});return{oid:s,tree:a.entries()}}async function kp({fs:e,gitdir:t,tree:r}){let n=er.from(r).toObject();return await pr({fs:e,gitdir:t,type:"tree",object:n,format:"content"})}async function KM({fs:e,cache:t,onSign:r,gitdir:n,ref:i,oid:a,note:s,force:o,author:c,committer:l,signingKey:u}){let f;try{f=await q.resolve({gitdir:n,fs:e,ref:i})}catch(y){if(!(y instanceof Ne))throw y}let h=(await Ss({fs:e,cache:t,gitdir:n,oid:f||"4b825dc642cb6eb9a060e54bf8d69288fbee4904"})).tree;if(o)h=h.filter(y=>y.path!==a);else for(let y of h)if(y.path===a)throw new Jr("note",a);typeof s=="string"&&(s=Buffer.from(s,"utf8"));let p=await pr({fs:e,gitdir:n,type:"blob",object:s,format:"content"});h.push({mode:"100644",path:a,oid:p,type:"blob"});let m=await kp({fs:e,gitdir:n,tree:h});return await yu({fs:e,cache:t,onSign:r,gitdir:n,ref:i,tree:m,parent:f&&[f],message:`Note added by 'isomorphic-git addNote' -`,author:c,committer:l,signingKey:u})}async function JM({fs:e,onSign:t,dir:r,gitdir:n=$(r,".git"),ref:i="refs/notes/commits",oid:a,note:s,force:o,author:c,committer:l,signingKey:u,cache:f={}}){try{C("fs",e),C("gitdir",n),C("oid",a),C("note",s),u&&C("onSign",t);let d=new X(e),h=await ca({fs:d,gitdir:n,author:c});if(!h)throw new zt("author");let p=await bs({fs:d,gitdir:n,author:h,committer:l});if(!p)throw new zt("committer");return await KM({fs:new X(d),cache:f,onSign:t,gitdir:n,ref:i,oid:a,note:s,force:o,author:h,committer:p,signingKey:u})}catch(d){throw d.caller="git.addNote",d}}async function p2({fs:e,gitdir:t,remote:r,url:n,force:i}){if(r!==Kr.default.clean(r))throw new zn(r,Kr.default.clean(r));let a=await Ve.get({fs:e,gitdir:t});if(!i&&(await a.getSubsections("remote")).includes(r)&&n!==await a.get(`remote.${r}.url`))throw new Jr("remote",r);await a.set(`remote.${r}.url`,n),await a.set(`remote.${r}.fetch`,`+refs/heads/*:refs/remotes/${r}/*`),await Ve.save({fs:e,gitdir:t,config:a})}async function QM({fs:e,dir:t,gitdir:r=$(t,".git"),remote:n,url:i,force:a=!1}){try{return C("fs",e),C("gitdir",r),C("remote",n),C("url",i),await p2({fs:new X(e),gitdir:r,remote:n,url:i,force:a})}catch(s){throw s.caller="git.addRemote",s}}async function eO({fs:e,cache:t,onSign:r,gitdir:n,ref:i,tagger:a,message:s=i,gpgsig:o,object:c,signingKey:l,force:u=!1}){if(i=i.startsWith("refs/tags/")?i:`refs/tags/${i}`,!u&&await q.exists({fs:e,gitdir:n,ref:i}))throw new Jr("tag",i);let f=await q.resolve({fs:e,gitdir:n,ref:c||"HEAD"}),{type:d}=await We({fs:e,cache:t,gitdir:n,oid:f}),h=hr.from({object:f,type:d,tag:i.replace("refs/tags/",""),tagger:a,message:s,gpgsig:o});l&&(h=await hr.sign(h,r,l));let p=await pr({fs:e,gitdir:n,type:"tag",object:h.toObject()});await q.writeRef({fs:e,gitdir:n,ref:i,value:p})}async function tO({fs:e,onSign:t,dir:r,gitdir:n=$(r,".git"),ref:i,tagger:a,message:s=i,gpgsig:o,object:c,signingKey:l,force:u=!1,cache:f={}}){try{C("fs",e),C("gitdir",n),C("ref",i),l&&C("onSign",t);let d=new X(e),h=await ca({fs:d,gitdir:n,author:a});if(!h)throw new zt("tagger");return await eO({fs:d,cache:f,onSign:t,gitdir:n,ref:i,tagger:h,message:s,gpgsig:o,object:c,signingKey:l,force:u})}catch(d){throw d.caller="git.annotatedTag",d}}async function rO({fs:e,gitdir:t,ref:r,object:n,checkout:i=!1,force:a=!1}){if(r!==Kr.default.clean(r))throw new zn(r,Kr.default.clean(r));let s=`refs/heads/${r}`;if(!a&&await q.exists({fs:e,gitdir:t,ref:s}))throw new Jr("branch",r,!1);let o;try{o=await q.resolve({fs:e,gitdir:t,ref:n||"HEAD"})}catch(c){}o&&await q.writeRef({fs:e,gitdir:t,ref:s,value:o}),i&&await q.writeSymbolicRef({fs:e,gitdir:t,ref:"HEAD",value:s})}async function nO({fs:e,dir:t,gitdir:r=$(t,".git"),ref:n,object:i,checkout:a=!1,force:s=!1}){try{return C("fs",e),C("gitdir",r),C("ref",n),await rO({fs:new X(e),gitdir:r,ref:n,object:i,checkout:a,force:s})}catch(o){throw o.caller="git.branch",o}}var m2=(e,t)=>e==="."||t==null||t.length===0||t==="."?!0:t.length>=e.length?t.startsWith(e):e.startsWith(t);async function Tp({fs:e,cache:t,onProgress:r,onPostCheckout:n,dir:i,gitdir:a,remote:s,ref:o,filepaths:c,noCheckout:l,noUpdateHead:u,dryRun:f,force:d,track:h=!0}){let p;if(n)try{p=await q.resolve({fs:e,gitdir:a,ref:"HEAD"})}catch(v){p="0000000000000000000000000000000000000000"}let m;try{m=await q.resolve({fs:e,gitdir:a,ref:o})}catch(v){if(o==="HEAD")throw v;let y=`${s}/${o}`;if(m=await q.resolve({fs:e,gitdir:a,ref:y}),h){let b=await Ve.get({fs:e,gitdir:a});await b.set(`branch.${o}.remote`,s),await b.set(`branch.${o}.merge`,`refs/heads/${o}`),await Ve.save({fs:e,gitdir:a,config:b})}await q.writeRef({fs:e,gitdir:a,ref:`refs/heads/${o}`,value:m})}if(!l){let v;try{v=await iO({fs:e,cache:t,onProgress:r,dir:i,gitdir:a,ref:o,force:d,filepaths:c})}catch(_){throw _ instanceof Ne&&_.data.what===m?new il(o,m):_}let y=v.filter(([_])=>_==="conflict").map(([_,k])=>k);if(y.length>0)throw new nl(y);let b=v.filter(([_])=>_==="error").map(([_,k])=>k);if(b.length>0)throw new le(b.join(", "));if(f){n&&await n({previousHead:p,newHead:m,type:c!=null&&c.length>0?"file":"branch"});return}let x=0,E=v.length;await mt.acquire({fs:e,gitdir:a,cache:t},async function(_){await Promise.all(v.filter(([k])=>k==="delete"||k==="delete-index").map(async function([k,w]){let A=`${i}/${w}`;k==="delete"&&await e.rm(A),_.delete({filepath:w}),r&&await r({phase:"Updating workdir",loaded:++x,total:E})}))}),await mt.acquire({fs:e,gitdir:a,cache:t},async function(_){for(let[k,w]of v)if(k==="rmdir"||k==="rmdir-index"){let A=`${i}/${w}`;try{k==="rmdir-index"&&_.delete({filepath:w}),await e.rmdir(A),r&&await r({phase:"Updating workdir",loaded:++x,total:E})}catch(S){if(S.code==="ENOTEMPTY")console.log(`Did not delete ${w} because directory is not empty`);else throw S}}}),await Promise.all(v.filter(([_])=>_==="mkdir"||_==="mkdir-index").map(async function([_,k]){let w=`${i}/${k}`;await e.mkdir(w),r&&await r({phase:"Updating workdir",loaded:++x,total:E})})),await mt.acquire({fs:e,gitdir:a,cache:t},async function(_){await Promise.all(v.filter(([k])=>k==="create"||k==="create-index"||k==="update"||k==="mkdir-index").map(async function([k,w,A,S,T]){let P=`${i}/${w}`;try{if(k!=="create-index"&&k!=="mkdir-index"){let{object:j}=await We({fs:e,cache:t,gitdir:a,oid:A});if(T&&await e.rm(P),S===33188)await e.write(P,j);else if(S===33261)await e.write(P,j,{mode:511});else if(S===40960)await e.writelink(P,j);else throw new le(`Invalid mode 0o${S.toString(8)} detected in blob ${A}`)}let O=await e.lstat(P);S===33261&&(O.mode=493),k==="mkdir-index"&&(O.mode=57344),_.insert({filepath:w,stats:O,oid:A}),r&&await r({phase:"Updating workdir",loaded:++x,total:E})}catch(O){console.log(O)}}))}),n&&await n({previousHead:p,newHead:m,type:c!=null&&c.length>0?"file":"branch"})}if(!u){let v=await q.expand({fs:e,gitdir:a,ref:o});v.startsWith("refs/heads")?await q.writeSymbolicRef({fs:e,gitdir:a,ref:"HEAD",value:v}):await q.writeRef({fs:e,gitdir:a,ref:"HEAD",value:m})}}async function iO({fs:e,cache:t,onProgress:r,dir:n,gitdir:i,ref:a,force:s,filepaths:o}){let c=0;return ys({fs:e,cache:t,dir:n,gitdir:i,trees:[wi({ref:a}),vu(),gu()],map:async function(l,[u,f,d]){if(l===".")return;if(o&&!o.some(p=>m2(l,p)))return null;switch(r&&await r({phase:"Analyzing workdir",loaded:++c}),[!!d,!!u,!!f].map(Number).join("")){case"000":return;case"001":return s&&o&&o.includes(l)?["delete",l]:void 0;case"010":switch(await u.type()){case"tree":return["mkdir",l];case"blob":return["create",l,await u.oid(),await u.mode()];case"commit":return["mkdir-index",l,await u.oid(),await u.mode()];default:return["error",`new entry Unhandled type ${await u.type()}`]}case"011":switch(`${await u.type()}-${await f.type()}`){case"tree-tree":return;case"tree-blob":case"blob-tree":return["conflict",l];case"blob-blob":return await u.oid()!==await f.oid()?s?["update",l,await u.oid(),await u.mode(),await u.mode()!==await f.mode()]:["conflict",l]:await u.mode()!==await f.mode()?s?["update",l,await u.oid(),await u.mode(),!0]:["conflict",l]:["create-index",l,await u.oid(),await u.mode()];case"commit-tree":return;case"commit-blob":return["conflict",l];default:return["error",`new entry Unhandled type ${u.type}`]}case"100":return["delete-index",l];case"101":switch(await d.type()){case"tree":return["rmdir",l];case"blob":return await d.oid()!==await f.oid()?s?["delete",l]:["conflict",l]:["delete",l];case"commit":return["rmdir-index",l];default:return["error",`delete entry Unhandled type ${await d.type()}`]}case"110":case"111":switch(`${await d.type()}-${await u.type()}`){case"tree-tree":return;case"blob-blob":{if(await d.oid()===await u.oid()&&await d.mode()===await u.mode()&&!s)return;if(f){if(await f.oid()!==await d.oid()&&await f.oid()!==await u.oid())return s?["update",l,await u.oid(),await u.mode(),await u.mode()!==await f.mode()]:["conflict",l]}else if(s)return["update",l,await u.oid(),await u.mode(),await u.mode()!==await d.mode()];return await u.mode()!==await d.mode()?["update",l,await u.oid(),await u.mode(),!0]:await u.oid()!==await d.oid()?["update",l,await u.oid(),await u.mode(),!1]:void 0}case"tree-blob":return["update-dir-to-blob",l,await u.oid()];case"blob-tree":return["update-blob-to-tree",l];case"commit-commit":return["mkdir-index",l,await u.oid(),await u.mode()];default:return["error",`update entry Unhandled type ${await d.type()}-${await u.type()}`]}}},reduce:async function(l,u){return u=l2(u),l?l&&l[0]==="rmdir"?(u.push(l),u):(u.unshift(l),u):u}})}async function aO({fs:e,onProgress:t,onPostCheckout:r,dir:n,gitdir:i=$(n,".git"),remote:a="origin",ref:s,filepaths:o,noCheckout:c=!1,noUpdateHead:l=s===void 0,dryRun:u=!1,force:f=!1,track:d=!0,cache:h={}}){try{C("fs",e),C("dir",n),C("gitdir",i);let p=s||"HEAD";return await Tp({fs:new X(e),cache:h,onProgress:t,onPostCheckout:r,dir:n,gitdir:i,remote:a,ref:p,filepaths:o,noCheckout:c,noUpdateHead:l,dryRun:u,force:f,track:d})}catch(p){throw p.caller="git.checkout",p}}var sO=new RegExp("^refs/(heads/|tags/|remotes/)?(.*)");function oa(e){let t=sO.exec(e);return t?t[1]==="remotes/"&&e.endsWith("/HEAD")?t[2].slice(0,-5):t[2]:e}async function fa({fs:e,gitdir:t,fullname:r=!1,test:n=!1}){let i=await q.resolve({fs:e,gitdir:t,ref:"HEAD",depth:2});if(n)try{await q.resolve({fs:e,gitdir:t,ref:i})}catch(a){return}if(i.startsWith("refs/"))return r?i:oa(i)}function oO(e){return e=e.replace(/^git@([^:]+):/,"https://$1/"),e=e.replace(/^ssh:\/\//,"https://"),e}function g2({username:e="",password:t=""}){return`Basic ${Buffer.from(`${e}:${t}`).toString("base64")}`}async function yl(e,t){let r=s2(e);for(;;){let{value:n,done:i}=await r.next();if(n&&await t(n),i)break}r.return&&r.return()}async function fu(e){let t=0,r=[];await yl(e,a=>{r.push(a),t+=a.byteLength});let n=new Uint8Array(t),i=0;for(let a of r)n.set(a,i),i+=a.byteLength;return n}function Vw(e){let t=e.match(/^https?:\/\/([^/]+)@/);if(t==null)return{url:e,auth:{}};t=t[1];let[r,n]=t.split(":");return e=e.replace(`${t}@`,""),{url:e,auth:{username:r,password:n}}}function Sp(e,t){let r=t.toString(16);return"0".repeat(e-r.length)+r}var ze=class{static flush(){return Buffer.from("0000","utf8")}static delim(){return Buffer.from("0001","utf8")}static encode(t){typeof t=="string"&&(t=Buffer.from(t));let r=t.length+4,n=Sp(4,r);return Buffer.concat([Buffer.from(n,"utf8"),t])}static streamReader(t){let r=new ou(t);return async function(){try{let i=await r.read(4);if(i==null)return!0;if(i=parseInt(i.toString("utf8"),16),i===0||i===1)return null;let a=await r.read(i-4);return a==null?!0:a}catch(i){return t.error=i,!0}}}};async function Ww(e){let t={},r;for(;r=await e(),r!==!0;){if(r===null)continue;r=r.toString("utf8").replace(/\n$/,"");let n=r.indexOf("=");if(n>-1){let i=r.slice(0,n),a=r.slice(n+1);t[i]=a}else t[r]=!0}return{protocolVersion:2,capabilities2:t}}async function qw(e,{service:t}){let r=new Set,n=new Map,i=new Map,a=ze.streamReader(e),s=await a();for(;s===null;)s=await a();if(s===!0)throw new al;if(s.includes("version 2"))return Ww(a);if(s.toString("utf8").replace(/\n$/,"")!==`# service=${t}`)throw new la(`# service=${t}\\n`,s.toString("utf8"));let o=await a();for(;o===null;)o=await a();if(o===!0)return{capabilities:r,refs:n,symrefs:i};if(o=o.toString("utf8"),o.includes("version 2"))return Ww(a);let[c,l]=lp(o,"\0","\\x00");if(l.split(" ").map(u=>r.add(u)),c!=="0000000000000000000000000000000000000000 capabilities^{}"){let[u,f]=lp(c," "," ");for(n.set(f,u);;){let d=await a();if(d===!0)break;if(d!==null){let[h,p]=lp(d.toString("utf8")," "," ");n.set(p,h)}}}for(let u of r)if(u.startsWith("symref=")){let f=u.match(/symref=([^:]+):(.*)/);f.length===3&&i.set(f[1],f[2])}return{protocolVersion:1,capabilities:r,refs:n,symrefs:i}}function lp(e,t,r){let n=e.trim().split(t);if(n.length!==2)throw new la(`Two strings separated by '${r}'`,e.toString("utf8"));return n}var Yw=(e,t)=>e.endsWith("?")?`${e}${t}`:`${e}/${t.replace(/^https?:\/\//,"")}`,Xw=(e,t)=>{(t.username||t.password)&&(e.Authorization=g2(t)),t.headers&&Object.assign(e,t.headers)},cp=async e=>{try{let t=Buffer.from(await fu(e.body)),r=t.toString("utf8");return{preview:r.length<256?r:r.slice(0,256)+"...",response:r,data:t}}catch(t){return{}}},_s=class{static async capabilities(){return["discover","connect"]}static async discover({http:t,onProgress:r,onAuth:n,onAuthSuccess:i,onAuthFailure:a,corsProxy:s,service:o,url:c,headers:l,protocolVersion:u}){let{url:f,auth:d}=Vw(c),h=s?Yw(s,f):f;(d.username||d.password)&&(l.Authorization=g2(d)),u===2&&(l["Git-Protocol"]="version=2");let p,m,v=!1;do if(p=await t.request({onProgress:r,method:"GET",url:`${h}/info/refs?service=${o}`,headers:l}),m=!1,p.statusCode===401||p.statusCode===203){let y=v?a:n;if(y){if(d=await y(f,{...d,headers:{...l}}),d&&d.cancel)throw new gs;d&&(Xw(l,d),v=!0,m=!0)}}else p.statusCode===200&&v&&i&&await i(f,d);while(m);if(p.statusCode!==200){let{response:y}=await cp(p);throw new ds(p.statusCode,p.statusMessage,y)}if(p.headers["content-type"]===`application/x-${o}-advertisement`){let y=await qw(p.body,{service:o});return y.auth=d,y}else{let{preview:y,response:b,data:x}=await cp(p);try{let E=await qw([x],{service:o});return E.auth=d,E}catch(E){throw new ul(y,b)}}}static async connect({http:t,onProgress:r,corsProxy:n,service:i,url:a,auth:s,body:o,headers:c}){let l=Vw(a);l&&(a=l.url),n&&(a=Yw(n,a)),c["content-type"]=`application/x-${i}-request`,c.accept=`application/x-${i}-result`,Xw(c,s);let u=await t.request({onProgress:r,method:"POST",url:`${a}/${i}`,body:o,headers:c});if(u.statusCode!==200){let{response:f}=cp(u);throw new ds(u.statusCode,u.statusMessage,f)}return u}};function lO({url:e}){if(e.startsWith("git@"))return{transport:"ssh",address:e};let t=e.match(/(\w+)(:\/\/|::)(.*)/);if(t!==null){if(t[2]==="://")return{transport:t[1],address:t[0]};if(t[2]==="::")return{transport:t[1],address:t[3]}}}var xs=class{static getRemoteHelperFor({url:t}){let r=new Map;r.set("http",_s),r.set("https",_s);let n=lO({url:t});if(!n)throw new dl(t);if(r.has(n.transport))return r.get(n.transport);throw new fl(t,n.transport,n.transport==="ssh"?oO(t):void 0)}},sa=null,ua=class{static async read({fs:t,gitdir:r}){sa===null&&(sa=new Jo.default);let n=$(r,"shallow"),i=new Set;return await sa.acquire(n,async function(){let a=await t.read(n,{encoding:"utf8"});if(a===null||a.trim()==="")return i;a.trim().split(` -`).map(s=>i.add(s))}),i}static async write({fs:t,gitdir:r,oids:n}){sa===null&&(sa=new Jo.default);let i=$(r,"shallow");if(n.size>0){let a=[...n].join(` -`)+` -`;await sa.acquire(i,async function(){await t.write(i,a,{encoding:"utf8"})})}else await sa.acquire(i,async function(){await t.rm(i)})}};async function cO({fs:e,gitdir:t,oid:r}){let n=`objects/${r.slice(0,2)}/${r.slice(2)}`;return e.exists(`${t}/${n}`)}async function uO({fs:e,cache:t,gitdir:r,oid:n,getExternalRefDelta:i}){let a=await e.readdir($(r,"objects/pack"));a=a.filter(s=>s.endsWith(".idx"));for(let s of a){let o=`${r}/objects/pack/${s}`,c=await Ap({fs:e,cache:t,filename:o,getExternalRefDelta:i});if(c.error)throw new le(c.error);if(c.offsets.has(n))return!0}return!1}async function Zw({fs:e,cache:t,gitdir:r,oid:n,format:i="content"}){let a=o=>We({fs:e,cache:t,gitdir:r,oid:o}),s=await cO({fs:e,gitdir:r,oid:n});return s||(s=await uO({fs:e,cache:t,gitdir:r,oid:n,getExternalRefDelta:a})),s}function fO(e){let i="5041434b"+"00000002"+"00000000";return e.slice(0,12).toString("hex")===i}function v2(e,t){let r=e.map(n=>n.split("=",1)[0]);return t.filter(n=>{let i=n.split("=",1)[0];return r.includes(i)})}var wu={name:"isomorphic-git",version:"1.27.1",agent:"git/isomorphic-git@1.27.1"},ls=class{constructor(){this._queue=[]}write(t){if(this._ended)throw Error("You cannot write to a FIFO that has already been ended!");if(this._waiting){let r=this._waiting;this._waiting=null,r({value:t})}else this._queue.push(t)}end(){if(this._ended=!0,this._waiting){let t=this._waiting;this._waiting=null,t({done:!0})}}destroy(t){this.error=t,this.end()}async next(){if(this._queue.length>0)return{value:this._queue.shift()};if(this._ended)return{done:!0};if(this._waiting)throw Error("You cannot call read until the previous call to read has returned!");return new Promise(t=>{this._waiting=t})}};function dO(e){let t=e.indexOf("\r"),r=e.indexOf(` -`);return t===-1&&r===-1?-1:t===-1?r+1:r===-1?t+1:r===t+1?r+1:Math.min(t,r)+1}function y2(e){let t=new ls,r="";return(async()=>(await yl(e,n=>{for(n=n.toString("utf8"),r+=n;;){let i=dO(r);if(i===-1)break;t.write(r.slice(0,i)),r=r.slice(i)}}),r.length>0&&t.write(r),t.end()))(),t}var du=class{static demux(t){let r=ze.streamReader(t),n=new ls,i=new ls,a=new ls,s=async function(){let o=await r();if(o===null)return s();if(o===!0){n.end(),a.end(),t.error?i.destroy(t.error):i.end();return}switch(o[0]){case 1:{i.write(o.slice(1));break}case 2:{a.write(o.slice(1));break}case 3:{let c=o.slice(1);a.write(c),n.end(),a.end(),i.destroy(new Error(c.toString("utf8")));return}default:n.write(o)}s()};return s(),{packetlines:n,packfile:i,progress:a}}};async function hO(e){let{packetlines:t,packfile:r,progress:n}=du.demux(e),i=[],a=[],s=[],o=!1,c=!1;return new Promise((l,u)=>{yl(t,f=>{let d=f.toString("utf8").trim();if(d.startsWith("shallow")){let h=d.slice(-41).trim();h.length!==40&&u(new bi(h)),i.push(h)}else if(d.startsWith("unshallow")){let h=d.slice(-41).trim();h.length!==40&&u(new bi(h)),a.push(h)}else if(d.startsWith("ACK")){let[,h,p]=d.split(" ");s.push({oid:h,status:p}),p||(c=!0)}else d.startsWith("NAK")?(o=!0,c=!0):(c=!0,o=!0);c&&(e.error?u(e.error):l({shallows:i,unshallows:a,acks:s,nak:o,packfile:r,progress:n}))}).finally(()=>{c||(e.error?u(e.error):l({shallows:i,unshallows:a,acks:s,nak:o,packfile:r,progress:n}))})})}function pO({capabilities:e=[],wants:t=[],haves:r=[],shallows:n=[],depth:i=null,since:a=null,exclude:s=[]}){let o=[];t=[...new Set(t)];let c=` ${e.join(" ")}`;for(let l of t)o.push(ze.encode(`want ${l}${c} -`)),c="";for(let l of n)o.push(ze.encode(`shallow ${l} -`));i!==null&&o.push(ze.encode(`deepen ${i} -`)),a!==null&&o.push(ze.encode(`deepen-since ${Math.floor(a.valueOf()/1e3)} -`));for(let l of s)o.push(ze.encode(`deepen-not ${l} -`));o.push(ze.flush());for(let l of r)o.push(ze.encode(`have ${l} -`));return o.push(ze.encode(`done -`)),o}async function Cp({fs:e,cache:t,http:r,onProgress:n,onMessage:i,onAuth:a,onAuthSuccess:s,onAuthFailure:o,gitdir:c,ref:l,remoteRef:u,remote:f,url:d,corsProxy:h,depth:p=null,since:m=null,exclude:v=[],relative:y=!1,tags:b=!1,singleBranch:x=!1,headers:E={},prune:_=!1,pruneTags:k=!1}){let w=l||await fa({fs:e,gitdir:c,test:!0}),A=await Ve.get({fs:e,gitdir:c}),S=f||w&&await A.get(`branch.${w}.remote`)||"origin",T=d||await A.get(`remote.${S}.url`);if(typeof T=="undefined")throw new Qt("remote OR url");let P=u||w&&await A.get(`branch.${w}.merge`)||l||"HEAD";h===void 0&&(h=await A.get("http.corsProxy"));let O=xs.getRemoteHelperFor({url:T}),j=await O.discover({http:r,onAuth:a,onAuthSuccess:s,onAuthFailure:o,corsProxy:h,service:"git-upload-pack",url:T,headers:E,protocolVersion:1}),D=j.auth,Q=j.refs;if(Q.size===0)return{defaultBranch:null,fetchHead:null,fetchHeadDescription:null};if(p!==null&&!j.capabilities.has("shallow"))throw new yi("shallow","depth");if(m!==null&&!j.capabilities.has("deepen-since"))throw new yi("deepen-since","since");if(v.length>0&&!j.capabilities.has("deepen-not"))throw new yi("deepen-not","exclude");if(y===!0&&!j.capabilities.has("deepen-relative"))throw new yi("deepen-relative","relative");let{oid:de,fullref:ee}=q.resolveAgainstMap({ref:P,map:Q});for(let G of Q.keys())G===ee||G==="HEAD"||G.startsWith("refs/heads/")||b&&G.startsWith("refs/tags/")||Q.delete(G);let J=v2([...j.capabilities],["multi_ack_detailed","no-done","side-band-64k","ofs-delta",`agent=${wu.agent}`]);y&&J.push("deepen-relative");let Ce=x?[de]:Q.values(),me=x?[w]:await q.listRefs({fs:e,gitdir:c,filepath:"refs"}),F=[];for(let G of me)try{G=await q.expand({fs:e,gitdir:c,ref:G});let Le=await q.resolve({fs:e,gitdir:c,ref:G});await Zw({fs:e,cache:t,gitdir:c,oid:Le})&&F.push(Le)}catch(Le){}F=[...new Set(F)];let z=await ua.read({fs:e,gitdir:c}),N=j.capabilities.has("shallow")?[...z]:[],Re=pO({capabilities:J,wants:Ce,haves:F,shallows:N,depth:p,since:m,exclude:v}),Dt=Buffer.from(await fu(Re)),_t=await O.connect({http:r,onProgress:n,corsProxy:h,service:"git-upload-pack",url:T,auth:D,body:[Dt],headers:E}),Ee=await hO(_t.body);_t.headers&&(Ee.headers=_t.headers);for(let G of Ee.shallows)if(!z.has(G))try{let{object:Le}=await We({fs:e,cache:t,gitdir:c,oid:G}),L=new tr(Le),Y=await Promise.all(L.headers().parent.map(De=>Zw({fs:e,cache:t,gitdir:c,oid:De})));Y.length===0||Y.every(De=>De)||z.add(G)}catch(Le){z.add(G)}for(let G of Ee.unshallows)z.delete(G);if(await ua.write({fs:e,gitdir:c,oids:z}),x){let G=new Map([[ee,de]]),Le=new Map,L=10,Y=ee;for(;L--;){let vt=j.symrefs.get(Y);if(vt===void 0)break;Le.set(Y,vt),Y=vt}let ye=Q.get(Y);ye&&G.set(Y,ye);let{pruned:De}=await q.updateRemoteRefs({fs:e,gitdir:c,remote:S,refs:G,symrefs:Le,tags:b,prune:_});_&&(Ee.pruned=De)}else{let{pruned:G}=await q.updateRemoteRefs({fs:e,gitdir:c,remote:S,refs:Q,symrefs:j.symrefs,tags:b,prune:_,pruneTags:k});_&&(Ee.pruned=G)}if(Ee.HEAD=j.symrefs.get("HEAD"),Ee.HEAD===void 0){let{oid:G}=q.resolveAgainstMap({ref:"HEAD",map:Q});for(let[Le,L]of Q.entries())if(Le!=="HEAD"&&L===G){Ee.HEAD=Le;break}}let st=ee.startsWith("refs/tags")?"tag":"branch";if(Ee.FETCH_HEAD={oid:de,description:`${st} '${oa(ee)}' of ${T}`},n||i){let G=y2(Ee.progress);yl(G,async Le=>{if(i&&await i(Le),n){let L=Le.match(/([^:]*).*\((\d+?)\/(\d+?)\)/);L&&await n({phase:L[1].trim(),loaded:parseInt(L[2],10),total:parseInt(L[3],10)})}})}let ot=Buffer.from(await fu(Ee.packfile));if(_t.body.error)throw _t.body.error;let Ct=ot.slice(-20).toString("hex"),$e={defaultBranch:Ee.HEAD,fetchHead:Ee.FETCH_HEAD.oid,fetchHeadDescription:Ee.FETCH_HEAD.description};if(Ee.headers&&($e.headers=Ee.headers),_&&($e.pruned=Ee.pruned),Ct!==""&&!fO(ot)){$e.packfile=`objects/pack/pack-${Ct}.pack`;let G=$(c,$e.packfile);await e.write(G,ot);let Le=Y=>We({fs:e,cache:t,gitdir:c,oid:Y}),L=await tl.fromPack({pack:ot,getExternalRefDelta:Le,onProgress:n});await e.write(G.replace(/\.pack$/,".idx"),await L.toBuffer())}return $e}async function w2({fs:e,bare:t=!1,dir:r,gitdir:n=t?r:$(r,".git"),defaultBranch:i="master"}){if(await e.exists(n+"/config"))return;let a=["hooks","info","objects/info","objects/pack","refs/heads","refs/tags"];a=a.map(s=>n+"/"+s);for(let s of a)await e.mkdir(s);await e.write(n+"/config",`[core] - repositoryformatversion = 0 - filemode = false - bare = ${t} -`+(t?"":` logallrefupdates = true -`)+` symlinks = false - ignorecase = true -`),await e.write(n+"/HEAD",`ref: refs/heads/${i} -`)}async function mO({fs:e,cache:t,http:r,onProgress:n,onMessage:i,onAuth:a,onAuthSuccess:s,onAuthFailure:o,onPostCheckout:c,dir:l,gitdir:u,url:f,corsProxy:d,ref:h,remote:p,depth:m,since:v,exclude:y,relative:b,singleBranch:x,noCheckout:E,noTags:_,headers:k}){try{if(await w2({fs:e,gitdir:u}),await p2({fs:e,gitdir:u,remote:p,url:f,force:!1}),d){let S=await Ve.get({fs:e,gitdir:u});await S.set("http.corsProxy",d),await Ve.save({fs:e,gitdir:u,config:S})}let{defaultBranch:w,fetchHead:A}=await Cp({fs:e,cache:t,http:r,onProgress:n,onMessage:i,onAuth:a,onAuthSuccess:s,onAuthFailure:o,gitdir:u,ref:h,remote:p,corsProxy:d,depth:m,since:v,exclude:y,relative:b,singleBranch:x,headers:k,tags:!_});if(A===null)return;h=h||w,h=h.replace("refs/heads/",""),await Tp({fs:e,cache:t,onProgress:n,onPostCheckout:c,dir:l,gitdir:u,ref:h,remote:p,noCheckout:E})}catch(w){throw await e.rmdir(u,{recursive:!0,maxRetries:10}).catch(()=>{}),w}}async function gO({fs:e,http:t,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,onPostCheckout:o,dir:c,gitdir:l=$(c,".git"),url:u,corsProxy:f=void 0,ref:d=void 0,remote:h="origin",depth:p=void 0,since:m=void 0,exclude:v=[],relative:y=!1,singleBranch:b=!1,noCheckout:x=!1,noTags:E=!1,headers:_={},cache:k={}}){try{return C("fs",e),C("http",t),C("gitdir",l),x||C("dir",c),C("url",u),await mO({fs:new X(e),cache:k,http:t,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,onPostCheckout:o,dir:c,gitdir:l,url:u,corsProxy:f,ref:d,remote:h,depth:p,since:m,exclude:v,relative:y,singleBranch:b,noCheckout:x,noTags:E,headers:_})}catch(w){throw w.caller="git.clone",w}}async function vO({fs:e,onSign:t,dir:r,gitdir:n=$(r,".git"),message:i,author:a,committer:s,signingKey:o,amend:c=!1,dryRun:l=!1,noUpdateBranch:u=!1,ref:f,parent:d,tree:h,cache:p={}}){try{C("fs",e),c||C("message",i),o&&C("onSign",t);let m=new X(e);return await yu({fs:m,cache:p,onSign:t,gitdir:n,message:i,author:a,committer:s,signingKey:o,amend:c,dryRun:l,noUpdateBranch:u,ref:f,parent:d,tree:h})}catch(m){throw m.caller="git.commit",m}}async function yO({fs:e,dir:t,gitdir:r=$(t,".git"),fullname:n=!1,test:i=!1}){try{return C("fs",e),C("gitdir",r),await fa({fs:new X(e),gitdir:r,fullname:n,test:i})}catch(a){throw a.caller="git.currentBranch",a}}async function wO({fs:e,gitdir:t,ref:r}){if(r=r.startsWith("refs/heads/")?r:`refs/heads/${r}`,!await q.exists({fs:e,gitdir:t,ref:r}))throw new Ne(r);let i=await q.expand({fs:e,gitdir:t,ref:r}),a=await fa({fs:e,gitdir:t,fullname:!0});if(i===a){let c=await q.resolve({fs:e,gitdir:t,ref:i});await q.writeRef({fs:e,gitdir:t,ref:"HEAD",value:c})}await q.deleteRef({fs:e,gitdir:t,ref:i});let s=oa(r),o=await Ve.get({fs:e,gitdir:t});await o.deleteSection("branch",s),await Ve.save({fs:e,gitdir:t,config:o})}async function bO({fs:e,dir:t,gitdir:r=$(t,".git"),ref:n}){try{return C("fs",e),C("ref",n),await wO({fs:new X(e),gitdir:r,ref:n})}catch(i){throw i.caller="git.deleteBranch",i}}async function _O({fs:e,dir:t,gitdir:r=$(t,".git"),ref:n}){try{C("fs",e),C("ref",n),await q.deleteRef({fs:new X(e),gitdir:r,ref:n})}catch(i){throw i.caller="git.deleteRef",i}}async function xO({fs:e,gitdir:t,remote:r}){let n=await Ve.get({fs:e,gitdir:t});await n.deleteSection("remote",r),await Ve.save({fs:e,gitdir:t,config:n})}async function SO({fs:e,dir:t,gitdir:r=$(t,".git"),remote:n}){try{return C("fs",e),C("remote",n),await xO({fs:new X(e),gitdir:r,remote:n})}catch(i){throw i.caller="git.deleteRemote",i}}async function EO({fs:e,gitdir:t,ref:r}){r=r.startsWith("refs/tags/")?r:`refs/tags/${r}`,await q.deleteRef({fs:e,gitdir:t,ref:r})}async function AO({fs:e,dir:t,gitdir:r=$(t,".git"),ref:n}){try{return C("fs",e),C("ref",n),await EO({fs:new X(e),gitdir:r,ref:n})}catch(i){throw i.caller="git.deleteTag",i}}async function kO({fs:e,gitdir:t,oid:r}){let n=r.slice(0,2);return(await e.readdir(`${t}/objects/${n}`)).map(a=>`${n}${a}`).filter(a=>a.startsWith(r))}async function TO({fs:e,cache:t,gitdir:r,oid:n,getExternalRefDelta:i}){let a=[],s=await e.readdir($(r,"objects/pack"));s=s.filter(o=>o.endsWith(".idx"));for(let o of s){let c=`${r}/objects/pack/${o}`,l=await Ap({fs:e,cache:t,filename:c,getExternalRefDelta:i});if(l.error)throw new le(l.error);for(let u of l.offsets.keys())u.startsWith(n)&&a.push(u)}return a}async function CO({fs:e,cache:t,gitdir:r,oid:n}){let i=o=>We({fs:e,cache:t,gitdir:r,oid:o}),a=await kO({fs:e,gitdir:r,oid:n}),s=await TO({fs:e,cache:t,gitdir:r,oid:n,getExternalRefDelta:i});for(let o of s)a.indexOf(o)===-1&&a.push(o);if(a.length===1)return a[0];throw a.length>1?new rl("oids",n,a):new Ne(`an object matching "${n}"`)}async function PO({fs:e,dir:t,gitdir:r=$(t,".git"),oid:n,cache:i={}}){try{return C("fs",e),C("gitdir",r),C("oid",n),await CO({fs:new X(e),cache:i,gitdir:r,oid:n})}catch(a){throw a.caller="git.expandOid",a}}async function RO({fs:e,dir:t,gitdir:r=$(t,".git"),ref:n}){try{return C("fs",e),C("gitdir",r),C("ref",n),await q.expand({fs:new X(e),gitdir:r,ref:n})}catch(i){throw i.caller="git.expandRef",i}}async function Pp({fs:e,cache:t,gitdir:r,oids:n}){let i={},a=n.length,s=n.map((o,c)=>({index:c,oid:o}));for(;s.length;){let o=new Set;for(let{oid:l,index:u}of s)i[l]||(i[l]=new Set),i[l].add(u),i[l].size===a&&o.add(l);if(o.size>0)return[...o];let c=new Map;for(let{oid:l,index:u}of s)try{let{object:f}=await We({fs:e,cache:t,gitdir:r,oid:l}),d=tr.from(f),{parent:h}=d.parseHeaders();for(let p of h)(!i[p]||!i[p].has(u))&&c.set(p+":"+u,{oid:p,index:u})}catch(f){}s=Array.from(c.values())}return[]}var up=/^.*(\r?\n|$)/gm;function MO({branches:e,contents:t}){let r=e[1],n=e[2],i=t[0],a=t[1],s=t[2],o=a.match(up),c=i.match(up),l=s.match(up),u=(0,e2.default)(o,c,l),f=7,d="",h=!0;for(let p of u)p.ok&&(d+=p.ok.join("")),p.conflict&&(h=!1,d+=`${"<".repeat(f)} ${r} -`,d+=p.conflict.a.join(""),d+=`${"=".repeat(f)} -`,d+=p.conflict.b.join(""),d+=`${">".repeat(f)} ${n} -`);return{cleanMerge:h,mergedText:d}}async function OO({fs:e,cache:t,dir:r,gitdir:n=$(r,".git"),index:i,ourOid:a,baseOid:s,theirOid:o,ourName:c="ours",baseName:l="base",theirName:u="theirs",dryRun:f=!1,abortOnConflict:d=!0,mergeDriver:h}){let p=wi({ref:a}),m=wi({ref:s}),v=wi({ref:o}),y=[],b=[],x=[],E=[],_=await ys({fs:e,cache:t,dir:r,gitdir:n,trees:[p,m,v],map:async function(k,[w,A,S]){let T=iu(k),P=await cu(w,A),O=await cu(S,A);switch(`${P}-${O}`){case"false-false":return{mode:await A.mode(),path:T,oid:await A.oid(),type:await A.type()};case"false-true":return S?{mode:await S.mode(),path:T,oid:await S.oid(),type:await S.type()}:void 0;case"true-false":return w?{mode:await w.mode(),path:T,oid:await w.oid(),type:await w.type()}:void 0;case"true-true":{if(w&&A&&S&&await w.type()==="blob"&&await A.type()==="blob"&&await S.type()==="blob")return IO({fs:e,gitdir:n,path:T,ours:w,base:A,theirs:S,ourName:c,baseName:l,theirName:u,mergeDriver:h}).then(async j=>{if(j.cleanMerge)d||i.insert({filepath:k,oid:j.mergeResult.oid,stage:0});else if(y.push(k),b.push(k),!d){let D=await A.oid(),Q=await w.oid(),de=await S.oid();i.delete({filepath:k}),i.insert({filepath:k,oid:D,stage:1}),i.insert({filepath:k,oid:Q,stage:2}),i.insert({filepath:k,oid:de,stage:3})}return j.mergeResult});if(A&&!w&&S&&await A.type()==="blob"&&await S.type()==="blob"){if(y.push(k),x.push(k),!d){let j=await A.oid(),D=await S.oid();i.delete({filepath:k}),i.insert({filepath:k,oid:j,stage:1}),i.insert({filepath:k,oid:D,stage:3})}return{mode:await S.mode(),oid:await S.oid(),type:"blob",path:T}}if(A&&w&&!S&&await A.type()==="blob"&&await w.type()==="blob"){if(y.push(k),E.push(k),!d){let j=await A.oid(),D=await w.oid();i.delete({filepath:k}),i.insert({filepath:k,oid:j,stage:1}),i.insert({filepath:k,oid:D,stage:2})}return{mode:await w.mode(),oid:await w.oid(),type:"blob",path:T}}if(A&&!w&&!S&&await A.type()==="blob")return;throw new hs}}},reduce:y.length!==0&&(!r||d)?void 0:async(k,w)=>{let A=w.filter(Boolean);if(k&&!(k&&k.type==="tree"&&A.length===0)){if(A.length>0){let T=new er(A).toObject(),P=await pr({fs:e,gitdir:n,type:"tree",object:T,dryRun:f});k.oid=P}return k}}});return y.length!==0?(r&&!d&&await ys({fs:e,cache:t,dir:r,gitdir:n,trees:[wi({ref:_.oid})],map:async function(k,[w]){let A=`${r}/${k}`;if(await w.type()==="blob"){let S=await w.mode(),T=new TextDecoder().decode(await w.content());await e.write(A,T,{mode:S})}return!0}}),new ps(y,b,x,E)):_.oid}async function IO({fs:e,gitdir:t,path:r,ours:n,base:i,theirs:a,ourName:s,theirName:o,baseName:c,dryRun:l,mergeDriver:u=MO}){let f="blob",d=await i.mode()===await n.mode()?await a.mode():await n.mode();if(await n.oid()===await a.oid())return{cleanMerge:!0,mergeResult:{mode:d,path:r,oid:await n.oid(),type:f}};if(await n.oid()===await i.oid())return{cleanMerge:!0,mergeResult:{mode:d,path:r,oid:await a.oid(),type:f}};if(await a.oid()===await i.oid())return{cleanMerge:!0,mergeResult:{mode:d,path:r,oid:await n.oid(),type:f}};let h=Buffer.from(await n.content()).toString("utf8"),p=Buffer.from(await i.content()).toString("utf8"),m=Buffer.from(await a.content()).toString("utf8"),{mergedText:v,cleanMerge:y}=await u({branches:[c,s,o],contents:[p,h,m],path:r}),b=await pr({fs:e,gitdir:t,type:"blob",object:Buffer.from(v,"utf8"),dryRun:l});return{cleanMerge:y,mergeResult:{mode:d,path:r,oid:b,type:f}}}async function b2({fs:e,cache:t,dir:r,gitdir:n,ours:i,theirs:a,fastForward:s=!0,fastForwardOnly:o=!1,dryRun:c=!1,noUpdateBranch:l=!1,abortOnConflict:u=!0,message:f,author:d,committer:h,signingKey:p,onSign:m,mergeDriver:v}){i===void 0&&(i=await fa({fs:e,gitdir:n,fullname:!0})),i=await q.expand({fs:e,gitdir:n,ref:i}),a=await q.expand({fs:e,gitdir:n,ref:a});let y=await q.resolve({fs:e,gitdir:n,ref:i}),b=await q.resolve({fs:e,gitdir:n,ref:a}),x=await Pp({fs:e,cache:t,gitdir:n,oids:[y,b]});if(x.length!==1)throw new hs;let E=x[0];if(E===b)return{oid:y,alreadyMerged:!0};if(s&&E===y)return!c&&!l&&await q.writeRef({fs:e,gitdir:n,ref:i,value:b}),{oid:b,fastForward:!0};{if(o)throw new sl;let _=await mt.acquire({fs:e,gitdir:n,cache:t,allowUnmerged:!1},async w=>OO({fs:e,cache:t,dir:r,gitdir:n,index:w,ourOid:y,theirOid:b,baseOid:E,ourName:oa(i),baseName:"base",theirName:oa(a),dryRun:c,abortOnConflict:u,mergeDriver:v}));if(_ instanceof ps)throw _;return f||(f=`Merge branch '${oa(a)}' into ${oa(i)}`),{oid:await yu({fs:e,cache:t,gitdir:n,message:f,ref:i,tree:_,parent:[y,b],author:d,committer:h,signingKey:p,onSign:m,dryRun:c,noUpdateBranch:l}),tree:_,mergeCommit:!0}}}async function _2({fs:e,cache:t,http:r,onProgress:n,onMessage:i,onAuth:a,onAuthSuccess:s,onAuthFailure:o,dir:c,gitdir:l,ref:u,url:f,remote:d,remoteRef:h,prune:p,pruneTags:m,fastForward:v,fastForwardOnly:y,corsProxy:b,singleBranch:x,headers:E,author:_,committer:k,signingKey:w}){try{if(!u){let T=await fa({fs:e,gitdir:l});if(!T)throw new Qt("ref");u=T}let{fetchHead:A,fetchHeadDescription:S}=await Cp({fs:e,cache:t,http:r,onProgress:n,onMessage:i,onAuth:a,onAuthSuccess:s,onAuthFailure:o,gitdir:l,corsProxy:b,ref:u,url:f,remote:d,remoteRef:h,singleBranch:x,headers:E,prune:p,pruneTags:m});await b2({fs:e,cache:t,gitdir:l,ours:u,theirs:A,fastForward:v,fastForwardOnly:y,message:`Merge ${S}`,author:_,committer:k,signingKey:w,dryRun:!1,noUpdateBranch:!1}),await Tp({fs:e,cache:t,onProgress:n,dir:c,gitdir:l,ref:u,remote:d,noCheckout:!1})}catch(A){throw A.caller="git.pull",A}}async function FO({fs:e,http:t,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,dir:o,gitdir:c=$(o,".git"),ref:l,url:u,remote:f,remoteRef:d,corsProxy:h,singleBranch:p,headers:m={},cache:v={}}){try{C("fs",e),C("http",t),C("gitdir",c);let y={name:"",email:"",timestamp:Date.now(),timezoneOffset:0};return await _2({fs:new X(e),cache:v,http:t,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,dir:o,gitdir:c,ref:l,url:u,remote:f,remoteRef:d,fastForwardOnly:!0,corsProxy:h,singleBranch:p,headers:m,author:y,committer:y})}catch(y){throw y.caller="git.fastForward",y}}async function $O({fs:e,http:t,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,dir:o,gitdir:c=$(o,".git"),ref:l,remote:u,remoteRef:f,url:d,corsProxy:h,depth:p=null,since:m=null,exclude:v=[],relative:y=!1,tags:b=!1,singleBranch:x=!1,headers:E={},prune:_=!1,pruneTags:k=!1,cache:w={}}){try{return C("fs",e),C("http",t),C("gitdir",c),await Cp({fs:new X(e),cache:w,http:t,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,gitdir:c,ref:l,remote:u,remoteRef:f,url:d,corsProxy:h,depth:p,since:m,exclude:v,relative:y,tags:b,singleBranch:x,headers:E,prune:_,pruneTags:k})}catch(A){throw A.caller="git.fetch",A}}async function LO({fs:e,dir:t,gitdir:r=$(t,".git"),oids:n,cache:i={}}){try{return C("fs",e),C("gitdir",r),C("oids",n),await Pp({fs:new X(e),cache:i,gitdir:r,oids:n})}catch(a){throw a.caller="git.findMergeBase",a}}async function x2({fs:e,filepath:t}){if(await e.exists($(t,".git")))return t;{let r=fs(t);if(r===t)throw new Ne(`git root for ${t}`);return x2({fs:e,filepath:r})}}async function DO({fs:e,filepath:t}){try{return C("fs",e),C("filepath",t),await x2({fs:new X(e),filepath:t})}catch(r){throw r.caller="git.findRoot",r}}async function NO({fs:e,dir:t,gitdir:r=$(t,".git"),path:n}){try{return C("fs",e),C("gitdir",r),C("path",n),await ml({fs:new X(e),gitdir:r,path:n})}catch(i){throw i.caller="git.getConfig",i}}async function jO({fs:e,gitdir:t,path:r}){return(await Ve.get({fs:e,gitdir:t})).getall(r)}async function BO({fs:e,dir:t,gitdir:r=$(t,".git"),path:n}){try{return C("fs",e),C("gitdir",r),C("path",n),await jO({fs:new X(e),gitdir:r,path:n})}catch(i){throw i.caller="git.getConfigAll",i}}async function HO({http:e,onAuth:t,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,url:a,headers:s={},forPush:o=!1}){try{C("http",e),C("url",a);let l=await xs.getRemoteHelperFor({url:a}).discover({http:e,onAuth:t,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,service:o?"git-receive-pack":"git-upload-pack",url:a,headers:s,protocolVersion:1}),u={capabilities:[...l.capabilities]};for(let[f,d]of l.refs){let h=f.split("/"),p=h.pop(),m=u;for(let v of h)m[v]=m[v]||{},m=m[v];m[p]=d}for(let[f,d]of l.symrefs){let h=f.split("/"),p=h.pop(),m=u;for(let v of h)m[v]=m[v]||{},m=m[v];m[p]=d}return u}catch(c){throw c.caller="git.getRemoteInfo",c}}function S2(e,t,r,n){let i=[];for(let[a,s]of e.refs){if(t&&!a.startsWith(t))continue;if(a.endsWith("^{}")){if(n){let c=a.replace("^{}",""),l=i[i.length-1],u=l.ref===c?l:i.find(f=>f.ref===c);if(u===void 0)throw new Error("I did not expect this to happen");u.peeled=s}continue}let o={ref:a,oid:s};r&&e.symrefs.has(a)&&(o.target=e.symrefs.get(a)),i.push(o)}return i}async function UO({http:e,onAuth:t,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,url:a,headers:s={},forPush:o=!1,protocolVersion:c=2}){try{C("http",e),C("url",a);let u=await xs.getRemoteHelperFor({url:a}).discover({http:e,onAuth:t,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,service:o?"git-receive-pack":"git-upload-pack",url:a,headers:s,protocolVersion:c});if(u.protocolVersion===2)return{protocolVersion:u.protocolVersion,capabilities:u.capabilities2};let f={};for(let d of u.capabilities){let[h,p]=d.split("=");p?f[h]=p:f[h]=!0}return{protocolVersion:1,capabilities:f,refs:S2(u,void 0,!0,!0)}}catch(l){throw l.caller="git.getRemoteInfo2",l}}async function GO({type:e,object:t,format:r="content",oid:n=void 0}){return r!=="deflated"&&(r!=="wrapped"&&(t=_i.wrap({type:e,object:t})),n=await Gn(t)),{oid:n,object:t}}async function zO({object:e}){try{C("object",e),typeof e=="string"?e=Buffer.from(e,"utf8"):e=Buffer.from(e);let t="blob",{oid:r,object:n}=await GO({type:"blob",format:"content",object:e});return{oid:r,type:t,object:new Uint8Array(n),format:"wrapped"}}catch(t){throw t.caller="git.hashBlob",t}}async function VO({fs:e,cache:t,onProgress:r,dir:n,gitdir:i,filepath:a}){try{a=$(n,a);let s=await e.read(a),o=l=>We({fs:e,cache:t,gitdir:i,oid:l}),c=await tl.fromPack({pack:s,getExternalRefDelta:o,onProgress:r});return await e.write(a.replace(/\.pack$/,".idx"),await c.toBuffer()),{oids:[...c.hashes]}}catch(s){throw s.caller="git.indexPack",s}}async function WO({fs:e,onProgress:t,dir:r,gitdir:n=$(r,".git"),filepath:i,cache:a={}}){try{return C("fs",e),C("dir",r),C("gitdir",r),C("filepath",i),await VO({fs:new X(e),cache:a,onProgress:t,dir:r,gitdir:n,filepath:i})}catch(s){throw s.caller="git.indexPack",s}}async function qO({fs:e,bare:t=!1,dir:r,gitdir:n=t?r:$(r,".git"),defaultBranch:i="master"}){try{return C("fs",e),C("gitdir",n),t||C("dir",r),await w2({fs:new X(e),bare:t,dir:r,gitdir:n,defaultBranch:i})}catch(a){throw a.caller="git.init",a}}async function E2({fs:e,cache:t,gitdir:r,oid:n,ancestor:i,depth:a}){let s=await ua.read({fs:e,gitdir:r});if(!n)throw new Qt("oid");if(!i)throw new Qt("ancestor");if(n===i)return!1;let o=[n],c=new Set,l=0;for(;o.length;){if(l++===a)throw new ll(a);let u=o.shift(),{type:f,object:d}=await We({fs:e,cache:t,gitdir:r,oid:u});if(f!=="commit")throw new Gt(u,f,"commit");let h=tr.from(d).parse();for(let p of h.parent)if(p===i)return!0;if(!s.has(u))for(let p of h.parent)c.has(p)||(o.push(p),c.add(p))}return!1}async function YO({fs:e,dir:t,gitdir:r=$(t,".git"),oid:n,ancestor:i,depth:a=-1,cache:s={}}){try{return C("fs",e),C("gitdir",r),C("oid",n),C("ancestor",i),await E2({fs:new X(e),cache:s,gitdir:r,oid:n,ancestor:i,depth:a})}catch(o){throw o.caller="git.isDescendent",o}}async function XO({fs:e,dir:t,gitdir:r=$(t,".git"),filepath:n}){try{return C("fs",e),C("dir",t),C("gitdir",r),C("filepath",n),ws.isIgnored({fs:new X(e),dir:t,gitdir:r,filepath:n})}catch(i){throw i.caller="git.isIgnored",i}}async function ZO({fs:e,dir:t,gitdir:r=$(t,".git"),remote:n}){try{return C("fs",e),C("gitdir",r),q.listBranches({fs:new X(e),gitdir:r,remote:n})}catch(i){throw i.caller="git.listBranches",i}}async function KO({fs:e,gitdir:t,ref:r,cache:n}){if(r){let i=await q.resolve({gitdir:t,fs:e,ref:r}),a=[];return await A2({fs:e,cache:n,gitdir:t,oid:i,filenames:a,prefix:""}),a}else return mt.acquire({fs:e,gitdir:t,cache:n},async function(i){return i.entries.map(a=>a.path)})}async function A2({fs:e,cache:t,gitdir:r,oid:n,filenames:i,prefix:a}){let{tree:s}=await Ss({fs:e,cache:t,gitdir:r,oid:n});for(let o of s)o.type==="tree"?await A2({fs:e,cache:t,gitdir:r,oid:o.oid,filenames:i,prefix:$(a,o.path)}):i.push($(a,o.path))}async function JO({fs:e,dir:t,gitdir:r=$(t,".git"),ref:n,cache:i={}}){try{return C("fs",e),C("gitdir",r),await KO({fs:new X(e),cache:i,gitdir:r,ref:n})}catch(a){throw a.caller="git.listFiles",a}}async function QO({fs:e,cache:t,gitdir:r,ref:n}){let i;try{i=await q.resolve({gitdir:r,fs:e,ref:n})}catch(o){if(o instanceof Ne)return[]}return(await Ss({fs:e,cache:t,gitdir:r,oid:i})).tree.map(o=>({target:o.path,note:o.oid}))}async function e8({fs:e,dir:t,gitdir:r=$(t,".git"),ref:n="refs/notes/commits",cache:i={}}){try{return C("fs",e),C("gitdir",r),C("ref",n),await QO({fs:new X(e),cache:i,gitdir:r,ref:n})}catch(a){throw a.caller="git.listNotes",a}}async function t8({fs:e,gitdir:t}){let r=await Ve.get({fs:e,gitdir:t}),n=await r.getSubsections("remote");return Promise.all(n.map(async a=>{let s=await r.get(`remote.${a}.url`);return{remote:a,url:s}}))}async function r8({fs:e,dir:t,gitdir:r=$(t,".git")}){try{return C("fs",e),C("gitdir",r),await t8({fs:new X(e),gitdir:r})}catch(n){throw n.caller="git.listRemotes",n}}async function n8(e){let t=ze.streamReader(e),r=[],n;for(;n=await t(),n!==!0;){if(n===null)continue;n=n.toString("utf8").replace(/\n$/,"");let[i,a,...s]=n.split(" "),o={ref:a,oid:i};for(let c of s){let[l,u]=c.split(":");l==="symref-target"?o.target=u:l==="peeled"&&(o.peeled=u)}r.push(o)}return r}async function i8({prefix:e,symrefs:t,peelTags:r}){let n=[];return n.push(ze.encode(`command=ls-refs -`)),n.push(ze.encode(`agent=${wu.agent} -`)),(r||t||e)&&n.push(ze.delim()),r&&n.push(ze.encode("peel")),t&&n.push(ze.encode("symrefs")),e&&n.push(ze.encode(`ref-prefix ${e}`)),n.push(ze.flush()),n}async function a8({http:e,onAuth:t,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,url:a,headers:s={},forPush:o=!1,protocolVersion:c=2,prefix:l,symrefs:u,peelTags:f}){try{C("http",e),C("url",a);let d=await _s.discover({http:e,onAuth:t,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,service:o?"git-receive-pack":"git-upload-pack",url:a,headers:s,protocolVersion:c});if(d.protocolVersion===1)return S2(d,l,u,f);let h=await i8({prefix:l,symrefs:u,peelTags:f}),p=await _s.connect({http:e,auth:d.auth,headers:s,corsProxy:i,service:o?"git-receive-pack":"git-upload-pack",url:a,body:h});return n8(p.body)}catch(d){throw d.caller="git.listServerRefs",d}}async function s8({fs:e,dir:t,gitdir:r=$(t,".git")}){try{return C("fs",e),C("gitdir",r),q.listTags({fs:new X(e),gitdir:r})}catch(n){throw n.caller="git.listTags",n}}function o8(e,t){return e.committer.timestamp-t.committer.timestamp}var l8="e69de29bb2d1d6434b8b29ae775ad8c2e48c5391";async function Kw({fs:e,cache:t,gitdir:r,oid:n,fileId:i}){if(i===l8)return;let a=n,s,o=await vs({fs:e,cache:t,gitdir:r,oid:n}),c=o.tree;return i===o.oid?s=o.path:(s=await k2({fs:e,cache:t,gitdir:r,tree:c,fileId:i,oid:a}),Array.isArray(s)&&(s.length===0?s=void 0:s.length===1&&(s=s[0]))),s}async function k2({fs:e,cache:t,gitdir:r,tree:n,fileId:i,oid:a,filepaths:s=[],parentPath:o=""}){let c=n.entries().map(function(l){let u;return l.oid===i?(u=$(o,l.path),s.push(u)):l.type==="tree"&&(u=We({fs:e,cache:t,gitdir:r,oid:l.oid}).then(function({object:f}){return k2({fs:e,cache:t,gitdir:r,tree:er.from(f),fileId:i,oid:a,filepaths:s,parentPath:$(o,l.path)})})),u});return await Promise.all(c),s}async function c8({fs:e,cache:t,gitdir:r,filepath:n,ref:i,depth:a,since:s,force:o,follow:c}){let l=typeof s=="undefined"?void 0:Math.floor(s.valueOf()/1e3),u=[],f=await ua.read({fs:e,gitdir:r}),d=await q.resolve({fs:e,gitdir:r,ref:i}),h=[await uu({fs:e,cache:t,gitdir:r,oid:d})],p,m,v;function y(b){v&&n&&u.push(b)}for(;h.length>0;){let b=h.pop();if(l!==void 0&&b.commit.committer.timestamp<=l)break;if(n){let x;try{x=await vl({fs:e,cache:t,gitdir:r,oid:b.commit.tree,filepath:n}),m&&p!==x&&u.push(m),p=x,m=b,v=!0}catch(E){if(E instanceof Ne){let _=c&&p;if(_&&(_=await Kw({fs:e,cache:t,gitdir:r,oid:b.commit.tree,fileId:p}),_))if(Array.isArray(_)){if(m){let k=await Kw({fs:e,cache:t,gitdir:r,oid:m.commit.tree,fileId:p});if(Array.isArray(k))if(_=_.filter(w=>k.indexOf(w)===-1),_.length===1)_=_[0],n=_,m&&u.push(m);else{_=!1,m&&u.push(m);break}}}else n=_,m&&u.push(m);if(!_){if(v&&p&&(u.push(m),!o))break;if(!o&&!c)throw E}m=b,v=!1}else throw E}}else u.push(b);if(a!==void 0&&u.length===a){y(b);break}if(!f.has(b.oid))for(let x of b.commit.parent){let E=await uu({fs:e,cache:t,gitdir:r,oid:x});h.map(_=>_.oid).includes(E.oid)||h.push(E)}h.length===0&&y(b),h.sort((x,E)=>o8(x.commit,E.commit))}return u}async function u8({fs:e,dir:t,gitdir:r=$(t,".git"),filepath:n,ref:i="HEAD",depth:a,since:s,force:o,follow:c,cache:l={}}){try{return C("fs",e),C("gitdir",r),C("ref",i),await c8({fs:new X(e),cache:l,gitdir:r,filepath:n,ref:i,depth:a,since:s,force:o,follow:c})}catch(u){throw u.caller="git.log",u}}async function f8({fs:e,onSign:t,dir:r,gitdir:n=$(r,".git"),ours:i,theirs:a,fastForward:s=!0,fastForwardOnly:o=!1,dryRun:c=!1,noUpdateBranch:l=!1,abortOnConflict:u=!0,message:f,author:d,committer:h,signingKey:p,cache:m={},mergeDriver:v}){try{C("fs",e),p&&C("onSign",t);let y=new X(e),b=await ca({fs:y,gitdir:n,author:d});if(!b&&(!o||!s))throw new zt("author");let x=await bs({fs:y,gitdir:n,author:b,committer:h});if(!x&&(!o||!s))throw new zt("committer");return await b2({fs:y,cache:m,dir:r,gitdir:n,ours:i,theirs:a,fastForward:s,fastForwardOnly:o,dryRun:c,noUpdateBranch:l,abortOnConflict:u,message:f,author:b,committer:x,signingKey:p,onSign:t,mergeDriver:v})}catch(y){throw y.caller="git.merge",y}}var d8={commit:16,tree:32,blob:48,tag:64,ofs_delta:96,ref_delta:112};async function T2({fs:e,cache:t,dir:r,gitdir:n=$(r,".git"),oids:i}){let a=new Ep.default,s=[];function o(u,f){let d=Buffer.from(u,f);s.push(d),a.update(d)}async function c({stype:u,object:f}){let d=d8[u],h=f.length,p=h>15?128:0,m=h&15;h=h>>>4;let v=(p|d|m).toString(16);for(o(v,"hex");p;)p=h>127?128:0,v=p|h&127,o(Sp(2,v),"hex"),h=h>>>7;o(Buffer.from(await c2(f)))}o("PACK"),o("00000002","hex"),o(Sp(8,i.length),"hex");for(let u of i){let{type:f,object:d}=await We({fs:e,cache:t,gitdir:n,oid:u});await c({write:o,object:d,stype:f})}let l=a.digest();return s.push(l),s}async function h8({fs:e,cache:t,gitdir:r,oids:n,write:i}){let a=await T2({fs:e,cache:t,gitdir:r,oids:n}),s=Buffer.from(await fu(a)),c=`pack-${s.slice(-20).toString("hex")}.pack`;return i?(await e.write($(r,`objects/pack/${c}`),s),{filename:c}):{filename:c,packfile:new Uint8Array(s)}}async function p8({fs:e,dir:t,gitdir:r=$(t,".git"),oids:n,write:i=!1,cache:a={}}){try{return C("fs",e),C("gitdir",r),C("oids",n),await h8({fs:new X(e),cache:a,gitdir:r,oids:n,write:i})}catch(s){throw s.caller="git.packObjects",s}}async function m8({fs:e,http:t,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,dir:o,gitdir:c=$(o,".git"),ref:l,url:u,remote:f,remoteRef:d,prune:h=!1,pruneTags:p=!1,fastForward:m=!0,fastForwardOnly:v=!1,corsProxy:y,singleBranch:b,headers:x={},author:E,committer:_,signingKey:k,cache:w={}}){try{C("fs",e),C("gitdir",c);let A=new X(e),S=await ca({fs:A,gitdir:c,author:E});if(!S)throw new zt("author");let T=await bs({fs:A,gitdir:c,author:S,committer:_});if(!T)throw new zt("committer");return await _2({fs:A,cache:w,http:t,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,dir:o,gitdir:c,ref:l,url:u,remote:f,remoteRef:d,fastForward:m,fastForwardOnly:v,corsProxy:y,singleBranch:b,headers:x,author:S,committer:T,signingKey:k,prune:h,pruneTags:p})}catch(A){throw A.caller="git.pull",A}}async function g8({fs:e,cache:t,dir:r,gitdir:n=$(r,".git"),start:i,finish:a}){let s=await ua.read({fs:e,gitdir:n}),o=new Set,c=new Set;for(let f of i)o.add(await q.resolve({fs:e,gitdir:n,ref:f}));for(let f of a)try{let d=await q.resolve({fs:e,gitdir:n,ref:f});c.add(d)}catch(d){}let l=new Set;async function u(f){l.add(f);let{type:d,object:h}=await We({fs:e,cache:t,gitdir:n,oid:f});if(d==="tag"){let m=hr.from(h).headers().object;return u(m)}if(d!=="commit")throw new Gt(f,d,"commit");if(!s.has(f)){let m=tr.from(h).headers().parent;for(f of m)!c.has(f)&&!l.has(f)&&await u(f)}}for(let f of o)await u(f);return l}async function fp({fs:e,cache:t,dir:r,gitdir:n=$(r,".git"),oids:i}){let a=new Set;async function s(o){if(a.has(o))return;a.add(o);let{type:c,object:l}=await We({fs:e,cache:t,gitdir:n,oid:o});if(c==="tag"){let f=hr.from(l).headers().object;await s(f)}else if(c==="commit"){let f=tr.from(l).headers().tree;await s(f)}else if(c==="tree"){let u=er.from(l);for(let f of u)f.type==="blob"&&a.add(f.oid),f.type==="tree"&&await s(f.oid)}}for(let o of i)await s(o);return a}async function v8(e){let t={},r="",n=ze.streamReader(e),i=await n();for(;i!==!0;)i!==null&&(r+=i.toString("utf8")+` -`),i=await n();let a=r.toString("utf8").split(` -`);if(i=a.shift(),!i.startsWith("unpack "))throw new la('unpack ok" or "unpack [error message]',i);t.ok=i==="unpack ok",t.ok||(t.error=i.slice(7)),t.refs={};for(let s of a){if(s.trim()==="")continue;let o=s.slice(0,2),c=s.slice(3),l=c.indexOf(" ");l===-1&&(l=c.length);let u=c.slice(0,l),f=c.slice(l+1);t.refs[u]={ok:o==="ok",error:f}}return t}async function y8({capabilities:e=[],triplets:t=[]}){let r=[],n=`\0 ${e.join(" ")}`;for(let i of t)r.push(ze.encode(`${i.oldoid} ${i.oid} ${i.fullRef}${n} -`)),n="";return r.push(ze.flush()),r}async function w8({fs:e,cache:t,http:r,onProgress:n,onMessage:i,onAuth:a,onAuthSuccess:s,onAuthFailure:o,onPrePush:c,gitdir:l,ref:u,remoteRef:f,remote:d,url:h,force:p=!1,delete:m=!1,corsProxy:v,headers:y={}}){let b=u||await fa({fs:e,gitdir:l});if(typeof b=="undefined")throw new Qt("ref");let x=await Ve.get({fs:e,gitdir:l});d=d||await x.get(`branch.${b}.pushRemote`)||await x.get("remote.pushDefault")||await x.get(`branch.${b}.remote`)||"origin";let E=h||await x.get(`remote.${d}.pushurl`)||await x.get(`remote.${d}.url`);if(typeof E=="undefined")throw new Qt("remote OR url");let _=f||await x.get(`branch.${b}.merge`);if(typeof E=="undefined")throw new Qt("remoteRef");v===void 0&&(v=await x.get("http.corsProxy"));let k=await q.expand({fs:e,gitdir:l,ref:b}),w=m?"0000000000000000000000000000000000000000":await q.resolve({fs:e,gitdir:l,ref:k}),A=xs.getRemoteHelperFor({url:E}),S=await A.discover({http:r,onAuth:a,onAuthSuccess:s,onAuthFailure:o,corsProxy:v,service:"git-receive-pack",url:E,headers:y,protocolVersion:1}),T=S.auth,P;if(!_)P=k;else try{P=await q.expandAgainstMap({ref:_,map:S.refs})}catch(z){if(z instanceof Ne)P=_.startsWith("refs/")?_:`refs/heads/${_}`;else throw z}let O=S.refs.get(P)||"0000000000000000000000000000000000000000";if(c&&!await c({remote:d,url:E,localRef:{ref:m?"(delete)":k,oid:w},remoteRef:{ref:P,oid:O}}))throw new gs;let j=!S.capabilities.has("no-thin"),D=new Set;if(!m){let z=[...S.refs.values()],N=new Set;if(O!=="0000000000000000000000000000000000000000"){let Re=await Pp({fs:e,cache:t,gitdir:l,oids:[w,O]});for(let Dt of Re)z.push(Dt);j&&(N=await fp({fs:e,cache:t,gitdir:l,oids:Re}))}if(!z.includes(w)){let Re=await g8({fs:e,cache:t,gitdir:l,start:[w],finish:z});D=await fp({fs:e,cache:t,gitdir:l,oids:Re})}if(j){try{let Re=await q.resolve({fs:e,gitdir:l,ref:`refs/remotes/${d}/HEAD`,depth:2}),{oid:Dt}=await q.resolveAgainstMap({ref:Re.replace(`refs/remotes/${d}/`,""),fullref:Re,map:S.refs}),_t=[Dt];for(let Ee of await fp({fs:e,cache:t,gitdir:l,oids:_t}))N.add(Ee)}catch(Re){}for(let Re of N)D.delete(Re)}if(w===O&&(p=!0),!p){if(k.startsWith("refs/tags")&&O!=="0000000000000000000000000000000000000000")throw new ms("tag-exists");if(w!=="0000000000000000000000000000000000000000"&&O!=="0000000000000000000000000000000000000000"&&!await E2({fs:e,cache:t,gitdir:l,oid:w,ancestor:O,depth:-1}))throw new ms("not-fast-forward")}}let Q=v2([...S.capabilities],["report-status","side-band-64k",`agent=${wu.agent}`]),de=await y8({capabilities:Q,triplets:[{oldoid:O,oid:w,fullRef:P}]}),ee=m?[]:await T2({fs:e,cache:t,gitdir:l,oids:[...D]}),J=await A.connect({http:r,onProgress:n,corsProxy:v,service:"git-receive-pack",url:E,auth:T,headers:y,body:[...de,...ee]}),{packfile:Ce,progress:me}=await du.demux(J.body);if(i){let z=y2(me);yl(z,async N=>{await i(N)})}let F=await v8(Ce);if(J.headers&&(F.headers=J.headers),d&&F.ok&&F.refs[P].ok&&!k.startsWith("refs/tags")){let z=`refs/remotes/${d}/${P.replace("refs/heads","")}`;m?await q.deleteRef({fs:e,gitdir:l,ref:z}):await q.writeRef({fs:e,gitdir:l,ref:z,value:w})}if(F.ok&&Object.values(F.refs).every(z=>z.ok))return F;{let z=Object.entries(F.refs).filter(([N,Re])=>!Re.ok).map(([N,Re])=>` - - ${N}: ${Re.error}`).join("");throw new ol(z,F)}}async function b8({fs:e,http:t,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,onPrePush:o,dir:c,gitdir:l=$(c,".git"),ref:u,remoteRef:f,remote:d="origin",url:h,force:p=!1,delete:m=!1,corsProxy:v,headers:y={},cache:b={}}){try{return C("fs",e),C("http",t),C("gitdir",l),await w8({fs:new X(e),cache:b,http:t,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,onPrePush:o,gitdir:l,ref:u,remoteRef:f,remote:d,url:h,force:p,delete:m,corsProxy:v,headers:y})}catch(x){throw x.caller="git.push",x}}async function C2({fs:e,cache:t,gitdir:r,oid:n}){let{type:i,object:a}=await We({fs:e,cache:t,gitdir:r,oid:n});if(i==="tag")return n=hr.from(a).parse().object,C2({fs:e,cache:t,gitdir:r,oid:n});if(i!=="blob")throw new Gt(n,i,"blob");return{oid:n,blob:new Uint8Array(a)}}async function P2({fs:e,cache:t,gitdir:r,oid:n,filepath:i=void 0}){return i!==void 0&&(n=await vl({fs:e,cache:t,gitdir:r,oid:n,filepath:i})),await C2({fs:e,cache:t,gitdir:r,oid:n})}async function wl({fs:e,dir:t,gitdir:r=$(t,".git"),oid:n,filepath:i,cache:a={}}){try{return C("fs",e),C("gitdir",r),C("oid",n),await P2({fs:new X(e),cache:a,gitdir:r,oid:n,filepath:i})}catch(s){throw s.caller="git.readBlob",s}}async function _8({fs:e,dir:t,gitdir:r=$(t,".git"),oid:n,cache:i={}}){try{return C("fs",e),C("gitdir",r),C("oid",n),await uu({fs:new X(e),cache:i,gitdir:r,oid:n})}catch(a){throw a.caller="git.readCommit",a}}async function x8({fs:e,cache:t,gitdir:r,ref:n="refs/notes/commits",oid:i}){let a=await q.resolve({gitdir:r,fs:e,ref:n}),{blob:s}=await P2({fs:e,cache:t,gitdir:r,oid:a,filepath:i});return s}async function S8({fs:e,dir:t,gitdir:r=$(t,".git"),ref:n="refs/notes/commits",oid:i,cache:a={}}){try{return C("fs",e),C("gitdir",r),C("ref",n),C("oid",i),await x8({fs:new X(e),cache:a,gitdir:r,ref:n,oid:i})}catch(s){throw s.caller="git.readNote",s}}async function E8({fs:e,dir:t,gitdir:r=$(t,".git"),oid:n,format:i="parsed",filepath:a=void 0,encoding:s=void 0,cache:o={}}){try{C("fs",e),C("gitdir",r),C("oid",n);let c=new X(e);a!==void 0&&(n=await vl({fs:c,cache:o,gitdir:r,oid:n,filepath:a}));let u=await We({fs:c,cache:o,gitdir:r,oid:n,format:i==="parsed"?"content":i});if(u.oid=n,i==="parsed")switch(u.format="parsed",u.type){case"commit":u.object=tr.from(u.object).parse();break;case"tree":u.object=er.from(u.object).entries();break;case"blob":s?u.object=u.object.toString(s):(u.object=new Uint8Array(u.object),u.format="content");break;case"tag":u.object=hr.from(u.object).parse();break;default:throw new Gt(u.oid,u.type,"blob|commit|tag|tree")}else(u.format==="deflated"||u.format==="wrapped")&&(u.type=u.format);return u}catch(c){throw c.caller="git.readObject",c}}async function A8({fs:e,cache:t,gitdir:r,oid:n}){let{type:i,object:a}=await We({fs:e,cache:t,gitdir:r,oid:n,format:"content"});if(i!=="tag")throw new Gt(n,i,"tag");let s=hr.from(a);return{oid:n,tag:s.parse(),payload:s.payload()}}async function k8({fs:e,dir:t,gitdir:r=$(t,".git"),oid:n,cache:i={}}){try{return C("fs",e),C("gitdir",r),C("oid",n),await A8({fs:new X(e),cache:i,gitdir:r,oid:n})}catch(a){throw a.caller="git.readTag",a}}async function T8({fs:e,dir:t,gitdir:r=$(t,".git"),oid:n,filepath:i=void 0,cache:a={}}){try{return C("fs",e),C("gitdir",r),C("oid",n),await Ss({fs:new X(e),cache:a,gitdir:r,oid:n,filepath:i})}catch(s){throw s.caller="git.readTree",s}}async function C8({fs:e,dir:t,gitdir:r=$(t,".git"),filepath:n,cache:i={}}){try{C("fs",e),C("gitdir",r),C("filepath",n),await mt.acquire({fs:new X(e),gitdir:r,cache:i},async function(a){a.delete({filepath:n})})}catch(a){throw a.caller="git.remove",a}}async function P8({fs:e,cache:t,onSign:r,gitdir:n,ref:i="refs/notes/commits",oid:a,author:s,committer:o,signingKey:c}){let l;try{l=await q.resolve({gitdir:n,fs:e,ref:i})}catch(p){if(!(p instanceof Ne))throw p}let f=(await Ss({fs:e,gitdir:n,oid:l||"4b825dc642cb6eb9a060e54bf8d69288fbee4904"})).tree;f=f.filter(p=>p.path!==a);let d=await kp({fs:e,gitdir:n,tree:f});return await yu({fs:e,cache:t,onSign:r,gitdir:n,ref:i,tree:d,parent:l&&[l],message:`Note removed by 'isomorphic-git removeNote' -`,author:s,committer:o,signingKey:c})}async function R8({fs:e,onSign:t,dir:r,gitdir:n=$(r,".git"),ref:i="refs/notes/commits",oid:a,author:s,committer:o,signingKey:c,cache:l={}}){try{C("fs",e),C("gitdir",n),C("oid",a);let u=new X(e),f=await ca({fs:u,gitdir:n,author:s});if(!f)throw new zt("author");let d=await bs({fs:u,gitdir:n,author:f,committer:o});if(!d)throw new zt("committer");return await P8({fs:u,cache:l,onSign:t,gitdir:n,ref:i,oid:a,author:f,committer:d,signingKey:c})}catch(u){throw u.caller="git.removeNote",u}}async function M8({fs:e,gitdir:t,oldref:r,ref:n,checkout:i=!1}){if(n!==Kr.default.clean(n))throw new zn(n,Kr.default.clean(n));if(r!==Kr.default.clean(r))throw new zn(r,Kr.default.clean(r));let a=`refs/heads/${r}`,s=`refs/heads/${n}`;if(await q.exists({fs:e,gitdir:t,ref:s}))throw new Jr("branch",n,!1);let c=await q.resolve({fs:e,gitdir:t,ref:a,depth:1});await q.writeRef({fs:e,gitdir:t,ref:s,value:c}),await q.deleteRef({fs:e,gitdir:t,ref:a});let u=await fa({fs:e,gitdir:t,fullname:!0})===a;(i||u)&&await q.writeSymbolicRef({fs:e,gitdir:t,ref:"HEAD",value:s})}async function O8({fs:e,dir:t,gitdir:r=$(t,".git"),ref:n,oldref:i,checkout:a=!1}){try{return C("fs",e),C("gitdir",r),C("ref",n),C("oldref",i),await M8({fs:new X(e),gitdir:r,ref:n,oldref:i,checkout:a})}catch(s){throw s.caller="git.renameBranch",s}}async function R2({gitdir:e,type:t,object:r}){return Gn(_i.wrap({type:t,object:r}))}async function I8({fs:e,dir:t,gitdir:r=$(t,".git"),filepath:n,ref:i,cache:a={}}){try{C("fs",e),C("gitdir",r),C("filepath",n);let s=new X(e),o,c;try{o=await q.resolve({fs:s,gitdir:r,ref:i||"HEAD"})}catch(f){if(i)throw f}if(o)try{o=await vl({fs:s,cache:a,gitdir:r,oid:o,filepath:n})}catch(f){o=null}let l={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:0,uid:0,gid:0,size:0},u=t&&await s.read($(t,n));u&&(c=await R2({gitdir:r,type:"blob",object:u}),o===c&&(l=await s.lstat($(t,n)))),await mt.acquire({fs:s,gitdir:r,cache:a},async function(f){f.delete({filepath:n}),o&&f.insert({filepath:n,stats:l,oid:o})})}catch(s){throw s.caller="git.reset",s}}async function F8({fs:e,dir:t,gitdir:r=$(t,".git"),ref:n,depth:i}){try{return C("fs",e),C("gitdir",r),C("ref",n),await q.resolve({fs:new X(e),gitdir:r,ref:n,depth:i})}catch(a){throw a.caller="git.resolveRef",a}}async function $8({fs:e,dir:t,gitdir:r=$(t,".git"),path:n,value:i,append:a=!1}){try{C("fs",e),C("gitdir",r),C("path",n);let s=new X(e),o=await Ve.get({fs:s,gitdir:r});a?await o.append(n,i):await o.set(n,i),await Ve.save({fs:s,gitdir:r,config:o})}catch(s){throw s.caller="git.setConfig",s}}async function L8({fs:e,dir:t,gitdir:r=$(t,".git"),filepath:n,cache:i={}}){try{C("fs",e),C("gitdir",r),C("filepath",n);let a=new X(e);if(await ws.isIgnored({fs:a,gitdir:r,dir:t,filepath:n}))return"ignored";let o=await D8({fs:a,cache:i,gitdir:r}),c=await M2({fs:a,cache:i,gitdir:r,tree:o,path:n}),l=await mt.acquire({fs:a,gitdir:r,cache:i},async function(m){for(let v of m)if(v.path===n)return v;return null}),u=await a.lstat($(t,n)),f=c!==null,d=l!==null,h=u!==null,p=async()=>{if(d&&!nu(l,u))return l.oid;{let m=await a.read($(t,n)),v=await R2({gitdir:r,type:"blob",object:m});return d&&l.oid===v&&u.size!==-1&&mt.acquire({fs:a,gitdir:r,cache:i},async function(y){y.insert({filepath:n,stats:u,oid:v})}),v}};if(!f&&!h&&!d)return"absent";if(!f&&!h&&d)return"*absent";if(!f&&h&&!d)return"*added";if(!f&&h&&d)return await p()===l.oid?"added":"*added";if(f&&!h&&!d)return"deleted";if(f&&!h&&d)return c===l.oid,"*deleted";if(f&&h&&!d)return await p()===c?"*undeleted":"*undeletemodified";if(f&&h&&d){let m=await p();return m===c?m===l.oid?"unmodified":"*unmodified":m===l.oid?"modified":"*modified"}}catch(a){throw a.caller="git.status",a}}async function M2({fs:e,cache:t,gitdir:r,tree:n,path:i}){typeof i=="string"&&(i=i.split("/"));let a=i.shift();for(let s of n)if(s.path===a){if(i.length===0)return s.oid;let{type:o,object:c}=await We({fs:e,cache:t,gitdir:r,oid:s.oid});if(o==="tree"){let l=er.from(c);return M2({fs:e,cache:t,gitdir:r,tree:l,path:i})}if(o==="blob")throw new Gt(s.oid,o,"blob",i.join("/"))}return null}async function D8({fs:e,cache:t,gitdir:r}){let n;try{n=await q.resolve({fs:e,gitdir:r,ref:"HEAD"})}catch(a){if(a instanceof Ne)return[]}let{tree:i}=await Ss({fs:e,cache:t,gitdir:r,oid:n});return i}async function N8({fs:e,dir:t,gitdir:r=$(t,".git"),ref:n="HEAD",filepaths:i=["."],filter:a,cache:s={},ignored:o=!1}){try{C("fs",e),C("gitdir",r),C("ref",n);let c=new X(e);return await ys({fs:c,cache:s,dir:t,gitdir:r,trees:[wi({ref:n}),vu(),gu()],map:async function(l,[u,f,d]){if(!u&&!d&&f&&!o&&await ws.isIgnored({fs:c,dir:t,filepath:l})||!i.some(k=>m2(l,k)))return null;if(a&&!a(l))return;let[h,p,m]=await Promise.all([u&&u.type(),f&&f.type(),d&&d.type()]),v=[h,p,m].includes("blob");if((h==="tree"||h==="special")&&!v)return;if(h==="commit")return null;if((p==="tree"||p==="special")&&!v)return;if(m==="commit")return null;if((m==="tree"||m==="special")&&!v)return;let y=h==="blob"?await u.oid():void 0,b=m==="blob"?await d.oid():void 0,x;h!=="blob"&&p==="blob"&&m!=="blob"?x="42":p==="blob"&&(x=await f.oid());let E=[void 0,y,x,b],_=E.map(k=>E.indexOf(k));return _.shift(),[l,..._]}})}catch(c){throw c.caller="git.statusMatrix",c}}async function j8({fs:e,dir:t,gitdir:r=$(t,".git"),ref:n,object:i,force:a=!1}){try{C("fs",e),C("gitdir",r),C("ref",n);let s=new X(e);if(n===void 0)throw new Qt("ref");n=n.startsWith("refs/tags/")?n:`refs/tags/${n}`;let o=await q.resolve({fs:s,gitdir:r,ref:i||"HEAD"});if(!a&&await q.exists({fs:s,gitdir:r,ref:n}))throw new Jr("tag",n);await q.writeRef({fs:s,gitdir:r,ref:n,value:o})}catch(s){throw s.caller="git.tag",s}}async function B8({fs:e,dir:t,gitdir:r=$(t,".git"),cache:n={},filepath:i,oid:a,mode:s,add:o,remove:c,force:l}){try{C("fs",e),C("gitdir",r),C("filepath",i);let u=new X(e);if(c)return await mt.acquire({fs:u,gitdir:r,cache:n},async function(d){let h;if(!l&&(h=await u.lstat($(t,i)),h)){if(h.isDirectory())throw new xi("directory");return}d.has({filepath:i})&&d.delete({filepath:i})});let f;if(!a){if(f=await u.lstat($(t,i)),!f)throw new Ne(`file at "${i}" on disk and "remove" not set`);if(f.isDirectory())throw new xi("directory")}return await mt.acquire({fs:u,gitdir:r,cache:n},async function(d){if(!o&&!d.has({filepath:i}))throw new Ne(`file at "${i}" in index and "add" not set`);let h={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:s,uid:0,gid:0,size:0};if(!a){h=f;let p=h.isSymbolicLink()?await u.readlink($(t,i)):await u.read($(t,i));a=await pr({fs:u,gitdir:r,type:"blob",format:"content",object:p})}return d.insert({filepath:i,oid:a,stats:h}),a})}catch(u){throw u.caller="git.updateIndex",u}}function H8(){try{return wu.version}catch(e){throw e.caller="git.version",e}}async function U8({fs:e,dir:t,gitdir:r=$(t,".git"),trees:n,map:i,reduce:a,iterate:s,cache:o={}}){try{return C("fs",e),C("gitdir",r),C("trees",n),await ys({fs:new X(e),cache:o,dir:t,gitdir:r,trees:n,map:i,reduce:a,iterate:s})}catch(c){throw c.caller="git.walk",c}}async function G8({fs:e,dir:t,gitdir:r=$(t,".git"),blob:n}){try{return C("fs",e),C("gitdir",r),C("blob",n),await pr({fs:new X(e),gitdir:r,type:"blob",object:n,format:"content"})}catch(i){throw i.caller="git.writeBlob",i}}async function z8({fs:e,gitdir:t,commit:r}){let n=tr.from(r).toObject();return await pr({fs:e,gitdir:t,type:"commit",object:n,format:"content"})}async function V8({fs:e,dir:t,gitdir:r=$(t,".git"),commit:n}){try{return C("fs",e),C("gitdir",r),C("commit",n),await z8({fs:new X(e),gitdir:r,commit:n})}catch(i){throw i.caller="git.writeCommit",i}}async function W8({fs:e,dir:t,gitdir:r=$(t,".git"),type:n,object:i,format:a="parsed",oid:s,encoding:o=void 0}){try{let c=new X(e);if(a==="parsed"){switch(n){case"commit":i=tr.from(i).toObject();break;case"tree":i=er.from(i).toObject();break;case"blob":i=Buffer.from(i,o);break;case"tag":i=hr.from(i).toObject();break;default:throw new Gt(s||"",n,"blob|commit|tag|tree")}a="content"}return s=await pr({fs:c,gitdir:r,type:n,object:i,oid:s,format:a}),s}catch(c){throw c.caller="git.writeObject",c}}async function q8({fs:e,dir:t,gitdir:r=$(t,".git"),ref:n,value:i,force:a=!1,symbolic:s=!1}){try{C("fs",e),C("gitdir",r),C("ref",n),C("value",i);let o=new X(e);if(n!==Kr.default.clean(n))throw new zn(n,Kr.default.clean(n));if(!a&&await q.exists({fs:o,gitdir:r,ref:n}))throw new Jr("ref",n);s?await q.writeSymbolicRef({fs:o,gitdir:r,ref:n,value:i}):(i=await q.resolve({fs:o,gitdir:r,ref:i}),await q.writeRef({fs:o,gitdir:r,ref:n,value:i}))}catch(o){throw o.caller="git.writeRef",o}}async function Y8({fs:e,gitdir:t,tag:r}){let n=hr.from(r).toObject();return await pr({fs:e,gitdir:t,type:"tag",object:n,format:"content"})}async function X8({fs:e,dir:t,gitdir:r=$(t,".git"),tag:n}){try{return C("fs",e),C("gitdir",r),C("tag",n),await Y8({fs:new X(e),gitdir:r,tag:n})}catch(i){throw i.caller="git.writeTag",i}}async function Z8({fs:e,dir:t,gitdir:r=$(t,".git"),tree:n}){try{return C("fs",e),C("gitdir",r),C("tree",n),await kp({fs:new X(e),gitdir:r,tree:n})}catch(i){throw i.caller="git.writeTree",i}}var K8={Errors:gl,STAGE:gu,TREE:wi,WORKDIR:vu,add:ZM,abortMerge:VM,addNote:JM,addRemote:QM,annotatedTag:tO,branch:nO,checkout:aO,clone:gO,commit:vO,getConfig:NO,getConfigAll:BO,setConfig:$8,currentBranch:yO,deleteBranch:bO,deleteRef:_O,deleteRemote:SO,deleteTag:AO,expandOid:PO,expandRef:RO,fastForward:FO,fetch:$O,findMergeBase:LO,findRoot:DO,getRemoteInfo:HO,getRemoteInfo2:UO,hashBlob:zO,indexPack:WO,init:qO,isDescendent:YO,isIgnored:XO,listBranches:ZO,listFiles:JO,listNotes:e8,listRemotes:r8,listServerRefs:a8,listTags:s8,log:u8,merge:f8,packObjects:p8,pull:m8,push:b8,readBlob:wl,readCommit:_8,readNote:S8,readObject:E8,readTag:k8,readTree:T8,remove:C8,removeNote:R8,renameBranch:O8,resetIndex:I8,updateIndex:B8,resolveRef:F8,status:L8,statusMatrix:N8,tag:j8,version:H8,walk:U8,writeBlob:G8,writeCommit:V8,writeObject:W8,writeRef:q8,writeTag:X8,writeTree:Z8},ie=K8;var Me=require("obsidian");g();var xa=require("obsidian");g();var qg=require("child_process"),vT=Ze(xu()),Zn=Ze(require("fs/promises")),Xn=require("obsidian"),Be=Ze(require("path")),Wl=require("path");g();var Lu=Ze(D2(),1),Ou=Ze(xu(),1),c_=require("child_process"),W_=Ze(Mp(),1),Cs=Ze(Mp(),1),yx=require("node:events"),Fu=Object.defineProperty,gI=Object.defineProperties,vI=Object.getOwnPropertyDescriptor,yI=Object.getOwnPropertyDescriptors,Kp=Object.getOwnPropertyNames,N2=Object.getOwnPropertySymbols,vb=Object.prototype.hasOwnProperty,wI=Object.prototype.propertyIsEnumerable,j2=(e,t,r)=>t in e?Fu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ir=(e,t)=>{for(var r in t||(t={}))vb.call(t,r)&&j2(e,r,t[r]);if(N2)for(var r of N2(t))wI.call(t,r)&&j2(e,r,t[r]);return e},xl=(e,t)=>gI(e,yI(t)),W=(e,t)=>function(){return e&&(t=(0,e[Kp(e)[0]])(e=0)),t},bI=(e,t)=>function(){return t||(0,e[Kp(e)[0]])((t={exports:{}}).exports,t),t.exports},rt=(e,t)=>{for(var r in t)Fu(e,r,{get:t[r],enumerable:!0})},_I=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Kp(t))!vb.call(e,i)&&i!==r&&Fu(e,i,{get:()=>t[i],enumerable:!(n=vI(t,i))||n.enumerable});return e},Ke=e=>_I(Fu({},"__esModule",{value:!0}),e),_l=(e,t,r)=>new Promise((n,i)=>{var a=c=>{try{o(r.next(c))}catch(l){i(l)}},s=c=>{try{o(r.throw(c))}catch(l){i(l)}},o=c=>c.done?n(c.value):Promise.resolve(c.value).then(a,s);o((r=r.apply(e,t)).next())});function xI(...e){let t=new String(e);return $u.set(t,e),t}function Ru(e){return e instanceof String&&$u.has(e)}function B2(e){return $u.get(e)||[]}var $u,kl=W({"src/lib/args/pathspec.ts"(){"use strict";$u=new WeakMap}}),yr,Ei=W({"src/lib/errors/git-error.ts"(){"use strict";yr=class extends Error{constructor(e,t){super(t),this.task=e,Object.setPrototypeOf(this,new.target.prototype)}}}}),Tl,Rs=W({"src/lib/errors/git-response-error.ts"(){"use strict";Ei(),Tl=class extends yr{constructor(e,t){super(void 0,t||String(e)),this.git=e}}}}),yb,wb=W({"src/lib/errors/task-configuration-error.ts"(){"use strict";Ei(),yb=class extends yr{constructor(e){super(void 0,e)}}}});function bb(e){return typeof e=="function"?e:ga}function _b(e){return typeof e=="function"&&e!==ga}function xb(e,t){let r=e.indexOf(t);return r<=0?[e,""]:[e.substr(0,r),e.substr(r+1)]}function Sb(e,t=0){return Eb(e)&&e.length>t?e[t]:void 0}function ma(e,t=0){if(Eb(e)&&e.length>t)return e[e.length-1-t]}function Eb(e){return!!(e&&typeof e.length=="number")}function Cl(e="",t=!0,r=` -`){return e.split(r).reduce((n,i)=>{let a=t?i.trim():i;return a&&n.push(a),n},[])}function Jp(e,t){return Cl(e,!0).map(r=>t(r))}function Qp(e){return(0,Lu.exists)(e,Lu.FOLDER)}function ke(e,t){return Array.isArray(e)?e.includes(t)||e.push(t):e.add(t),t}function Ab(e,t){return Array.isArray(e)&&!e.includes(t)&&e.push(t),e}function Du(e,t){if(Array.isArray(e)){let r=e.indexOf(t);r>=0&&e.splice(r,1)}else e.delete(t);return t}function _n(e){return Array.isArray(e)?e:[e]}function kb(e){return e.replace(/[\s-]+(.)/g,(t,r)=>r.toUpperCase())}function Tb(e){return _n(e).map(String)}function Ie(e,t=0){if(e==null)return t;let r=parseInt(e,10);return isNaN(r)?t:r}function Sl(e,t){let r=[];for(let n=0,i=e.length;nr in e?{[r]:e[r]}:{}))}function Np(e=0){return new Promise(t=>setTimeout(t,e))}function jp(e){if(e!==!1)return e}var Ps,ga,Pl,Nu=W({"src/lib/utils/util.ts"(){"use strict";Ps="\0",ga=()=>{},Pl=Object.prototype.toString.call.bind(Object.prototype.toString)}});function xn(e,t,r){return t(e)?e:arguments.length>2?r:void 0}function em(e,t){let r=Ru(e)?"string":typeof e;return/number|string|boolean/.test(r)&&(!t||!t.includes(r))}function tm(e){return!!e&&Pl(e)==="[object Object]"}function Pb(e){return typeof e=="function"}var Rl,Pt,Rb,Mu,rm,Mb=W({"src/lib/utils/argument-filters.ts"(){"use strict";Nu(),kl(),Rl=e=>Array.isArray(e),Pt=e=>typeof e=="string",Rb=e=>Array.isArray(e)&&e.every(Pt),Mu=e=>Pt(e)||Array.isArray(e)&&e.every(Pt),rm=e=>e==null||"number|boolean|function".includes(typeof e)?!1:Array.isArray(e)||typeof e=="string"||typeof e.length=="number"}}),Bp,SI=W({"src/lib/utils/exit-codes.ts"(){"use strict";Bp=(e=>(e[e.SUCCESS=0]="SUCCESS",e[e.ERROR=1]="ERROR",e[e.NOT_FOUND=-2]="NOT_FOUND",e[e.UNCLEAN=128]="UNCLEAN",e))(Bp||{})}}),Al,EI=W({"src/lib/utils/git-output-streams.ts"(){"use strict";Al=class{constructor(e,t){this.stdOut=e,this.stdErr=t}asStrings(){return new Al(this.stdOut.toString("utf8"),this.stdErr.toString("utf8"))}}}}),ce,Si,AI=W({"src/lib/utils/line-parser.ts"(){"use strict";ce=class{constructor(e,t){this.matches=[],this.parse=(r,n)=>(this.resetMatches(),this._regExp.every((i,a)=>this.addMatch(i,a,r(a)))?this.useMatches(n,this.prepareMatches())!==!1:!1),this._regExp=Array.isArray(e)?e:[e],t&&(this.useMatches=t)}useMatches(e,t){throw new Error("LineParser:useMatches not implemented")}resetMatches(){this.matches.length=0}prepareMatches(){return this.matches}addMatch(e,t,r){let n=r&&e.exec(r);return n&&this.pushMatch(t,n),!!n}pushMatch(e,t){this.matches.push(...t.slice(1))}},Si=class extends ce{addMatch(e,t,r){return/^remote:\s/.test(String(r))&&super.addMatch(e,t,r)}pushMatch(e,t){(e>0||t.length>1)&&super.pushMatch(e,t)}}}});function Ob(...e){let t=process.cwd(),r=Object.assign(Ir({baseDir:t},Ib),...e.filter(n=>typeof n=="object"&&n));return r.baseDir=r.baseDir||t,r.trimmed=r.trimmed===!0,r}var Ib,kI=W({"src/lib/utils/simple-git-options.ts"(){"use strict";Ib={binary:"git",maxConcurrentProcesses:5,config:[],trimmed:!1}}});function nm(e,t=[]){return tm(e)?Object.keys(e).reduce((r,n)=>{let i=e[n];return Ru(i)?r.push(i):em(i,["boolean"])?r.push(n+"="+i):r.push(n),r},t):t}function rr(e,t=0,r=!1){let n=[];for(let i=0,a=t<0?e.length:t;i{for(let a=Cl(i,n),s=0,o=a.length;s{if(!(s+l>=o))return a[s+l]};t.some(({parse:l})=>l(c,e))}}),e}var PI=W({"src/lib/utils/task-parser.ts"(){"use strict";Nu()}}),Fb={};rt(Fb,{ExitCodes:()=>Bp,GitOutputStreams:()=>Al,LineParser:()=>ce,NOOP:()=>ga,NULL:()=>Ps,RemoteLineParser:()=>Si,append:()=>ke,appendTaskOptions:()=>nm,asArray:()=>_n,asCamelCase:()=>kb,asFunction:()=>bb,asNumber:()=>Ie,asStringArray:()=>Tb,bufferToString:()=>El,callTaskParser:()=>Hp,createInstanceConfig:()=>Ob,delay:()=>Np,filterArray:()=>Rl,filterFunction:()=>Pb,filterHasLength:()=>rm,filterPlainObject:()=>tm,filterPrimitives:()=>em,filterString:()=>Pt,filterStringArray:()=>Rb,filterStringOrStringArray:()=>Mu,filterType:()=>xn,first:()=>Sb,folderExists:()=>Qp,forEachLineWithContent:()=>Jp,getTrailingOptions:()=>rr,including:()=>Ab,isUserFunction:()=>_b,last:()=>ma,objectToString:()=>Pl,orVoid:()=>jp,parseStringResponse:()=>ir,pick:()=>Cb,prefixedArray:()=>Sl,remove:()=>Du,splitOn:()=>xb,toLinesWithContent:()=>Cl,trailingFunctionArgument:()=>Je,trailingOptionsArgument:()=>im});var oe=W({"src/lib/utils/index.ts"(){"use strict";Mb(),SI(),EI(),AI(),kI(),CI(),PI(),Nu()}}),$b={};rt($b,{CheckRepoActions:()=>Up,checkIsBareRepoTask:()=>Db,checkIsRepoRootTask:()=>Lb,checkIsRepoTask:()=>RI});function RI(e){switch(e){case"bare":return Db();case"root":return Lb()}return{commands:["rev-parse","--is-inside-work-tree"],format:"utf-8",onError:ju,parser:am}}function Lb(){return{commands:["rev-parse","--git-dir"],format:"utf-8",onError:ju,parser(t){return/^\.(git)?$/.test(t.trim())}}}function Db(){return{commands:["rev-parse","--is-bare-repository"],format:"utf-8",onError:ju,parser:am}}function MI(e){return/(Not a git repository|Kein Git-Repository)/i.test(String(e))}var Up,ju,am,Nb=W({"src/lib/tasks/check-is-repo.ts"(){"use strict";oe(),Up=(e=>(e.BARE="bare",e.IN_TREE="tree",e.IS_REPO_ROOT="root",e))(Up||{}),ju=({exitCode:e},t,r,n)=>{if(e===128&&MI(t))return r(Buffer.from("false"));n(t)},am=e=>e.trim()==="true"}});function OI(e,t){let r=new jb(e),n=e?Hb:Bb;return Cl(t).forEach(i=>{let a=i.replace(n,"");r.paths.push(a),(Ub.test(a)?r.folders:r.files).push(a)}),r}var jb,Bb,Hb,Ub,II=W({"src/lib/responses/CleanSummary.ts"(){"use strict";oe(),jb=class{constructor(e){this.dryRun=e,this.paths=[],this.files=[],this.folders=[]}},Bb=/^[a-z]+\s*/i,Hb=/^[a-z]+\s+[a-z]+\s*/i,Ub=/\/$/}}),Gp={};rt(Gp,{EMPTY_COMMANDS:()=>Bu,adhocExecTask:()=>Gb,configurationErrorTask:()=>nr,isBufferTask:()=>Vb,isEmptyTask:()=>Wb,straightThroughBufferTask:()=>zb,straightThroughStringTask:()=>Vt});function Gb(e){return{commands:Bu,format:"empty",parser:e}}function nr(e){return{commands:Bu,format:"empty",parser(){throw typeof e=="string"?new yb(e):e}}}function Vt(e,t=!1){return{commands:e,format:"utf-8",parser(r){return t?String(r).trim():r}}}function zb(e){return{commands:e,format:"buffer",parser(t){return t}}}function Vb(e){return e.format==="buffer"}function Wb(e){return e.format==="empty"||!e.commands.length}var Bu,tt=W({"src/lib/tasks/task.ts"(){"use strict";wb(),Bu=[]}}),qb={};rt(qb,{CONFIG_ERROR_INTERACTIVE_MODE:()=>sm,CONFIG_ERROR_MODE_REQUIRED:()=>om,CONFIG_ERROR_UNKNOWN_OPTION:()=>lm,CleanOptions:()=>ku,cleanTask:()=>Yb,cleanWithOptionsTask:()=>FI,isCleanOptionsArray:()=>$I});function FI(e,t){let{cleanMode:r,options:n,valid:i}=LI(e);return r?i.options?(n.push(...t),n.some(jI)?nr(sm):Yb(r,n)):nr(lm+JSON.stringify(e)):nr(om)}function Yb(e,t){return{commands:["clean",`-${e}`,...t],format:"utf-8",parser(n){return OI(e==="n",n)}}}function $I(e){return Array.isArray(e)&&e.every(t=>cm.has(t))}function LI(e){let t,r=[],n={cleanMode:!1,options:!0};return e.replace(/[^a-z]i/g,"").split("").forEach(i=>{DI(i)?(t=i,n.cleanMode=!0):n.options=n.options&&NI(r[r.length]=`-${i}`)}),{cleanMode:t,options:r,valid:n}}function DI(e){return e==="f"||e==="n"}function NI(e){return/^-[a-z]$/i.test(e)&&cm.has(e.charAt(1))}function jI(e){return/^-[^\-]/.test(e)?e.indexOf("i")>0:e==="--interactive"}var sm,om,lm,ku,cm,Xb=W({"src/lib/tasks/clean.ts"(){"use strict";II(),oe(),tt(),sm="Git clean interactive mode is not supported",om='Git clean mode parameter ("n" or "f") is required',lm="Git clean unknown option found in: ",ku=(e=>(e.DRY_RUN="n",e.FORCE="f",e.IGNORED_INCLUDED="x",e.IGNORED_ONLY="X",e.EXCLUDING="e",e.QUIET="q",e.RECURSIVE="d",e))(ku||{}),cm=new Set(["i",...Tb(Object.values(ku))])}});function BI(e){let t=new Kb;for(let r of Zb(e))t.addValue(r.file,String(r.key),r.value);return t}function HI(e,t){let r=null,n=[],i=new Map;for(let a of Zb(e,t))a.key===t&&(n.push(r=a.value),i.has(a.file)||i.set(a.file,[]),i.get(a.file).push(r));return{key:t,paths:Array.from(i.keys()),scopes:i,value:r,values:n}}function UI(e){return e.replace(/^(file):/,"")}function*Zb(e,t=null){let r=e.split("\0");for(let n=0,i=r.length-1;nObject.assign(e,this.values[t]),{})),this._all}addFile(e){if(!(e in this.values)){let t=ma(this.files);this.values[e]=t?Object.create(this.values[t]):{},this.files.push(e)}return this.values[e]}addValue(e,t,r){let n=this.addFile(e);n.hasOwnProperty(t)?Array.isArray(n[t])?n[t].push(r):n[t]=[n[t],r]:n[t]=r,this._all=void 0}}}});function Op(e,t){return typeof e=="string"&&zp.hasOwnProperty(e)?e:t}function zI(e,t,r,n){let i=["config",`--${n}`];return r&&i.push("--add"),i.push(e,t),{commands:i,format:"utf-8",parser(a){return a}}}function VI(e,t){let r=["config","--null","--show-origin","--get-all",e];return t&&r.splice(1,0,`--${t}`),{commands:r,format:"utf-8",parser(n){return HI(n,e)}}}function WI(e){let t=["config","--list","--show-origin","--null"];return e&&t.push(`--${e}`),{commands:t,format:"utf-8",parser(r){return BI(r)}}}function qI(){return{addConfig(e,t,...r){return this._runTask(zI(e,t,r[0]===!0,Op(r[1],"local")),Je(arguments))},getConfig(e,t){return this._runTask(VI(e,Op(t,void 0)),Je(arguments))},listConfig(...e){return this._runTask(WI(Op(e[0],void 0)),Je(arguments))}}}var zp,Jb=W({"src/lib/tasks/config.ts"(){"use strict";GI(),oe(),zp=(e=>(e.system="system",e.global="global",e.local="local",e.worktree="worktree",e))(zp||{})}});function YI(e){return Qb.has(e)}var Ip,Qb,e_=W({"src/lib/tasks/diff-name-status.ts"(){"use strict";Ip=(e=>(e.ADDED="A",e.COPIED="C",e.DELETED="D",e.MODIFIED="M",e.RENAMED="R",e.CHANGED="T",e.UNMERGED="U",e.UNKNOWN="X",e.BROKEN="B",e))(Ip||{}),Qb=new Set(Object.values(Ip))}});function XI(...e){return new r_().param(...e)}function ZI(e){let t=new Set,r={};return Jp(e,n=>{let[i,a,s]=n.split(Ps);t.add(i),(r[i]=r[i]||[]).push({line:Ie(a),path:i,preview:s})}),{paths:t,results:r}}function KI(){return{grep(e){let t=Je(arguments),r=rr(arguments);for(let i of t_)if(r.includes(i))return this._runTask(nr(`git.grep: use of "${i}" is not supported.`),t);typeof e=="string"&&(e=XI().param(e));let n=["grep","--null","-n","--full-name",...r,...e];return this._runTask({commands:n,format:"utf-8",parser(i){return ZI(i)}},t)}}}var t_,bl,H2,r_,n_=W({"src/lib/tasks/grep.ts"(){"use strict";oe(),tt(),t_=["-h"],bl=Symbol("grepQuery"),r_=class{constructor(){this[H2]=[]}*[(H2=bl,Symbol.iterator)](){for(let e of this[bl])yield e}and(...e){return e.length&&this[bl].push("--and","(",...Sl(e,"-e"),")"),this}param(...e){return this[bl].push(...Sl(e,"-e")),this}}}}),i_={};rt(i_,{ResetMode:()=>Tu,getResetMode:()=>QI,resetTask:()=>JI});function JI(e,t){let r=["reset"];return a_(e)&&r.push(`--${e}`),r.push(...t),Vt(r)}function QI(e){if(a_(e))return e;switch(typeof e){case"string":case"undefined":return"soft"}}function a_(e){return s_.includes(e)}var Tu,s_,o_=W({"src/lib/tasks/reset.ts"(){"use strict";tt(),Tu=(e=>(e.MIXED="mixed",e.SOFT="soft",e.HARD="hard",e.MERGE="merge",e.KEEP="keep",e))(Tu||{}),s_=Array.from(Object.values(Tu))}});function eF(){return(0,Ou.default)("simple-git")}function U2(e,t,r){return!t||!String(t).replace(/\s*/,"")?r?(n,...i)=>{e(n,...i),r(n,...i)}:e:(n,...i)=>{e(`%s ${n}`,t,...i),r&&r(n,...i)}}function tF(e,t,{namespace:r}){if(typeof e=="string")return e;let n=t&&t.namespace||"";return n.startsWith(r)?n.substr(r.length+1):n||r}function um(e,t,r,n=eF()){let i=e&&`[${e}]`||"",a=[],s=typeof t=="string"?n.extend(t):t,o=tF(xn(t,Pt),s,n);return l(r);function c(u,f){return ke(a,um(e,o.replace(/^[^:]+/,u),f,n))}function l(u){let f=u&&`[${u}]`||"",d=s&&U2(s,f)||ga,h=U2(n,`${i} ${f}`,d);return Object.assign(s?d:h,{label:e,sibling:c,info:h,step:l})}}var l_=W({"src/lib/git-logger.ts"(){"use strict";oe(),Ou.default.formatters.L=e=>String(rm(e)?e.length:"-"),Ou.default.formatters.B=e=>Buffer.isBuffer(e)?e.toString("utf8"):Pl(e)}}),Eu,Vp,rF=W({"src/lib/runners/tasks-pending-queue.ts"(){"use strict";Ei(),l_(),Eu=class{constructor(e="GitExecutor"){this.logLabel=e,this._queue=new Map}withProgress(e){return this._queue.get(e)}createProgress(e){let t=Eu.getName(e.commands[0]),r=um(this.logLabel,t);return{task:e,logger:r,name:t}}push(e){let t=this.createProgress(e);return t.logger("Adding task to the queue, commands = %o",e.commands),this._queue.set(e,t),t}fatal(e){for(let[t,{logger:r}]of Array.from(this._queue.entries()))t===e.task?(r.info("Failed %o",e),r("Fatal exception, any as-yet un-started tasks run through this executor will not be attempted")):r.info("A fatal exception occurred in a previous task, the queue has been purged: %o",e.message),this.complete(t);if(this._queue.size!==0)throw new Error(`Queue size should be zero after fatal: ${this._queue.size}`)}complete(e){this.withProgress(e)&&this._queue.delete(e)}attempt(e){let t=this.withProgress(e);if(!t)throw new yr(void 0,"TasksPendingQueue: attempt called for an unknown task");return t.logger("Starting task"),t}static getName(e="empty"){return`task:${e}:${++Eu.counter}`}},Vp=Eu,Vp.counter=0}});function pa(e,t){return{method:Sb(e.commands)||"",commands:t}}function nF(e,t){return r=>{t("[ERROR] child process exception %o",r),e.push(Buffer.from(String(r.stack),"ascii"))}}function G2(e,t,r,n){return i=>{r("%s received %L bytes",t,i),n("%B",i),e.push(i)}}var Wp,iF=W({"src/lib/runners/git-executor-chain.ts"(){"use strict";Ei(),tt(),oe(),rF(),Wp=class{constructor(e,t,r){this._executor=e,this._scheduler=t,this._plugins=r,this._chain=Promise.resolve(),this._queue=new Vp}get cwd(){return this._cwd||this._executor.cwd}set cwd(e){this._cwd=e}get env(){return this._executor.env}get outputHandler(){return this._executor.outputHandler}chain(){return this}push(e){return this._queue.push(e),this._chain=this._chain.then(()=>this.attemptTask(e))}attemptTask(e){return _l(this,null,function*(){let t=yield this._scheduler.next(),r=()=>this._queue.complete(e);try{let{logger:n}=this._queue.attempt(e);return yield Wb(e)?this.attemptEmptyTask(e,n):this.attemptRemoteTask(e,n)}catch(n){throw this.onFatalException(e,n)}finally{r(),t()}})}onFatalException(e,t){let r=t instanceof yr?Object.assign(t,{task:e}):new yr(e,t&&String(t));return this._chain=Promise.resolve(),this._queue.fatal(r),r}attemptRemoteTask(e,t){return _l(this,null,function*(){let r=this._plugins.exec("spawn.binary","",pa(e,e.commands)),n=this._plugins.exec("spawn.args",[...e.commands],pa(e,e.commands)),i=yield this.gitResponse(e,r,n,this.outputHandler,t.step("SPAWN")),a=yield this.handleTaskData(e,n,i,t.step("HANDLE"));return t("passing response to task's parser as a %s",e.format),Vb(e)?Hp(e.parser,a):Hp(e.parser,a.asStrings())})}attemptEmptyTask(e,t){return _l(this,null,function*(){return t("empty task bypassing child process to call to task's parser"),e.parser(this)})}handleTaskData(e,t,r,n){let{exitCode:i,rejection:a,stdOut:s,stdErr:o}=r;return new Promise((c,l)=>{n("Preparing to handle process response exitCode=%d stdOut=",i);let{error:u}=this._plugins.exec("task.error",{error:a},Ir(Ir({},pa(e,t)),r));if(u&&e.onError)return n.info("exitCode=%s handling with custom error handler"),e.onError(r,u,f=>{n.info("custom error handler treated as success"),n("custom error returned a %s",Pl(f)),c(new Al(Array.isArray(f)?Buffer.concat(f):f,Buffer.concat(o)))},l);if(u)return n.info("handling as error: exitCode=%s stdErr=%s rejection=%o",i,o.length,a),l(u);n.info("retrieving task output complete"),c(new Al(Buffer.concat(s),Buffer.concat(o)))})}gitResponse(e,t,r,n,i){return _l(this,null,function*(){let a=i.sibling("output"),s=this._plugins.exec("spawn.options",{cwd:this.cwd,env:this.env,windowsHide:!0},pa(e,e.commands));return new Promise(o=>{let c=[],l=[];i.info("%s %o",t,r),i("%O",s);let u=this._beforeSpawn(e,r);if(u)return o({stdOut:c,stdErr:l,exitCode:9901,rejection:u});this._plugins.exec("spawn.before",void 0,xl(Ir({},pa(e,r)),{kill(d){u=d||u}}));let f=(0,c_.spawn)(t,r,s);f.stdout.on("data",G2(c,"stdOut",i,a.step("stdOut"))),f.stderr.on("data",G2(l,"stdErr",i,a.step("stdErr"))),f.on("error",nF(l,i)),n&&(i("Passing child process stdOut/stdErr to custom outputHandler"),n(t,f.stdout,f.stderr,[...r])),this._plugins.exec("spawn.after",void 0,xl(Ir({},pa(e,r)),{spawned:f,close(d,h){o({stdOut:c,stdErr:l,exitCode:d,rejection:u||h})},kill(d){f.killed||(u=d,f.kill("SIGINT"))}}))})})}_beforeSpawn(e,t){let r;return this._plugins.exec("spawn.before",void 0,xl(Ir({},pa(e,t)),{kill(n){r=n||r}})),r}}}}),u_={};rt(u_,{GitExecutor:()=>f_});var f_,aF=W({"src/lib/runners/git-executor.ts"(){"use strict";iF(),f_=class{constructor(e,t,r){this.cwd=e,this._scheduler=t,this._plugins=r,this._chain=new Wp(this,this._scheduler,this._plugins)}chain(){return new Wp(this,this._scheduler,this._plugins)}push(e){return this._chain.push(e)}}}});function sF(e,t,r=ga){let n=a=>{r(null,a)},i=a=>{(a==null?void 0:a.task)===e&&r(a instanceof Tl?oF(a):a,void 0)};t.then(n,i)}function oF(e){let t=n=>{console.warn(`simple-git deprecation notice: accessing GitResponseError.${n} should be GitResponseError.git.${n}, this will no longer be available in version 3`),t=ga};return Object.create(e,Object.getOwnPropertyNames(e.git).reduce(r,{}));function r(n,i){return i in e||(n[i]={enumerable:!1,configurable:!1,get(){return t(i),e.git[i]}}),n}}var lF=W({"src/lib/task-callback.ts"(){"use strict";Rs(),oe()}});function z2(e,t){return Gb(r=>{if(!Qp(e))throw new Error(`Git.cwd: cannot change to non-directory "${e}"`);return(t||r).cwd=e})}var cF=W({"src/lib/tasks/change-working-directory.ts"(){"use strict";oe(),tt()}});function Fp(e){let t=["checkout",...e];return t[1]==="-b"&&t.includes("-B")&&(t[1]=Du(t,"-B")),Vt(t)}function uF(){return{checkout(){return this._runTask(Fp(rr(arguments,1)),Je(arguments))},checkoutBranch(e,t){return this._runTask(Fp(["-b",e,t,...rr(arguments)]),Je(arguments))},checkoutLocalBranch(e){return this._runTask(Fp(["-b",e,...rr(arguments)]),Je(arguments))}}}var fF=W({"src/lib/tasks/checkout.ts"(){"use strict";oe(),tt()}});function dF(){return{count:0,garbage:0,inPack:0,packs:0,prunePackable:0,size:0,sizeGarbage:0,sizePack:0}}function hF(){return{countObjects(){return this._runTask({commands:["count-objects","--verbose"],format:"utf-8",parser(e){return ir(dF(),[d_],e)}})}}}var d_,pF=W({"src/lib/tasks/count-objects.ts"(){"use strict";oe(),d_=new ce(/([a-z-]+): (\d+)$/,(e,[t,r])=>{let n=kb(t);e.hasOwnProperty(n)&&(e[n]=Ie(r))})}});function mF(e){return ir({author:null,branch:"",commit:"",root:!1,summary:{changes:0,insertions:0,deletions:0}},h_,e)}var h_,gF=W({"src/lib/parsers/parse-commit.ts"(){"use strict";oe(),h_=[new ce(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/,(e,[t,r,n])=>{e.branch=t,e.commit=n,e.root=!!r}),new ce(/\s*Author:\s(.+)/i,(e,[t])=>{let r=t.split("<"),n=r.pop();!n||!n.includes("@")||(e.author={email:n.substr(0,n.length-1),name:r.join("<").trim()})}),new ce(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g,(e,[t,r,n])=>{e.summary.changes=parseInt(t,10)||0,e.summary.insertions=parseInt(r,10)||0,e.summary.deletions=parseInt(n,10)||0}),new ce(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/,(e,[t,r,n])=>{e.summary.changes=parseInt(t,10)||0;let i=parseInt(r,10)||0;n==="-"?e.summary.deletions=i:n==="+"&&(e.summary.insertions=i)})]}});function vF(e,t,r){return{commands:["-c","core.abbrev=40","commit",...Sl(e,"-m"),...t,...r],format:"utf-8",parser:mF}}function yF(){return{commit(t,...r){let n=Je(arguments),i=e(t)||vF(_n(t),_n(xn(r[0],Mu,[])),[...xn(r[1],Rl,[]),...rr(arguments,0,!0)]);return this._runTask(i,n)}};function e(t){return!Mu(t)&&nr("git.commit: requires the commit message to be supplied as a string/string[]")}}var wF=W({"src/lib/tasks/commit.ts"(){"use strict";gF(),oe(),tt()}});function bF(){return{firstCommit(){return this._runTask(Vt(["rev-list","--max-parents=0","HEAD"],!0),Je(arguments))}}}var _F=W({"src/lib/tasks/first-commit.ts"(){"use strict";oe(),tt()}});function xF(e,t){let r=["hash-object",e];return t&&r.push("-w"),Vt(r,!0)}var SF=W({"src/lib/tasks/hash-object.ts"(){"use strict";tt()}});function EF(e,t,r){let n=String(r).trim(),i;if(i=p_.exec(n))return new Cu(e,t,!1,i[1]);if(i=m_.exec(n))return new Cu(e,t,!0,i[1]);let a="",s=n.split(" ");for(;s.length;)if(s.shift()==="in"){a=s.join(" ");break}return new Cu(e,t,/^re/i.test(n),a)}var Cu,p_,m_,AF=W({"src/lib/responses/InitSummary.ts"(){"use strict";Cu=class{constructor(e,t,r,n){this.bare=e,this.path=t,this.existing=r,this.gitDir=n}},p_=/^Init.+ repository in (.+)$/,m_=/^Rein.+ in (.+)$/}});function kF(e){return e.includes(fm)}function TF(e=!1,t,r){let n=["init",...r];return e&&!kF(n)&&n.splice(1,0,fm),{commands:n,format:"utf-8",parser(i){return EF(n.includes("--bare"),t,i)}}}var fm,CF=W({"src/lib/tasks/init.ts"(){"use strict";AF(),fm="--bare"}});function dm(e){for(let t=0;tir(new g_,t,r,!1)}var $p,V2,W2,q2,y_,w_=W({"src/lib/parsers/parse-diff-summary.ts"(){"use strict";Ml(),RF(),e_(),oe(),$p=[new ce(/^(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/,(e,[t,r,n=""])=>{e.files.push({file:t.trim(),changes:Ie(r),insertions:n.replace(/[^+]/g,"").length,deletions:n.replace(/[^-]/g,"").length,binary:!1})}),new ce(/^(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,(e,[t,r,n])=>{e.files.push({file:t.trim(),before:Ie(r),after:Ie(n),binary:!0})}),new ce(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/,(e,[t,r])=>{let n=/(\d+) i/.exec(r),i=/(\d+) d/.exec(r);e.changed=Ie(t),e.insertions=Ie(n==null?void 0:n[1]),e.deletions=Ie(i==null?void 0:i[1])})],V2=[new ce(/(\d+)\t(\d+)\t(.+)$/,(e,[t,r,n])=>{let i=Ie(t),a=Ie(r);e.changed++,e.insertions+=i,e.deletions+=a,e.files.push({file:n,changes:i+a,insertions:i,deletions:a,binary:!1})}),new ce(/-\t-\t(.+)$/,(e,[t])=>{e.changed++,e.files.push({file:t,after:0,before:0,binary:!0})})],W2=[new ce(/(.+)$/,(e,[t])=>{e.changed++,e.files.push({file:t,changes:0,insertions:0,deletions:0,binary:!1})})],q2=[new ce(/([ACDMRTUXB])([0-9]{0,3})\t(.[^\t]*)(\t(.[^\t]*))?$/,(e,[t,r,n,i,a])=>{e.changed++,e.files.push({file:a!=null?a:n,changes:0,insertions:0,deletions:0,binary:!1,status:jp(YI(t)&&t),from:jp(!!a&&n!==a&&n),similarity:Ie(r)})})],y_={"":$p,"--stat":$p,"--numstat":V2,"--name-status":q2,"--name-only":W2}}});function MF(e,t){return t.reduce((r,n,i)=>(r[n]=e[i]||"",r),Object.create({diff:null}))}function b_(e=gm,t=__,r=""){let n=v_(r);return function(i){let a=Cl(i.trim(),!1,pm).map(function(s){let o=s.split(mm),c=MF(o[0].split(e),t);return o.length>1&&o[1].trim()&&(c.diff=n(o[1])),c});return{all:a,latest:a.length&&a[0]||null,total:a.length}}}var pm,mm,gm,__,x_=W({"src/lib/parsers/parse-list-log-summary.ts"(){"use strict";oe(),w_(),Ml(),pm="\xF2\xF2\xF2\xF2\xF2\xF2 ",mm=" \xF2\xF2",gm=" \xF2 ",__=["hash","date","message","refs","author_name","author_email"]}}),S_={};rt(S_,{diffSummaryTask:()=>OF,validateLogFormatConfig:()=>Hu});function OF(e){let t=dm(e),r=["diff"];return t===""&&(t="--stat",r.push("--stat=4096")),r.push(...e),Hu(r)||{commands:r,format:"utf-8",parser:v_(t)}}function Hu(e){let t=e.filter(PF);if(t.length>1)return nr(`Summary flags are mutually exclusive - pick one of ${t.join(",")}`);if(t.length&&e.includes("-z"))return nr(`Summary flag ${t} parsing is not compatible with null termination option '-z'`)}var vm=W({"src/lib/tasks/diff.ts"(){"use strict";Ml(),w_(),tt()}});function IF(e,t){let r=[],n=[];return Object.keys(e).forEach(i=>{r.push(i),n.push(String(e[i]))}),[r,n.join(t)]}function FF(e){return Object.keys(e).reduce((t,r)=>(r in qp||(t[r]=e[r]),t),{})}function E_(e={},t=[]){let r=xn(e.splitter,Pt,gm),n=!em(e.format)&&e.format?e.format:{hash:"%H",date:e.strictDate===!1?"%ai":"%aI",message:"%s",refs:"%D",body:e.multiLine?"%B":"%b",author_name:e.mailMap!==!1?"%aN":"%an",author_email:e.mailMap!==!1?"%aE":"%ae"},[i,a]=IF(n,r),s=[],o=[`--pretty=format:${pm}${a}${mm}`,...t],c=e.n||e["max-count"]||e.maxCount;if(c&&o.push(`--max-count=${c}`),e.from||e.to){let l=e.symmetric!==!1?"...":"..";s.push(`${e.from||""}${l}${e.to||""}`)}return Pt(e.file)&&o.push("--follow",xI(e.file)),nm(FF(e),o),{fields:i,splitter:r,commands:[...o,...s]}}function $F(e,t,r){let n=b_(e,t,dm(r));return{commands:["log",...r],format:"utf-8",parser:n}}function LF(){return{log(...r){let n=Je(arguments),i=E_(im(arguments),xn(arguments[0],Rl)),a=t(...r)||Hu(i.commands)||e(i);return this._runTask(a,n)}};function e(r){return $F(r.splitter,r.fields,r.commands)}function t(r,n){return Pt(r)&&Pt(n)&&nr("git.log(string, string) should be replaced with git.log({ from: string, to: string })")}}var qp,A_=W({"src/lib/tasks/log.ts"(){"use strict";Ml(),kl(),x_(),oe(),tt(),vm(),qp=(e=>(e[e["--pretty"]=0]="--pretty",e[e["max-count"]=1]="max-count",e[e.maxCount=2]="maxCount",e[e.n=3]="n",e[e.file=4]="file",e[e.format=5]="format",e[e.from=6]="from",e[e.to=7]="to",e[e.splitter=8]="splitter",e[e.symmetric=9]="symmetric",e[e.mailMap=10]="mailMap",e[e.multiLine=11]="multiLine",e[e.strictDate=12]="strictDate",e))(qp||{})}}),Pu,k_,DF=W({"src/lib/responses/MergeSummary.ts"(){"use strict";Pu=class{constructor(e,t=null,r){this.reason=e,this.file=t,this.meta=r}toString(){return`${this.file}:${this.reason}`}},k_=class{constructor(){this.conflicts=[],this.merges=[],this.result="success"}get failed(){return this.conflicts.length>0}get reason(){return this.result}toString(){return this.conflicts.length?`CONFLICTS: ${this.conflicts.join(", ")}`:"OK"}}}}),Yp,T_,NF=W({"src/lib/responses/PullSummary.ts"(){"use strict";Yp=class{constructor(){this.remoteMessages={all:[]},this.created=[],this.deleted=[],this.files=[],this.deletions={},this.insertions={},this.summary={changes:0,deletions:0,insertions:0}}},T_=class{constructor(){this.remote="",this.hash={local:"",remote:""},this.branch={local:"",remote:""},this.message=""}toString(){return this.message}}}});function Lp(e){return e.objects=e.objects||{compressing:0,counting:0,enumerating:0,packReused:0,reused:{count:0,delta:0},total:{count:0,delta:0}}}function Y2(e){let t=/^\s*(\d+)/.exec(e),r=/delta (\d+)/i.exec(e);return{count:Ie(t&&t[1]||"0"),delta:Ie(r&&r[1]||"0")}}var C_,jF=W({"src/lib/parsers/parse-remote-objects.ts"(){"use strict";oe(),C_=[new Si(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i,(e,[t,r])=>{let n=t.toLowerCase(),i=Lp(e.remoteMessages);Object.assign(i,{[n]:Ie(r)})}),new Si(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i,(e,[t,r])=>{let n=t.toLowerCase(),i=Lp(e.remoteMessages);Object.assign(i,{[n]:Ie(r)})}),new Si(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i,(e,[t,r,n])=>{let i=Lp(e.remoteMessages);i.total=Y2(t),i.reused=Y2(r),i.packReused=Ie(n)})]}});function P_(e,t){return ir({remoteMessages:new M_},R_,t)}var R_,M_,O_=W({"src/lib/parsers/parse-remote-messages.ts"(){"use strict";oe(),jF(),R_=[new Si(/^remote:\s*(.+)$/,(e,[t])=>(e.remoteMessages.all.push(t.trim()),!1)),...C_,new Si([/create a (?:pull|merge) request/i,/\s(https?:\/\/\S+)$/],(e,[t])=>{e.remoteMessages.pullRequestUrl=t}),new Si([/found (\d+) vulnerabilities.+\(([^)]+)\)/i,/\s(https?:\/\/\S+)$/],(e,[t,r,n])=>{e.remoteMessages.vulnerabilities={count:Ie(t),summary:r,url:n}})],M_=class{constructor(){this.all=[]}}}});function BF(e,t){let r=ir(new T_,I_,[e,t]);return r.message&&r}var X2,Z2,K2,J2,I_,Q2,ym,F_=W({"src/lib/parsers/parse-pull.ts"(){"use strict";NF(),oe(),O_(),X2=/^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/,Z2=/(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/,K2=/^(create|delete) mode \d+ (.+)/,J2=[new ce(X2,(e,[t,r,n])=>{e.files.push(t),r&&(e.insertions[t]=r.length),n&&(e.deletions[t]=n.length)}),new ce(Z2,(e,[t,,r,,n])=>r!==void 0||n!==void 0?(e.summary.changes=+t||0,e.summary.insertions=+r||0,e.summary.deletions=+n||0,!0):!1),new ce(K2,(e,[t,r])=>{ke(e.files,r),ke(t==="create"?e.created:e.deleted,r)})],I_=[new ce(/^from\s(.+)$/i,(e,[t])=>void(e.remote=t)),new ce(/^fatal:\s(.+)$/,(e,[t])=>void(e.message=t)),new ce(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/,(e,[t,r,n,i])=>{e.branch.local=n,e.hash.local=t,e.branch.remote=i,e.hash.remote=r})],Q2=(e,t)=>ir(new Yp,J2,[e,t]),ym=(e,t)=>Object.assign(new Yp,Q2(e,t),P_(e,t))}}),eb,$_,tb,HF=W({"src/lib/parsers/parse-merge.ts"(){"use strict";DF(),oe(),F_(),eb=[new ce(/^Auto-merging\s+(.+)$/,(e,[t])=>{e.merges.push(t)}),new ce(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/,(e,[t,r])=>{e.conflicts.push(new Pu(t,r))}),new ce(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/,(e,[t,r,n])=>{e.conflicts.push(new Pu(t,r,{deleteRef:n}))}),new ce(/^CONFLICT\s+\((.+)\):/,(e,[t])=>{e.conflicts.push(new Pu(t,null))}),new ce(/^Automatic merge failed;\s+(.+)$/,(e,[t])=>{e.result=t})],$_=(e,t)=>Object.assign(tb(e,t),ym(e,t)),tb=e=>ir(new k_,eb,e)}});function rb(e){return e.length?{commands:["merge",...e],format:"utf-8",parser(t,r){let n=$_(t,r);if(n.failed)throw new Tl(n);return n}}:nr("Git.merge requires at least one option")}var UF=W({"src/lib/tasks/merge.ts"(){"use strict";Rs(),HF(),tt()}});function GF(e,t,r){let n=r.includes("deleted"),i=r.includes("tag")||/^refs\/tags/.test(e),a=!r.includes("new");return{deleted:n,tag:i,branch:!i,new:!a,alreadyUpdated:a,local:e,remote:t}}var nb,L_,ib,zF=W({"src/lib/parsers/parse-push.ts"(){"use strict";oe(),O_(),nb=[new ce(/^Pushing to (.+)$/,(e,[t])=>{e.repo=t}),new ce(/^updating local tracking ref '(.+)'/,(e,[t])=>{e.ref=xl(Ir({},e.ref||{}),{local:t})}),new ce(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/,(e,[t,r,n])=>{e.pushed.push(GF(t,r,n))}),new ce(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,(e,[t,r,n])=>{e.branch=xl(Ir({},e.branch||{}),{local:t,remote:r,remoteName:n})}),new ce(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/,(e,[t,r,n,i])=>{e.update={head:{local:t,remote:r},hash:{from:n,to:i}}})],L_=(e,t)=>{let r=ib(e,t),n=P_(e,t);return Ir(Ir({},r),n)},ib=(e,t)=>ir({pushed:[]},nb,[e,t])}}),D_={};rt(D_,{pushTagsTask:()=>VF,pushTask:()=>wm});function VF(e={},t){return ke(t,"--tags"),wm(e,t)}function wm(e={},t){let r=["push",...t];return e.branch&&r.splice(1,0,e.branch),e.remote&&r.splice(1,0,e.remote),Du(r,"-v"),ke(r,"--verbose"),ke(r,"--porcelain"),{commands:r,format:"utf-8",parser:L_}}var N_=W({"src/lib/tasks/push.ts"(){"use strict";zF(),oe()}});function WF(){return{showBuffer(){let e=["show",...rr(arguments,1)];return e.includes("--binary")||e.splice(1,0,"--binary"),this._runTask(zb(e),Je(arguments))},show(){let e=["show",...rr(arguments,1)];return this._runTask(Vt(e),Je(arguments))}}}var qF=W({"src/lib/tasks/show.ts"(){"use strict";oe(),tt()}}),ab,j_,YF=W({"src/lib/responses/FileStatusSummary.ts"(){"use strict";ab=/^(.+)\0(.+)$/,j_=class{constructor(e,t,r){if(this.path=e,this.index=t,this.working_dir=r,t==="R"||r==="R"){let n=ab.exec(e)||[null,e,e];this.from=n[2]||"",this.path=n[1]||""}}}}});function sb(e){let[t,r]=e.split(Ps);return{from:r||t,to:t}}function vr(e,t,r){return[`${e}${t}`,r]}function Dp(e,...t){return t.map(r=>vr(e,r,(n,i)=>ke(n.conflicted,i)))}function XF(e,t){let r=t.trim();switch(" "){case r.charAt(2):return n(r.charAt(0),r.charAt(1),r.substr(3));case r.charAt(1):return n(" ",r.charAt(0),r.substr(2));default:return}function n(i,a,s){let o=`${i}${a}`,c=B_.get(o);c&&c(e,s),o!=="##"&&o!=="!!"&&e.files.push(new j_(s,i,a))}}var ob,B_,H_,ZF=W({"src/lib/responses/StatusSummary.ts"(){"use strict";oe(),YF(),ob=class{constructor(){this.not_added=[],this.conflicted=[],this.created=[],this.deleted=[],this.ignored=void 0,this.modified=[],this.renamed=[],this.files=[],this.staged=[],this.ahead=0,this.behind=0,this.current=null,this.tracking=null,this.detached=!1,this.isClean=()=>!this.files.length}},B_=new Map([vr(" ","A",(e,t)=>ke(e.created,t)),vr(" ","D",(e,t)=>ke(e.deleted,t)),vr(" ","M",(e,t)=>ke(e.modified,t)),vr("A"," ",(e,t)=>ke(e.created,t)&&ke(e.staged,t)),vr("A","M",(e,t)=>ke(e.created,t)&&ke(e.staged,t)&&ke(e.modified,t)),vr("D"," ",(e,t)=>ke(e.deleted,t)&&ke(e.staged,t)),vr("M"," ",(e,t)=>ke(e.modified,t)&&ke(e.staged,t)),vr("M","M",(e,t)=>ke(e.modified,t)&&ke(e.staged,t)),vr("R"," ",(e,t)=>{ke(e.renamed,sb(t))}),vr("R","M",(e,t)=>{let r=sb(t);ke(e.renamed,r),ke(e.modified,r.to)}),vr("!","!",(e,t)=>{ke(e.ignored=e.ignored||[],t)}),vr("?","?",(e,t)=>ke(e.not_added,t)),...Dp("A","A","U"),...Dp("D","D","U"),...Dp("U","A","D","U"),["##",(e,t)=>{let r=/ahead (\d+)/,n=/behind (\d+)/,i=/^(.+?(?=(?:\.{3}|\s|$)))/,a=/\.{3}(\S*)/,s=/\son\s([\S]+)$/,o;o=r.exec(t),e.ahead=o&&+o[1]||0,o=n.exec(t),e.behind=o&&+o[1]||0,o=i.exec(t),e.current=o&&o[1],o=a.exec(t),e.tracking=o&&o[1],o=s.exec(t),e.current=o&&o[1]||e.current,e.detached=/\(no branch\)/.test(t)}]]),H_=function(e){let t=e.split(Ps),r=new ob;for(let n=0,i=t.length;n!U_.includes(r))],parser(r){return H_(r)}}}var U_,JF=W({"src/lib/tasks/status.ts"(){"use strict";ZF(),U_=["--null","-z"]}});function Iu(e=0,t=0,r=0,n="",i=!0){return Object.defineProperty({major:e,minor:t,patch:r,agent:n,installed:i},"toString",{value(){return`${this.major}.${this.minor}.${this.patch}`},configurable:!1,enumerable:!1})}function QF(){return Iu(0,0,0,"",!1)}function e4(){return{version(){return this._runTask({commands:["--version"],format:"utf-8",parser:t4,onError(e,t,r,n){if(e.exitCode===-2)return r(Buffer.from(bm));n(t)}})}}}function t4(e){return e===bm?QF():ir(Iu(0,0,0,e),G_,e)}var bm,G_,r4=W({"src/lib/tasks/version.ts"(){"use strict";oe(),bm="installed=false",G_=[new ce(/version (\d+)\.(\d+)\.(\d+)(?:\s*\((.+)\))?/,(e,[t,r,n,i=""])=>{Object.assign(e,Iu(Ie(t),Ie(r),Ie(n),i))}),new ce(/version (\d+)\.(\d+)\.(\D+)(.+)?$/,(e,[t,r,n,i=""])=>{Object.assign(e,Iu(Ie(t),Ie(r),n,i))})]}}),z_={};rt(z_,{SimpleGitApi:()=>Xp});var Xp,n4=W({"src/lib/simple-git-api.ts"(){"use strict";lF(),cF(),fF(),pF(),wF(),Jb(),_F(),n_(),SF(),CF(),A_(),UF(),N_(),qF(),JF(),tt(),r4(),oe(),Xp=class{constructor(e){this._executor=e}_runTask(e,t){let r=this._executor.chain(),n=r.push(e);return t&&sF(e,n,t),Object.create(this,{then:{value:n.then.bind(n)},catch:{value:n.catch.bind(n)},_executor:{value:r}})}add(e){return this._runTask(Vt(["add",..._n(e)]),Je(arguments))}cwd(e){let t=Je(arguments);return typeof e=="string"?this._runTask(z2(e,this._executor),t):typeof(e==null?void 0:e.path)=="string"?this._runTask(z2(e.path,e.root&&this._executor||void 0),t):this._runTask(nr("Git.cwd: workingDirectory must be supplied as a string"),t)}hashObject(e,t){return this._runTask(xF(e,t===!0),Je(arguments))}init(e){return this._runTask(TF(e===!0,this._executor.cwd,rr(arguments)),Je(arguments))}merge(){return this._runTask(rb(rr(arguments)),Je(arguments))}mergeFromTo(e,t){return Pt(e)&&Pt(t)?this._runTask(rb([e,t,...rr(arguments)]),Je(arguments,!1)):this._runTask(nr("Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings"))}outputHandler(e){return this._executor.outputHandler=e,this}push(){let e=wm({remote:xn(arguments[0],Pt),branch:xn(arguments[1],Pt)},rr(arguments));return this._runTask(e,Je(arguments))}stash(){return this._runTask(Vt(["stash",...rr(arguments)]),Je(arguments))}status(){return this._runTask(KF(rr(arguments)),Je(arguments))}},Object.assign(Xp.prototype,uF(),yF(),qI(),hF(),bF(),KI(),LF(),WF(),e4())}}),V_={};rt(V_,{Scheduler:()=>q_});var lb,q_,i4=W({"src/lib/runners/scheduler.ts"(){"use strict";oe(),l_(),lb=(()=>{let e=0;return()=>{e++;let{promise:t,done:r}=(0,W_.createDeferred)();return{promise:t,done:r,id:e}}})(),q_=class{constructor(e=2){this.concurrency=e,this.logger=um("","scheduler"),this.pending=[],this.running=[],this.logger("Constructed, concurrency=%s",e)}schedule(){if(!this.pending.length||this.running.length>=this.concurrency){this.logger("Schedule attempt ignored, pending=%s running=%s concurrency=%s",this.pending.length,this.running.length,this.concurrency);return}let e=ke(this.running,this.pending.shift());this.logger("Attempting id=%s",e.id),e.done(()=>{this.logger("Completing id=",e.id),Du(this.running,e),this.schedule()})}next(){let{promise:e,id:t}=ke(this.pending,lb());return this.logger("Scheduling id=%s",t),this.schedule(),e}}}}),Y_={};rt(Y_,{applyPatchTask:()=>a4});function a4(e,t){return Vt(["apply",...t,...e])}var s4=W({"src/lib/tasks/apply-patch.ts"(){"use strict";tt()}});function o4(e,t){return{branch:e,hash:t,success:!0}}function l4(e){return{branch:e,hash:null,success:!1}}var X_,c4=W({"src/lib/responses/BranchDeleteSummary.ts"(){"use strict";X_=class{constructor(){this.all=[],this.branches={},this.errors=[]}get success(){return!this.errors.length}}}});function Z_(e,t){return t===1&&Zp.test(e)}var cb,Zp,ub,Uu,u4=W({"src/lib/parsers/parse-branch-delete.ts"(){"use strict";c4(),oe(),cb=/(\S+)\s+\(\S+\s([^)]+)\)/,Zp=/^error[^']+'([^']+)'/m,ub=[new ce(cb,(e,[t,r])=>{let n=o4(t,r);e.all.push(n),e.branches[t]=n}),new ce(Zp,(e,[t])=>{let r=l4(t);e.errors.push(r),e.all.push(r),e.branches[t]=r})],Uu=(e,t)=>ir(new X_,ub,[e,t])}}),K_,f4=W({"src/lib/responses/BranchSummary.ts"(){"use strict";K_=class{constructor(){this.all=[],this.branches={},this.current="",this.detached=!1}push(e,t,r,n,i){e==="*"&&(this.detached=t,this.current=r),this.all.push(r),this.branches[r]={current:e==="*",linkedWorkTree:e==="+",name:r,commit:n,label:i}}}}});function fb(e){return e?e.charAt(0):""}function J_(e){return ir(new K_,Q_,e)}var Q_,d4=W({"src/lib/parsers/parse-branch.ts"(){"use strict";f4(),oe(),Q_=[new ce(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/,(e,[t,r,n,i])=>{e.push(fb(t),!0,r,n,i)}),new ce(new RegExp("^([*+]\\s)?(\\S+)\\s+([a-z0-9]+)\\s?(.*)$","s"),(e,[t,r,n,i])=>{e.push(fb(t),!1,r,n,i)})]}}),ex={};rt(ex,{branchLocalTask:()=>p4,branchTask:()=>h4,containsDeleteBranchCommand:()=>tx,deleteBranchTask:()=>g4,deleteBranchesTask:()=>m4});function tx(e){let t=["-d","-D","--delete"];return e.some(r=>t.includes(r))}function h4(e){let t=tx(e),r=["branch",...e];return r.length===1&&r.push("-a"),r.includes("-v")||r.splice(1,0,"-v"),{format:"utf-8",commands:r,parser(n,i){return t?Uu(n,i).all[0]:J_(n)}}}function p4(){return{format:"utf-8",commands:["branch","-v"],parser:J_}}function m4(e,t=!1){return{format:"utf-8",commands:["branch","-v",t?"-D":"-d",...e],parser(r,n){return Uu(r,n)},onError({exitCode:r,stdOut:n},i,a,s){if(!Z_(String(i),r))return s(i);a(n)}}}function g4(e,t=!1){let r={format:"utf-8",commands:["branch","-v",t?"-D":"-d",e],parser(n,i){return Uu(n,i).branches[e]},onError({exitCode:n,stdErr:i,stdOut:a},s,o,c){if(!Z_(String(s),n))return c(s);throw new Tl(r.parser(El(a),El(i)),String(s))}};return r}var v4=W({"src/lib/tasks/branch.ts"(){"use strict";Rs(),u4(),d4(),oe()}}),rx,y4=W({"src/lib/responses/CheckIgnore.ts"(){"use strict";rx=e=>e.split(/\n/g).map(t=>t.trim()).filter(t=>!!t)}}),nx={};rt(nx,{checkIgnoreTask:()=>w4});function w4(e){return{commands:["check-ignore",...e],format:"utf-8",parser:rx}}var b4=W({"src/lib/tasks/check-ignore.ts"(){"use strict";y4()}}),ix={};rt(ix,{cloneMirrorTask:()=>x4,cloneTask:()=>ax});function _4(e){return/^--upload-pack(=|$)/.test(e)}function ax(e,t,r){let n=["clone",...r];return Pt(e)&&n.push(e),Pt(t)&&n.push(t),n.find(_4)?nr("git.fetch: potential exploit argument blocked."):Vt(n)}function x4(e,t,r){return ke(r,"--mirror"),ax(e,t,r)}var S4=W({"src/lib/tasks/clone.ts"(){"use strict";tt(),oe()}});function E4(e,t){return ir({raw:e,remote:null,branches:[],tags:[],updated:[],deleted:[]},sx,[e,t])}var sx,A4=W({"src/lib/parsers/parse-fetch.ts"(){"use strict";oe(),sx=[new ce(/From (.+)$/,(e,[t])=>{e.remote=t}),new ce(/\* \[new branch]\s+(\S+)\s*-> (.+)$/,(e,[t,r])=>{e.branches.push({name:t,tracking:r})}),new ce(/\* \[new tag]\s+(\S+)\s*-> (.+)$/,(e,[t,r])=>{e.tags.push({name:t,tracking:r})}),new ce(/- \[deleted]\s+\S+\s*-> (.+)$/,(e,[t])=>{e.deleted.push({tracking:t})}),new ce(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/,(e,[t,r,n,i])=>{e.updated.push({name:n,tracking:i,to:r,from:t})})]}}),ox={};rt(ox,{fetchTask:()=>T4});function k4(e){return/^--upload-pack(=|$)/.test(e)}function T4(e,t,r){let n=["fetch",...r];return e&&t&&n.push(e,t),n.find(k4)?nr("git.fetch: potential exploit argument blocked."):{commands:n,format:"utf-8",parser:E4}}var C4=W({"src/lib/tasks/fetch.ts"(){"use strict";A4(),tt()}});function P4(e){return ir({moves:[]},lx,e)}var lx,R4=W({"src/lib/parsers/parse-move.ts"(){"use strict";oe(),lx=[new ce(/^Renaming (.+) to (.+)$/,(e,[t,r])=>{e.moves.push({from:t,to:r})})]}}),cx={};rt(cx,{moveTask:()=>M4});function M4(e,t){return{commands:["mv","-v",..._n(e),t],format:"utf-8",parser:P4}}var O4=W({"src/lib/tasks/move.ts"(){"use strict";R4(),oe()}}),ux={};rt(ux,{pullTask:()=>I4});function I4(e,t,r){let n=["pull",...r];return e&&t&&n.splice(1,0,e,t),{commands:n,format:"utf-8",parser(i,a){return ym(i,a)},onError(i,a,s,o){let c=BF(El(i.stdOut),El(i.stdErr));if(c)return o(new Tl(c));o(a)}}}var F4=W({"src/lib/tasks/pull.ts"(){"use strict";Rs(),F_(),oe()}});function $4(e){let t={};return fx(e,([r])=>t[r]={name:r}),Object.values(t)}function L4(e){let t={};return fx(e,([r,n,i])=>{t.hasOwnProperty(r)||(t[r]={name:r,refs:{fetch:"",push:""}}),i&&n&&(t[r].refs[i.replace(/[^a-z]/g,"")]=n)}),Object.values(t)}function fx(e,t){Jp(e,r=>t(r.split(/\s+/)))}var D4=W({"src/lib/responses/GetRemoteSummary.ts"(){"use strict";oe()}}),dx={};rt(dx,{addRemoteTask:()=>N4,getRemotesTask:()=>j4,listRemotesTask:()=>B4,remoteTask:()=>H4,removeRemoteTask:()=>U4});function N4(e,t,r){return Vt(["remote","add",...r,e,t])}function j4(e){let t=["remote"];return e&&t.push("-v"),{commands:t,format:"utf-8",parser:e?L4:$4}}function B4(e){let t=[...e];return t[0]!=="ls-remote"&&t.unshift("ls-remote"),Vt(t)}function H4(e){let t=[...e];return t[0]!=="remote"&&t.unshift("remote"),Vt(t)}function U4(e){return Vt(["remote","remove",e])}var G4=W({"src/lib/tasks/remote.ts"(){"use strict";D4(),tt()}}),hx={};rt(hx,{stashListTask:()=>z4});function z4(e={},t){let r=E_(e),n=["stash","list",...r.commands,...t],i=b_(r.splitter,r.fields,dm(n));return Hu(n)||{commands:n,format:"utf-8",parser:i}}var V4=W({"src/lib/tasks/stash-list.ts"(){"use strict";Ml(),x_(),vm(),A_()}}),px={};rt(px,{addSubModuleTask:()=>W4,initSubModuleTask:()=>q4,subModuleTask:()=>Gu,updateSubModuleTask:()=>Y4});function W4(e,t){return Gu(["add",e,t])}function q4(e){return Gu(["init",...e])}function Gu(e){let t=[...e];return t[0]!=="submodule"&&t.unshift("submodule"),Vt(t)}function Y4(e){return Gu(["update",...e])}var X4=W({"src/lib/tasks/sub-module.ts"(){"use strict";tt()}});function Z4(e,t){let r=isNaN(e),n=isNaN(t);return r!==n?r?1:-1:r?mx(e,t):0}function mx(e,t){return e===t?0:e>t?1:-1}function K4(e){return e.trim()}function Au(e){return typeof e=="string"&&parseInt(e.replace(/^\D+/g,""),10)||0}var db,gx,J4=W({"src/lib/responses/TagList.ts"(){"use strict";db=class{constructor(e,t){this.all=e,this.latest=t}},gx=function(e,t=!1){let r=e.split(` -`).map(K4).filter(Boolean);t||r.sort(function(i,a){let s=i.split("."),o=a.split(".");if(s.length===1||o.length===1)return Z4(Au(s[0]),Au(o[0]));for(let c=0,l=Math.max(s.length,o.length);ci.indexOf(".")>=0);return new db(r,n)}}}),vx={};rt(vx,{addAnnotatedTagTask:()=>t$,addTagTask:()=>e$,tagListTask:()=>Q4});function Q4(e=[]){let t=e.some(r=>/^--sort=/.test(r));return{format:"utf-8",commands:["tag","-l",...e],parser(r){return gx(r,t)}}}function e$(e){return{format:"utf-8",commands:["tag",e],parser(){return{name:e}}}}function t$(e,t){return{format:"utf-8",commands:["tag","-a","-m",t,e],parser(){return{name:e}}}}var r$=W({"src/lib/tasks/tag.ts"(){"use strict";J4()}}),n$=bI({"src/git.js"(e,t){"use strict";var{GitExecutor:r}=(aF(),Ke(u_)),{SimpleGitApi:n}=(n4(),Ke(z_)),{Scheduler:i}=(i4(),Ke(V_)),{configurationErrorTask:a}=(tt(),Ke(Gp)),{asArray:s,filterArray:o,filterPrimitives:c,filterString:l,filterStringOrStringArray:u,filterType:f,getTrailingOptions:d,trailingFunctionArgument:h,trailingOptionsArgument:p}=(oe(),Ke(Fb)),{applyPatchTask:m}=(s4(),Ke(Y_)),{branchTask:v,branchLocalTask:y,deleteBranchesTask:b,deleteBranchTask:x}=(v4(),Ke(ex)),{checkIgnoreTask:E}=(b4(),Ke(nx)),{checkIsRepoTask:_}=(Nb(),Ke($b)),{cloneTask:k,cloneMirrorTask:w}=(S4(),Ke(ix)),{cleanWithOptionsTask:A,isCleanOptionsArray:S}=(Xb(),Ke(qb)),{diffSummaryTask:T}=(vm(),Ke(S_)),{fetchTask:P}=(C4(),Ke(ox)),{moveTask:O}=(O4(),Ke(cx)),{pullTask:j}=(F4(),Ke(ux)),{pushTagsTask:D}=(N_(),Ke(D_)),{addRemoteTask:Q,getRemotesTask:de,listRemotesTask:ee,remoteTask:J,removeRemoteTask:Ce}=(G4(),Ke(dx)),{getResetMode:me,resetTask:F}=(o_(),Ke(i_)),{stashListTask:z}=(V4(),Ke(hx)),{addSubModuleTask:N,initSubModuleTask:Re,subModuleTask:Dt,updateSubModuleTask:_t}=(X4(),Ke(px)),{addAnnotatedTagTask:Ee,addTagTask:st,tagListTask:ot}=(r$(),Ke(vx)),{straightThroughBufferTask:Ct,straightThroughStringTask:$e}=(tt(),Ke(Gp));function G(L,Y){this._plugins=Y,this._executor=new r(L.baseDir,new i(L.maxConcurrentProcesses),Y),this._trimmed=L.trimmed}(G.prototype=Object.create(n.prototype)).constructor=G,G.prototype.customBinary=function(L){return this._plugins.reconfigure("binary",L),this},G.prototype.env=function(L,Y){return arguments.length===1&&typeof L=="object"?this._executor.env=L:(this._executor.env=this._executor.env||{})[L]=Y,this},G.prototype.stashList=function(L){return this._runTask(z(p(arguments)||{},o(L)&&L||[]),h(arguments))};function Le(L,Y,ye,De){return typeof ye!="string"?a(`git.${L}() requires a string 'repoPath'`):Y(ye,f(De,l),d(arguments))}G.prototype.clone=function(){return this._runTask(Le("clone",k,...arguments),h(arguments))},G.prototype.mirror=function(){return this._runTask(Le("mirror",w,...arguments),h(arguments))},G.prototype.mv=function(L,Y){return this._runTask(O(L,Y),h(arguments))},G.prototype.checkoutLatestTag=function(L){var Y=this;return this.pull(function(){Y.tags(function(ye,De){Y.checkout(De.latest,L)})})},G.prototype.pull=function(L,Y,ye,De){return this._runTask(j(f(L,l),f(Y,l),d(arguments)),h(arguments))},G.prototype.fetch=function(L,Y){return this._runTask(P(f(L,l),f(Y,l),d(arguments)),h(arguments))},G.prototype.silent=function(L){return console.warn("simple-git deprecation notice: git.silent: logging should be configured using the `debug` library / `DEBUG` environment variable, this will be an error in version 3"),this},G.prototype.tags=function(L,Y){return this._runTask(ot(d(arguments)),h(arguments))},G.prototype.rebase=function(){return this._runTask($e(["rebase",...d(arguments)]),h(arguments))},G.prototype.reset=function(L){return this._runTask(F(me(L),d(arguments)),h(arguments))},G.prototype.revert=function(L){let Y=h(arguments);return typeof L!="string"?this._runTask(a("Commit must be a string"),Y):this._runTask($e(["revert",...d(arguments,0,!0),L]),Y)},G.prototype.addTag=function(L){let Y=typeof L=="string"?st(L):a("Git.addTag requires a tag name");return this._runTask(Y,h(arguments))},G.prototype.addAnnotatedTag=function(L,Y){return this._runTask(Ee(L,Y),h(arguments))},G.prototype.deleteLocalBranch=function(L,Y,ye){return this._runTask(x(L,typeof Y=="boolean"?Y:!1),h(arguments))},G.prototype.deleteLocalBranches=function(L,Y,ye){return this._runTask(b(L,typeof Y=="boolean"?Y:!1),h(arguments))},G.prototype.branch=function(L,Y){return this._runTask(v(d(arguments)),h(arguments))},G.prototype.branchLocal=function(L){return this._runTask(y(),h(arguments))},G.prototype.raw=function(L){let Y=!Array.isArray(L),ye=[].slice.call(Y?arguments:L,0);for(let vt=0;vte.removeEventListener("abort",a))}}]:void 0}function s$(e){return typeof e=="string"&&e.trim().toLowerCase()==="-c"}function o$(e,t){if(s$(e)&&/^\s*protocol(.[a-z]+)?.allow/.test(t))throw new Vn(void 0,"unsafe","Configuring protocol.allow is not permitted without enabling allowUnsafeExtProtocol")}function l$(e,t){if(/^\s*--(upload|receive)-pack/.test(e))throw new Vn(void 0,"unsafe","Use of --upload-pack or --receive-pack is not permitted without enabling allowUnsafePack");if(t==="clone"&&/^\s*-u\b/.test(e))throw new Vn(void 0,"unsafe","Use of clone with option -u is not permitted without enabling allowUnsafePack");if(t==="push"&&/^\s*--exec\b/.test(e))throw new Vn(void 0,"unsafe","Use of push with option --exec is not permitted without enabling allowUnsafePack")}function c$({allowUnsafeProtocolOverride:e=!1,allowUnsafePack:t=!1}={}){return{type:"spawn.args",action(r,n){return r.forEach((i,a)=>{let s=aNp(i))).then(s.done)}return{type:"spawn.after",action(i,a){return _l(this,arguments,function*(s,{spawned:o,close:c}){var l,u;let f=r(),d=!0,h=()=>void(d=!1);(l=o.stdout)==null||l.on("data",h),(u=o.stderr)==null||u.on("data",h),o.on("error",h),o.on("close",p=>f.close(p)),o.on("exit",p=>f.exit(p));try{yield f.result,d&&(yield Np(50)),c(f.exitCode)}catch(p){c(f.exitCode,p)}})}}}oe();var d$="Invalid value supplied for custom binary, requires a single string or an array containing either one or two strings",pb="Invalid value supplied for custom binary, restricted characters must be removed or supply the unsafe.allowUnsafeCustomBinary option";function h$(e){return!e||!/^([a-z]:)?([a-z0-9/.\\_-]+)$/i.test(e)}function mb(e,t){if(e.length<1||e.length>2)throw new Vn(void 0,"binary",d$);if(e.some(h$))if(t)console.warn(pb);else throw new Vn(void 0,"binary",pb);let[n,i]=e;return{binary:n,prefix:i}}function p$(e,t=["git"],r=!1){let n=mb(_n(t),r);e.on("binary",i=>{n=mb(_n(i),r)}),e.append("spawn.binary",()=>n.binary),e.append("spawn.args",i=>n.prefix?[n.prefix,...i]:i)}Ei();function m$(e){return!!(e.exitCode&&e.stdErr.length)}function g$(e){return Buffer.concat([...e.stdOut,...e.stdErr])}function v$(e=!1,t=m$,r=g$){return(n,i)=>!e&&n||!t(i)?n:r(i)}function gb(e){return{type:"task.error",action(t,r){let n=e(t.error,{stdErr:r.stdErr,stdOut:r.stdOut,exitCode:r.exitCode});return Buffer.isBuffer(n)?{error:new yr(void 0,n.toString("utf-8"))}:{error:n}}}}oe();var y$=class{constructor(){this.plugins=new Set,this.events=new yx.EventEmitter}on(e,t){this.events.on(e,t)}reconfigure(e,t){this.events.emit(e,t)}append(e,t){let r=ke(this.plugins,{type:e,action:t});return()=>this.plugins.delete(r)}add(e){let t=[];return _n(e).forEach(r=>r&&this.plugins.add(ke(t,r))),()=>{t.forEach(r=>this.plugins.delete(r))}}exec(e,t,r){let n=t,i=Object.freeze(Object.create(r));for(let a of this.plugins)a.type===e&&(n=a.action(n,i));return n}};oe();function w$(e){let t="--progress",r=["checkout","clone","fetch","pull","push"];return[{type:"spawn.args",action(a,s){return r.includes(s.method)?Ab(a,t):a}},{type:"spawn.after",action(a,s){var o;s.commands.includes(t)&&((o=s.spawned.stderr)==null||o.on("data",c=>{let l=/^([\s\S]+?):\s*(\d+)% \((\d+)\/(\d+)\)/.exec(c.toString("utf8"));l&&e({method:s.method,stage:b$(l[1]),progress:Ie(l[2]),processed:Ie(l[3]),total:Ie(l[4])})}))}}]}function b$(e){return String(e.toLowerCase().split(" ",1))||"unknown"}oe();function _$(e){let t=Cb(e,["uid","gid"]);return{type:"spawn.options",action(r){return Ir(Ir({},t),r)}}}function x$({block:e,stdErr:t=!0,stdOut:r=!0}){if(e>0)return{type:"spawn.after",action(n,i){var a,s;let o;function c(){o&&clearTimeout(o),o=setTimeout(u,e)}function l(){var f,d;(f=i.spawned.stdout)==null||f.off("data",c),(d=i.spawned.stderr)==null||d.off("data",c),i.spawned.off("exit",l),i.spawned.off("close",l),o&&clearTimeout(o)}function u(){l(),i.kill(new Vn(void 0,"timeout","block timeout reached"))}r&&((a=i.spawned.stdout)==null||a.on("data",c)),t&&((s=i.spawned.stderr)==null||s.on("data",c)),i.spawned.on("exit",l),i.spawned.on("close",l),c()}}}kl();function S$(){return{type:"spawn.args",action(e){let t=[],r;function n(i){(r=r||[]).push(...i)}for(let i=0;iRu(s)&&B2(s)||s));break}t.push(a)}return r?[...t,"--",...r.map(String)]:t}}}oe();var E$=n$();function A$(e,t){var r;let n=new y$,i=Ob(e&&(typeof e=="string"?{baseDir:e}:e)||{},t);if(!Qp(i.baseDir))throw new i$(i,"Cannot use simple-git on a directory that does not exist");return Array.isArray(i.config)&&n.add(u$(i.config)),n.add(c$(i.unsafe)),n.add(S$()),n.add(f$(i.completion)),i.abort&&n.add(a$(i.abort)),i.progress&&n.add(w$(i.progress)),i.timeout&&n.add(x$(i.timeout)),i.spawnOptions&&n.add(_$(i.spawnOptions)),n.add(gb(v$(!0))),i.errors&&n.add(gb(i.errors)),p$(n,i.binary,(r=i.unsafe)==null?void 0:r.allowUnsafeCustomBinary),new E$(i,n)}Rs();var wx=A$;g();var bx=require("obsidian"),zu="YYYY-MM-DD",_m=`${zu} HH:mm`,xm=`${zu} HH:mm:ss`,Vu=40,Ms="conflict-files-obsidian-git.md",Sn={commitMessage:"vault backup: {{date}}",commitDateFormat:xm,autoSaveInterval:0,autoPushInterval:0,autoPullInterval:0,autoPullOnBoot:!1,disablePush:!1,pullBeforePush:!0,disablePopups:!1,disablePopupsForNoChanges:!1,listChangedFilesInMessageBody:!1,showStatusBar:!0,updateSubmodules:!1,syncMethod:"merge",customMessageOnAutoBackup:!1,autoBackupAfterFileChange:!1,treeStructure:!1,refreshSourceControl:bx.Platform.isDesktopApp,basePath:"",differentIntervalCommitAndPush:!1,changedFilesInStatusBar:!1,showedMobileNotice:!1,refreshSourceControlTimer:7e3,showBranchStatusBar:!0,setLastSaveToLastCommit:!1,submoduleRecurseCheckout:!1,gitDir:"",showFileMenu:!0,authorInHistoryView:"hide",dateInHistoryView:!1,diffStyle:"split",lineAuthor:{show:!1,followMovement:"inactive",authorDisplay:"initials",showCommitHash:!1,dateTimeFormatOptions:"date",dateTimeFormatCustomString:_m,dateTimeTimezone:"viewer-local",coloringMaxAge:"1y",colorNew:{r:255,g:150,b:150},colorOld:{r:120,g:160,b:255},textColorCss:"var(--text-muted)",ignoreWhitespace:!1,gutterSpacingFallbackLength:5}},St={type:"git-view",name:"Source Control",icon:"git-pull-request"},Fr={type:"git-history-view",name:"History",icon:"history"},Ai={type:"split-diff-view",name:"Diff view",icon:"diff"},ki={type:"diff-view",name:"Diff View",icon:"git-pull-request"},Wu="C:\\Program Files\\Git\\cmd\\git.exe",qu="git_credentials_input",Os="obsidian_askpass.sh",_x=`#!/bin/sh - -PROMPT="$1" -TEMP_FILE="$OBSIDIAN_GIT_CREDENTIALS_INPUT" - -cleanup() { - rm -f "$TEMP_FILE" "$TEMP_FILE.response" -} -trap cleanup EXIT - -echo "$PROMPT" > "$TEMP_FILE" - -while [ ! -e "$TEMP_FILE.response" ]; do - if [ ! -e "$TEMP_FILE" ]; then - echo "Trigger file got removed: Abort" >&2 - exit 1 - fi - sleep 0.1 -done - -RESPONSE=$(cat "$TEMP_FILE.response") - -echo "$RESPONSE" -`,xx=["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"];g();var Sx=require("obsidian"),k$={options:[],placeholder:"",allowEmpty:!1,onlySelection:!1,initialValue:void 0},Fe=class extends Sx.SuggestModal{constructor(t,r){super(t.app),this.config={...k$,...r},this.setPlaceholder(this.config.placeholder)}openAndGetResult(){return new Promise(t=>{this.resolve=t,this.open(),this.config.initialValue!=null&&(this.inputEl.value=this.config.initialValue,this.inputEl.dispatchEvent(new Event("input")))})}onClose(){new Promise(t=>setTimeout(t,10)).then(()=>{this.resolve&&this.resolve(void 0)})}getSuggestions(t){return this.config.onlySelection?this.config.options:this.config.allowEmpty?[t.length>0?t:" ",...this.config.options]:[t.length>0?t:"...",...this.config.options]}renderSuggestion(t,r){r.setText(t)}onChooseSuggestion(t,r){if(this.resolve){let n;this.config.allowEmpty&&t===" "?n="":t==="..."?n=void 0:n=t,this.resolve(n)}}};g();function Ex(e,t){let r=Object.assign({},e.lineAuthor,t.lineAuthor);return Object.assign({},e,t,{lineAuthor:r})}var Is=class extends Error{constructor(r){super("No network connection available");this.originalError=r}};g();var sT=Ze(Ux()),oT=Ze(aT()),zs=require("obsidian");var Gg=(e,t)=>e==="."||t==null||t.length===0||t==="."?!0:t.length>=e.length?t.startsWith(e):e.startsWith(t);function tn(e,t){let r;if(t){if(t.button===0||t.button===1){let n=zs.Keymap.isModEvent(t);r=e.workspace.getLeaf(n)}}else r=e.workspace.getLeaf(!1);return r}function kn(e,t,r,n,i){if(t.button==2){let a=e.vault.getAbstractFileByPath(r);if(a!=null){let s=new zs.Menu;e.workspace.trigger("file-menu",s,a,i,n),s.showAtPosition({x:t.pageX,y:t.pageY})}}}function Oi(e){throw new Error("Impossible branch: "+e)}function zg(e){return`rgb(${e.r},${e.g},${e.b})`}function lT(e){var a;let t=(a=sT.fromString(e))==null?void 0:a.toRgbaArray();if(t===void 0)return;let[r,n,i]=t;return{r,g:n,b:i}}function cT(e){return e.diff(zs.moment.unix(0),"seconds")}function uT(e){if(e.length!==0)return e.slice().sort()[Math.floor(e.length/2)]}function fT(e,t){return(0,oT.default)(e,t,{strict:!0})}function zl(e,t){return new Proxy(e,{get(r,n){return n==="length"?Math.min(t,r.length):r[n]}})}function dT(e,t,r){return e.length<=t?new Array(t-e.length).fill(r).join("")+e:e.substring(e.length-t)}function hT(e,t){if(t<=0)return e;let r=new Array(t).fill(" ").join(""),n=e.substring(t,e.length);return r+n}function Vg(e,t,r){return e<=t&&t<=r}function Ii(e){let[t,...r]=e.split("/");return[t,r.length===0?void 0:r.join("/")]}function Tn(e){return e.endsWith("/")?e:e.split("/").last().replace(".md","")}function Vl(e){return e===1?"1 minute":`${e} minutes`}function Cj(e){let t=e.lastIndexOf(".");return e.substring(t+1)}function Vs(e){if(e.endsWith(".md"))return!1;let t=Cj(e);return xx.includes(t)}g();var pT=require("obsidian"),Ws=class{constructor(t){this.plugin=t,this.app=t.app}getRelativeVaultPath(t){return this.plugin.settings.basePath?this.plugin.settings.basePath+"/"+t:t}getRelativeRepoPath(t,r=!0){return r&&this.plugin.settings.basePath.length>0?t.substring(this.plugin.settings.basePath.length+1):t}unload(){}_getTreeStructure(t,r=0){let n=[];for(t=[...t];t.length>0;){let i=t.first(),a=i.path.substring(r);if(a.contains("/")){let s=a.substring(0,a.indexOf("/")),o=t.filter(l=>l.path.substring(r).startsWith(s+"/"));o.forEach(l=>t.remove(l));let c=i.path.substring(0,a.indexOf("/")+r);n.push({title:s,path:c,vaultPath:this.getRelativeVaultPath(c),children:this._getTreeStructure(o,(r>0?r+s.length:s.length)+1)})}else n.push({title:a,data:i,path:i.path,vaultPath:this.getRelativeVaultPath(i.path)}),t.remove(i)}return n}simplify(t){var r,n,i,a;for(let s of t){for(;;){let o=((r=s.children)==null?void 0:r.length)==1,c=((i=(n=s.children)==null?void 0:n.first())==null?void 0:i.data)==null;if(!(s.children!=null&&o&&c))break;let l=s.children.first();s.title+="/"+l.title,s.data=l.data,s.path=l.path,s.vaultPath=l.vaultPath,s.children=l.children}s.children!=null&&this.simplify(s.children),(a=s.children)==null||a.sort((o,c)=>{let l=(c.data==null?1:0)-(o.data==null?1:0);return l!=0?l:o.title.localeCompare(c.title)})}return t.sort((s,o)=>{let c=(o.data==null?1:0)-(s.data==null?1:0);return c!=0?c:s.title.localeCompare(o.title)})}getTreeStructure(t){let r=this._getTreeStructure(t);return this.simplify(r)}async formatCommitMessage(t){let r;if(t.includes("{{numFiles}}")){r=await this.status();let n=r.staged.length;t=t.replace("{{numFiles}}",String(n))}if(t.includes("{{hostname}}")){let n=this.plugin.localStorage.getHostname()||"";t=t.replace("{{hostname}}",n)}if(t.includes("{{files}}")){r=r!=null?r:await this.status();let n={},i="";if(r.staged.length<100){r.staged.forEach(s=>{s.index in n?n[s.index].push(s.path):n[s.index]=[s.path]});let a=[];for(let[s,o]of Object.entries(n))a.push(s+" "+o.join(" "));i=a.join(", ")}else i="Too many files to list";t=t.replace("{{files}}",i)}if(t=t.replace("{{date}}",(0,pT.moment)().format(this.plugin.settings.commitDateFormat)),this.plugin.settings.listChangedFilesInMessageBody){let n=r!=null?r:await this.status(),i="";n.staged.length<100?i=n.staged.map(a=>a.path).join(` -`):i="Too many files to list",t=t+` - -Affected files: -`+i}return t}};var Te=class extends Ws{constructor(r){super(r);this.useDefaultWindowsGitPath=!1}async setGitInstance(r=!1){if(this.isGitInstalled()){let n=this.app.vault.adapter,i=n.getBasePath(),a=i;this.plugin.settings.basePath&&(await n.exists((0,Xn.normalizePath)(this.plugin.settings.basePath))?a=Be.join(i,this.plugin.settings.basePath):r||new Xn.Notice("ObsidianGit: Base path does not exist")),this.absoluteRepoPath=a,this.git=wx({baseDir:a,binary:this.plugin.localStorage.getGitPath()||(this.useDefaultWindowsGitPath?Wu:void 0),config:["core.quotepath=off"],unsafe:{allowUnsafeCustomBinary:!0}});let s=this.plugin.localStorage.getPATHPaths(),o=this.plugin.localStorage.getEnvVars(),c=this.plugin.settings.gitDir;if(s.length>0){let f=process.env.PATH+":"+s.join(":");process.env.PATH=f}c&&(process.env.GIT_DIR=c);for(let f of o){let[d,h]=f.split("=");process.env[d]=h}if(vT.default.enable("simple-git"),await this.git.checkIsRepo()){let f=await this.git.revparse("--show-cdup"),d=(0,Wl.resolve)(a+Wl.sep+f);this.absoluteRepoPath=d,await this.git.cwd(d)}let l=Be.join(i,this.app.vault.configDir,"plugins","obsidian-git"),u=Be.join(l,Os);process.env.SSH_ASKPASS==null&&(process.env.SSH_ASKPASS=u),process.env.OBSIDIAN_GIT_CREDENTIALS_INPUT=Be.join(l,qu),process.env.SSH_ASKPASS==u&&this.askpass().catch(f=>this.plugin.displayError(f))}}getRelativeVaultPath(r){let i=this.app.vault.adapter.getBasePath(),a=Be.join(this.absoluteRepoPath,r),s=Be.relative(i,a);return Xn.Platform.isWin&&(s=s.replace(/\\/g,"/")),s}getRelativeRepoPath(r,n=!0){if(n){let a=this.plugin.app.vault.adapter.getBasePath(),s=this.absoluteRepoPath,o=Be.join(a,r),c=Be.relative(s,o);return Xn.Platform.isWin&&(c=c.replace(/\\/g,"/")),c}return r}async askpass(){let r=this.app.vault.adapter,n=r.getBasePath(),i=Be.join(n,this.app.vault.configDir,"plugins","obsidian-git"),a=this.app.vault.configDir+"/plugins/obsidian-git/";await Zn.writeFile(Be.join(i,Os),_x),await Zn.chmod(Be.join(i,Os),493),this.watchAbortController=new AbortController;let{signal:s}=this.watchAbortController;try{let o=Zn.watch(i,{signal:s});for await(let c of o){if(c.filename!=qu)continue;let l=a+qu;if(!await r.exists(l))continue;let u=await r.read(l),f;u.length>60&&(f=new Xn.Notice(u,999999));let d=await new Fe(this.plugin,{allowEmpty:!0,placeholder:u.length>60?"Enter a response to the message.":u}).openAndGetResult();f==null||f.hide(),await r.exists(l)&&await r.write(`${l}.response`,d!=null?d:"")}}catch(o){this.plugin.displayError(o),await Zn.rm(Be.join(i,Os),{force:!0}),await Zn.rm(Be.join(i,`${Os}.response`),{force:!0}),await new Promise(c=>setTimeout(c,5e3)),this.plugin.log("Retry watch for ask pass"),await this.askpass()}}unload(){var r;(r=this.watchAbortController)==null||r.abort()}async status(){this.plugin.setPluginState({gitAction:1});let r=await this.git.status();this.plugin.setPluginState({gitAction:0});let n=r.files.map(i=>{let a=this.formatPath(i);return{path:a.path,from:a.from,index:i.index==="?"?"U":i.index,workingDir:i.working_dir==="?"?"U":i.working_dir,vaultPath:this.getRelativeVaultPath(a.path)}});return{all:n,changed:n.filter(i=>i.workingDir!==" "),staged:n.filter(i=>i.index!==" "&&i.index!="U"),conflicted:r.conflicted.map(i=>this.formatPath({path:i}).path)}}async submoduleAwareHeadRevisonInContainingDirectory(r){let n=this.getRelativeRepoPath(r),a=["-C",Be.dirname(n),"rev-parse","HEAD"],s=this.git.raw(a);return s.catch(o=>console.warn("obsidian-git: rev-parse error:",o)),s}async getSubmodulePaths(){return new Promise(r=>{this.git.outputHandler((n,i,a,s)=>{if(!(s.contains("submodule")&&s.contains("foreach")))return;let o="",c=this.app.vault.adapter.getBasePath()+(this.plugin.settings.basePath?"/"+this.plugin.settings.basePath:"");i.on("data",l=>{o+=l.toString("utf8")}),i.on("end",()=>{let u=o.split(` -`).map(f=>{let d=f.match(/'([^']*)'/);if(d!=null)return c+"/"+d[1]+Wl.sep}).filter(f=>!!f);u.reverse(),r(u)})}),this.git.subModule(["foreach","--recursive",""]).then(()=>{this.git.outputHandler(()=>{})},n=>this.plugin.displayError(n))})}formatPath(r,n=!1){function i(a){if(a!=null)return a.startsWith('"')&&a.endsWith('"')?a.substring(1,a.length-1):a}return n?{from:i(r.from),path:i(r.path)}:{path:i(r.path)}}async blame(r,n,i){if(r=this.getRelativeRepoPath(r),!await this.isTracked(r))return"untracked";let a=await this.getSubmoduleOfFile(r),s=a?["-C",a.submodule]:[],o=a?a.relativeFilepath:r;s.push("blame","--porcelain"),i&&s.push("-w");let c=`-C${Vu}`;switch(n){case"inactive":break;case"same-commit":s.push("-C",c);break;case"all-commits":s.push("-C","-C",c);break;default:Oi(n)}s.push("--",o);let l=await this.git.raw(s);return Pj(l)}async isTracked(r){let n=await this.getSubmoduleOfFile(r),i=n?["-C",n.submodule]:[],a=n?n.relativeFilepath:r;return i.push("ls-files","--",a),this.git.raw(i).then(s=>s.trim()!=="")}async commitAll({message:r}){if(this.plugin.settings.updateSubmodules){this.plugin.setPluginState({gitAction:4});let i=await this.getSubmodulePaths();for(let a of i)await this.git.cwd({path:a,root:!1}).add("-A"),await this.git.cwd({path:a,root:!1}).commit(await this.formatCommitMessage(r))}this.plugin.setPluginState({gitAction:3}),await this.git.add("-A"),this.plugin.setPluginState({gitAction:4});let n=await this.git.commit(await this.formatCommitMessage(r));return this.app.workspace.trigger("obsidian-git:head-change"),n.summary.changes}async commit({message:r,amend:n}){this.plugin.setPluginState({gitAction:4});let i=(await this.git.commit(await this.formatCommitMessage(r),n?["--amend"]:[])).summary.changes;return this.app.workspace.trigger("obsidian-git:head-change"),this.plugin.setPluginState({gitAction:0}),i}async stage(r,n){this.plugin.setPluginState({gitAction:3}),r=this.getRelativeRepoPath(r,n),await this.git.add(["--",r]),this.plugin.setPluginState({gitAction:0})}async stageAll({dir:r}){this.plugin.setPluginState({gitAction:3}),await this.git.add(r!=null?r:"-A"),this.plugin.setPluginState({gitAction:0})}async unstageAll({dir:r}){this.plugin.setPluginState({gitAction:3}),await this.git.reset(r!=null?["--",r]:[]),this.plugin.setPluginState({gitAction:0})}async unstage(r,n){this.plugin.setPluginState({gitAction:3}),r=this.getRelativeRepoPath(r,n),await this.git.reset(["--",r]),this.plugin.setPluginState({gitAction:0})}async discard(r){this.plugin.setPluginState({gitAction:3}),await this.isTracked(r)?await this.git.checkout(["--",r]):await this.app.vault.adapter.rmdir(this.getRelativeVaultPath(r),!0),this.plugin.setPluginState({gitAction:0})}async hashObject(r){r=this.getRelativeRepoPath(r);let n=await this.getSubmoduleOfFile(r),i=n?["-C",n.submodule]:[],a=n?n.relativeFilepath:r;return i.push("hash-object","--",a),this.git.raw(i)}async discardAll({dir:r}){return this.discard(r!=null?r:".")}async pull(){this.plugin.setPluginState({gitAction:2});try{this.plugin.settings.updateSubmodules&&await this.git.subModule(["update","--remote","--merge","--recursive"]);let r=await this.branchInfo(),n=await this.git.revparse([r.current]);if(!r.tracking&&this.plugin.settings.updateSubmodules){this.plugin.log("No tracking branch found. Ignoring pull of main repo and updating submodules only.");return}await this.git.fetch();let i=await this.git.revparse([r.tracking]);if(n!==i){if(this.plugin.settings.syncMethod==="merge"||this.plugin.settings.syncMethod==="rebase")try{switch(this.plugin.settings.syncMethod){case"merge":await this.git.merge([r.tracking]);break;case"rebase":await this.git.rebase([r.tracking])}}catch(o){this.plugin.displayError(`Pull failed (${this.plugin.settings.syncMethod}): ${"message"in o?o.message:o}`);return}else if(this.plugin.settings.syncMethod==="reset")try{await this.git.raw(["update-ref",`refs/heads/${r.current}`,i]),await this.unstageAll({})}catch(o){this.plugin.displayError(`Sync failed (${this.plugin.settings.syncMethod}): ${"message"in o?o.message:o}`)}this.app.workspace.trigger("obsidian-git:head-change");let a=await this.git.revparse([r.current]);return(await this.git.diff([`${n}..${a}`,"--name-only"])).split(/\r\n|\r|\n/).filter(o=>o.length>0).map(o=>({path:o,workingDir:"P",vaultPath:this.getRelativeVaultPath(o)}))}else return[]}catch(r){this.convertErrors(r)}}async push(){this.plugin.setPluginState({gitAction:5});try{if(this.plugin.settings.updateSubmodules){let s=await this.git.env({...process.env,OBSIDIAN_GIT:1}).subModule(["foreach","--recursive",`tracking=$(git for-each-ref --format='%(upstream:short)' "$(git symbolic-ref -q HEAD)"); echo $tracking; if [ ! -z "$(git diff --shortstat $tracking)" ]; then git push; fi`]);console.log(s)}let r=await this.git.status(),n=r.tracking,i=r.current;if(!n&&this.plugin.settings.updateSubmodules){this.plugin.log("No tracking branch found. Ignoring push of main repo and updating submodules only.");return}let a=(await this.git.diffSummary([i,n,"--"])).changed;return await this.git.env({...process.env,OBSIDIAN_GIT:1}).push(),a}catch(r){this.convertErrors(r)}}async getUnpushedCommits(){let r=await this.git.status(),n=r.tracking,i=r.current;return n==null||i==null?0:(await this.git.diffSummary([i,n,"--"])).changed}async canPush(){if(this.plugin.settings.updateSubmodules===!0)return!0;let r=await this.git.status(),n=r.tracking,i=r.current;return n?(await this.git.diffSummary([i,n,"--"])).changed!==0:!1}async checkRequirements(){return this.isGitInstalled()?await this.git.checkIsRepo()?"valid":"missing-repo":"missing-git"}async branchInfo(){let r=await this.git.status(),n=await this.git.branch(["--no-color"]);return{current:r.current||void 0,tracking:r.tracking||void 0,branches:n.all}}async getRemoteUrl(r){try{return await this.git.remote(["get-url",r])||void 0}catch(n){if(String(n).contains(r))return;throw n}}async log(r,n=!0,i,a){let s;r&&(s=this.getRelativeRepoPath(r,n));let o={file:s,maxCount:i,"--diff-merges":"first-parent","--name-status":null};return a&&(o[a]=null),(await this.git.log(o)).all.map(l=>{var u,f,d,h;return{...l,author:{name:l.author_name,email:l.author_email},refs:l.refs.split(", ").filter(p=>p.length>0),diff:{...l.diff,files:(f=(u=l.diff)==null?void 0:u.files.map(p=>({...p,status:p.status,path:p.file,hash:l.hash,vaultPath:this.getRelativeVaultPath(p.file),fromPath:p.from,fromVaultPath:p.from!=null?this.getRelativeVaultPath(p.from):void 0,binary:p.binary})))!=null?f:[]},fileName:(h=(d=l.diff)==null?void 0:d.files.first())==null?void 0:h.file}})}async show(r,n,i=!0){let a=this.getRelativeRepoPath(n,i);return this.git.show([r+":"+a])}async checkout(r,n){if(n&&(r=`${n}/${r}`),await this.git.checkout(r),this.plugin.settings.submoduleRecurseCheckout){let i=await this.getSubmodulePaths();for(let a of i){let s=await this.git.cwd({path:a,root:!1}).branch();Object.keys(s.branches).includes(r)&&await this.git.cwd({path:a,root:!1}).checkout(r)}}}async createBranch(r){await this.git.checkout(["-b",r])}async deleteBranch(r,n){await this.git.branch([n?"-D":"-d",r])}async branchIsMerged(r){return!(await this.git.branch(["--no-merged"])).all.contains(r)}async init(){await this.git.init(!1)}async clone(r,n,i){await this.git.clone(r,Be.join(this.app.vault.adapter.getBasePath(),n),i?["--depth",`${i}`]:[])}async setConfig(r,n){n==null?await this.git.raw(["config","--local","--unset",r]):await this.git.addConfig(r,n)}async getConfig(r){let i=(await this.git.listConfig("local")).all[r];if(typeof i=="string"||i==null)return i;throw new Error("Config value is not a string")}async fetch(r){await this.git.fetch(r!=null?[r]:[])}async setRemote(r,n){(await this.getRemotes()).includes(r)?await this.git.remote(["set-url",r,n]):await this.git.remote(["add",r,n])}async getRemoteBranches(r){let n=await this.git.branch(["-r","--list",`${r}*`]),i=[];for(let a in n.branches)i.push(n.branches[a].name);return i}async getRemotes(){let r=await this.git.remote([]);return r?r.trim().split(` -`):[]}async removeRemote(r){await this.git.removeRemote(r)}async updateUpstreamBranch(r){try{await this.git.branch(["--set-upstream-to",r])}catch(n){try{await this.git.branch(["--set-upstream",r])}catch(i){await this.git.push(["--set-upstream",...Ii(r)])}}}updateGitPath(r){return this.setGitInstance()}updateBasePath(r){return this.setGitInstance(!0)}async getDiffString(r,n=!1,i){return n?await this.git.diff(["--cached","--",r]):i?await this.git.show([`${i}`,"--",r]):await this.git.diff(["--",r])}async diff(r,n,i){return await this.git.diff([`${n}..${i}`,"--",r])}async rawCommand(r){let n=r.split(" ");return await this.git.raw(n[0],...n.slice(1))}async getSubmoduleOfFile(r){if(!await this.app.vault.adapter.exists(Be.dirname(r)))return;let n=await this.git.raw(["-C",Be.dirname(r),"rev-parse","--show-toplevel"],c=>c&&console.warn("get-submodule-of-file",c==null?void 0:c.message));if(n=n.trim(),(await this.git.raw(["-C",Be.dirname(r),"rev-parse","--show-superproject-working-tree"],c=>c&&console.warn("get-submodule-of-file",c==null?void 0:c.message))).trim()==="")return;let s=this.app.vault.adapter.getFullPath(Be.normalize(r)),o=Be.relative(n,s);return{submodule:n,relativeFilepath:o}}async getLastCommitTime(){let r=await this.git.log({n:1});if(r!=null&&r.latest!=null)return new Date(r.latest.date)}isGitInstalled(){let r=this.plugin.localStorage.getGitPath(),n=(0,qg.spawnSync)(r||"git",["--version"],{stdio:"ignore"});if(n.error)if(Xn.Platform.isWin&&!r){this.plugin.log(`Git not found in PATH. Checking standard installation path(${Wu}) of Git for Windows.`);let i=(0,qg.spawnSync)(Wu,["--version"],{stdio:"ignore"});if(i.error)return console.error(i.error),!1;this.useDefaultWindowsGitPath=!0}else return console.error(n.error),!1;else this.useDefaultWindowsGitPath=!1;return!0}convertErrors(r){if(r instanceof yr){let n=String(r.message);if(n.contains("Could not resolve host")||n.contains("Unable to resolve host")||n.match(/ssh: connect to host .*? port .*?: Operation timed out/)!=null||n.match(/ssh: connect to host .*? port .*?: Network is unreachable/)!=null||n.match(/ssh: connect to host .*? port .*?: Undefined error: 0/)!=null)throw new Is(n)}throw r}async isFileTrackedByLFS(r){try{return(await this.git.raw(["check-attr","filter",r])).includes("filter: lfs")}catch(n){let i=n instanceof Error?n.message:String(n);return this.plugin.displayError(`Error checking LFS status: ${i}`),!1}}},yT={hash:"000000",isZeroCommit:!0,summary:""};function Pj(e){let r=e.replace(`\r -`,` -`).split(` -`),n={commits:new Map,hashPerLine:[void 0],originalFileLineNrPerLine:[void 0],finalFileLineNrPerLine:[void 0],groupSizePerStartingLine:new Map},i=1;for(let a=0;a=4&&r.groupSizePerStartingLine.set(t,parseInt(e[3])),parseInt(e[2])!==t)throw Error(`git-blame output is out of order: ${t} vs ${e[2]}`);return n}function Mj(e,t,r){let n=e[0],i=e.slice(1).join(" "),a=t.hashPerLine[r],s=t.commits.get(a)||{hash:a,author:{},committer:{},previous:{}};switch(n){case"summary":s.summary=i;break;case"author":s.author.name=i;break;case"author-mail":s.author.email=gT(i);break;case"author-time":s.author.epochSeconds=parseInt(i);break;case"author-tz":s.author.tz=i;break;case"committer":s.committer.name=i;break;case"committer-mail":s.committer.email=gT(i);break;case"committer-time":s.committer.epochSeconds=parseInt(i);break;case"committer-tz":s.committer.tz=i;break;case"previous":s.previous.commitHash=i;break;case"filename":s.previous.filename=i;break}t.commits.set(a,s)}function Oj(e){if(e.summary===void 0)throw Error(`Summary not provided for commit: ${e.hash}`);Wg(e.author)&&(e.author=void 0),Wg(e.committer)&&(e.committer=void 0),Wg(e.previous)&&(e.previous=void 0),e.isZeroCommit=!!e.hash.match(/^0*$/)}function Wg(e){return!e||Object.keys(e).length===0}function mT(e){return e.length>0&&e[0].trim()===e[0]}function gT(e){let t=e.startsWith("<")?e.substring(1):e;return t.endsWith(">")?t.substring(0,t.length-1):t}g();var QT=require("@codemirror/state");g();var OT=require("@codemirror/state"),Zf=require("obsidian");g();var Yg=class{constructor(){this.eventsPerFilepath=new Map;this.startRemoveStalesSubscribersInterval()}ifFilepathDefinedTransformSubscribers(t,r){if(t)return this.ensureInitialized(t),r(this.eventsPerFilepath.get(t))}forEachSubscriber(t){this.eventsPerFilepath.forEach(r=>r.forEach(t))}ensureInitialized(t){this.eventsPerFilepath.get(t)||this.eventsPerFilepath.set(t,new Set)}startRemoveStalesSubscribersInterval(){this.removeStalesSubscribersTimer=window.setInterval(()=>this==null?void 0:this.forEachSubscriber(t=>t==null?void 0:t.removeIfStale()),6e4)}clear(){window.clearInterval(this.removeStalesSubscribersTimer),this.eventsPerFilepath.clear()}},qs=new Yg;g();var qf=require("@codemirror/state"),TT=Ze(Xg());g();var B=require("obsidian");g();g();function rn(){}rn.prototype={diff:function(t,r){var n,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=i.callback;typeof i=="function"&&(a=i,i={});var s=this;function o(E){return E=s.postProcess(E,i),a?(setTimeout(function(){a(E)},0),!0):E}t=this.castInput(t,i),r=this.castInput(r,i),t=this.removeEmpty(this.tokenize(t,i)),r=this.removeEmpty(this.tokenize(r,i));var c=r.length,l=t.length,u=1,f=c+l;i.maxEditLength!=null&&(f=Math.min(f,i.maxEditLength));var d=(n=i.timeout)!==null&&n!==void 0?n:1/0,h=Date.now()+d,p=[{oldPos:-1,lastComponent:void 0}],m=this.extractCommon(p[0],r,t,0,i);if(p[0].oldPos+1>=l&&m+1>=c)return o(wT(s,p[0].lastComponent,r,t,s.useLongestToken));var v=-1/0,y=1/0;function b(){for(var E=Math.max(v,-u);E<=Math.min(y,u);E+=2){var _=void 0,k=p[E-1],w=p[E+1];k&&(p[E-1]=void 0);var A=!1;if(w){var S=w.oldPos-E;A=w&&0<=S&&S=l&&m+1>=c)return o(wT(s,_.lastComponent,r,t,s.useLongestToken));p[E]=_,_.oldPos+1>=l&&(y=Math.min(y,E-1)),m+1>=c&&(v=Math.max(v,E+1))}u++}if(a)(function E(){setTimeout(function(){if(u>f||Date.now()>h)return a();b()||E()},0)})();else for(;u<=f&&Date.now()<=h;){var x=b();if(x)return x}},addToPath:function(t,r,n,i,a){var s=t.lastComponent;return s&&!a.oneChangePerToken&&s.added===r&&s.removed===n?{oldPos:t.oldPos+i,lastComponent:{count:s.count+1,added:r,removed:n,previousComponent:s.previousComponent}}:{oldPos:t.oldPos+i,lastComponent:{count:1,added:r,removed:n,previousComponent:s}}},extractCommon:function(t,r,n,i,a){for(var s=r.length,o=n.length,c=t.oldPos,l=c-i,u=0;l+1h.length?m:h}),f.value=e.join(d)}else f.value=e.join(r.slice(l,l+f.count));l+=f.count,f.added||(u+=f.count)}}return a}var ZW=new rn;function bT(e,t){var r;for(r=0;rt.length&&(r=e.length-t.length);var n=t.length;e.length0&&t[s]!=t[a];)a=i[a];t[s]==t[a]&&a++}a=0;for(var o=r;o0&&e[o]!=t[a];)a=i[a];e[o]==t[a]&&a++}return a}var jf="a-zA-Z0-9_\\u{C0}-\\u{FF}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}",Fj=new RegExp("[".concat(jf,"]+|\\s+|[^").concat(jf,"]"),"ug"),Hf=new rn;Hf.equals=function(e,t,r){return r.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e.trim()===t.trim()};Hf.tokenize=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r;if(t.intlSegmenter){if(t.intlSegmenter.resolvedOptions().granularity!="word")throw new Error('The segmenter passed must have a granularity of "word"');r=Array.from(t.intlSegmenter.segment(e),function(a){return a.segment})}else r=e.match(Fj)||[];var n=[],i=null;return r.forEach(function(a){/\s/.test(a)?i==null?n.push(a):n.push(n.pop()+a):/\s/.test(i)?n[n.length-1]==i?n.push(n.pop()+a):n.push(i+a):n.push(a),i=a}),n};Hf.join=function(e){return e.map(function(t,r){return r==0?t:t.replace(/^\s+/,"")}).join("")};Hf.postProcess=function(e,t){if(!e||t.oneChangePerToken)return e;var r=null,n=null,i=null;return e.forEach(function(a){a.added?n=a:a.removed?i=a:((n||i)&&ST(r,i,n,a),r=a,n=null,i=null)}),(n||i)&&ST(r,i,n,null),e};function ST(e,t,r,n){if(t&&r){var i=t.value.match(/^\s*/)[0],a=t.value.match(/\s*$/)[0],s=r.value.match(/^\s*/)[0],o=r.value.match(/\s*$/)[0];if(e){var c=bT(i,s);e.value=Jg(e.value,s,c),t.value=ql(t.value,c),r.value=ql(r.value,c)}if(n){var l=_T(a,o);n.value=Kg(n.value,o,l),t.value=Nf(t.value,l),r.value=Nf(r.value,l)}}else if(r)e&&(r.value=r.value.replace(/^\s*/,"")),n&&(n.value=n.value.replace(/^\s*/,""));else if(e&&n){var u=n.value.match(/^\s*/)[0],f=t.value.match(/^\s*/)[0],d=t.value.match(/\s*$/)[0],h=bT(u,f);t.value=ql(t.value,h);var p=_T(ql(u,h),d);t.value=Nf(t.value,p),n.value=Kg(n.value,u,p),e.value=Jg(e.value,u,u.slice(0,u.length-p.length))}else if(n){var m=n.value.match(/^\s*/)[0],v=t.value.match(/\s*$/)[0],y=xT(v,m);t.value=Nf(t.value,y)}else if(e){var b=e.value.match(/\s*$/)[0],x=t.value.match(/^\s*/)[0],E=xT(b,x);t.value=ql(t.value,E)}}var $j=new rn;$j.tokenize=function(e){var t=new RegExp("(\\r?\\n)|[".concat(jf,"]+|[^\\S\\n\\r]+|[^").concat(jf,"]"),"ug");return e.match(t)||[]};var Uf=new rn;Uf.tokenize=function(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,` -`));var r=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(var i=0;ie.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?f(O.lines.slice(-s.context)):[],h-=m.length,p-=m.length)}(P=m).push.apply(P,Zg(T.map(function(ee){return(S.added?"+":"-")+ee}))),S.added?y+=T.length:v+=T.length}else{if(h)if(T.length<=s.context*2&&x(0,Fi.normalizePath)(a.substring(t.length))):i=n,i}async mkdir(t){return this.adapter.mkdir(t)}async rmdir(t,r){var n,i;return this.adapter.rmdir(t,(i=(n=r==null?void 0:r.options)==null?void 0:n.recursive)!=null?i:!1)}async stat(t){if(t.endsWith(this.gitDir+"/index")){if(this.index!==void 0&&this.indexctime!=null&&this.indexmtime!=null)return{isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1,size:this.index.length,type:"file",ctimeMs:this.indexctime,mtimeMs:this.indexmtime};{let n=await this.adapter.stat(t);if(n==null)throw{code:"ENOENT"};return this.indexctime=n.ctime,this.indexmtime=n.mtime,{ctimeMs:n.ctime,mtimeMs:n.mtime,size:n.size,type:"file",isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1}}}t==="."&&(t="/");let r=this.vault.getAbstractFileByPath(t);if(this.maybeLog("Stat: "+t),r instanceof Fi.TFile)return this.maybeLog("Reuse stat"),{ctimeMs:r.stat.ctime,mtimeMs:r.stat.mtime,size:r.stat.size,type:"file",isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1};{let n=await this.adapter.stat(t);if(n)return{ctimeMs:n.ctime,mtimeMs:n.mtime,size:n.size,type:n.type==="folder"?"directory":n.type,isFile:()=>n.type==="file",isDirectory:()=>n.type==="folder",isSymbolicLink:()=>!1};throw{code:"ENOENT"}}}async unlink(t){return this.adapter.remove(t)}async lstat(t){return this.stat(t)}async readlink(t){throw new Error(`readlink of (${t}) is not implemented.`)}async symlink(t){throw new Error(`symlink of (${t}) is not implemented.`)}async saveAndClear(){this.index!==void 0&&await this.adapter.writeBinary(this.plugin.gitManager.getRelativeVaultPath(this.gitDir+"/index"),this.index,{ctime:this.indexctime,mtime:this.indexmtime}),this.clearIndex()}clearIndex(){this.index=void 0,this.indexctime=void 0,this.indexmtime=void 0}get gitDir(){return this.plugin.settings.gitDir||".git"}maybeLog(t){}};var nn=class extends Ws{constructor(r){super(r);this.FILE=0;this.HEAD=1;this.WORKDIR=2;this.STAGE=3;this.status_mapping={"000":" ","003":"AD","020":"??","022":"A ","023":"AM",100:"D ",101:" D",103:"MD",110:"DA",111:" ",113:"MM",120:"DA",121:" M",122:"M ",123:"MM"};this.noticeLength=999999;this.fs=new zf(this.app.vault,this.plugin)}getRepo(){return{fs:this.fs,dir:this.plugin.settings.basePath,gitdir:this.plugin.settings.gitDir||void 0,onAuth:()=>{var r,n;return{username:(r=this.plugin.localStorage.getUsername())!=null?r:void 0,password:(n=this.plugin.localStorage.getPassword())!=null?n:void 0}},onAuthFailure:async()=>{new ba.Notice("Authentication failed. Please try with different credentials");let r=await new Fe(this.plugin,{placeholder:"Specify your username"}).openAndGetResult();if(r){let n=await new Fe(this.plugin,{placeholder:"Specify your password/personal access token"}).openAndGetResult();if(n)return this.plugin.localStorage.setUsername(r),this.plugin.localStorage.setPassword(n),{username:r,password:n}}return{cancel:!0}},http:{async request({url:r,method:n,headers:i,body:a}){let s;a&&(s=(await Zj(a)).buffer);let o=await(0,ba.requestUrl)({url:r,method:n,headers:i,body:s,throw:!1});return{url:r,method:n,headers:o.headers,body:[new Uint8Array(o.arrayBuffer)],statusCode:o.status,statusMessage:o.status.toString()}}}}}async wrapFS(r){try{let n=await r;return await this.fs.saveAndClear(),n}catch(n){throw await this.fs.saveAndClear(),n}}async status(){let r,n=window.setTimeout(()=>{r=new ba.Notice("This takes longer: Getting status",this.noticeLength)},2e4);try{this.plugin.setPluginState({gitAction:1});let i=(await this.wrapFS(ie.statusMatrix({...this.getRepo()}))).map(c=>this.getFileStatusResult(c)),a=i.filter(c=>c.workingDir!==" "),s=i.filter(c=>c.index!==" "&&c.index!=="U"),o=[];return window.clearTimeout(n),r==null||r.hide(),{all:i,changed:a,staged:s,conflicted:o}}catch(i){throw window.clearTimeout(n),r==null||r.hide(),this.plugin.displayError(i),i}}async commitAll({message:r,status:n,unstagedFiles:i}){try{return await this.checkAuthorInfo(),await this.stageAll({status:n,unstagedFiles:i}),this.commit({message:r})}catch(a){throw this.plugin.displayError(a),a}}async commit({message:r}){try{await this.checkAuthorInfo(),this.plugin.setPluginState({gitAction:4});let n=await this.formatCommitMessage(r),i=this.plugin.localStorage.getConflict(),a;if(i){let s=await this.branchInfo();a=[s.current,s.tracking]}await this.wrapFS(ie.commit({...this.getRepo(),message:n,parent:a})),this.plugin.localStorage.setConflict(!1);return}catch(n){throw this.plugin.displayError(n),n}}async stage(r,n){let i=this.getRelativeRepoPath(r,n),a;n?a=r:a=this.getRelativeVaultPath(r);try{this.plugin.setPluginState({gitAction:3}),await this.app.vault.adapter.exists(a)?await this.wrapFS(ie.add({...this.getRepo(),filepath:i})):await this.wrapFS(ie.remove({...this.getRepo(),filepath:i}))}catch(s){throw this.plugin.displayError(s),s}}async stageAll({dir:r,status:n,unstagedFiles:i}){try{if(n)await Promise.all(n.changed.map(a=>a.workingDir!=="D"?this.wrapFS(ie.add({...this.getRepo(),filepath:a.path})):ie.remove({...this.getRepo(),filepath:a.path})));else{let a=i!=null?i:await this.getUnstagedFiles(r!=null?r:".");await Promise.all(a.map(({path:s,deleted:o})=>o?ie.remove({...this.getRepo(),filepath:s}):this.wrapFS(ie.add({...this.getRepo(),filepath:s}))))}}catch(a){throw this.plugin.displayError(a),a}}async unstage(r,n){try{this.plugin.setPluginState({gitAction:3}),r=this.getRelativeRepoPath(r,n),await this.wrapFS(ie.resetIndex({...this.getRepo(),filepath:r}))}catch(i){throw this.plugin.displayError(i),i}}async unstageAll({dir:r,status:n}){try{let i;n?i=n.staged.map(a=>a.path):i=(await this.getStagedFiles(r!=null?r:".")).map(({path:s})=>s),await this.wrapFS(Promise.all(i.map(a=>ie.resetIndex({...this.getRepo(),filepath:a}))))}catch(i){throw this.plugin.displayError(i),i}}async discard(r){try{this.plugin.setPluginState({gitAction:3}),await this.wrapFS(ie.checkout({...this.getRepo(),filepaths:[r],force:!0}))}catch(n){throw this.plugin.displayError(n),n}}async discardAll({dir:r,status:n}){let i=[];n?r!=null?i=n.changed.filter(a=>a.path.startsWith(r)).map(a=>a.path):i=n.changed.map(a=>a.path):i=(await this.getUnstagedFiles(r)).map(({path:a})=>a);try{await this.wrapFS(ie.checkout({...this.getRepo(),filepaths:i,force:!0}))}catch(a){throw this.plugin.displayError(a),a}}getProgressText(r,n){let i=`${r} progress:`;return n.phase&&(i=`${i} ${n.phase}:`),n.loaded&&(i=`${i} ${n.loaded}`,n.total&&(i=`${i} of ${n.total}`)),i}resolveRef(r){return this.wrapFS(ie.resolveRef({...this.getRepo(),ref:r}))}async pull(){let r=this.showNotice("Initializing pull");try{this.plugin.setPluginState({gitAction:2});let n=await this.resolveRef("HEAD");await this.fetch();let i=await this.branchInfo();await this.checkAuthorInfo(),(await this.wrapFS(ie.merge({...this.getRepo(),ours:i.current,theirs:i.tracking,abortOnConflict:!1}))).alreadyMerged||await this.wrapFS(ie.checkout({...this.getRepo(),ref:i.current,onProgress:c=>{r!==void 0&&(r.noticeEl.innerText=this.getProgressText("Checkout",c))},remote:i.remote})),r==null||r.hide();let s=await this.resolveRef("HEAD"),o=await this.getFileChangesCount(n,s);return this.showNotice("Finished pull",!1),o.map(c=>({path:c.path,workingDir:"P",index:"P",vaultPath:this.getRelativeVaultPath(c.path)}))}catch(n){throw r==null||r.hide(),n instanceof gl.MergeConflictError&&await this.plugin.handleConflict(n.data.filepaths.map(i=>this.getRelativeVaultPath(i))),this.plugin.displayError(n),n}}async push(){if(!await this.canPush())return 0;let r=this.showNotice("Initializing push");try{this.plugin.setPluginState({gitAction:1});let n=await this.branchInfo(),i=n.tracking,a=n.current,s=(await this.getFileChangesCount(a,i)).length;return this.plugin.setPluginState({gitAction:5}),await this.wrapFS(ie.push({...this.getRepo(),onProgress:o=>{r!==void 0&&(r.noticeEl.innerText=this.getProgressText("Pushing",o))}})),r==null||r.hide(),s}catch(n){throw r==null||r.hide(),this.plugin.displayError(n),n}}async getUnpushedCommits(){let r=await this.branchInfo(),n=r.tracking,i=r.current;if(n==null||i==null)return 0;let a=await this.resolveRef(i),s=await this.resolveRef(n);return(await this.getFileChangesCount(a,s)).length}async canPush(){let r=await this.branchInfo(),n=r.tracking,i=r.current,a=await this.resolveRef(i),s=await this.resolveRef(n);return a!=s}async checkRequirements(){return await this.plugin.app.vault.adapter.exists(`${this.getRepo().dir}/.git/HEAD`)?"valid":"missing-repo"}async branchInfo(){var r,n;try{let i=await ie.currentBranch(this.getRepo())||"",a=await ie.listBranches(this.getRepo()),s=(r=await this.getConfig(`branch.${i}.remote`))!=null?r:"origin",o=(n=await this.getConfig(`branch.${i}.merge`))==null?void 0:n.split("refs/heads")[1],c=o?s+o:void 0;return{current:i,tracking:c,branches:a,remote:s}}catch(i){throw this.plugin.displayError(i),i}}async getCurrentRemote(){var i;let r=await ie.currentBranch(this.getRepo())||"";return(i=await this.getConfig(`branch.${r}.remote`))!=null?i:"origin"}async checkout(r,n){try{return this.wrapFS(ie.checkout({...this.getRepo(),ref:r,force:!!n,remote:n}))}catch(i){throw this.plugin.displayError(i),i}}async createBranch(r){try{await this.wrapFS(ie.branch({...this.getRepo(),ref:r,checkout:!0}))}catch(n){throw this.plugin.displayError(n),n}}async deleteBranch(r){try{await this.wrapFS(ie.deleteBranch({...this.getRepo(),ref:r}))}catch(n){throw this.plugin.displayError(n),n}}branchIsMerged(r){return Promise.resolve(!0)}async init(){try{await this.wrapFS(ie.init(this.getRepo()))}catch(r){throw this.plugin.displayError(r),r}}async clone(r,n,i){let a=this.showNotice("Initializing clone");try{await this.wrapFS(ie.clone({...this.getRepo(),dir:n,url:r,depth:i,onProgress:s=>{a!==void 0&&(a.noticeEl.innerText=this.getProgressText("Cloning",s))}})),a==null||a.hide()}catch(s){throw a==null||a.hide(),this.plugin.displayError(s),s}}async setConfig(r,n){try{return this.wrapFS(ie.setConfig({...this.getRepo(),path:r,value:n}))}catch(i){throw this.plugin.displayError(i),i}}async getConfig(r){try{return this.wrapFS(ie.getConfig({...this.getRepo(),path:r}))}catch(n){throw this.plugin.displayError(n),n}}async fetch(r){let n=this.showNotice("Initializing fetch");try{let i={...this.getRepo(),onProgress:a=>{n!==void 0&&(n.noticeEl.innerText=this.getProgressText("Fetching",a))},remote:r!=null?r:await this.getCurrentRemote()};await this.wrapFS(ie.fetch(i)),n==null||n.hide()}catch(i){throw this.plugin.displayError(i),n==null||n.hide(),i}}async setRemote(r,n){try{await this.wrapFS(ie.addRemote({...this.getRepo(),remote:r,url:n,force:!0}))}catch(i){throw this.plugin.displayError(i),i}}async getRemoteBranches(r){let n=[];return n.push(...await this.wrapFS(ie.listBranches({...this.getRepo(),remote:r}))),n.remove("HEAD"),n=n.map(i=>`${r}/${i}`),n}async getRemotes(){return(await this.wrapFS(ie.listRemotes({...this.getRepo()}))).map(r=>r.remote)}async removeRemote(r){await this.wrapFS(ie.deleteRemote({...this.getRepo(),remote:r}))}async getRemoteUrl(r){var n;return(n=(await this.wrapFS(ie.listRemotes({...this.getRepo()}))).filter(i=>i.remote==r)[0])==null?void 0:n.url}async log(r,n=!0,i,a){let s=await this.wrapFS(ie.log({...this.getRepo(),depth:i,ref:a}));return Promise.all(s.map(async o=>{let c=o.commit.message.split(` - -`);return{message:c[0],author:{name:o.commit.author.name,email:o.commit.author.email},body:c.slice(1).join(` - -`),date:new Date(o.commit.committer.timestamp).toDateString(),diff:{changed:0,files:(await this.getFileChangesCount(o.commit.parent.first(),o.oid)).map(l=>({path:l.path,status:l.type,vaultPath:this.getRelativeVaultPath(l.path),hash:o.oid}))},hash:o.oid,refs:[]}}))}updateBasePath(r){return this.getRepo().dir=r,Promise.resolve()}async updateUpstreamBranch(r){let[n,i]=Ii(r),a=await this.branchInfo();await this.wrapFS(ie.push({...this.getRepo(),remote:n,remoteRef:i})),await this.setConfig(`branch.${a.current}.merge`,`refs/heads/${i}`)}updateGitPath(r){return Promise.resolve()}async getFileChangesCount(r,n){return this.walkDifference({walkers:[ie.TREE({ref:r}),ie.TREE({ref:n})]})}async walkDifference({walkers:r,dir:n}){return await this.wrapFS(ie.walk({...this.getRepo(),trees:r,map:async function(a,[s,o]){if(!Gg(a,n))return null;if(await(s==null?void 0:s.type())==="tree"||await(o==null?void 0:o.type())==="tree")return;let c=await(s==null?void 0:s.oid()),l=await(o==null?void 0:o.oid()),u="equal";if(c!==l&&(u="M"),c===void 0&&(u="A"),l===void 0&&(u="D"),c===void 0&&l===void 0&&(console.log("Something weird happened:"),console.log(s),console.log(o)),u!=="equal")return{path:a,type:u}}}))}async getStagedFiles(r="."){return(await this.walkDifference({walkers:[ie.TREE({ref:"HEAD"}),ie.STAGE()],dir:r})).map(i=>({vaultPath:this.getRelativeVaultPath(i.path),path:i.path}))}async getUnstagedFiles(r="."){let n,i=window.setTimeout(()=>{n=new ba.Notice("This takes longer: Getting status",this.noticeLength)},2e4);try{let a=this.getRepo(),s=await this.wrapFS(ie.walk({...a,trees:[ie.WORKDIR(),ie.STAGE()],map:async function(o,[c,l]){if(!l&&c&&await ie.isIgnored({...a,filepath:o})||!Gg(o,r))return null;let[u,f]=await Promise.all([c&&c.type(),l&&l.type()]),d=[u,f].includes("blob");if((u==="tree"||u==="special")&&!d)return;if(f==="commit")return null;if((f==="tree"||f==="special")&&!d)return;let h=f==="blob"?await l.oid():void 0,p;return u==="blob"&&f!=="blob"?p="42":u==="blob"&&(p=await c.oid()),p?p!==h?{path:o,deleted:!1}:null:{path:o,deleted:!0}}}));return window.clearTimeout(i),n==null||n.hide(),s}catch(a){throw window.clearTimeout(i),n==null||n.hide(),this.plugin.displayError(a),a}}async getDiffString(r,n=!1,i){let a=this.getRelativeVaultPath(r),s=async(l,[u])=>{if(r==l){let f=await u.oid();return(await ie.readBlob({...this.getRepo(),oid:f})).blob}};if(i){let l=await wl({...this.getRepo(),filepath:r,oid:i}).then(h=>new TextDecoder().decode(h.blob)).catch(h=>{if(!(h instanceof ie.Errors.NotFoundError))throw h}),u=await ie.readCommit({...this.getRepo(),oid:i}),f=await wl({...this.getRepo(),filepath:r,oid:u.commit.parent.first()}).then(h=>new TextDecoder().decode(h.blob)).catch(h=>{if(!(h instanceof ie.Errors.NotFoundError))throw h});return Gf(a,f!=null?f:"",l!=null?l:"")}let o=(await ie.walk({...this.getRepo(),trees:[ie.STAGE()],map:s})).first(),c=new TextDecoder().decode(o);if(n){let l=await this.resolveRef("HEAD").then(f=>wl({...this.getRepo(),filepath:r,oid:f})).then(f=>new TextDecoder().decode(f.blob)).catch(f=>{if(!(f instanceof ie.Errors.NotFoundError))throw f});return Gf(a,l!=null?l:"",c)}else{let l;return await this.app.vault.adapter.exists(a)?l=await this.app.vault.adapter.read(a):l="",Gf(a,c,l)}}async getLastCommitTime(){let r=this.getRepo(),n=await this.resolveRef("HEAD"),a=(await ie.readCommit({...r,oid:n})).commit.committer.timestamp;return new Date(a*1e3)}getFileStatusResult(r){let n=this.status_mapping[`${r[this.HEAD]}${r[this.WORKDIR]}${r[this.STAGE]}`];return{index:n[0]=="?"?"U":n[0],workingDir:n[1]=="?"?"U":n[1],path:r[this.FILE],vaultPath:this.getRelativeVaultPath(r[this.FILE])}}async checkAuthorInfo(){let r=await this.getConfig("user.name"),n=await this.getConfig("user.email");if(!r||!n)throw Error("Git author name and email are not set. Please set both fields in the settings.")}showNotice(r,n=!0){if(!this.plugin.settings.disablePopups)return new ba.Notice(r,n?this.noticeLength:void 0)}};function qj(e){let t=[e];return{next(){return Promise.resolve({done:t.length===0,value:t.pop()})},return(){return t=[],{}},[Symbol.asyncIterator](){return this}}}function Yj(e){return e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]?e[Symbol.iterator]():e.next?e:qj(e)}async function Xj(e,t){let r=Yj(e);for(;;){let{value:n,done:i}=await r.next();if(n&&await t(n),i)break}r.return&&r.return()}async function Zj(e){let t=0,r=[];await Xj(e,a=>{r.push(a),t+=a.byteLength});let n=new Uint8Array(t),i=0;for(let a of r)n.set(a,i),i+=a.byteLength;return n}var Kj="https://momentjs.com/docs/#/parsing/string-format/",Jj="https://publish.obsidian.md/git-doc/Line+Authoring",Vf=class extends B.PluginSettingTab{constructor(r,n){super(r,n);this.plugin=n;this.lineAuthorColorSettings=new Map}get settings(){return this.plugin.settings}display(){let{containerEl:r}=this,n=this.plugin,i;n.settings.differentIntervalCommitAndPush?i="commit":i="commit-and-sync";let a=n.gitReady;r.empty(),a||(r.createEl("p",{text:"Git is not ready. When all settings are correct you can configure commit-sync, etc."}),r.createEl("br"));let s;if(a){new B.Setting(r).setName("Automatic").setHeading(),new B.Setting(r).setName("Split timers for automatic commit and sync").setDesc("Enable to use one interval for commit and another for sync.").addToggle(u=>u.setValue(n.settings.differentIntervalCommitAndPush).onChange(async f=>{n.settings.differentIntervalCommitAndPush=f,await n.saveSettings(),n.automaticsManager.reload("commit","push"),this.display()})),new B.Setting(r).setName(`Auto ${i} interval (minutes)`).setDesc(`${n.settings.differentIntervalCommitAndPush?"Commit":"Commit and sync"} changes every X minutes. Set to 0 (default) to disable. (See below setting for further configuration!)`).addText(u=>u.setValue(String(n.settings.autoSaveInterval)).onChange(async f=>{isNaN(Number(f))?new B.Notice("Please specify a valid number."):(n.settings.autoSaveInterval=Number(f),await n.saveSettings(),n.automaticsManager.reload("commit"),n.settings.autoSaveInterval>0?new B.Notice(`Automatic ${i} enabled! Every ${Vl(n.settings.autoSaveInterval)}.`):n.settings.autoSaveInterval<=0&&new B.Notice(`Automatic ${i} disabled!`))})),s=new B.Setting(r).setName(`Auto ${i} after stopping file edits`).setDesc(`Requires the ${i} interval not to be 0. - If turned on, do auto ${i} every ${Vl(n.settings.autoSaveInterval)} after stopping file edits. - This also prevents auto ${i} while editing a file. If turned off, it's independent from the last file edit.`).addToggle(u=>u.setValue(n.settings.autoBackupAfterFileChange).onChange(async f=>{n.settings.autoBackupAfterFileChange=f,this.display(),await n.saveSettings(),n.automaticsManager.reload("commit")})),this.mayDisableSetting(s,n.settings.setLastSaveToLastCommit),s=new B.Setting(r).setName(`Auto ${i} after latest commit`).setDesc(`If turned on, sets last auto ${i} timestamp to the latest commit timestamp. This reduces the frequency of auto ${i} when doing manual commits.`).addToggle(u=>u.setValue(n.settings.setLastSaveToLastCommit).onChange(async f=>{n.settings.setLastSaveToLastCommit=f,await n.saveSettings(),n.automaticsManager.reload("commit"),this.display()})),this.mayDisableSetting(s,n.settings.autoBackupAfterFileChange),s=new B.Setting(r).setName("Auto push interval (minutes)").setDesc("Push commits every X minutes. Set to 0 (default) to disable.").addText(u=>u.setValue(String(n.settings.autoPushInterval)).onChange(async f=>{isNaN(Number(f))?new B.Notice("Please specify a valid number."):(n.settings.autoPushInterval=Number(f),await n.saveSettings(),n.automaticsManager.reload("push"),n.settings.autoPushInterval>0?new B.Notice(`Automatic push enabled! Every ${Vl(n.settings.autoPushInterval)}.`):n.settings.autoPushInterval<=0&&new B.Notice("Automatic push disabled!"))})),this.mayDisableSetting(s,!n.settings.differentIntervalCommitAndPush),new B.Setting(r).setName("Auto pull interval (minutes)").setDesc("Pull changes every X minutes. Set to 0 (default) to disable.").addText(u=>u.setValue(String(n.settings.autoPullInterval)).onChange(async f=>{isNaN(Number(f))?new B.Notice("Please specify a valid number."):(n.settings.autoPullInterval=Number(f),await n.saveSettings(),n.automaticsManager.reload("pull"),n.settings.autoPullInterval>0?new B.Notice(`Automatic pull enabled! Every ${Vl(n.settings.autoPullInterval)}.`):n.settings.autoPullInterval<=0&&new B.Notice("Automatic pull disabled!"))})),new B.Setting(r).setName(`Specify custom commit message on auto ${i}`).setDesc("You will get a pop up to specify your message.").addToggle(u=>u.setValue(n.settings.customMessageOnAutoBackup).onChange(async f=>{n.settings.customMessageOnAutoBackup=f,await n.saveSettings(),this.display()})),s=new B.Setting(r).setName(`Commit message on auto ${i}`).setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below), {{numFiles}} (number of changed files in the commit) and {{files}} (changed files in commit message).").addTextArea(u=>u.setPlaceholder("vault backup: {{date}}").setValue(n.settings.autoCommitMessage).onChange(async f=>{n.settings.autoCommitMessage=f,await n.saveSettings()})),this.mayDisableSetting(s,n.settings.customMessageOnAutoBackup),new B.Setting(r).setName("Commit message").setHeading(),new B.Setting(r).setName("Commit message on manual commit").setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below), {{numFiles}} (number of changed files in the commit) and {{files}} (changed files in commit message).").addTextArea(u=>u.setPlaceholder("vault backup: {{date}}").setValue(n.settings.commitMessage?n.settings.commitMessage:"").onChange(async f=>{n.settings.commitMessage=f,await n.saveSettings()}));let l=new B.Setting(r).setName("{{date}} placeholder format").addMomentFormat(u=>u.setDefaultFormat(n.settings.commitDateFormat).setValue(n.settings.commitDateFormat).onChange(async f=>{n.settings.commitDateFormat=f,await n.saveSettings()}));l.descEl.innerHTML=` - Specify custom date format. E.g. "${xm}. See Moment.js for more formats.`,new B.Setting(r).setName("{{hostname}} placeholder replacement").setDesc("Specify custom hostname for every device.").addText(u=>{var f;return u.setValue((f=n.localStorage.getHostname())!=null?f:"").onChange(d=>{n.localStorage.setHostname(d)})}),new B.Setting(r).setName("Preview commit message").addButton(u=>u.setButtonText("Preview").onClick(async()=>{let f=await n.gitManager.formatCommitMessage(n.settings.commitMessage);new B.Notice(`${f}`)})),new B.Setting(r).setName("List filenames affected by commit in the commit body").addToggle(u=>u.setValue(n.settings.listChangedFilesInMessageBody).onChange(async f=>{n.settings.listChangedFilesInMessageBody=f,await n.saveSettings()})),new B.Setting(r).setName("Pull").setHeading(),n.gitManager instanceof Te&&new B.Setting(r).setName("Merge strategy").setDesc("Decide how to integrate commits from your remote branch into your local branch.").addDropdown(u=>{let f={merge:"Merge",rebase:"Rebase",reset:"Other sync service (Only updates the HEAD without touching the working directory)"};u.addOptions(f),u.setValue(n.settings.syncMethod),u.onChange(async d=>{n.settings.syncMethod=d,await n.saveSettings()})}),new B.Setting(r).setName("Pull on startup").setDesc("Automatically pull commits when Obsidian starts.").addToggle(u=>u.setValue(n.settings.autoPullOnBoot).onChange(async f=>{n.settings.autoPullOnBoot=f,await n.saveSettings()})),new B.Setting(r).setName("Commit-and-sync").setDesc("Commit-and-sync with default settings means staging everything -> committing -> pulling -> pushing. Ideally this is a single action that you do regularly to keep your local and remote repository in sync.").setHeading(),s=new B.Setting(r).setName("Push on commit-and-sync").setDesc(`Most of the time you want to push after committing. Turning this off turns a commit-and-sync action into commit ${n.settings.pullBeforePush?"and pull ":""}only. It will still be called commit-and-sync.`).addToggle(u=>u.setValue(!n.settings.disablePush).onChange(async f=>{n.settings.disablePush=!f,this.display(),await n.saveSettings()})),new B.Setting(r).setName("Pull on commit-and-sync").setDesc(`On commit-and-sync, pull commits as well. Turning this off turns a commit-and-sync action into commit ${n.settings.disablePush?"":"and push "}only.`).addToggle(u=>u.setValue(n.settings.pullBeforePush).onChange(async f=>{n.settings.pullBeforePush=f,this.display(),await n.saveSettings()})),n.gitManager instanceof Te&&(new B.Setting(r).setName("Line author information").setHeading(),this.addLineAuthorInfoSettings())}new B.Setting(r).setName("History view").setHeading(),new B.Setting(r).setName("Show Author").setDesc("Show the author of the commit in the history view.").addDropdown(l=>{let u={hide:"Hide",full:"Full",initials:"Initials"};l.addOptions(u),l.setValue(n.settings.authorInHistoryView),l.onChange(async f=>{n.settings.authorInHistoryView=f,await n.saveSettings(),await n.refresh()})}),new B.Setting(r).setName("Show Date").setDesc("Show the date of the commit in the history view. The {{date}} placeholder format is used to display the date.").addToggle(l=>l.setValue(n.settings.dateInHistoryView).onChange(async u=>{n.settings.dateInHistoryView=u,await n.saveSettings(),await n.refresh()})),new B.Setting(r).setName("Source control view").setHeading(),new B.Setting(r).setName("Automatically refresh source control view on file changes").setDesc("On slower machines this may cause lags. If so, just disable this option.").addToggle(l=>l.setValue(n.settings.refreshSourceControl).onChange(async u=>{n.settings.refreshSourceControl=u,await n.saveSettings()})),new B.Setting(r).setName("Source control view refresh interval").setDesc("Milliseconds to wait after file change before refreshing the Source Control View.").addText(l=>l.setValue(n.settings.refreshSourceControlTimer.toString()).setPlaceholder("7000").onChange(async u=>{n.settings.refreshSourceControlTimer=Math.max(parseInt(u),500),await n.saveSettings(),n.setRefreshDebouncer()})),new B.Setting(r).setName("Miscellaneous").setHeading(),n.gitManager instanceof Te&&new B.Setting(r).setName("Diff view style").setDesc('Set the style for the diff view. Note that the actual diff in "Split" mode is not generated by Git, but the editor itself instead so it may differ from the diff generated by Git. One advantage of this is that you can edit the text in that view.').addDropdown(l=>{let u={split:"Split",git_unified:"Unified"};l.addOptions(u),l.setValue(n.settings.diffStyle),l.onChange(async f=>{n.settings.diffStyle=f,await n.saveSettings()})}),new B.Setting(r).setName("Disable notifications").setDesc("Disable notifications for git operations to minimize distraction (refer to status bar for updates). Errors are still shown as notifications even if you enable this setting.").addToggle(l=>l.setValue(n.settings.disablePopups).onChange(async u=>{n.settings.disablePopups=u,this.display(),await n.saveSettings()})),n.settings.disablePopups||new B.Setting(r).setName("Hide notifications for no changes").setDesc("Don't show notifications when there are no changes to commit or push.").addToggle(l=>l.setValue(n.settings.disablePopupsForNoChanges).onChange(async u=>{n.settings.disablePopupsForNoChanges=u,await n.saveSettings()})),new B.Setting(r).setName("Show status bar").setDesc("Obsidian must be restarted for the changes to take affect.").addToggle(l=>l.setValue(n.settings.showStatusBar).onChange(async u=>{n.settings.showStatusBar=u,await n.saveSettings()})),new B.Setting(r).setName("Show stage/unstage button in file menu").addToggle(l=>l.setValue(n.settings.showFileMenu).onChange(async u=>{n.settings.showFileMenu=u,await n.saveSettings()})),new B.Setting(r).setName("Show branch status bar").setDesc("Obsidian must be restarted for the changes to take affect.").addToggle(l=>l.setValue(n.settings.showBranchStatusBar).onChange(async u=>{n.settings.showBranchStatusBar=u,await n.saveSettings()})),new B.Setting(r).setName("Show the count of modified files in the status bar").addToggle(l=>l.setValue(n.settings.changedFilesInStatusBar).onChange(async u=>{n.settings.changedFilesInStatusBar=u,await n.saveSettings()})),n.gitManager instanceof nn?new B.Setting(r).setName("Authentication/commit author").setHeading():new B.Setting(r).setName("Commit author").setHeading(),n.gitManager instanceof nn&&new B.Setting(r).setName("Username on your git server. E.g. your username on GitHub").addText(l=>{var u;l.setValue((u=n.localStorage.getUsername())!=null?u:""),l.onChange(f=>{n.localStorage.setUsername(f)})}),n.gitManager instanceof nn&&new B.Setting(r).setName("Password/Personal access token").setDesc("Type in your password. You won't be able to see it again.").addText(l=>{l.inputEl.autocapitalize="off",l.inputEl.autocomplete="off",l.inputEl.spellcheck=!1,l.onChange(u=>{n.localStorage.setPassword(u)})}),n.gitReady&&new B.Setting(r).setName("Author name for commit").addText(async l=>{var u;l.setValue((u=await n.gitManager.getConfig("user.name"))!=null?u:""),l.onChange(async f=>{await n.gitManager.setConfig("user.name",f==""?void 0:f)})}),n.gitReady&&new B.Setting(r).setName("Author email for commit").addText(async l=>{var u;l.setValue((u=await n.gitManager.getConfig("user.email"))!=null?u:""),l.onChange(async f=>{await n.gitManager.setConfig("user.email",f==""?void 0:f)})}),new B.Setting(r).setName("Advanced").setDesc("These settings usually don't need to be changed, but may be requried for special setups.").setHeading(),n.gitManager instanceof Te&&(new B.Setting(r).setName("Update submodules").setDesc('"Commit-and-sync" and "pull" takes care of submodules. Missing features: Conflicted files, count of pulled/pushed/committed files. Tracking branch needs to be set for each submodule.').addToggle(l=>l.setValue(n.settings.updateSubmodules).onChange(async u=>{n.settings.updateSubmodules=u,await n.saveSettings()})),n.settings.updateSubmodules&&new B.Setting(r).setName("Submodule recurse checkout/switch").setDesc("Whenever a checkout happens on the root repository, recurse the checkout on the submodules (if the branches exist).").addToggle(l=>l.setValue(n.settings.submoduleRecurseCheckout).onChange(async u=>{n.settings.submoduleRecurseCheckout=u,await n.saveSettings()}))),n.gitManager instanceof Te&&new B.Setting(r).setName("Custom Git binary path").addText(l=>{var u;l.setValue((u=n.localStorage.getGitPath())!=null?u:""),l.setPlaceholder("git"),l.onChange(f=>{n.localStorage.setGitPath(f),n.gitManager.updateGitPath(f||"git").catch(d=>n.displayError(d))})}),n.gitManager instanceof Te&&new B.Setting(r).setName("Additional environment variables").setDesc("Use each line for a new environment variable in the format KEY=VALUE .").addTextArea(l=>{l.setPlaceholder("GIT_DIR=/path/to/git/dir"),l.setValue(n.localStorage.getEnvVars().join(` -`)),l.onChange(u=>{n.localStorage.setEnvVars(u.split(` -`))})}),n.gitManager instanceof Te&&new B.Setting(r).setName("Additional PATH environment variable paths").setDesc("Use each line for one path").addTextArea(l=>{l.setValue(n.localStorage.getPATHPaths().join(` -`)),l.onChange(u=>{n.localStorage.setPATHPaths(u.split(` -`))})}),n.gitManager instanceof Te&&new B.Setting(r).setName("Reload with new environment variables").setDesc("Removing previously added environment variables will not take effect until Obsidian is restarted.").addButton(l=>{l.setButtonText("Reload"),l.setCta(),l.onClick(async()=>{await n.gitManager.setGitInstance()})}),new B.Setting(r).setName("Custom base path (Git repository path)").setDesc(` - Sets the relative path to the vault from which the Git binary should be executed. - Mostly used to set the path to the Git repository, which is only required if the Git repository is below the vault root directory. Use "\\" instead of "/" on Windows. - `).addText(l=>{l.setValue(n.settings.basePath),l.setPlaceholder("directory/directory-with-git-repo"),l.onChange(async u=>{n.settings.basePath=u,await n.saveSettings(),n.gitManager.updateBasePath(u||"").catch(f=>n.displayError(f))})}),new B.Setting(r).setName("Custom Git directory path (Instead of '.git')").setDesc('Requires restart of Obsidian to take effect. Use "\\" instead of "/" on Windows.').addText(l=>{l.setValue(n.settings.gitDir),l.setPlaceholder(".git"),l.onChange(async u=>{n.settings.gitDir=u,await n.saveSettings()})}),new B.Setting(r).setName("Disable on this device").setDesc("Disables the plugin on this device. This setting is not synced.").addToggle(l=>l.setValue(n.localStorage.getPluginDisabled()).onChange(u=>{n.localStorage.setPluginDisabled(u),u?n.unloadPlugin():n.init({fromReload:!0}).catch(f=>n.displayError(f)),new B.Notice("Obsidian must be restarted for the changes to take affect.")})),new B.Setting(r).setName("Support").setHeading(),new B.Setting(r).setName("Donate").setDesc("If you like this Plugin, consider donating to support continued development.").addButton(l=>{l.buttonEl.outerHTML="Buy Me a Coffee at ko-fi.com"});let o=r.createDiv();o.setAttr("align","center"),o.setAttr("style","margin: var(--size-4-2)");let c=o.createEl("button");if(c.setText("Copy Debug Information"),c.onclick=async()=>{await window.navigator.clipboard.writeText(JSON.stringify({settings:this.plugin.settings,pluginVersion:this.plugin.manifest.version},null,4)),new B.Notice("Debug information copied to clipboard. May contain sensitive information!")},B.Platform.isDesktopApp){let l=r.createDiv();l.setAttr("align","center"),l.setText(`Debugging and logging: -You can always see the logs of this and every other plugin by opening the console with`);let u=r.createDiv();u.setAttr("align","center"),u.addClass("obsidian-git-shortcuts"),B.Platform.isMacOS===!0?u.createEl("kbd",{text:"CMD (\u2318) + OPTION (\u2325) + I"}):u.createEl("kbd",{text:"CTRL + SHIFT + I"})}}mayDisableSetting(r,n){n&&(r.setDisabled(n),r.setClass("obsidian-git-disabled"))}configureLineAuthorShowStatus(r){this.settings.lineAuthor.show=r,this.plugin.saveSettings(),r?this.plugin.lineAuthoringFeature.activateFeature():this.plugin.lineAuthoringFeature.deactivateFeature()}async lineAuthorSettingHandler(r,n){this.settings.lineAuthor[r]=n,await this.plugin.saveSettings(),this.plugin.lineAuthoringFeature.refreshLineAuthorViews()}beforeSaveSettings(){let r=this.settings.lineAuthor;r.authorDisplay!=="hide"&&(r.lastShownAuthorDisplay=r.authorDisplay),r.dateTimeFormatOptions!=="hide"&&(r.lastShownDateTimeFormatOptions=r.dateTimeFormatOptions)}addLineAuthorInfoSettings(){let r=new B.Setting(this.containerEl).setName("Show commit authoring information next to each line");if(this.plugin.lineAuthoringFeature.isAvailableOnCurrentPlatform()||r.setDesc("Only available on desktop currently.").setDisabled(!0),r.descEl.innerHTML=` - Feature guide and quick examples
- The commit hash, author name and authoring date can all be individually toggled.
Hide everything, to only show the age-colored sidebar.`,r.addToggle(n=>n.setValue(this.settings.lineAuthor.show).onChange(i=>{this.configureLineAuthorShowStatus(i),this.display()})),this.settings.lineAuthor.show){let n=new B.Setting(this.containerEl).setName("Follow movement and copies across files and commits").setDesc("").addDropdown(a=>{a.addOptions({inactive:"Do not follow (default)","same-commit":"Follow within same commit","all-commits":"Follow within all commits (maybe slow)"}),a.setValue(this.settings.lineAuthor.followMovement),a.onChange(s=>this.lineAuthorSettingHandler("followMovement",s))});if(n.descEl.innerHTML=` - By default (deactivated), each line only shows the newest commit where it was changed. -
- With same commit, cut-copy-paste-ing of text is followed within the same commit and the original commit of authoring will be shown. -
- With all commits, cut-copy-paste-ing text inbetween multiple commits will be detected. -
- It uses git-blame and - for matches (at least ${Vu} characters) within the same (or all) commit(s), the originating commit's information is shown.`,new B.Setting(this.containerEl).setName("Show commit hash").addToggle(a=>{a.setValue(this.settings.lineAuthor.showCommitHash),a.onChange(s=>this.lineAuthorSettingHandler("showCommitHash",s))}),new B.Setting(this.containerEl).setName("Author name display").setDesc("If and how the author is displayed").addDropdown(a=>{let s={hide:"Hide",initials:"Initials (default)","first name":"First name","last name":"Last name",full:"Full name"};a.addOptions(s),a.setValue(this.settings.lineAuthor.authorDisplay),a.onChange(async o=>this.lineAuthorSettingHandler("authorDisplay",o))}),new B.Setting(this.containerEl).setName("Authoring date display").setDesc("If and how the date and time of authoring the line is displayed").addDropdown(a=>{let s={hide:"Hide",date:"Date (default)",datetime:"Date and time","natural language":"Natural language",custom:"Custom"};a.addOptions(s),a.setValue(this.settings.lineAuthor.dateTimeFormatOptions),a.onChange(async o=>{await this.lineAuthorSettingHandler("dateTimeFormatOptions",o),this.display()})}),this.settings.lineAuthor.dateTimeFormatOptions==="custom"){let a=new B.Setting(this.containerEl);a.setName("Custom authoring date format").addText(s=>{s.setValue(this.settings.lineAuthor.dateTimeFormatCustomString),s.setPlaceholder("YYYY-MM-DD HH:mm"),s.onChange(async o=>{await this.lineAuthorSettingHandler("dateTimeFormatCustomString",o),a.descEl.innerHTML=this.previewCustomDateTimeDescriptionHtml(o)})}),a.descEl.innerHTML=this.previewCustomDateTimeDescriptionHtml(this.settings.lineAuthor.dateTimeFormatCustomString)}new B.Setting(this.containerEl).setName("Authoring date display timezone").addDropdown(a=>{let s={"viewer-local":"My local (default)","author-local":"Author's local",utc0000:"UTC+0000/Z"};a.addOptions(s),a.setValue(this.settings.lineAuthor.dateTimeTimezone),a.onChange(async o=>this.lineAuthorSettingHandler("dateTimeTimezone",o))}).descEl.innerHTML=` - The time-zone in which the authoring date should be shown. - Either your local time-zone (default), - the author's time-zone during commit creation or - UTC\xB100:00. - `;let i=new B.Setting(this.containerEl).setName("Oldest age in coloring");i.descEl.innerHTML=this.previewOldestAgeDescriptionHtml(this.settings.lineAuthor.coloringMaxAge)[0],i.addText(a=>{a.setPlaceholder("1y"),a.setValue(this.settings.lineAuthor.coloringMaxAge),a.onChange(async s=>{let[o,c]=this.previewOldestAgeDescriptionHtml(s);i.descEl.innerHTML=o,c&&(await this.lineAuthorSettingHandler("coloringMaxAge",s),this.refreshColorSettingsName("oldest"))})}),this.createColorSetting("newest"),this.createColorSetting("oldest"),new B.Setting(this.containerEl).setName("Text color").addText(a=>{a.setValue(this.settings.lineAuthor.textColorCss),a.onChange(async s=>{await this.lineAuthorSettingHandler("textColorCss",s)})}).descEl.innerHTML=` - The CSS color of the gutter text.
- - It is higly recommended to use - - CSS variables - defined by themes - (e.g.
var(--text-muted)
or -
var(--text-on-accent)
, - because they automatically adapt to theme changes.
- - See: - List of available CSS variables in Obsidian - - `,new B.Setting(this.containerEl).setName("Ignore whitespace and newlines in changes").addToggle(a=>{a.setValue(this.settings.lineAuthor.ignoreWhitespace),a.onChange(s=>this.lineAuthorSettingHandler("ignoreWhitespace",s))}).descEl.innerHTML=` - Whitespace and newlines are interpreted as - part of the document and in changes - by default (hence not ignored). - This makes the last line being shown as 'changed' - when a new subsequent line is added, - even if the previously last line's text is the same. -
- If you don't care about purely-whitespace changes - (e.g. list nesting / quote indentation changes), - then activating this will provide more meaningful change detection. - `}}createColorSetting(r){let n=new B.Setting(this.containerEl).setName("").addText(i=>{let a=i0(r,this.settings.lineAuthor),s=i0(r,Sn.lineAuthor);i.setPlaceholder(zg(s)),i.setValue(zg(a)),i.onChange(async o=>{let c=lT(o);if(c!==void 0){let l=r==="newest"?"colorNew":"colorOld";await this.lineAuthorSettingHandler(l,c)}this.refreshColorSettingsDesc(r,c)})});this.lineAuthorColorSettings.set(r,n),this.refreshColorSettingsName(r),this.refreshColorSettingsDesc(r,i0(r,this.settings.lineAuthor))}refreshColorSettingsName(r){let n=this.lineAuthorColorSettings.get(r);if(n){let i=r==="oldest"?`oldest (${this.settings.lineAuthor.coloringMaxAge} or older)`:"newest";n.nameEl.innerText=`Color for ${i} commits`}}refreshColorSettingsDesc(r,n){let i=this.lineAuthorColorSettings.get(r);i&&(i.descEl.innerHTML=this.colorSettingPreviewDescHtml(r,this.settings.lineAuthor,n!==void 0))}colorSettingPreviewDescHtml(r,n,i){let a=i?a0(r,n):"rgba(127,127,127,0.3)",s=B.moment.unix(B.moment.now()/1e3).format("YYYY-MM-DD"),o=i?`abcdef Author Name ${s}`:"invalid color";return`Supports 'rgb(r,g,b)', 'hsl(h,s,l)', hex (#) and - named colors (e.g. 'black', 'purple'). Color preview: ${`
${o}
`}`}previewCustomDateTimeDescriptionHtml(r){let n=(0,B.moment)().format(r);return`
Format string to display the authoring date.
Currently: ${n}`}previewOldestAgeDescriptionHtml(r){let n=Wf(r);return[`The oldest age in the line author coloring. Everything older will have the same color. -
Smallest valid age is "1d". Currently: ${n!==void 0?`${n.asDays()} days`:"invalid!"}`,n]}};function i0(e,t){return e==="oldest"?t.colorOld:t.colorNew}function Wf(e){let t=B.moment.duration("P"+e.toUpperCase());return t.isValid()&&t.asDays()&&t.asDays()>=1?t:void 0}function CT(e,t,r){if(!(e===void 0||t===void 0||r===void 0))return`head${e}-obj${t}-path${r}`}var PT=qf.Annotation.define();function RT(e,t,r){return r.update({annotations:PT.of({key:e,la:t,lineOffsetsFromUnsavedChanges:new Map})})}function Qj(e){return e.annotation(PT)}var Ys=qf.StateField.define({create:e=>{},update:(e,t)=>{var r;return(r=Qj(t))!=null?r:eB(t,e)},compare:(e,t)=>(e==null?void 0:e.key)===(t==null?void 0:t.key)});function Yf(e){var a;let t=TT.sha256.create();if(!e)return t;let{la:r,key:n,lineOffsetsFromUnsavedChanges:i}=e;t.update(r==="untracked"?"t":"f"),t.update(n);for(let[s,o]of(a=i.entries())!=null?a:[])t.update([s,o]);return t}var Lr={get:void 0,save:void 0};function MT(e,t){Lr.get=e,Lr.save=t}function Xf(e){var t,r;return(r=(t=Wf(e.coloringMaxAge))==null?void 0:t.asDays())!=null?r:Wf(Sn.lineAuthor.coloringMaxAge).asDays()}function eB(e,t){if(t)return e.changes.empty||e.changes.iterChanges((r,n,i,a)=>{var p;let s=e.startState.doc,{newDoc:o}=e,c=s.lineAt(r).number,l=s.lineAt(n).number,u=o.lineAt(i).number,f=o.lineAt(a).number,d=l-c+1,h=f-u+1;for(let m=u;m<=f;m++){let v=(p=t.lineOffsetsFromUnsavedChanges.get(m))!=null?p:0,y=f===m,b=h-d;y&&(v+=b),t.lineOffsetsFromUnsavedChanges.set(m,v)}}),t}var s0=class{constructor(t){this.state=t;this.subscribeMe()}notifyLineAuthoring(t,r){if(this.view===void 0){console.warn(`Git: View is not defined for editor cache key. Unforeseen situation. id: ${t}`);return}let n=this.view.state,i=RT(t,r,n);this.view.dispatch(i)}updateToNewState(t){let r=this.lastSeenPath&&this.filepath!=this.lastSeenPath;return this.state=t,r&&(this.unsubscribeMe(this.lastSeenPath),this.subscribeMe()),this}removeIfStale(){this.view.destroyed&&this.unsubscribeMe(this.lastSeenPath)}subscribeMe(){this.filepath!==void 0&&(qs.ifFilepathDefinedTransformSubscribers(this.filepath,t=>t.add(this)),this.lastSeenPath=this.filepath)}unsubscribeMe(t){qs.ifFilepathDefinedTransformSubscribers(t,r=>r.delete(this))}get filepath(){var t,r;return(r=(t=this.state.field(Zf.editorInfoField))==null?void 0:t.file)==null?void 0:r.path}get view(){return this.state.field(Zf.editorEditorField)}},IT=OT.StateField.define({create:e=>new s0(e),update:(e,t)=>e.updateToNewState(t.state),compare:(e,t)=>e===t});g();function FT(){Xs=void 0,o0=[],Kf=0,Qf.clear(),ed.clear(),Zs.clear()}var Xs,Jf=()=>Xs;function $T(e,t){var i;let r=t.length;if(r<((i=Xs==null?void 0:Xs.length)!=null?i:0))return;Xs={gutter:e,length:r,text:t};let n=Lr.get();r!==n.gutterSpacingFallbackLength&&(n.gutterSpacingFallbackLength=r,Lr.save(n))}var o0=[],tB=15,Kf=0;function LT(e){o0[Kf]=e,Kf=(Kf+1)%tB}function DT(){return uT(o0)}var Qf=new Map,ed=new Map,Zs=new Set;g();var ZT=require("@codemirror/state"),KT=require("@codemirror/view");g();var f0=require("@codemirror/view"),WT=Ze(Xg()),nd=require("obsidian");g();g();var td={x:-10,y:-10};function NT(){td.x===-10&&window.addEventListener("mousedown",e=>{td.x=e.clientX,td.y=e.clientY})}function jT(){for(let e of Zs)if(rB(e,td))return e}function rB(e,t){let{x:r,y:n,width:i,height:a}=e.getBoundingClientRect();return r<=t.x&&t.x<=r+i&&n<=t.y&&t.y<=n+a}g();var Xl={};var BT="data-commit";function HT(e,t,r){if(t.hasFocus())return;let n=jT();if(!n)return;let i=iB(n);i&&(!i.isZeroCommit&&!i.isWaitingGutter&&nB(i,e),l0("showCommitHash",e),l0("authorDisplay",e),l0("dateTimeFormatOptions",e))}function nB(e,t){t.addItem(r=>r.setTitle("Copy commit hash").setIcon("copy").setSection("obs-git-line-author-copy").onClick(n=>navigator.clipboard.writeText(e.hash)))}function l0(e,t){var c,l;let r,n,i=Xl.plugin.settings.lineAuthor,a=i[e],s=typeof a=="boolean"?a:a!=="hide",o=Sn.lineAuthor[e];if(e==="showCommitHash")r="Show commit hash",n=a;else if(e==="authorDisplay"){let u=(c=i.lastShownAuthorDisplay)!=null?c:o;r="Show author "+(s?a:u),n=s?"hide":u}else if(e==="dateTimeFormatOptions"){let u=(l=i.lastShownDateTimeFormatOptions)!=null?l:o;r="Show "+(s?a:u),r+=r.contains("date")?"":" date",n=s?"hide":u}else Oi(e);t.addItem(u=>u.setTitle(r).setSection("obs-git-line-author-configure").setChecked(s).onClick(f=>{var d,h;return(h=(d=Xl.plugin)==null?void 0:d.settingsTab)==null?void 0:h.lineAuthorSettingHandler(e,n)}))}function UT(e,t,r){r.setAttr(BT,JSON.stringify({hash:e.hash,isZeroCommit:e.isZeroCommit,isWaitingGutter:t}))}function iB(e){let t=e.getAttr(BT);return t?JSON.parse(t):void 0}g();function a0(e,t){return e==="oldest"?rd(0,!1,t).color:rd(void 0,!0,t).color}function rd(e,t,r){let n=Xf(r),i=Date.now()/1e3,a=e!=null?e:0,o=(t?0:i-a)/60/60/24,c=Math.pow(Math.clamp(o/n,0,1),1/2.3),l=aB(),u=r.colorNew,f=r.colorOld,d=l?.4:1,h=c0(u.r,f.r,c)*d,p=c0(u.g,f.g,c)*d,m=c0(u.b,f.b,c)*d;return{color:`rgba(${h},${p},${m},${l?.75:.25})`,daysSinceCommit:o}}function c0(e,t,r){return e+(t-e)*r}function aB(){var e;return((e=window.app)==null?void 0:e.getTheme())==="obsidian"}function GT(e){document.body.style.setProperty("--obs-git-gutter-text",e.textColorCss)}g();function zT(e,t,r){let n;for(let i=t;i<=r;i++){let a=e.hashPerLine[i],s=e.commits.get(a);(!n||s.isZeroCommit||sB(s,n))&&(n=s)}return n}function sB(e,t){var i,a,s,o;let r=(a=(i=e.author)==null?void 0:i.epochSeconds)!=null?a:0,n=(o=(s=t.author)==null?void 0:s.epochSeconds)!=null?o:0;return r>n}var VT="-",oB="+",lB=3,cB="*",uB=/\S/g,fB="%",Ks=class e extends f0.GutterMarker{constructor(r){super();this.text=r}eq(r){return r instanceof e&&this.text===r.text}toDOM(){return document.createTextNode(this.text)}destroy(r){document.body.contains(r)||r.remove()}},u0=class extends f0.GutterMarker{constructor(r,n,i,a,s,o){super();this.lineAuthoring=r;this.startLine=n;this.endLine=i;this.key=a;this.settings=s;this.options=o;this.point=!1;this.elementClass="obs-git-blame-gutter"}eq(r){return this.key===(r==null?void 0:r.key)&&this.startLine===(r==null?void 0:r.startLine)&&this.endLine===(r==null?void 0:r.endLine)&&(this==null?void 0:this.options)===(r==null?void 0:r.options)}toDOM(){var r;return this.precomputedDomProvider=(r=this.precomputedDomProvider)!=null?r:this.computeDom(),this.precomputedDomProvider()}destroy(r){document.body.contains(r)||(r.remove(),Zs.delete(r))}computeDom(){let r=zT(this.lineAuthoring,this.startLine,this.endLine),n=r.isZeroCommit?"":this.renderNonZeroCommit(r);return!r.isZeroCommit&&this.options!=="waiting-for-result"?$T(this,n):n=this.adaptTextForFakeCommit(r,n,this.options),this.createHtmlNode(r,n,this.options==="waiting-for-result")}createHtmlNode(r,n,i){var l;let a=window.createDiv();a.innerText=n;let{color:s,daysSinceCommit:o}=rd((l=r==null?void 0:r.author)==null?void 0:l.epochSeconds,r==null?void 0:r.isZeroCommit,this.settings);a.style.backgroundColor=s,UT(r,i,a);function c(){let u=a.cloneNode(!0);return Zs.add(u),i||LT(o),u}return c}renderNonZeroCommit(r){let n=this.settings.showCommitHash?this.renderHash(r):"",i=this.settings.authorDisplay==="hide"?"":`${this.renderAuthorName(r,this.settings.authorDisplay)}`,a=this.settings.dateTimeFormatOptions==="hide"?"":`${this.renderAuthoringDate(r,this.settings.dateTimeFormatOptions,this.settings.dateTimeFormatCustomString,this.settings.dateTimeTimezone)}`;return[n,i,a].filter(o=>o.length>=1).join(" ")}renderHash(r){return r.hash.substring(0,6)}renderAuthorName(r,n){var o,c,l,u;let i=(c=(o=r==null?void 0:r.author)==null?void 0:o.name)!=null?c:"",a=i.split(" ").filter(f=>f.length>=1),s;switch(n){case"initials":s=a.map(f=>f[0].toUpperCase()).join("");break;case"first name":s=(l=a.first())!=null?l:VT;break;case"last name":s=(u=a.last())!=null?u:VT;break;case"full":s=i;break;default:return Oi(n)}return fT(r==null?void 0:r.author,r==null?void 0:r.committer)||(s=s+cB),s}renderAuthoringDate(r,n,i,a){var l;let s="?";if(((l=r==null?void 0:r.author)==null?void 0:l.epochSeconds)===void 0)return s;let o;switch(n){case"date":o=zu;break;case"datetime":o=_m;break;case"custom":o=i;break;case"natural language":o=u=>{let f=u.diff((0,nd.moment)());return nd.moment.duration(f).humanize(!0)};break;default:return Oi(n)}let c=nd.moment.unix(r.author.epochSeconds);switch(a){case"viewer-local":break;case"author-local":c=c.utcOffset(r.author.tz),typeof o=="string"&&(o+=" Z");break;case"utc0000":c=c.utc(),typeof o=="string"&&(o+="[Z]");break;default:return Oi(a)}return typeof o=="string"?c.format(o):o(c)}adaptTextForFakeCommit(r,n,i){var c,l,u,f;let a=(l=(c=Jf())==null?void 0:c.text)!=null?l:n,s=i!=="waiting-for-result"&&r.isZeroCommit?oB:fB;n=a.replace(uB,s);let o=(f=(u=Lr.get())==null?void 0:u.gutterSpacingFallbackLength)!=null?f:n.length;if(n=dT(n,o,s),i!=="waiting-for-result"&&r.isZeroCommit){let d=Math.min(o,lB);n=hT(n,o-d)}return n}};function _a(e,t,r,n,i,a){let s=WT.sha256.create();s.update(Object.values(i).join(",")),s.update(`s${t}-e${r}-k${n}-o${a}`);let o=s.hex(),c=Qf.get(o);if(c)return c;let l=new u0(e,t,r,n,i,a);return Qf.set(o,l),l}g();var qT=require("obsidian");function d0(){var t,r;let e=(r=(t=Lr.get())==null?void 0:t.gutterSpacingFallbackLength)!=null?r:Sn.lineAuthor.gutterSpacingFallbackLength;return new Ks(Array(e).fill("-").join(""))}function h0(e){let{lineAuthoring:t,ageForInitialRender:r}=dB(e);return _a(t,1,1,"initialGutter"+r,e,"waiting-for-result")}function dB(e){var a;let t=(a=DT())!=null?a:Xf(e)*.25,r=(0,qT.moment)().add(-t,"days"),n={name:"",epochSeconds:cT(r),tz:"+0000"},i={hash:"waiting-for-result",author:n,committer:n,isZeroCommit:!1};return{lineAuthoring:{hashPerLine:[void 0,"waiting-for-result"],commits:new Map([["waiting-for-result",i]])},ageForInitialRender:t}}g();function YT(e,t){return _a({hashPerLine:[void 0,"000000"],commits:new Map([["000000",yT]])},1,1,e,t)}var p0=new Ks(""),JT=(0,KT.gutter)({class:"line-author-gutter-container",markers(e){let t=e.state.field(Ys,!1);return hB(e,t)},lineMarkerChange(e){let t=Yf(e.state.field(Ys));return Yf(e.startState.field(Ys))!==t},renderEmptyElements:!0,initialSpacer:e=>(XT(e),d0()),updateSpacer:(e,t)=>{var r,n;return XT(t.view),(n=(r=Jf())==null?void 0:r.gutter)!=null?n:d0()}});function hB(e,t){let r=Yf(t),n=e.state.doc,i=new Map;for(let u=1;u<=n.lines;u++){let f=n.line(u).from,d=e.lineBlockAt(f).to;i.set(u,[f,d]),r.update([f,d,0])}let a=Lr.get();r.update("s"+Object.values(Lr).join(","));let s=r.hex(),o=ed.get(s);if(o)return o;let{result:c,allowCache:l}=pB(n,i,a,t);return l&&ed.set(s,c),c}function pB(e,t,r,n){let i=!0,a=e.lines,s=[];function o(f,d,h){return s.push(h.range(f,d))}let c=mB(a,n),l=e.length===0,u=e.iterLines(a,a+1).next().value==="";for(let f=1;f<=a;f++){let[d,h]=t.get(f),p=e.lineAt(h).number;if(l){o(d,h,p0);continue}if(f===a&&u){o(d,h,p0);continue}if(n===void 0){o(d,h,h0(r)),i=!1;continue}let{key:m,la:v}=n;if(v==="untracked"){o(d,h,YT(v,r));continue}let y=v.hashPerLine.length-1,b=c[f],x=c[p];if(x&&x>y&&o(d,h,p0),b!==void 0&&Vg(1,b,y)&&x!==void 0&&Vg(1,x,y)){o(d,h,_a(v,b,x,m,r));continue}if(y<1){o(d,h,h0(r)),i=!1;continue}let E=Math.clamp(b!=null?b:f,1,y),_=Math.clamp(x!=null?x:p,1,y);o(d,h,_a(v,E,_,m+"computing",r,"waiting-for-result"))}return{result:ZT.RangeSet.of(s,!0),allowCache:i}}function mB(e,t){if(!(t!=null&&t.lineOffsetsFromUnsavedChanges))return Array.from(new Array(e+1),i=>i);let r=[void 0],n=0;for(let i=1;i<=e;i++){let a=t.lineOffsetsFromUnsavedChanges.get(i);n+=a!=null?a:0,r[i]=a===void 0?i-n:void 0}return r}function XT(e){e.dom.querySelectorAll(".cm-gutters").forEach(r=>{r!=null&&r.style&&(r.style.marginLeft||(r.style.marginLeft="unset"))})}var id=class{constructor(t){this.plugin=t;this.lineAuthorings=new Map}async trackChanged(t){return this.trackChangedHelper(t).catch(r=>(console.warn("Git: Error in trackChanged."+r),Promise.reject(r)))}async trackChangedHelper(t){if(t){if(t.path===void 0){console.warn("Git: Attempted to track change of undefined filepath. Unforeseen situation.");return}return this.computeLineAuthorInfo(t.path)}}destroy(){this.lineAuthorings.clear(),qs.clear(),FT()}async computeLineAuthorInfo(t){let r=this.plugin.lineAuthoringFeature.isAvailableOnCurrentPlatform().gitManager,n=await r.submoduleAwareHeadRevisonInContainingDirectory(t),i=await r.hashObject(t),a=CT(n,i,t);if(a!==void 0){if(!this.lineAuthorings.has(a)){let s=await r.blame(t,this.plugin.settings.lineAuthor.followMovement,this.plugin.settings.lineAuthor.ignoreWhitespace);this.lineAuthorings.set(a,s)}this.notifyComputationResultToSubscribers(t,a)}}notifyComputationResultToSubscribers(t,r){qs.ifFilepathDefinedTransformSubscribers(t,n=>n.forEach(i=>i.notifyLineAuthoring(r,this.lineAuthorings.get(r))))}},eC=QT.Prec.high([IT,Ys,JT]);var ad=class{constructor(t){this.plg=t;this.codeMirrorExtensions=[];this.handleWorkspaceLeaf=t=>{if(!this.lineAuthorInfoProvider){console.warn("Git: undefined lineAuthorInfoProvider. Unexpected situation.");return}let r=t==null?void 0:t.view;!(r instanceof xa.MarkdownView)||r.file==null||(r==null?void 0:r.allowNoFile)===!0||this.lineAuthorInfoProvider.trackChanged(r.file).catch(console.error)}}onLoadPlugin(){this.plg.registerEditorExtension(this.codeMirrorExtensions),MT(()=>this.plg.settings.lineAuthor,t=>{this.plg.settings.lineAuthor=t,this.plg.saveSettings()})}conditionallyActivateBySettings(){this.plg.settings.lineAuthor.show&&this.activateFeature()}activateFeature(){try{if(!this.isAvailableOnCurrentPlatform().available)return;GT(this.plg.settings.lineAuthor),this.lineAuthorInfoProvider=new id(this.plg),this.createEventHandlers(),this.activateCodeMirrorExtensions(),console.log(this.plg.manifest.name+": Enabled line authoring.")}catch(t){console.warn("Git: Error while loading line authoring feature.",t),this.deactivateFeature()}}deactivateFeature(){var t;this.destroyEventHandlers(),this.deactivateCodeMirrorExtensions(),(t=this.lineAuthorInfoProvider)==null||t.destroy(),this.lineAuthorInfoProvider=void 0,console.log(this.plg.manifest.name+": Disabled line authoring.")}isAvailableOnCurrentPlatform(){return{available:this.plg.useSimpleGit&&xa.Platform.isDesktopApp,gitManager:this.plg.gitManager instanceof Te?this.plg.gitManager:void 0}}refreshLineAuthorViews(){this.plg.settings.lineAuthor.show&&(this.deactivateFeature(),this.activateFeature())}activateCodeMirrorExtensions(){this.codeMirrorExtensions.push(eC),this.plg.app.workspace.updateOptions(),this.plg.app.workspace.iterateAllLeaves(this.handleWorkspaceLeaf)}deactivateCodeMirrorExtensions(){for(let t of this.codeMirrorExtensions)this.codeMirrorExtensions.remove(t);this.plg.app.workspace.updateOptions()}createEventHandlers(){this.gutterContextMenuEvent=this.createGutterContextMenuHandler(),this.fileOpenEvent=this.createFileOpenEvent(),this.workspaceLeafChangeEvent=this.createWorkspaceLeafChangeEvent(),this.fileModificationEvent=this.createVaultFileModificationHandler(),this.refreshOnCssChangeEvent=this.createCssRefreshHandler(),this.fileRenameEvent=this.createFileRenameEvent(),NT(),this.plg.registerEvent(this.gutterContextMenuEvent),this.plg.registerEvent(this.refreshOnCssChangeEvent),this.plg.registerEvent(this.fileOpenEvent),this.plg.registerEvent(this.workspaceLeafChangeEvent),this.plg.registerEvent(this.fileModificationEvent),this.plg.registerEvent(this.fileRenameEvent)}destroyEventHandlers(){this.plg.app.workspace.offref(this.refreshOnCssChangeEvent),this.plg.app.workspace.offref(this.fileOpenEvent),this.plg.app.workspace.offref(this.workspaceLeafChangeEvent),this.plg.app.workspace.offref(this.refreshOnCssChangeEvent),this.plg.app.vault.offref(this.fileRenameEvent),this.plg.app.workspace.offref(this.gutterContextMenuEvent)}createFileOpenEvent(){return this.plg.app.workspace.on("file-open",t=>{var r;return void((r=this.lineAuthorInfoProvider)==null?void 0:r.trackChanged(t).catch(console.error))})}createWorkspaceLeafChangeEvent(){return this.plg.app.workspace.on("active-leaf-change",this.handleWorkspaceLeaf)}createFileRenameEvent(){return this.plg.app.vault.on("rename",(t,r)=>{var n;return t instanceof xa.TFile&&((n=this.lineAuthorInfoProvider)==null?void 0:n.trackChanged(t))})}createVaultFileModificationHandler(){return this.plg.app.vault.on("modify",t=>{var r;return t instanceof xa.TFile&&((r=this.lineAuthorInfoProvider)==null?void 0:r.trackChanged(t))})}createCssRefreshHandler(){return this.plg.app.workspace.on("css-change",()=>this.refreshLineAuthorViews())}createGutterContextMenuHandler(){return this.plg.app.workspace.on("editor-menu",HT)}};g();var sd=class{constructor(t){this.plugin=t;this.tasks=[]}addTask(t){this.tasks.push(t),this.tasks.length===1&&this.handleTask()}handleTask(){this.tasks.length>0&&this.tasks[0]().catch(t=>this.plugin.displayError(t)).finally(()=>{this.tasks.shift(),this.handleTask()})}clear(){this.tasks=[]}};g();var Dr=require("obsidian");var od=class{constructor(t,r){this.statusBarEl=t;this.plugin=r;this.messages=[];this.base="obsidian-git-statusbar-";this.statusBarEl.setAttribute("data-tooltip-position","top"),r.registerEvent(r.app.workspace.on("obsidian-git:refreshed",()=>{this.refreshCommitTimestamp().catch(console.error)}))}displayMessage(t,r){this.messages.push({message:`Git: ${t.slice(0,100)}`,timeout:r}),this.display()}display(){this.messages.length>0&&!this.currentMessage?(this.currentMessage=this.messages.shift(),this.statusBarEl.addClass(this.base+"message"),this.statusBarEl.ariaLabel="",this.statusBarEl.setText(this.currentMessage.message),this.lastMessageTimestamp=Date.now()):this.currentMessage?Date.now()-this.lastMessageTimestamp>=this.currentMessage.timeout&&(this.currentMessage=null,this.lastMessageTimestamp=null):this.displayState()}displayState(){switch((this.statusBarEl.getText().length>3||!this.statusBarEl.hasChildNodes())&&(this.statusBarEl.empty(),this.conflictEl=this.statusBarEl.createDiv(),this.conflictEl.setAttribute("data-tooltip-position","top"),this.conflictEl.style.float="left",this.iconEl=this.statusBarEl.createDiv(),this.iconEl.style.float="left",this.textEl=this.statusBarEl.createDiv(),this.textEl.style.float="right",this.textEl.style.marginLeft="5px"),this.plugin.localStorage.getConflict()?((0,Dr.setIcon)(this.conflictEl,"alert-circle"),this.conflictEl.ariaLabel="You have merge conflicts. Resolve them and commit afterwards.",this.conflictEl.style.marginRight="5px",this.conflictEl.addClass(this.base+"conflict")):(this.conflictEl.empty(),this.conflictEl.style.marginRight=""),this.plugin.state.gitAction){case 0:this.displayFromNow();break;case 1:this.statusBarEl.ariaLabel="Checking repository status...",(0,Dr.setIcon)(this.iconEl,"refresh-cw"),this.statusBarEl.addClass(this.base+"status");break;case 3:this.statusBarEl.ariaLabel="Adding files...",(0,Dr.setIcon)(this.iconEl,"archive"),this.statusBarEl.addClass(this.base+"add");break;case 4:this.statusBarEl.ariaLabel="Committing changes...",(0,Dr.setIcon)(this.iconEl,"git-commit"),this.statusBarEl.addClass(this.base+"commit");break;case 5:this.statusBarEl.ariaLabel="Pushing changes...",(0,Dr.setIcon)(this.iconEl,"upload"),this.statusBarEl.addClass(this.base+"push");break;case 2:this.statusBarEl.ariaLabel="Pulling changes...",(0,Dr.setIcon)(this.iconEl,"download"),this.statusBarEl.addClass(this.base+"pull");break;default:this.statusBarEl.ariaLabel="Failed on initialization!",(0,Dr.setIcon)(this.iconEl,"alert-triangle"),this.statusBarEl.addClass(this.base+"failed-init");break}}displayFromNow(){var n;let t=this.lastCommitTimestamp,r=this.plugin.state.offlineMode;if(t){let i=(0,Dr.moment)(t).fromNow();this.statusBarEl.ariaLabel=`${r?"Offline: ":""}Last Commit: ${i}`,(n=this.unPushedCommits)!=null&&n&&(this.statusBarEl.ariaLabel+=` -(${this.unPushedCommits} unpushed commits)`)}else this.statusBarEl.ariaLabel=r?"Git is offline":"Git is ready";r?(0,Dr.setIcon)(this.iconEl,"globe"):(0,Dr.setIcon)(this.iconEl,"check"),this.plugin.settings.changedFilesInStatusBar&&this.plugin.cachedStatus&&this.textEl.setText(this.plugin.cachedStatus.changed.length.toString()),this.statusBarEl.addClass(this.base+"idle")}async refreshCommitTimestamp(){this.lastCommitTimestamp=await this.plugin.gitManager.getLastCommitTime(),this.unPushedCommits=await this.plugin.gitManager.getUnpushedCommits()}remove(){this.statusBarEl.remove()}};g();var cd=require("obsidian"),ld=class extends cd.SuggestModal{constructor(r){super(r.app);this.plugin=r;this.resolve=null;this.setPlaceholder("Type your message and select optional the version with the added date.")}openAndGetResult(){return new Promise(r=>{this.resolve=r,this.open()})}onClose(){new Promise(r=>setTimeout(r,10)).then(()=>{this.resolve&&this.resolve(void 0)})}getSuggestions(r){let n=(0,cd.moment)().format(this.plugin.settings.commitDateFormat);return r==""&&(r="..."),[r,`${n}: ${r}`,`${r}: ${n}`]}renderSuggestion(r,n){n.innerText=r}onChooseSuggestion(r,n){this.resolve&&this.resolve(r)}};g();var tC=require("obsidian"),Zl=class{constructor(t){this.plugin=t}saveLastAuto(t,r){r==="backup"?this.plugin.localStorage.setLastAutoBackup(t.toString()):r==="pull"?this.plugin.localStorage.setLastAutoPull(t.toString()):r==="push"&&this.plugin.localStorage.setLastAutoPush(t.toString())}loadLastAuto(){var t,r,n;return{backup:new Date((t=this.plugin.localStorage.getLastAutoBackup())!=null?t:""),pull:new Date((r=this.plugin.localStorage.getLastAutoPull())!=null?r:""),push:new Date((n=this.plugin.localStorage.getLastAutoPush())!=null?n:"")}}async init(){await this.setUpAutoCommitAndSync();let t=this.loadLastAuto();if(this.plugin.settings.differentIntervalCommitAndPush&&this.plugin.settings.autoPushInterval>0){let r=new Date,n=this.plugin.settings.autoPushInterval-Math.round((r.getTime()-t.push.getTime())/1e3/60);this.startAutoPush(n<=0?0:n)}if(this.plugin.settings.autoPullInterval>0){let r=new Date,n=this.plugin.settings.autoPullInterval-Math.round((r.getTime()-t.pull.getTime())/1e3/60);this.startAutoPull(n<=0?0:n)}}unload(){this.clearAutoPull(),this.clearAutoPush(),this.clearAutoCommitAndSync()}reload(...t){t.contains("commit")&&(this.clearAutoCommitAndSync(),this.plugin.settings.autoSaveInterval>0&&this.startAutoCommitAndSync(this.plugin.settings.autoSaveInterval)),t.contains("push")&&(this.clearAutoPush(),this.plugin.settings.differentIntervalCommitAndPush&&this.plugin.settings.autoPushInterval>0&&this.startAutoPush(this.plugin.settings.autoPushInterval)),t.contains("pull")&&(this.clearAutoPull(),this.plugin.settings.autoPullInterval>0&&this.startAutoPull(this.plugin.settings.autoPullInterval))}async setUpAutoCommitAndSync(){if(this.plugin.settings.setLastSaveToLastCommit){this.clearAutoCommitAndSync();let t=await this.plugin.gitManager.getLastCommitTime();t&&this.plugin.localStorage.setLastAutoBackup(t.toString())}if(!this.timeoutIDCommitAndSync&&!this.plugin.autoCommitDebouncer){let t=this.loadLastAuto();if(this.plugin.settings.autoSaveInterval>0){let r=new Date,n=this.plugin.settings.autoSaveInterval-Math.round((r.getTime()-t.backup.getTime())/1e3/60);this.startAutoCommitAndSync(n<=0?0:n)}}}startAutoCommitAndSync(t){let r=(t!=null?t:this.plugin.settings.autoSaveInterval)*6e4;this.plugin.settings.autoBackupAfterFileChange?t===0?this.doAutoCommitAndSync():this.plugin.autoCommitDebouncer=(0,tC.debounce)(()=>this.doAutoCommitAndSync(),r,!0):(r>2147483647&&(r=2147483647),this.timeoutIDCommitAndSync=window.setTimeout(()=>this.doAutoCommitAndSync(),r))}doAutoCommitAndSync(){this.plugin.promiseQueue.addTask(()=>this.plugin.settings.differentIntervalCommitAndPush?this.plugin.commit({fromAuto:!0}):this.plugin.commitAndSync(!0)),this.saveLastAuto(new Date,"backup"),this.startAutoCommitAndSync()}startAutoPull(t){let r=(t!=null?t:this.plugin.settings.autoPullInterval)*6e4;r>2147483647&&(r=2147483647),this.timeoutIDPull=window.setTimeout(()=>{this.plugin.promiseQueue.addTask(()=>this.plugin.pullChangesFromRemote()),this.saveLastAuto(new Date,"pull"),this.startAutoPull()},r)}startAutoPush(t){let r=(t!=null?t:this.plugin.settings.autoPushInterval)*6e4;r>2147483647&&(r=2147483647),this.timeoutIDPush=window.setTimeout(()=>{this.plugin.promiseQueue.addTask(()=>this.plugin.push()),this.saveLastAuto(new Date,"push"),this.startAutoPush()},r)}clearAutoCommitAndSync(){var r;let t=!1;return this.timeoutIDCommitAndSync&&(window.clearTimeout(this.timeoutIDCommitAndSync),this.timeoutIDCommitAndSync=void 0,t=!0),this.plugin.autoCommitDebouncer&&((r=this.plugin.autoCommitDebouncer)==null||r.cancel(),this.plugin.autoCommitDebouncer=void 0,t=!0),t}clearAutoPull(){return this.timeoutIDPull?(window.clearTimeout(this.timeoutIDPull),this.timeoutIDPull=void 0,!0):!1}clearAutoPush(){return this.timeoutIDPush?(window.clearTimeout(this.timeoutIDPush),this.timeoutIDPush=void 0,!0):!1}};g();var Jl=require("obsidian");g();var Kl=require("obsidian");async function rC(e,t,r){let n=await iC(t,r);if(n.result==="failure"){new Kl.Notice(n.reason);return}let{isGitHub:i,branch:a,repo:s,user:o,filePath:c}=n;if(i){let l=e.getCursor("from").line+1,u=e.getCursor("to").line+1;l===u?window.open(`https://github.com/${o}/${s}/blob/${a}/${c}?plain=1#L${l}`):window.open(`https://github.com/${o}/${s}/blob/${a}/${c}?plain=1#L${l}-L${u}`)}else new Kl.Notice("It seems like you are not using GitHub")}async function nC(e,t){let r=await iC(e,t);if(r.result==="failure"){new Kl.Notice(r.reason);return}let{isGitHub:n,branch:i,repo:a,user:s,filePath:o}=r;n?window.open(`https://github.com/${s}/${a}/commits/${i}/${o}`):new Kl.Notice("It seems like you are not using GitHub")}async function iC(e,t){let r=await t.branchInfo(),n=r.tracking,i=r.current,a,s=t.getRelativeRepoPath(e.path);if(t instanceof Te){let c=await t.getSubmoduleOfFile(t.getRelativeRepoPath(e.path));if(c){s=c.relativeFilepath;let l=await t.git.cwd({path:c.submodule,root:!1}).status();if(n=l.tracking||void 0,i=l.current||void 0,n){let u=n.substring(0,n.indexOf("/")),f=await t.git.cwd({path:c.submodule,root:!1}).getConfig(`remote.${u}.url`,"local");if(f.value!=null)a=f.value;else return{result:"failure",reason:"Failed to get remote url of submodule"}}}}if(n==null)return{result:"failure",reason:"Remote branch is not configured"};if(i==null)return{result:"failure",reason:"Failed to get current branch name"};if(a==null){let c=n.substring(0,n.indexOf("/"));if(a=await t.getConfig(`remote.${c}.url`),a==null)return{result:"failure",reason:"Failed to get remote url"}}let o=a.match(/(?:^https:\/\/github\.com\/(.+)\/(.+?)(?:\.git)?$)|(?:^[a-zA-Z]+@github\.com:(.+)\/(.+?)(?:\.git)?$)/);if(o==null)return{result:"failure",reason:"Could not parse remote url"};{let[c,l,u,f,d]=o;return{result:"success",isGitHub:!!c,repo:u||d,user:l||f,branch:i,filePath:s}}}g();var aC=require("obsidian"),ud=class extends aC.FuzzySuggestModal{constructor(t,r){super(t.app),this.plugin=t,this.changedFiles=r,this.setPlaceholder("Not supported files will be opened by default app!")}getItems(){return this.changedFiles}getItemText(t){if(t.index=="U"&&t.workingDir=="U")return`Untracked | ${t.vaultPath}`;let r="",n="";return t.workingDir!=" "&&(r=`Working Dir: ${t.workingDir} `),t.index!=" "&&(n=`Index: ${t.index}`),`${r}${n} | ${t.vaultPath}`}onChooseItem(t,r){this.plugin.app.metadataCache.getFirstLinkpathDest(t.vaultPath,"")==null?this.app.openWithDefaultApp(t.vaultPath):this.plugin.app.workspace.openLinkText(t.vaultPath,"/")}};g();var sC=require("obsidian"),fd=class extends sC.Modal{constructor(r,n){super(r);this.content=n;this.resolve=null}openAndGetReslt(){return new Promise(r=>{this.resolve=r,this.open()})}onOpen(){let{contentEl:r,titleEl:n}=this;n.setText("Edit .gitignore");let i=r.createDiv(),a=i.createEl("textarea",{text:this.content,cls:["obsidian-git-textarea"],attr:{rows:10,cols:30,wrap:"off"}});i.createEl("button",{cls:["mod-cta","obsidian-git-center-button"],text:"Save"}).addEventListener("click",()=>{this.resolve(a.value),this.close()})}onClose(){let{contentEl:r}=this;r.empty(),this.resolve&&this.resolve(void 0)}};function oC(e){let t=e.app;e.addCommand({id:"edit-gitignore",name:"Edit .gitignore",callback:async()=>{let r=e.gitManager.getRelativeVaultPath(".gitignore");await t.vault.adapter.exists(r)||await t.vault.adapter.write(r,"");let n=await t.vault.adapter.read(r),a=await new fd(t,n).openAndGetReslt();a!==void 0&&(await t.vault.adapter.write(r,a),await e.refresh())}}),e.addCommand({id:"open-git-view",name:"Open source control view",callback:async()=>{var i;let r=t.workspace.getLeavesOfType(St.type),n;r.length===0?(n=(i=t.workspace.getRightLeaf(!1))!=null?i:t.workspace.getLeaf(),await n.setViewState({type:St.type})):n=r.first(),await t.workspace.revealLeaf(n)}}),e.addCommand({id:"open-history-view",name:"Open history view",callback:async()=>{var i;let r=t.workspace.getLeavesOfType(Fr.type),n;r.length===0?(n=(i=t.workspace.getRightLeaf(!1))!=null?i:t.workspace.getLeaf(),await n.setViewState({type:Fr.type})):n=r.first(),await t.workspace.revealLeaf(n)}}),e.addCommand({id:"open-diff-view",name:"Open diff view",checkCallback:r=>{let n=t.workspace.getActiveFile();if(r)return n!==null;{let i=e.gitManager.getRelativeRepoPath(n.path,!0);e.tools.openDiff({aFile:i,aRef:""})}}}),e.addCommand({id:"view-file-on-github",name:"Open file on GitHub",editorCallback:(r,{file:n})=>{if(n)return rC(r,n,e.gitManager)}}),e.addCommand({id:"view-history-on-github",name:"Open file history on GitHub",editorCallback:(r,{file:n})=>{if(n)return nC(n,e.gitManager)}}),e.addCommand({id:"pull",name:"Pull",callback:()=>e.promiseQueue.addTask(()=>e.pullChangesFromRemote())}),e.addCommand({id:"fetch",name:"Fetch",callback:()=>e.promiseQueue.addTask(()=>e.fetch())}),e.addCommand({id:"switch-to-remote-branch",name:"Switch to remote branch",callback:()=>e.promiseQueue.addTask(()=>e.switchRemoteBranch())}),e.addCommand({id:"add-to-gitignore",name:"Add file to .gitignore",checkCallback:r=>{let n=t.workspace.getActiveFile();if(r)return n!==null;e.addFileToGitignore(n).catch(i=>e.displayError(i))}}),e.addCommand({id:"push",name:"Commit-and-sync",callback:()=>e.promiseQueue.addTask(()=>e.commitAndSync(!1))}),e.addCommand({id:"backup-and-close",name:"Commit-and-sync and then close Obsidian",callback:()=>e.promiseQueue.addTask(async()=>{await e.commitAndSync(!1),window.close()})}),e.addCommand({id:"commit-push-specified-message",name:"Commit-and-sync with specific message",callback:()=>e.promiseQueue.addTask(()=>e.commitAndSync(!1,!0))}),e.addCommand({id:"commit",name:"Commit all changes",callback:()=>e.promiseQueue.addTask(()=>e.commit({fromAuto:!1}))}),e.addCommand({id:"commit-specified-message",name:"Commit all changes with specific message",callback:()=>e.promiseQueue.addTask(()=>e.commit({fromAuto:!1,requestCustomMessage:!0}))}),e.addCommand({id:"commit-staged",name:"Commit staged",callback:()=>e.promiseQueue.addTask(()=>e.commit({fromAuto:!1,requestCustomMessage:!1,onlyStaged:!0}))}),Jl.Platform.isDesktopApp&&e.addCommand({id:"commit-amend-staged-specified-message",name:"Amend staged",callback:()=>e.promiseQueue.addTask(()=>e.commit({fromAuto:!1,requestCustomMessage:!0,onlyStaged:!0,amend:!0}))}),e.addCommand({id:"commit-staged-specified-message",name:"Commit staged with specific message",callback:()=>e.promiseQueue.addTask(()=>e.commit({fromAuto:!1,requestCustomMessage:!0,onlyStaged:!0}))}),e.addCommand({id:"push2",name:"Push",callback:()=>e.promiseQueue.addTask(()=>e.push())}),e.addCommand({id:"stage-current-file",name:"Stage current file",checkCallback:r=>{let n=t.workspace.getActiveFile();if(r)return n!==null;e.promiseQueue.addTask(()=>e.stageFile(n))}}),e.addCommand({id:"unstage-current-file",name:"Unstage current file",checkCallback:r=>{let n=t.workspace.getActiveFile();if(r)return n!==null;e.promiseQueue.addTask(()=>e.unstageFile(n))}}),e.addCommand({id:"edit-remotes",name:"Edit remotes",callback:()=>e.editRemotes().catch(r=>e.displayError(r))}),e.addCommand({id:"remove-remote",name:"Remove remote",callback:()=>e.removeRemote().catch(r=>e.displayError(r))}),e.addCommand({id:"set-upstream-branch",name:"Set upstream branch",callback:()=>e.setUpstreamBranch().catch(r=>e.displayError(r))}),e.addCommand({id:"delete-repo",name:"CAUTION: Delete repository",callback:async()=>{await t.vault.adapter.exists(`${e.settings.basePath}/.git`)?await new Fe(e,{options:["NO","YES"],placeholder:"Do you really want to delete the repository (.git directory)? plugin action cannot be undone.",onlySelection:!0}).openAndGetResult()==="YES"&&(await t.vault.adapter.rmdir(`${e.settings.basePath}/.git`,!0),new Jl.Notice("Successfully deleted repository. Reloading plugin..."),e.unloadPlugin(),await e.init({fromReload:!0})):new Jl.Notice("No repository found")}}),e.addCommand({id:"init-repo",name:"Initialize a new repo",callback:()=>e.createNewRepo().catch(r=>e.displayError(r))}),e.addCommand({id:"clone-repo",name:"Clone an existing remote repo",callback:()=>e.cloneNewRepo().catch(r=>e.displayError(r))}),e.addCommand({id:"list-changed-files",name:"List changed files",callback:async()=>{if(await e.isAllInitialized())try{let r=await e.updateCachedStatus();if(r.changed.length+r.staged.length>500){e.displayError("Too many changes to display");return}new ud(e,r.all).open()}catch(r){e.displayError(r)}}}),e.addCommand({id:"switch-branch",name:"Switch branch",callback:()=>{e.switchBranch().catch(r=>e.displayError(r))}}),e.addCommand({id:"create-branch",name:"Create new branch",callback:()=>{e.createBranch().catch(r=>e.displayError(r))}}),e.addCommand({id:"delete-branch",name:"Delete branch",callback:()=>{e.deleteBranch().catch(r=>e.displayError(r))}}),e.addCommand({id:"discard-all",name:"CAUTION: Discard all changes",callback:async()=>{if(!await e.isAllInitialized())return!1;await new Fe(e,{options:["NO","YES"],placeholder:"Do you want to discard all changes to tracked files? plugin action cannot be undone.",onlySelection:!0}).openAndGetResult()==="YES"&&e.promiseQueue.addTask(()=>e.discardAll())}}),e.addCommand({id:"raw-command",name:"Raw command",checkCallback:r=>{let n=e.gitManager;if(r)return n instanceof Te;e.tools.runRawCommand().catch(i=>e.displayError(i))}}),e.addCommand({id:"toggle-line-author-info",name:"Toggle line author information",callback:()=>{var r;return(r=e.settingsTab)==null?void 0:r.configureLineAuthorShowStatus(!e.settings.lineAuthor.show)}})}g();var dd=class{constructor(t){this.plugin=t;this.prefix=this.plugin.manifest.id+":",this.app=t.app}migrate(){let t=["password","hostname","conflict","lastAutoPull","lastAutoBackup","lastAutoPush","gitPath","pluginDisabled"];for(let r of t){let n=localStorage.getItem(this.prefix+r);this.app.loadLocalStorage(this.prefix+r)==null&&n!=null&&n!=null&&(this.app.saveLocalStorage(this.prefix+r,n),localStorage.removeItem(this.prefix+r))}}getPassword(){return this.app.loadLocalStorage(this.prefix+"password")}setPassword(t){return this.app.saveLocalStorage(this.prefix+"password",t)}getUsername(){return this.app.loadLocalStorage(this.prefix+"username")}setUsername(t){return this.app.saveLocalStorage(this.prefix+"username",t)}getHostname(){return this.app.loadLocalStorage(this.prefix+"hostname")}setHostname(t){return this.app.saveLocalStorage(this.prefix+"hostname",t)}getConflict(){return this.app.loadLocalStorage(this.prefix+"conflict")=="true"}setConflict(t){return this.app.saveLocalStorage(this.prefix+"conflict",`${t}`)}getLastAutoPull(){return this.app.loadLocalStorage(this.prefix+"lastAutoPull")}setLastAutoPull(t){return this.app.saveLocalStorage(this.prefix+"lastAutoPull",t)}getLastAutoBackup(){return this.app.loadLocalStorage(this.prefix+"lastAutoBackup")}setLastAutoBackup(t){return this.app.saveLocalStorage(this.prefix+"lastAutoBackup",t)}getLastAutoPush(){return this.app.loadLocalStorage(this.prefix+"lastAutoPush")}setLastAutoPush(t){return this.app.saveLocalStorage(this.prefix+"lastAutoPush",t)}getGitPath(){return this.app.loadLocalStorage(this.prefix+"gitPath")}setGitPath(t){return this.app.saveLocalStorage(this.prefix+"gitPath",t)}getPATHPaths(){var t,r;return(r=(t=this.app.loadLocalStorage(this.prefix+"PATHPaths"))==null?void 0:t.split(":"))!=null?r:[]}setPATHPaths(t){return this.app.saveLocalStorage(this.prefix+"PATHPaths",t.join(":"))}getEnvVars(){var t;return JSON.parse((t=this.app.loadLocalStorage(this.prefix+"envVars"))!=null?t:"[]")}setEnvVars(t){return this.app.saveLocalStorage(this.prefix+"envVars",JSON.stringify(t))}getPluginDisabled(){return this.app.loadLocalStorage(this.prefix+"pluginDisabled")=="true"}setPluginDisabled(t){return this.app.saveLocalStorage(this.prefix+"pluginDisabled",`${t}`)}};g();g();g();g();var He;(function(e){e.INSERT="insert",e.DELETE="delete",e.CONTEXT="context"})(He||(He={}));var lC={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"},cC={LINES:"lines",WORDS:"words",NONE:"none"},uC={WORD:"word",CHAR:"char"},Sa;(function(e){e.AUTO="auto",e.DARK="dark",e.LIGHT="light"})(Sa||(Sa={}));g();var gB=["-","[","]","/","{","}","(",")","*","+","?",".","\\","^","$","|"],vB=RegExp("["+gB.join("\\")+"]","g");function fC(e){return e.replace(vB,"\\$&")}function m0(e){return e&&e.replace(/\\/g,"/")}function dC(e){let t,r,n,i=0;for(t=0,n=e.length;t1?r[r.length-1]:t}function pC(e,t){return t.reduce((r,n)=>r||e.startsWith(n),!1)}var mC=["a/","b/","i/","w/","c/","o/"];function $i(e,t,r){let n=r!==void 0?[...mC,r]:mC,i=t?new RegExp(`^${fC(t)} "?(.+?)"?$`):new RegExp('^"?(.+?)"?$'),[,a=""]=i.exec(e)||[],s=n.find(c=>a.indexOf(c)===0);return(s?a.slice(s.length):a).replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/,"")}function yB(e,t){return $i(e,"---",t)}function wB(e,t){return $i(e,"+++",t)}function gC(e,t={}){let r=[],n=null,i=null,a=null,s=null,o=null,c=null,l=null,u="--- ",f="+++ ",d="@@",h=/^old mode (\d{6})/,p=/^new mode (\d{6})/,m=/^deleted file mode (\d{6})/,v=/^new file mode (\d{6})/,y=/^copy from "?(.+)"?/,b=/^copy to "?(.+)"?/,x=/^rename from "?(.+)"?/,E=/^rename to "?(.+)"?/,_=/^similarity index (\d+)%/,k=/^dissimilarity index (\d+)%/,w=/^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/,A=/^Binary files (.*) and (.*) differ/,S=/^GIT binary patch/,T=/^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/,P=/^mode (\d{6}),(\d{6})\.\.(\d{6})/,O=/^new file mode (\d{6})/,j=/^deleted file mode (\d{6}),(\d{6})/,D=e.replace(/\\ No newline at end of file/g,"").replace(/\r\n?/g,` -`).split(` -`);function Q(){i!==null&&n!==null&&(n.blocks.push(i),i=null)}function de(){n!==null&&(!n.oldName&&c!==null&&(n.oldName=c),!n.newName&&l!==null&&(n.newName=l),n.newName&&(r.push(n),n=null)),c=null,l=null}function ee(){Q(),de(),n={blocks:[],deletedLines:0,addedLines:0}}function J(F){Q();let z;n!==null&&((z=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(F))?(n.isCombined=!1,a=parseInt(z[1],10),o=parseInt(z[2],10)):(z=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(F))?(n.isCombined=!0,a=parseInt(z[1],10),s=parseInt(z[2],10),o=parseInt(z[3],10)):(F.startsWith(d)&&console.error("Failed to parse lines, starting in 0!"),a=0,o=0,n.isCombined=!1)),i={lines:[],oldStartLine:a,oldStartLine2:s,newStartLine:o,header:F}}function Ce(F){if(n===null||i===null||a===null||o===null)return;let z={content:F},N=n.isCombined?["+ "," +","++"]:["+"],Re=n.isCombined?["- "," -","--"]:["-"];pC(F,N)?(n.addedLines++,z.type=He.INSERT,z.oldNumber=void 0,z.newNumber=o++):pC(F,Re)?(n.deletedLines++,z.type=He.DELETE,z.oldNumber=a++,z.newNumber=void 0):(z.type=He.CONTEXT,z.oldNumber=a++,z.newNumber=o++),i.lines.push(z)}function me(F,z){let N=z;for(;N{if(!F||F.startsWith("*"))return;let N,Re=D[z-1],Dt=D[z+1],_t=D[z+2];if(F.startsWith("diff --git")||F.startsWith("diff --combined")){if(ee(),(N=/^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(F))&&(c=$i(N[1],void 0,t.dstPrefix),l=$i(N[2],void 0,t.srcPrefix)),n===null)throw new Error("Where is my file !!!");n.isGitDiff=!0;return}if(F.startsWith("Binary files")&&!(n!=null&&n.isGitDiff)){if(ee(),(N=/^Binary files "?([a-ciow]\/.+)"? and "?([a-ciow]\/.+)"? differ/.exec(F))&&(c=$i(N[1],void 0,t.dstPrefix),l=$i(N[2],void 0,t.srcPrefix)),n===null)throw new Error("Where is my file !!!");n.isBinary=!0;return}if((!n||!n.isGitDiff&&n&&F.startsWith(u)&&Dt.startsWith(f)&&_t.startsWith(d))&&ee(),n!=null&&n.isTooBig)return;if(n&&(typeof t.diffMaxChanges=="number"&&n.addedLines+n.deletedLines>t.diffMaxChanges||typeof t.diffMaxLineLength=="number"&&F.length>t.diffMaxLineLength)){n.isTooBig=!0,n.addedLines=0,n.deletedLines=0,n.blocks=[],i=null;let st=typeof t.diffTooBigMessage=="function"?t.diffTooBigMessage(r.length):"Diff too big to be displayed";J(st);return}if(F.startsWith(u)&&Dt.startsWith(f)||F.startsWith(f)&&Re.startsWith(u)){if(n&&!n.oldName&&F.startsWith("--- ")&&(N=yB(F,t.srcPrefix))){n.oldName=N,n.language=hC(n.oldName,n.language);return}if(n&&!n.newName&&F.startsWith("+++ ")&&(N=wB(F,t.dstPrefix))){n.newName=N,n.language=hC(n.newName,n.language);return}}if(n&&(F.startsWith(d)||n.isGitDiff&&n.oldName&&n.newName&&!i)){J(F);return}if(i&&(F.startsWith("+")||F.startsWith("-")||F.startsWith(" "))){Ce(F);return}let Ee=!me(F,z);if(n===null)throw new Error("Where is my file !!!");(N=h.exec(F))?n.oldMode=N[1]:(N=p.exec(F))?n.newMode=N[1]:(N=m.exec(F))?(n.deletedFileMode=N[1],n.isDeleted=!0):(N=v.exec(F))?(n.newFileMode=N[1],n.isNew=!0):(N=y.exec(F))?(Ee&&(n.oldName=N[1]),n.isCopy=!0):(N=b.exec(F))?(Ee&&(n.newName=N[1]),n.isCopy=!0):(N=x.exec(F))?(Ee&&(n.oldName=N[1]),n.isRename=!0):(N=E.exec(F))?(Ee&&(n.newName=N[1]),n.isRename=!0):(N=A.exec(F))?(n.isBinary=!0,n.oldName=$i(N[1],void 0,t.srcPrefix),n.newName=$i(N[2],void 0,t.dstPrefix),J("Binary file")):S.test(F)?(n.isBinary=!0,J(F)):(N=_.exec(F))?n.unchangedPercentage=parseInt(N[1],10):(N=k.exec(F))?n.changedPercentage=parseInt(N[1],10):(N=w.exec(F))?(n.checksumBefore=N[1],n.checksumAfter=N[2],N[3]&&(n.mode=N[3])):(N=T.exec(F))?(n.checksumBefore=[N[2],N[3]],n.checksumAfter=N[1]):(N=P.exec(F))?(n.oldMode=[N[2],N[3]],n.newMode=N[1]):(N=O.exec(F))?(n.newFileMode=N[1],n.isNew=!0):(N=j.exec(F))&&(n.deletedFileMode=N[1],n.isDeleted=!0)}),Q(),de(),r}g();g();g();function Kn(){}Kn.prototype={diff:function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=n.callback;typeof n=="function"&&(i=n,n={}),this.options=n;var a=this;function s(m){return i?(setTimeout(function(){i(void 0,m)},0),!0):m}t=this.castInput(t),r=this.castInput(r),t=this.removeEmpty(this.tokenize(t)),r=this.removeEmpty(this.tokenize(r));var o=r.length,c=t.length,l=1,u=o+c;n.maxEditLength&&(u=Math.min(u,n.maxEditLength));var f=[{newPos:-1,components:[]}],d=this.extractCommon(f[0],r,t,0);if(f[0].newPos+1>=o&&d+1>=c)return s([{value:this.join(r),count:r.length}]);function h(){for(var m=-1*l;m<=l;m+=2){var v=void 0,y=f[m-1],b=f[m+1],x=(b?b.newPos:0)-m;y&&(f[m-1]=void 0);var E=y&&y.newPos+1=o&&x+1>=c)return s(_B(a,v.components,r,t,a.useLongestToken));f[m]=v}l++}if(i)(function m(){setTimeout(function(){if(l>u)return i();h()||m()},0)})();else for(;l<=u;){var p=h();if(p)return p}},pushComponent:function(t,r,n){var i=t[t.length-1];i&&i.added===r&&i.removed===n?t[t.length-1]={count:i.count+1,added:r,removed:n}:t.push({count:1,added:r,removed:n})},extractCommon:function(t,r,n,i){for(var a=r.length,s=n.length,o=t.newPos,c=o-i,l=0;o+1h.length?m:h}),l.value=e.join(u)}else l.value=e.join(r.slice(o,o+l.count));o+=l.count,l.added||(c+=l.count)}}var d=t[s-1];return s>1&&typeof d.value=="string"&&(d.added||d.removed)&&e.equals("",d.value)&&(t[s-2].value+=d.value,t.pop()),t}function xB(e){return{newPos:e.newPos,components:e.components.slice(0)}}var SB=new Kn;function wC(e,t,r){return SB.diff(e,t,r)}var vC=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,yC=/\S/,y0=new Kn;y0.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!yC.test(e)&&!yC.test(t)};y0.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),r=0;r{let n=e(t).trim(),i=e(r).trim();return CB(n,i)/(n.length+i.length)}}function Qs(e){function t(n,i,a=new Map){let s=1/0,o;for(let c=0;c0||o.indexB>0)&&(x=v.concat(x)),(n.length>d||i.length>h)&&(x=x.concat(b)),x}return r}var Et={INSERTS:"d2h-ins",DELETES:"d2h-del",CONTEXT:"d2h-cntx",INFO:"d2h-info",INSERT_CHANGES:"d2h-ins d2h-change",DELETE_CHANGES:"d2h-del d2h-change"},Ea={matching:cC.NONE,matchWordsThreshold:.25,maxLineLengthHighlight:1e4,diffStyle:uC.WORD,colorScheme:Sa.LIGHT},Cn="/",xC=Js(e=>e.value),PB=Qs(xC);function b0(e){return e.indexOf("dev/null")!==-1}function RB(e){return e.replace(/(]*>((.|\n)*?)<\/ins>)/g,"")}function MB(e){return e.replace(/(]*>((.|\n)*?)<\/del>)/g,"")}function eo(e){switch(e){case He.CONTEXT:return Et.CONTEXT;case He.INSERT:return Et.INSERTS;case He.DELETE:return Et.DELETES}}function to(e){switch(e){case Sa.DARK:return"d2h-dark-color-scheme";case Sa.AUTO:return"d2h-auto-color-scheme";case Sa.LIGHT:default:return"d2h-light-color-scheme"}}function OB(e){return e?2:1}function Li(e){return e.slice(0).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}function Nr(e,t,r=!0){let n=OB(t);return{prefix:e.substring(0,n),content:r?Li(e.substring(n)):e.substring(n)}}function Aa(e){let t=m0(e.oldName),r=m0(e.newName);if(t!==r&&!b0(t)&&!b0(r)){let n=[],i=[],a=t.split(Cn),s=r.split(Cn),o=a.length,c=s.length,l=0,u=o-1,f=c-1;for(;ll&&f>l&&a[u]===s[f];)i.unshift(s[f]),u-=1,f-=1;let d=n.join(Cn),h=i.join(Cn),p=a.slice(l,u+1).join(Cn),m=s.slice(l,f+1).join(Cn);return d.length&&h.length?d+Cn+"{"+p+" \u2192 "+m+"}"+Cn+h:d.length?d+Cn+"{"+p+" \u2192 "+m+"}":h.length?"{"+p+" \u2192 "+m+"}"+Cn+h:t+" \u2192 "+r}else return b0(r)?t:r}function ro(e){return`d2h-${dC(Aa(e)).toString().slice(-6)}`}function no(e){let t="file-changed";return e.isRename||e.isCopy?t="file-renamed":e.isNew?t="file-added":e.isDeleted?t="file-deleted":e.newName!==e.oldName&&(t="file-renamed"),t}function pd(e,t,r,n={}){let{matching:i,maxLineLengthHighlight:a,matchWordsThreshold:s,diffStyle:o}=Object.assign(Object.assign({},Ea),n),c=Nr(e,r,!1),l=Nr(t,r,!1);if(c.content.length>a||l.content.length>a)return{oldLine:{prefix:c.prefix,content:Li(c.content)},newLine:{prefix:l.prefix,content:Li(l.content)}};let u=o==="char"?wC(c.content,l.content):bC(c.content,l.content),f=[];if(o==="word"&&i==="words"){let h=u.filter(v=>v.removed),p=u.filter(v=>v.added);PB(p,h).forEach(v=>{v[0].length===1&&v[1].length===1&&xC(v[0][0],v[1][0]){let m=p.added?"ins":p.removed?"del":null,v=f.indexOf(p)>-1?' class="d2h-change"':"",y=Li(p.value);return m!==null?`${h}<${m}${v}>${y}`:`${h}${y}`},"");return{oldLine:{prefix:c.prefix,content:RB(d)},newLine:{prefix:l.prefix,content:MB(d)}}}var SC="file-summary",IB="icon",FB={colorScheme:Ea.colorScheme},md=class{constructor(t,r={}){this.hoganUtils=t,this.config=Object.assign(Object.assign({},FB),r)}render(t){let r=t.map(n=>this.hoganUtils.render(SC,"line",{fileHtmlId:ro(n),oldName:n.oldName,newName:n.newName,fileName:Aa(n),deletedLines:"-"+n.deletedLines,addedLines:"+"+n.addedLines},{fileIcon:this.hoganUtils.template(IB,no(n))})).join(` -`);return this.hoganUtils.render(SC,"wrapper",{colorScheme:to(this.config.colorScheme),filesNumber:t.length,files:r})}};g();var x0=Object.assign(Object.assign({},Ea),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),ec="generic",EC="line-by-line",$B="icon",LB="tag",tc=class{constructor(t,r={}){this.hoganUtils=t,this.config=Object.assign(Object.assign({},x0),r)}render(t){let r=t.map(n=>{let i;return n.blocks.length?i=this.generateFileHtml(n):i=this.generateEmptyDiff(),this.makeFileDiffHtml(n,i)}).join(` -`);return this.hoganUtils.render(ec,"wrapper",{colorScheme:to(this.config.colorScheme),content:r})}makeFileDiffHtml(t,r){if(this.config.renderNothingWhenEmpty&&Array.isArray(t.blocks)&&t.blocks.length===0)return"";let n=this.hoganUtils.template(EC,"file-diff"),i=this.hoganUtils.template(ec,"file-path"),a=this.hoganUtils.template($B,"file"),s=this.hoganUtils.template(LB,no(t));return n.render({file:t,fileHtmlId:ro(t),diffs:r,filePath:i.render({fileDiffName:Aa(t)},{fileIcon:a,fileTag:s})})}generateEmptyDiff(){return this.hoganUtils.render(ec,"empty-diff",{contentClass:"d2h-code-line",CSSLineClass:Et})}generateFileHtml(t){let r=Qs(Js(n=>Nr(n.content,t.isCombined).content));return t.blocks.map(n=>{let i=this.hoganUtils.render(ec,"block-header",{CSSLineClass:Et,blockHeader:t.isTooBig?n.header:Li(n.header),lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line"});return this.applyLineGroupping(n).forEach(([a,s,o])=>{if(s.length&&o.length&&!a.length)this.applyRematchMatching(s,o,r).map(([c,l])=>{let{left:u,right:f}=this.processChangedLines(t,t.isCombined,c,l);i+=u,i+=f});else if(a.length)a.forEach(c=>{let{prefix:l,content:u}=Nr(c.content,t.isCombined);i+=this.generateSingleLineHtml(t,{type:Et.CONTEXT,prefix:l,content:u,oldNumber:c.oldNumber,newNumber:c.newNumber})});else if(s.length||o.length){let{left:c,right:l}=this.processChangedLines(t,t.isCombined,s,o);i+=c,i+=l}else console.error("Unknown state reached while processing groups of lines",a,s,o)}),i}).join(` -`)}applyLineGroupping(t){let r=[],n=[],i=[];for(let a=0;a0)&&(r.push([[],n,i]),n=[],i=[]),s.type===He.CONTEXT?r.push([[s],[],[]]):s.type===He.INSERT&&n.length===0?r.push([[],[],[s]]):s.type===He.INSERT&&n.length>0?i.push(s):s.type===He.DELETE&&n.push(s)}return(n.length||i.length)&&(r.push([[],n,i]),n=[],i=[]),r}applyRematchMatching(t,r,n){let i=t.length*r.length,a=Math.max.apply(null,[0].concat(t.concat(r).map(o=>o.content.length)));return i{let i;return n.blocks.length?i=this.generateFileHtml(n):i=this.generateEmptyDiff(),this.makeFileDiffHtml(n,i)}).join(` -`);return this.hoganUtils.render(rc,"wrapper",{colorScheme:to(this.config.colorScheme),content:r})}makeFileDiffHtml(t,r){if(this.config.renderNothingWhenEmpty&&Array.isArray(t.blocks)&&t.blocks.length===0)return"";let n=this.hoganUtils.template(DB,"file-diff"),i=this.hoganUtils.template(rc,"file-path"),a=this.hoganUtils.template(NB,"file"),s=this.hoganUtils.template(jB,no(t));return n.render({file:t,fileHtmlId:ro(t),diffs:r,filePath:i.render({fileDiffName:Aa(t)},{fileIcon:a,fileTag:s})})}generateEmptyDiff(){return{right:"",left:this.hoganUtils.render(rc,"empty-diff",{contentClass:"d2h-code-side-line",CSSLineClass:Et})}}generateFileHtml(t){let r=Qs(Js(n=>Nr(n.content,t.isCombined).content));return t.blocks.map(n=>{let i={left:this.makeHeaderHtml(n.header,t),right:this.makeHeaderHtml("")};return this.applyLineGroupping(n).forEach(([a,s,o])=>{if(s.length&&o.length&&!a.length)this.applyRematchMatching(s,o,r).map(([c,l])=>{let{left:u,right:f}=this.processChangedLines(t.isCombined,c,l);i.left+=u,i.right+=f});else if(a.length)a.forEach(c=>{let{prefix:l,content:u}=Nr(c.content,t.isCombined),{left:f,right:d}=this.generateLineHtml({type:Et.CONTEXT,prefix:l,content:u,number:c.oldNumber},{type:Et.CONTEXT,prefix:l,content:u,number:c.newNumber});i.left+=f,i.right+=d});else if(s.length||o.length){let{left:c,right:l}=this.processChangedLines(t.isCombined,s,o);i.left+=c,i.right+=l}else console.error("Unknown state reached while processing groups of lines",a,s,o)}),i}).reduce((n,i)=>({left:n.left+i.left,right:n.right+i.right}),{left:"",right:""})}applyLineGroupping(t){let r=[],n=[],i=[];for(let a=0;a0)&&(r.push([[],n,i]),n=[],i=[]),s.type===He.CONTEXT?r.push([[s],[],[]]):s.type===He.INSERT&&n.length===0?r.push([[],[],[s]]):s.type===He.INSERT&&n.length>0?i.push(s):s.type===He.DELETE&&n.push(s)}return(n.length||i.length)&&(r.push([[],n,i]),n=[],i=[]),r}applyRematchMatching(t,r,n){let i=t.length*r.length,a=Math.max.apply(null,[0].concat(t.concat(r).map(o=>o.content.length)));return i'),n.b(` -`+r),n.b(' '),n.b(` -`+r),n.b(n.rp("'),n.b(n.v(n.f("fileName",e,t,0))),n.b(""),n.b(` -`+r),n.b(' '),n.b(` -`+r),n.b(' '),n.b(n.v(n.f("addedLines",e,t,0))),n.b(""),n.b(` -`+r),n.b(' '),n.b(n.v(n.f("deletedLines",e,t,0))),n.b(""),n.b(` -`+r),n.b(" "),n.b(` -`+r),n.b(" "),n.b(` -`+r),n.b(""),n.fl()},partials:{"'),n.b(` -`+r),n.b('
'),n.b(` -`+r),n.b(' Files changed ('),n.b(n.v(n.f("filesNumber",e,t,0))),n.b(")"),n.b(` -`+r),n.b(' hide'),n.b(` -`+r),n.b(' show'),n.b(` -`+r),n.b("
"),n.b(` -`+r),n.b('
    '),n.b(` -`+r),n.b(" "),n.b(n.t(n.f("files",e,t,0))),n.b(` -`+r),n.b("
"),n.b(` -`+r),n.b(""),n.fl()},partials:{},subs:{}});nt["generic-block-header"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b(""),n.b(` -`+r),n.b(' '),n.b(` -`+r),n.b(' '),n.b(` -`+r),n.b('
'),n.s(n.f("blockHeader",e,t,1),e,t,0,156,173,"{{ }}")&&(n.rs(e,t,function(i,a,s){s.b(s.t(s.f("blockHeader",i,a,0)))}),e.pop()),n.s(n.f("blockHeader",e,t,1),e,t,1,0,0,"")||n.b(" "),n.b("
"),n.b(` -`+r),n.b(" "),n.b(` -`+r),n.b(""),n.fl()},partials:{},subs:{}});nt["generic-empty-diff"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b(""),n.b(` -`+r),n.b(' '),n.b(` -`+r),n.b('
'),n.b(` -`+r),n.b(" File without changes"),n.b(` -`+r),n.b("
"),n.b(` -`+r),n.b(" "),n.b(` -`+r),n.b(""),n.fl()},partials:{},subs:{}});nt["generic-file-path"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b(''),n.b(` -`+r),n.b(n.rp("'),n.b(n.v(n.f("fileDiffName",e,t,0))),n.b(""),n.b(` -`+r),n.b(n.rp(""),n.b(` -`+r),n.b('"),n.fl()},partials:{""),n.b(` -`+r),n.b(' '),n.b(` -`+r),n.b(" "),n.b(n.t(n.f("lineNumber",e,t,0))),n.b(` -`+r),n.b(" "),n.b(` -`+r),n.b(' '),n.b(` -`+r),n.b('
'),n.b(` -`+r),n.s(n.f("prefix",e,t,1),e,t,0,162,238,"{{ }}")&&(n.rs(e,t,function(i,a,s){s.b(' '),s.b(s.t(s.f("prefix",i,a,0))),s.b(""),s.b(` -`+r)}),e.pop()),n.s(n.f("prefix",e,t,1),e,t,1,0,0,"")||(n.b('  '),n.b(` -`+r)),n.s(n.f("content",e,t,1),e,t,0,371,445,"{{ }}")&&(n.rs(e,t,function(i,a,s){s.b(' '),s.b(s.t(s.f("content",i,a,0))),s.b(""),s.b(` -`+r)}),e.pop()),n.s(n.f("content",e,t,1),e,t,1,0,0,"")||(n.b('
'),n.b(` -`+r)),n.b("
"),n.b(` -`+r),n.b(" "),n.b(` -`+r),n.b(""),n.fl()},partials:{},subs:{}});nt["generic-wrapper"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b('
'),n.b(` -`+r),n.b(" "),n.b(n.t(n.f("content",e,t,0))),n.b(` -`+r),n.b("
"),n.fl()},partials:{},subs:{}});nt["icon-file-added"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b('"),n.fl()},partials:{},subs:{}});nt["icon-file-changed"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b('"),n.fl()},partials:{},subs:{}});nt["icon-file-deleted"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b('"),n.fl()},partials:{},subs:{}});nt["icon-file-renamed"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b('"),n.fl()},partials:{},subs:{}});nt["icon-file"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b('"),n.fl()},partials:{},subs:{}});nt["line-by-line-file-diff"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b('
'),n.b(` -`+r),n.b('
'),n.b(` -`+r),n.b(" "),n.b(n.t(n.f("filePath",e,t,0))),n.b(` -`+r),n.b("
"),n.b(` -`+r),n.b('
'),n.b(` -`+r),n.b('
'),n.b(` -`+r),n.b(' '),n.b(` -`+r),n.b(' '),n.b(` -`+r),n.b(" "),n.b(n.t(n.f("diffs",e,t,0))),n.b(` -`+r),n.b(" "),n.b(` -`+r),n.b("
"),n.b(` -`+r),n.b("
"),n.b(` -`+r),n.b("
"),n.b(` -`+r),n.b("
"),n.fl()},partials:{},subs:{}});nt["line-by-line-numbers"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b('
'),n.b(n.v(n.f("oldNumber",e,t,0))),n.b("
"),n.b(` -`+r),n.b('
'),n.b(n.v(n.f("newNumber",e,t,0))),n.b("
"),n.fl()},partials:{},subs:{}});nt["side-by-side-file-diff"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b('
'),n.b(` -`+r),n.b('
'),n.b(` -`+r),n.b(" "),n.b(n.t(n.f("filePath",e,t,0))),n.b(` -`+r),n.b("
"),n.b(` -`+r),n.b('
'),n.b(` -`+r),n.b('
'),n.b(` -`+r),n.b('
'),n.b(` -`+r),n.b(' '),n.b(` -`+r),n.b(' '),n.b(` -`+r),n.b(" "),n.b(n.t(n.d("diffs.left",e,t,0))),n.b(` -`+r),n.b(" "),n.b(` -`+r),n.b("
"),n.b(` -`+r),n.b("
"),n.b(` -`+r),n.b("
"),n.b(` -`+r),n.b('
'),n.b(` -`+r),n.b('
'),n.b(` -`+r),n.b(' '),n.b(` -`+r),n.b(' '),n.b(` -`+r),n.b(" "),n.b(n.t(n.d("diffs.right",e,t,0))),n.b(` -`+r),n.b(" "),n.b(` -`+r),n.b("
"),n.b(` -`+r),n.b("
"),n.b(` -`+r),n.b("
"),n.b(` -`+r),n.b("
"),n.b(` -`+r),n.b("
"),n.fl()},partials:{},subs:{}});nt["tag-file-added"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b('ADDED'),n.fl()},partials:{},subs:{}});nt["tag-file-changed"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b('CHANGED'),n.fl()},partials:{},subs:{}});nt["tag-file-deleted"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b('DELETED'),n.fl()},partials:{},subs:{}});nt["tag-file-renamed"]=new lt.Template({code:function(e,t,r){var n=this;return n.b(r=r||""),n.b('RENAMED'),n.fl()},partials:{},subs:{}});var ic=class{constructor({compiledTemplates:t={},rawTemplates:r={}}){let n=Object.entries(r).reduce((i,[a,s])=>{let o=T0.compile(s,{asString:!1});return Object.assign(Object.assign({},i),{[a]:o})},{});this.preCompiledTemplates=Object.assign(Object.assign(Object.assign({},nt),t),n)}static compile(t){return T0.compile(t,{asString:!1})}render(t,r,n,i,a){let s=this.templateKey(t,r);try{return this.preCompiledTemplates[s].render(n,i,a)}catch(o){throw new Error(`Could not find template to render '${s}'`)}}template(t,r){return this.preCompiledTemplates[this.templateKey(t,r)]}templateKey(t,r){return`${t}-${r}`}};var HB=Object.assign(Object.assign(Object.assign({},x0),S0),{outputFormat:lC.LINE_BY_LINE,drawFileList:!0});function CC(e,t={}){let r=Object.assign(Object.assign({},HB),t),n=typeof e=="string"?gC(e,r):e,i=new ic(r),{colorScheme:a}=r,s={colorScheme:a},o=r.drawFileList?new md(i,s).render(n):"",c=r.outputFormat==="side-by-side"?new nc(i,r).render(n):new tc(i,r).render(n);return o+c}var vd=require("obsidian");var ka=class extends vd.ItemView{constructor(r,n){super(r);this.plugin=n;this.gettingDiff=!1;this.parser=new DOMParser,this.navigation=!0,this.gitRefreshRef=this.app.workspace.on("obsidian-git:status-changed",()=>{this.refresh().catch(console.error)})}getViewType(){return ki.type}getDisplayText(){var r;if(((r=this.state)==null?void 0:r.bFile)!=null){let n=this.state.bFile.split("/").last();return n!=null&&n.endsWith(".md")&&(n=n.slice(0,-3)),`Diff: ${n}`}return ki.name}getIcon(){return ki.icon}async setState(r,n){this.state=r,vd.Platform.isMobile&&(this.leaf.view.titleEl.textContent=this.getDisplayText()),await this.refresh()}getState(){return this.state}onClose(){return this.app.workspace.offref(this.gitRefreshRef),this.app.workspace.offref(this.gitViewRefreshRef),super.onClose()}async onOpen(){return await this.refresh(),super.onOpen()}async refresh(){var r;if((r=this.state)!=null&&r.bFile&&!this.gettingDiff&&this.plugin.gitManager){this.gettingDiff=!0;try{let n=await this.plugin.gitManager.getDiffString(this.state.bFile,this.state.aRef=="HEAD",this.state.bRef);this.contentEl.empty();let i=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);if(!n){if(this.plugin.gitManager instanceof Te&&await this.plugin.gitManager.isTracked(this.state.bFile))n=[`--- ${this.state.aFile}`,`+++ ${this.state.bFile}`,""].join(` -`);else if(await this.app.vault.adapter.exists(i)){let a=await this.app.vault.adapter.read(i);n=[...`--- /dev/null -+++ ${this.state.bFile} -@@ -0,0 +1,${a.split(` -`).length} @@`.split(` -`),...a.split(` -`).map(o=>`+${o}`)].join(` -`)}}if(n){let a=this.parser.parseFromString(CC(n),"text/html").querySelector(".d2h-file-diff");this.contentEl.append(a)}else{let a=this.contentEl.createDiv({cls:"obsidian-git-center"});a.createSpan({text:"\u26A0\uFE0F",attr:{style:"font-size: 2em"}}),a.createEl("br"),a.createSpan({text:"File not found: "+this.state.bFile})}}finally{this.gettingDiff=!1}}}};g();var V3=require("obsidian");g();g();g();var PC="5";typeof window!="undefined"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(PC);g();g();var io="[",Ta="[!",Ca="]",Di={};var ct=Symbol(),qt=Symbol("filename"),RC=Symbol("hmr");g();g();var UB=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","hidden","indeterminate","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected","webkitdirectory"];var aZ=[...UB,"formNoValidate","isMap","noModule","playsInline","readOnly","value","inert","volume","defaultValue","defaultChecked","srcObject"];var GB=["touchstart","touchmove"];function MC(e){return GB.includes(e)}g();g();g();var yd=!0;g();var V=!1;g();var an=Array.isArray,ac=Array.from,C0=Object.keys,Mt=Object.defineProperty,jr=Object.getOwnPropertyDescriptor,P0=Object.getOwnPropertyDescriptors,R0=Object.prototype,OC=Array.prototype,Pa=Object.getPrototypeOf;function M0(e){return typeof e=="function"}var br=()=>{};function wd(e){for(var t=0;t0)){let n=Array.from(Ma);var r=ri;so(!0);try{for(let i of n)i.f&1024&&Xt(i,4096),Bi(i)&&Ia(i)}finally{so(r)}Ma.clear()}return t}function qC(e,t){var r=e.reactions;if(r!==null)for(var n=ji(),i=r.length,a=0;an.line)return a.component}}return null}var ZB=Symbol("ADD_OWNER");function N0(e,t){if(t.owners!==null)for(;e;){if(e.owners===null){t.owners=null;break}for(let r of e.owners)t.owners.add(r);e=e.parent}}function QC(e,t){return e.owners===null?!0:e.owners.has(t)||e.parent!==null&&QC(e.parent,t)}function e3(e){var t,r;return(r=(t=e==null?void 0:e.owners)==null?void 0:t.values().next().value)!=null?r:e3(e.parent)}var KB=!1;function t3(e){if(KB)return;let t=JC();if(t&&!QC(e,t)){let r=e3(e);r[qt]!==t[qt]?D0(t[qt],r[qt]):D0()}}function be(e,t=null,r){var l,u;var n=null;if(V&&Qn&&(n=ei("CreatedAt")),typeof e!="object"||e===null||_r in e)return e;let i=Pa(e);if(i!==R0&&i!==OC)return e;var a=new Map,s=an(e),o=ut(0);s&&a.set("length",ut(e.length,n));var c;if(V)if(c={parent:t,owners:null},r){let f=(u=(l=r.v)==null?void 0:l[Ra])==null?void 0:u.owners;c.owners=f?new Set(f):null}else c.owners=t===null?he!==null?new Set([he.function]):null:new Set;return new Proxy(e,{defineProperty(f,d,h){(!("value"in h)||h.configurable===!1||h.enumerable===!1||h.writable===!1)&&UC();var p=a.get(d);return p===void 0?(p=ut(h.value,n),a.set(d,p)):re(p,be(h.value,c)),!0},deleteProperty(f,d){var h=a.get(d);if(h===void 0)d in f&&a.set(d,ut(ct,n));else{if(s&&typeof d=="string"){var p=a.get("length"),m=Number(d);Number.isInteger(m)&&m=_.v&&re(_,k+1)}r3(o)}return!0},ownKeys(f){R(o);var d=Reflect.ownKeys(f).filter(m=>{var v=a.get(m);return v===void 0||v.v!==ct});for(var[h,p]of a)p.v!==ct&&!(h in f)&&d.push(h);return d},setPrototypeOf(){GC()}})}function r3(e,t=1){re(e,e.v+t)}function Ad(e){return e!==null&&typeof e=="object"&&_r in e?e[_r]:e}function n3(){let e=Array.prototype,t=Array.__svelte_cleanup;t&&t();let{indexOf:r,lastIndexOf:n,includes:i}=e;e.indexOf=function(a,s){let o=r.call(this,a,s);if(o===-1){for(let c=s!=null?s:0;c{e.indexOf=r,e.lastIndexOf=n,e.includes=i}}var j0,i3,a3,s3;function kd(){if(j0===void 0){j0=window,i3=document;var e=Element.prototype,t=Node.prototype;a3=jr(t,"firstChild").get,s3=jr(t,"nextSibling").get,e.__click=void 0,e.__className="",e.__attributes=null,e.__styles=null,e.__e=void 0,Text.prototype.__t=void 0,V&&(e.__svelte_meta=null,n3())}}function zr(e=""){return document.createTextNode(e)}function kt(e){return a3.call(e)}function It(e){return s3.call(e)}function U(e,t){if(!ae)return kt(e);var r=kt(ue);if(r===null)r=ue.appendChild(zr());else if(t&&r.nodeType!==3){var n=zr();return r==null||r.before(n),Qe(n),n}return Qe(r),r}function lr(e,t){var i,a;if(!ae){var r=kt(e);return r instanceof Comment&&r.data===""?It(r):r}if(t&&((i=ue)==null?void 0:i.nodeType)!==3){var n=zr();return(a=ue)==null||a.before(n),Qe(n),n}return ue}function Z(e,t=1,r=!1){let n=ae?ue:e;for(var i;t--;)i=n,n=It(n);if(!ae)return n;var a=n==null?void 0:n.nodeType;if(r&&a!==3){var s=zr();return n===null?i==null||i.after(s):n.before(s),Qe(s),s}return Qe(n),n}function ho(e){e.textContent=""}g();function qe(e){var i;var t=2050;te===null?t|=256:te.f|=1048576;var r=fe!==null&&fe.f&2?fe:null;let n={children:null,ctx:he,deps:null,equals:_d,f:t,fn:e,reactions:null,v:null,version:0,parent:r!=null?r:te};return V&&Qn&&(n.created=ei("CreatedAt")),r!==null&&((i=r.children)!=null?i:r.children=[]).push(n),n}function G0(e){let t=qe(e);return t.equals=ao,t}function H0(e){var t=e.children;if(t!==null){e.children=null;for(var r=0;r{Ft(t)}}function c3(e){let t=$a(64,e,!0);return(r={})=>new Promise(n=>{r.outro?ln(t,()=>{Ft(t),n(void 0)}):(Ft(t),n(void 0))})}function xr(e){return $a(4,e,!1)}function or(e){return $a(8,e,!0)}function xe(e){return V&&Mt(e,"name",{value:"{expression}"}),cr(e)}function cr(e,t=0){return $a(24|t,e,!0)}function Lt(e,t=!0){return $a(40,e,!0,t)}function Z0(e){var t=e.teardown;if(t!==null){let r=Pd,n=fe;W0(!0),Tt(null);try{t.call(null)}finally{W0(r),Tt(n)}}}function K0(e){var t=e.deriveds;if(t!==null){e.deriveds=null;for(var r=0;r{Ft(e),t&&t()})}function ev(e,t){var r=e.length;if(r>0){var n=()=>--r||t();for(var i of e)i.out(n)}else t()}function Cd(e,t,r){if(!(e.f&8192)){if(e.f^=8192,e.transitions!==null)for(let s of e.transitions)(s.is_global||r)&&t.push(s);for(var n=e.first;n!==null;){var i=n.next,a=(n.f&65536)!==0||(n.f&32)!==0;Cd(n,t,a?r:!1),n=i}}}function Gi(e){f3(e,!0)}function f3(e,t){if(e.f&8192){Bi(e)&&Ia(e),e.f^=8192;for(var r=e.first;r!==null;){var n=r.next,i=(r.f&65536)!==0||(r.f&32)!==0;f3(r,i?t:!1),r=n}if(e.transitions!==null)for(let a of e.transitions)(a.is_global||t)&&a.in()}}g();var Rd=!1,h3=!1,tv=[],d3=[];function p3(){Rd=!1;let e=tv.slice();tv=[],wd(e)}function e7(){h3=!1;let e=d3.slice();d3=[],wd(e)}function ur(e){Rd||(Rd=!0,queueMicrotask(p3)),tv.push(e)}function m3(){Rd&&p3(),h3&&e7()}g();function fc(e){if(V){let t=new Error(`lifecycle_outside_component -\`${e}(...)\` can only be used during component initialisation -https://svelte.dev/e/lifecycle_outside_component`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/lifecycle_outside_component")}var _3=0,n7=1,g3=new WeakSet,Md=!1,Od=_3,dc=!1,mo=null,ri=!1,Pd=!1;function so(e){ri=e}function W0(e){Pd=e}var La=[],go=0,hc=[],fe=null;function Tt(e){fe=e}var te=null;function it(e){te=e}var sn=null;function YC(e){sn=e}var At=null,Sr=0,ti=null;function XC(e){ti=e}var x3=1,ni=!1,oc=null;var he=null;var Gr=null;function xd(){return++x3}function ji(){return!Jn||he!==null&&he.l===null}function Bi(e){var s,o,c,l;var t=e.f;if(t&2048)return!0;if(t&4096){var r=e.deps,n=(t&256)!==0;if(r!==null){var i;if(t&512){for(i=0;ie.version)return!0}}(!n||te!==null&&!ni)&&Xt(e,1024)}return!1}function v3(e,t){for(var r=t;r!==null;){if(r.f&128)try{r.fn(e);return}catch(n){r.f^=128}r=r.parent}throw Md=!1,e}function y3(e){return(e.f&16384)===0&&(e.parent===null||(e.parent.f&128)===0)}function vo(e,t,r,n){var u,f;if(Md){if(r===null&&(Md=!1),y3(t))throw e;return}if(r!==null&&(Md=!0),!V||n===null||!(e instanceof Error)||g3.has(e)){v3(e,t);return}g3.add(e);let i=[],a=(u=t.fn)==null?void 0:u.name;a&&i.push(a);let s=n;for(;s!==null;){if(V){var o=(f=s.function)==null?void 0:f[qt];if(o){let d=o.split("/").pop();i.push(d)}}s=s.p}let c=/Firefox/.test(navigator.userAgent)?" ":" ";Mt(e,"message",{value:e.message+` -${i.map(d=>` -${c}in ${d}`).join("")} -`}),Mt(e,"component_stack",{value:i});let l=e.stack;if(l){let d=l.split(` -`),h=[];for(let p=0;p0)for(u.length=Sr+At.length,f=0;fe.fn)),hc=[]}function S3(){if(go>1e3){go=0;try{NC()}catch(e){if(V&&Mt(e,"stack",{value:""}),mo!==null)if(V)try{vo(e,mo,null,null)}catch(t){throw w3(),t}else vo(e,mo,null,null);else throw V&&w3(),e}}go++}function E3(e){var t=e.length;if(t!==0){S3();var r=ri;ri=!0;try{for(var n=0;n1001)return;let e=La;La=[],E3(e),dc||(go=0,mo=null,V&&(hc=[]))}function lo(e){Od===_3&&(dc||(dc=!0,queueMicrotask(s7))),mo=e;for(var t=e;t.parent!==null;){t=t.parent;var r=t.f;if(r&96){if(!(r&1024))return;t.f^=1024}}La.push(t)}function A3(e,t){var r=e.first,n=[];e:for(;r!==null;){var i=r.f,a=(i&32)!==0,s=a&&(i&1024)!==0,o=r.next;if(!s&&!(i&8192))if(i&8){if(a)r.f^=1024;else try{Bi(r)&&Ia(r)}catch(f){vo(f,r,null,r.ctx)}var c=r.first;if(c!==null){r=c;continue}}else i&4&&n.push(r);if(o===null){let f=r.parent;for(;f!==null;){if(e===f)break e;var l=f.next;if(l!==null){r=l;continue e}f=f.parent}}r=o}for(var u=0;u0||i.length>0)&&yo(),go=0,mo=null,V&&(hc=[]),n}finally{Od=t,La=r}}function R(e){var f,d;var t=e.f,r=(t&2)!==0;if(r&&t&16384){var n=z0(e);return uc(e),n}if(oc!==null&&oc.add(e),fe!==null){sn!==null&&sn.includes(e)&&zC();var i=fe.deps;At===null&&i!==null&&i[Sr]===e?Sr++:At===null?At=[e]:At.push(e),ti!==null&&te!==null&&te.f&1024&&!(te.f&32)&&ti.includes(e)&&(Xt(te,2048),lo(te))}else if(r&&e.deps===null)for(var a=e,s=a.parent,o=a;s!==null;)if(s.f&2){var c=s;o=c,s=c.parent}else{var l=s;(f=l.deriveds)!=null&&f.includes(o)||((d=l.deriveds)!=null?d:l.deriveds=[]).push(o);break}if(r&&(a=e,Bi(a)&&V0(a)),V&&Qn&&sc!==null&&fe!==null&&sc.reaction===fe){if(e.debug)e.debug();else if(e.created){var u=sc.entries.get(e);u===void 0&&(u={read:[]},sc.entries.set(e,u)),u.read.push(ei("TracedAt"))}}return e.v}function Ue(e){let t=fe;try{return fe=null,e()}finally{fe=t}}var o7=-7169;function Xt(e,t){e.f=e.f&o7|t}function Ye(e,t=!1,r){he={p:he,c:null,e:null,m:!1,s:e,x:null,l:null},Jn&&!t&&(he.l={s:null,u:null,r1:[],r2:ut(!1)}),V&&(he.function=r,Gr=r)}function Xe(e){var s,o;let t=he;if(t!==null){e!==void 0&&(t.x=e);let c=t.e;if(c!==null){var r=te,n=fe;t.e=null;try{for(var i=0;i{if(r!==void 0)return r;HC(t)},set:n=>{r=n}})}};e("$state"),e("$effect"),e("$derived"),e("$inspect"),e("$props"),e("$bindable")}g();var k3=new Map;function T3(e,t){var r=k3.get(e);r||(r=new Set,k3.set(e,r)),r.add(t)}g();g();g();g();g();g();function rv(e){ae&&kt(e)!==null&&ho(e)}var C3=!1;function nv(){C3||(C3=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(let r of e.target.elements)(t=r.__on_r)==null||t.call(r)})},{capture:!0}))}function $d(e){var t=fe,r=te;Tt(null),it(null);try{return e()}finally{Tt(t),it(r)}}function iv(e,t,r,n=r){e.addEventListener(t,()=>$d(r));let i=e.__on_r;i?e.__on_r=()=>{i(),n(!0)}:e.__on_r=()=>n(!0),nv()}var av=new Set,Ld=new Set;function P3(e,t,r,n){function i(a){if(n.capture||wo.call(t,a),!a.cancelBubble)return $d(()=>r.call(this,a))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?ur(()=>{t.addEventListener(e,i,n)}):t.addEventListener(e,i,n),i}function Er(e,t,r,n,i){var a={capture:n,passive:i},s=P3(e,t,r,a);(t===document.body||t===window||t===document)&&Wr(()=>{t.removeEventListener(e,s,a)})}function dt(e){for(var t=0;t{throw x});throw d}}finally{e.__root=t,delete e.currentTarget,Tt(u),it(f)}}}g();var c7;function R3(){c7=void 0}g();g();function Dd(e){var t=document.createElement("template");return t.innerHTML=e,t.content}function Mn(e,t){var r=te;r.nodes_start===null&&(r.nodes_start=e,r.nodes_end=t)}function se(e,t){var r=(t&1)!==0,n=(t&2)!==0,i,a=!e.startsWith("");return()=>{if(ae)return Mn(ue,null),ue;i===void 0&&(i=Dd(a?e:""+e),r||(i=kt(i)));var s=n?document.importNode(i,!0):i.cloneNode(!0);if(r){var o=kt(s),c=s.lastChild;Mn(o,c)}else Mn(s,s);return s}}function ii(){if(ae)return Mn(ue,null),ue;var e=document.createDocumentFragment(),t=document.createComment(""),r=zr();return e.append(t,r),Mn(t,r),e}function ne(e,t){if(ae){te.nodes_end=ue,Ot();return}e!==null&&e.before(t)}var Nd=!0;function Oe(e,t){var n;var r=t==null?"":typeof t=="object"?t+"":t;r!==((n=e.__t)!=null?n:e.__t=e.nodeValue)&&(e.__t=r,e.nodeValue=r==null?"":r+"")}function zi(e,t){return M3(e,t)}function ov(e,t){var s;kd(),t.intro=(s=t.intro)!=null?s:!1;let r=t.target,n=ae,i=ue;try{for(var a=kt(r);a&&(a.nodeType!==8||a.data!==io);)a=It(a);if(!a)throw Di;sr(!0),Qe(a),Ot();let o=M3(e,{...t,anchor:a});if(ue===null||ue.nodeType!==8||ue.data!==Ca)throw co(),Di;return sr(!1),o}catch(o){if(o===Di)return t.recover===!1&&jC(),kd(),ho(r),sr(!1),zi(e,t);throw o}finally{sr(n),Qe(i),R3()}}var bo=new Map;function M3(e,{target:t,anchor:r,props:n={},events:i,context:a,intro:s=!0}){kd();var o=new Set,c=f=>{for(var d=0;d{var f=r!=null?r:t.appendChild(zr());return Lt(()=>{if(a){Ye({});var d=he;d.c=a}i&&(n.$$events=i),ae&&Mn(f,null),Nd=s,l=e(f,n)||{},Nd=!0,ae&&(te.nodes_end=ue),a&&Xe()}),()=>{var p;for(var d of o){t.removeEventListener(d,wo);var h=bo.get(d);--h===0?(document.removeEventListener(d,wo),bo.delete(d)):bo.set(d,h)}Ld.delete(c),f!==r&&((p=f.parentNode)==null||p.removeChild(f))}});return sv.set(l,u),l}var sv=new WeakMap;function ai(e,t){let r=sv.get(e);return r?(sv.delete(e),r(t)):(V&&KC(),Promise.resolve())}g();g();g();g();function ge(e,t,r=!1){ae&&Ot();var n=e,i=null,a=null,s=ct,o=r?65536:0,c=!1;let l=(f,d=!0)=>{c=!0,u(d,f)},u=(f,d)=>{if(s===(s=f))return;let h=!1;if(ae){let p=n.data===Ta;!!s===p&&(n=fo(),Qe(n),sr(!1),h=!0)}s?(i?Gi(i):d&&(i=Lt(()=>d(n))),a&&ln(a,()=>{a=null})):(a?Gi(a):d&&(a=Lt(()=>d(n))),i&&ln(i,()=>{i=null})),h&&sr(!0)};cr(()=>{c=!1,t(l),c||u(null,null)},o),ae&&(n=ue)}g();g();g();var pc=null;function Ar(e,t){return t}function v7(e,t,r,n){for(var i=[],a=t.length,s=0;s0&&i.length===0&&r!==null;if(o){var c=r.parentNode;ho(c),c.append(r),n.clear(),Vi(e,t[0].prev,t[a-1].next)}ev(i,()=>{for(var l=0;l{var d=r(),h=an(d)?d:d==null?[]:ac(d),p=h.length;if(f&&p===0)return;f=p===0;let m=!1;if(ae){var v=s.data===Ta;v!==(p===0)&&(s=fo(),Qe(s),sr(!1),m=!0)}if(ae){for(var y=null,b,x=0;x0&&Qe(fo())}if(!ae){var k=fe;y7(h,o,s,i,t,(k.f&8192)!==0,n,r)}a!==null&&(p===0?u?Gi(u):u=Lt(()=>a(s)):u!==null&&ln(u,()=>{u=null})),m&&sr(!0),r()}),ae&&(s=ue)}function y7(e,t,r,n,i,a,s,o){var Q,de,ee,J;var c=(i&8)!==0,l=(i&3)!==0,u=e.length,f=t.items,d=t.first,h=d,p,m=null,v,y=[],b=[],x,E,_,k;if(c)for(k=0;k0){var D=i&4&&u===0?r:null;if(c){for(k=0;k{var Ce;if(v!==void 0)for(_ of v)(Ce=_.a)==null||Ce.apply()}),te.first=t.first&&t.first.e,te.last=m&&m.e}function w7(e,t,r,n){n&1&&oo(e.v,t),n&2?oo(e.i,r):e.i=r}function F3(e,t,r,n,i,a,s,o,c,l){var u=pc,f=(c&1)!==0,d=(c&16)===0,h=f?d?Ni(i):ut(i):i,p=c&2?ut(s):s;V&&f&&(h.debug=()=>{var v=typeof p=="number"?s:p.v;l()[v]});var m={i:p,v:h,k:a,a:null,e:null,prev:r,next:n};pc=m;try{return m.e=Lt(()=>o(e,h,p),ae),m.e.prev=r&&r.e,m.e.next=n&&n.e,r===null?t.first=m:(r.next=m,r.e.next=m.e),n!==null&&(n.prev=m,n.e.prev=m.e),m}finally{pc=u}}function O3(e,t,r){for(var n=e.next?e.next.e.nodes_start:r,i=t?t.e.nodes_start:r,a=e.e.nodes_start;a!==n;){var s=It(a);i.before(a),a=s}}function Vi(e,t,r){t===null?e.first=r:(t.next=r,t.e.next=r&&r.e),r!==null&&(r.prev=t,r.e.prev=t&&t.e)}g();g();g();g();g();g();function gt(e,t){ur(()=>{var i;var r=e.getRootNode(),n=r.host?r:(i=r.head)!=null?i:r.ownerDocument.head;if(!n.querySelector("#"+t.hash)){let a=document.createElement("style");a.id=t.hash,a.textContent=t.code,n.appendChild(a),V&&T3(t.hash,a)}})}g();g();g();g();g();function pe(e,t,r,n){var a;var i=(a=e.__attributes)!=null?a:e.__attributes={};if(ae&&(i[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName==="LINK")){n||E7(e,t,r!=null?r:"");return}i[t]!==(i[t]=r)&&(t==="style"&&"__styles"in e&&(e.__styles={}),t==="loading"&&(e[IC]=r),r==null?e.removeAttribute(t):typeof r!="string"&&S7(e).includes(t)?e[t]=r:e.setAttribute(t,r))}var L3=new Map;function S7(e){var t=L3.get(e.nodeName);if(t)return t;L3.set(e.nodeName,t=[]);for(var r,n=e,i=Element.prototype;i!==n;){r=P0(n);for(var a in r)r[a].set&&t.push(a);n=Pa(n)}return t}function E7(e,t,r){var n;V&&(t==="srcset"&&A7(e,r)||uv((n=e.getAttribute(t))!=null?n:"",r)||ZC(t,e.outerHTML.replace(e.innerHTML,e.innerHTML&&"..."),String(r)))}function uv(e,t){return e===t?!0:new URL(e,document.baseURI).href===new URL(t,document.baseURI).href}function D3(e){return e.split(",").map(t=>t.trim().split(" ").filter(Boolean))}function A7(e,t){var r=D3(e.srcset),n=D3(t);return n.length===r.length&&n.every(([i,a],s)=>a===r[s][1]&&(uv(r[s][0],i)||uv(i,r[s][0])))}g();function at(e,t,r){if(r){if(e.classList.contains(t))return;e.classList.add(t)}else{if(!e.classList.contains(t))return;e.classList.remove(t)}}g();g();g();g();var k7=yd?()=>performance.now():()=>Date.now(),cn={tick:e=>(yd?requestAnimationFrame:br)(e),now:()=>k7(),tasks:new Set};function N3(){let e=cn.now();cn.tasks.forEach(t=>{t.c(e)||(cn.tasks.delete(t),t.f())}),cn.tasks.size!==0&&cn.tick(N3)}function j3(e){let t;return cn.tasks.size===0&&cn.tick(N3),{promise:new Promise(r=>{cn.tasks.add(t={c:e,f:r})}),abort(){cn.tasks.delete(t)}}}function jd(e,t){e.dispatchEvent(new CustomEvent(t))}function R7(e){if(e==="float")return"cssFloat";if(e==="offset")return"cssOffset";if(e.startsWith("--"))return e;let t=e.split("-");return t.length===1?t[0]:t[0]+t.slice(1).map(r=>r[0].toUpperCase()+r.slice(1)).join("")}function B3(e){let t={},r=e.split(";");for(let n of r){let[i,a]=n.split(":");if(!i||a===void 0)break;let s=R7(i.trim());t[s]=a.trim()}return t}var M7=e=>e;function un(e,t,r,n){var b;var i=(e&1)!==0,a=(e&2)!==0,s=i&&a,o=(e&4)!==0,c=s?"both":i?"in":"out",l,u=t.inert,f,d;function h(){var _;var x=fe,E=te;Tt(null),it(null);try{return l!=null?l:l=r()(t,(_=n==null?void 0:n())!=null?_:{},{direction:c})}finally{Tt(x),it(E)}}var p={is_global:o,in(){var x;if(t.inert=u,!i){d==null||d.abort(),(x=d==null?void 0:d.reset)==null||x.call(d);return}a||f==null||f.abort(),jd(t,"introstart"),f=fv(t,h(),d,1,()=>{jd(t,"introend"),f==null||f.abort(),f=l=void 0})},out(x){if(!a){x==null||x(),l=void 0;return}t.inert=!0,jd(t,"outrostart"),d=fv(t,h(),f,0,()=>{jd(t,"outroend"),x==null||x()})},stop:()=>{f==null||f.abort(),d==null||d.abort()}},m=te;if(((b=m.transitions)!=null?b:m.transitions=[]).push(p),i&&Nd){var v=o;if(!v){for(var y=m.parent;y&&y.f&65536;)for(;(y=y.parent)&&!(y.f&16););v=!y||(y.f&32768)!==0}v&&xr(()=>{Ue(()=>p.in())})}}function fv(e,t,r,n,i){var a=n===1;if(M0(t)){var s,o=!1;return ur(()=>{if(!o){var v=t({direction:a?"in":"out"});s=fv(e,v,r,n,i)}}),{abort:()=>{o=!0,s==null||s.abort()},deactivate:()=>s.deactivate(),reset:()=>s.reset(),t:()=>s.t()}}if(r==null||r.deactivate(),!(t!=null&&t.duration))return i(),{abort:br,deactivate:br,reset:br,t:()=>n};let{delay:c=0,css:l,tick:u,easing:f=M7}=t;var d=[];if(a&&r===void 0&&(u&&u(0,1),l)){var h=B3(l(0,1));d.push(h,h)}var p=()=>1-n,m=e.animate(d,{duration:c});return m.onfinish=()=>{var A;var v=(A=r==null?void 0:r.t())!=null?A:1-n;r==null||r.abort();var y=n-v,b=t.duration*Math.abs(y),x=[];if(b>0){if(l)for(var E=Math.ceil(b/16.666666666666668),_=0;_<=E;_+=1){var k=v+y*f(_/E),w=l(k,1-k);x.push(B3(w))}p=()=>{var S=m.currentTime;return v+y*f(S/b)},u&&j3(()=>{if(m.playState!=="running")return!1;var S=p();return u(S,1-S),!0})}m=e.animate(x,{duration:b,fill:"forwards"}),m.onfinish=()=>{p=()=>n,u==null||u(n,1-n),i()}},{abort:()=>{m&&(m.cancel(),m.effect=null,m.onfinish=br)},deactivate:()=>{i=br},reset:()=>{n===0&&(u==null||u(1,0))},t:()=>p()}}g();g();function pv(e,t,r=t){var n=ji();iv(e,"input",i=>{V&&e.type==="checkbox"&&I0();var a=i?e.defaultValue:e.value;if(a=dv(e)?hv(a):a,r(a),n&&a!==(a=t())){var s=e.selectionStart,o=e.selectionEnd;e.value=a!=null?a:"",o!==null&&(e.selectionStart=s,e.selectionEnd=Math.min(o,e.value.length))}}),(ae&&e.defaultValue!==e.value||Ue(t)==null&&e.value)&&r(dv(e)?hv(e.value):e.value),or(()=>{V&&e.type==="checkbox"&&I0();var i=t();dv(e)&&i===hv(e.value)||e.type==="date"&&!i&&!e.value||i!==e.value&&(e.value=i!=null?i:"")})}function dv(e){var t=e.type;return t==="number"||t==="range"}function hv(e){return e===""?null:+e}g();g();g();g();g();g();function H3(e,t){return e===t||(e==null?void 0:e[_r])===t}function Ge(e={},t,r,n){return xr(()=>{var i,a;return or(()=>{i=a,a=(n==null?void 0:n())||[],Ue(()=>{e!==r(...a)&&(t(e,...a),i&&H3(r(...i),e)&&t(null,...i))})}),()=>{ur(()=>{a&&H3(r(...a),e)&&t(null,...a)})}}),e}g();g();g();g();g();g();g();g();g();function mv(e){he===null&&fc("onMount"),Jn&&he.l!==null?N7(he).m.push(e):$t(()=>{let t=Ue(e);if(typeof t=="function")return t})}function U3(e){he===null&&fc("onDestroy"),mv(()=>()=>Ue(e))}function N7(e){var r;var t=e.l;return(r=t.u)!=null?r:t.u={a:[],b:[],m:[]}}var Hd=!1;function gv(e){var t=Hd;try{return Hd=!1,[e(),Hd]}finally{Hd=t}}function G3(e){for(var t=te,r=te;t!==null&&!(t.f&96);)t=t.parent;try{return it(t),e()}finally{it(r)}}function si(e,t,r,n){var w,A;var i=(r&1)!==0,a=!Jn||(r&2)!==0,s=(r&8)!==0,o=(r&16)!==0,c=!1,l;s?[l,c]=gv(()=>e[t]):l=e[t];var u=_r in e||bd in e,f=(A=(w=jr(e,t))==null?void 0:w.set)!=null?A:u&&s&&t in e?S=>e[t]=S:void 0,d=n,h=!0,p=!1,m=()=>(p=!0,h&&(h=!1,o?d=Ue(n):d=n),d);l===void 0&&n!==void 0&&(f&&a&&BC(t),l=m(),f&&f(l));var v;if(a)v=()=>{var S=e[t];return S===void 0?m():(h=!0,p=!1,S)};else{var y=G3(()=>(i?qe:G0)(()=>e[t]));y.f|=131072,v=()=>{var S=R(y);return S!==void 0&&(d=void 0),S===void 0?d:S}}if(!(r&4))return v;if(f){var b=e.$$legacy;return function(S,T){return arguments.length>0?((!a||!T||b||c)&&f(T?v():S),S):v()}}var x=!1,E=!1,_=Ni(l),k=G3(()=>qe(()=>{var S=v(),T=R(_);return x?(x=!1,E=!0,T):(E=!1,_.v=S)}));return i||(k.equals=ao),function(S,T){if(oc!==null&&(x=E,v(),R(_)),arguments.length>0){let P=T?R(k):a&&s?be(S):S;return k.equals(P)||(x=!0,re(_,P),p&&d!==void 0&&(d=P),Ue(()=>R(k))),S}return R(k)}}g();g();g();g();function z3(e){return new vv(e)}var oi,qr,vv=class{constructor(t){Rc(this,oi);Rc(this,qr);var a,s;var r=new Map,n=(o,c)=>{var l=Ni(c);return r.set(o,l),l};let i=new Proxy({...t.props||{},$$events:{}},{get(o,c){var l;return R((l=r.get(c))!=null?l:n(c,Reflect.get(o,c)))},has(o,c){var l;return c===bd?!0:(R((l=r.get(c))!=null?l:n(c,Reflect.get(o,c))),Reflect.has(o,c))},set(o,c,l){var u;return re((u=r.get(c))!=null?u:n(c,l),l),Reflect.set(o,c,l)}});Mc(this,qr,(t.hydrate?ov:zi)(t.component,{target:t.target,anchor:t.anchor,props:i,context:t.context,intro:(a=t.intro)!=null?a:!1,recover:t.recover})),(!((s=t==null?void 0:t.props)!=null&&s.$$host)||t.sync===!1)&&yo(),Mc(this,oi,i.$$events);for(let o of Object.keys(Bt(this,qr)))o==="$set"||o==="$destroy"||o==="$on"||Mt(this,o,{get(){return Bt(this,qr)[o]},set(c){Bt(this,qr)[o]=c},enumerable:!0});Bt(this,qr).$set=o=>{Object.assign(i,o)},Bt(this,qr).$destroy=()=>{ai(Bt(this,qr))}}$set(t){Bt(this,qr).$set(t)}$on(t,r){Bt(this,oi)[t]=Bt(this,oi)[t]||[];let n=(...i)=>r.call(this,...i);return Bt(this,oi)[t].push(n),()=>{Bt(this,oi)[t]=Bt(this,oi)[t].filter(i=>i!==n)}}$destroy(){Bt(this,qr).$destroy()}};oi=new WeakMap,qr=new WeakMap;var K7;typeof HTMLElement=="function"&&(K7=class extends HTMLElement{constructor(t,r,n){super();Tr(this,"$$ctor");Tr(this,"$$s");Tr(this,"$$c");Tr(this,"$$cn",!1);Tr(this,"$$d",{});Tr(this,"$$r",!1);Tr(this,"$$p_d",{});Tr(this,"$$l",{});Tr(this,"$$l_u",new Map);Tr(this,"$$me");this.$$ctor=t,this.$$s=r,n&&this.attachShadow({mode:"open"})}addEventListener(t,r,n){if(this.$$l[t]=this.$$l[t]||[],this.$$l[t].push(r),this.$$c){let i=this.$$c.$on(t,r);this.$$l_u.set(r,i)}super.addEventListener(t,r,n)}removeEventListener(t,r,n){if(super.removeEventListener(t,r,n),this.$$c){let i=this.$$l_u.get(r);i&&(i(),this.$$l_u.delete(r))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let t=function(i){return a=>{let s=document.createElement("slot");i!=="default"&&(s.name=i),ne(a,s)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;let r={},n=J7(this);for(let i of this.$$s)i in n&&(i==="default"&&!this.$$d.children?(this.$$d.children=t(i),r.default=!0):r[i]=t(i));for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=yv(a,i.value,this.$$p_d,"toProp"))}for(let i in this.$$p_d)!(i in this.$$d)&&this[i]!==void 0&&(this.$$d[i]=this[i],delete this[i]);this.$$c=z3({component:this.$$ctor,target:this.shadowRoot||this,props:{...this.$$d,$$slots:r,$$host:this}}),this.$$me=X0(()=>{or(()=>{var i;this.$$r=!0;for(let a of C0(this.$$c)){if(!((i=this.$$p_d[a])!=null&&i.reflect))continue;this.$$d[a]=this.$$c[a];let s=yv(a,this.$$d[a],this.$$p_d,"toAttribute");s==null?this.removeAttribute(this.$$p_d[a].attribute||a):this.setAttribute(this.$$p_d[a].attribute||a,s)}this.$$r=!1})});for(let i in this.$$l)for(let a of this.$$l[i]){let s=this.$$c.$on(i,a);this.$$l_u.set(a,s)}this.$$l={}}}attributeChangedCallback(t,r,n){var i;this.$$r||(t=this.$$g_p(t),this.$$d[t]=yv(t,n,this.$$p_d,"toProp"),(i=this.$$c)==null||i.$set({[t]:this.$$d[t]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(t){return C0(this.$$p_d).find(r=>this.$$p_d[r].attribute===t||!this.$$p_d[r].attribute&&r.toLowerCase()===t)||t}});function yv(e,t,r,n){var a;let i=(a=r[e])==null?void 0:a.type;if(t=i==="Boolean"&&typeof t!="boolean"?t!=null:t,!n||!r[e])return t;if(n==="toAttribute")switch(i){case"Object":case"Array":return t==null?null:JSON.stringify(t);case"Boolean":return t?"":null;case"Number":return t==null?null:t;default:return t}else switch(i){case"Object":case"Array":return t&&JSON.parse(t);case"Boolean":return t;case"Number":return t!=null?+t:t;default:return t}}function J7(e){let t={};return e.childNodes.forEach(r=>{t[r.slot||"default"]=!0}),t}g();g();g();function Da(e,t,r,n){function i(a){return a instanceof r?a:new r(function(s){s(a)})}return new(r||(r=Promise))(function(a,s){function o(u){try{l(n.next(u))}catch(f){s(f)}}function c(u){try{l(n.throw(u))}catch(f){s(f)}}function l(u){u.done?a(u.value):i(u.value).then(o,c)}l((n=n.apply(e,t||[])).next())})}var _v=require("obsidian");g();var wv=require("obsidian");g();function e9(e){let t=e-1;return t*t*t+1}function In(e,{delay:t=0,duration:r=400,easing:n=e9,axis:i="y"}={}){let a=getComputedStyle(e),s=+a.opacity,o=i==="y"?"height":"width",c=parseFloat(a[o]),l=i==="y"?["top","bottom"]:["left","right"],u=l.map(y=>`${y[0].toUpperCase()}${y.slice(1)}`),f=parseFloat(a[`padding${u[0]}`]),d=parseFloat(a[`padding${u[1]}`]),h=parseFloat(a[`margin${u[0]}`]),p=parseFloat(a[`margin${u[1]}`]),m=parseFloat(a[`border${u[0]}Width`]),v=parseFloat(a[`border${u[1]}Width`]);return{delay:t,duration:r,easing:n,css:y=>`overflow: hidden;opacity: ${Math.min(y*20,1)*s};${o}: ${y*c}px;padding-${l[0]}: ${y*f}px;padding-${l[1]}: ${y*d}px;margin-${l[0]}: ${y*h}px;margin-${l[1]}: ${y*p}px;border-${l[0]}-width: ${y*m}px;border-${l[1]}-width: ${y*v}px;`}}g();var mc=require("obsidian");var t9=se('
'),r9=se('
'),n9={hash:"svelte-1wbh8tp",code:"main.svelte-1wbh8tp .nav-file-title:where(.svelte-1wbh8tp) {align-items:center;}"};function gc(e,t){Ye(t,!0),gt(e,n9);let r=be([]),n=qe(()=>t.view.leaf.getRoot().side=="left"?"right":"left");$t(()=>{for(let y of r)y&&(0,mc.setIcon)(y,y.getAttr("data-icon"))});function i(y){y.stopPropagation(),Vs(t.diff.path)?a(y):s(y)}function a(y){var b;y.stopPropagation();let x=t.view.app.vault.getAbstractFileByPath(t.diff.vaultPath);x instanceof mc.TFile&&((b=tn(t.view.app,y))===null||b===void 0||b.openFile(x).catch(E=>t.view.plugin.displayError(E)))}function s(y){var b;t.view.plugin.tools.openDiff({event:y,aFile:(b=t.diff.fromPath)!==null&&b!==void 0?b:t.diff.path,aRef:`${t.diff.hash}^`,bFile:t.diff.path,bRef:t.diff.hash})}var o=r9();o.__click=i;var c=U(o),l=U(c),u=U(l,!0);xe(()=>Oe(u,Tn(t.diff.vaultPath))),H(l);var f=Z(l,2),d=U(f),h=U(d);{var p=y=>{var b=t9();b.__click=a,Ge(b,x=>r[0]=x,()=>r==null?void 0:r[0]),Er("auxclick",b,a),ne(y,b)};ge(h,y=>{t.view.app.vault.getAbstractFileByPath(t.diff.vaultPath)instanceof mc.TFile&&y(p)})}H(d);var m=Z(d,2),v=U(m,!0);H(m),H(f),H(c),H(o),xe(()=>{pe(c,"data-path",t.diff.vaultPath),pe(c,"data-tooltip-position",R(n)),pe(c,"aria-label",t.diff.vaultPath),pe(m,"data-type",t.diff.status),Oe(v,t.diff.status)}),Er("auxclick",o,y=>{y.stopPropagation(),y.button==2?kn(t.view.app,y,t.diff.vaultPath,t.view.leaf,"git-history"):i(y)}),ne(e,o),Xe()}dt(["click"]);g();var i9=se("
"),a9=(e,t,r)=>t(R(r)),s9=se(''),o9=se(''),l9=se('
'),c9={hash:"svelte-1lnl15d",code:"main.svelte-1lnl15d .nav-folder-title-content:where(.svelte-1lnl15d) {display:flex;align-items:center;}"};function vc(e,t){Ye(t,!0),gt(e,c9);let r=si(t,"topLevel",3,!1),n=be({}),i=qe(()=>t.view.leaf.getRoot().side=="left"?"right":"left");function a(o){n[o.title]=!n[o.title]}var s=l9();kr(s,21,()=>t.hierarchy.children,Ar,(o,c)=>{var l=ii(),u=lr(l);{var f=h=>{var p=i9(),m=U(p);gc(m,{get diff(){return R(c).data},get view(){return t.view}}),H(p),ne(h,p)},d=h=>{var p=o9(),m=U(p);m.__click=[a9,a,c];var v=Z(U(m),2),y=Z(v,2),b=U(y,!0);H(y),H(m);var x=Z(m,2);{var E=_=>{var k=s9(),w=U(k);vc(w,{get hierarchy(){return R(c)},get plugin(){return t.plugin},get view(){return t.view}}),H(k),un(3,k,()=>In,()=>({duration:150})),ne(_,k)};ge(x,_=>{n[R(c).title]||_(E)})}H(p),xe(()=>{at(p,"is-collapsed",n[R(c).title]),pe(m,"data-tooltip-position",R(i)),pe(m,"aria-label",R(c).vaultPath),at(v,"is-collapsed",n[R(c).title]),Oe(b,R(c).title)}),ne(h,p)};ge(u,h=>{R(c).data?h(f):h(d,!1)})}ne(o,l)}),H(s),xe(()=>at(s,"topLevel",r())),ne(e,s),Xe()}dt(["click"]);var u9=(e,t)=>re(t,!R(t)),f9=se('
'),d9=se('
'),h9=se('
'),p9=se(''),m9=se('
'),g9={hash:"svelte-45h",code:""};function bv(e,t){Ye(t,!0),gt(e,g9);let r=qe(()=>({title:"",path:"",vaultPath:"",children:t.plugin.gitManager.getTreeStructure(t.log.diff.files)})),n=qe(()=>t.view.leaf.getRoot().side=="left"?"right":"left"),i=ft(!0);function a(_){let k=_.author.name;if(t.plugin.settings.authorInHistoryView=="full")return k;if(t.plugin.settings.authorInHistoryView=="initials")return k.split(" ").filter(A=>A.length>0).map(A=>A[0].toUpperCase()).join("")}var s=m9(),o=U(s),c=U(o);xe(()=>{var _;return pe(c,"aria-label",`${t.log.refs.length>0?t.log.refs.join(", ")+` -`:""}${(_=t.log.author)==null?void 0:_.name} -${(0,wv.moment)(t.log.date).format(t.plugin.settings.commitDateFormat)} -${t.log.message}`)}),c.__click=[u9,i];var l=U(c),u=Z(l,2),f=U(u);{var d=_=>{var k=f9(),w=U(k,!0);xe(()=>Oe(w,t.log.refs.join(", "))),H(k),ne(_,k)};ge(f,_=>{t.log.refs.length>0&&_(d)})}var h=Z(f,2);{var p=_=>{var k=d9(),w=U(k,!0);xe(()=>Oe(w,a(t.log))),H(k),ne(_,k)};ge(h,_=>{var k;t.plugin.settings.authorInHistoryView!="hide"&&((k=t.log.author)!=null&&k.name)&&_(p)})}var m=Z(h,2);{var v=_=>{var k=h9(),w=U(k,!0);xe(()=>Oe(w,(0,wv.moment)(t.log.date).format(t.plugin.settings.commitDateFormat))),H(k),ne(_,k)};ge(m,_=>{t.plugin.settings.dateInHistoryView&&_(v)})}var y=Z(m,2),b=U(y,!0);H(y),H(u),H(c);var x=Z(c,2);{var E=_=>{var k=p9(),w=U(k);{var A=T=>{vc(T,{get hierarchy(){return R(r)},get plugin(){return t.plugin},get view(){return t.view},topLevel:!0})},S=T=>{var P=ii(),O=lr(P);kr(O,17,()=>t.log.diff.files,Ar,(j,D)=>{gc(j,{get view(){return t.view},get diff(){return R(D)}})}),ne(T,P)};ge(w,T=>{t.showTree?T(A):T(S,!1)})}H(k),un(3,k,()=>In,()=>({duration:150})),ne(_,k)};ge(x,_=>{R(i)||_(E)})}H(o),H(s),xe(()=>{at(o,"is-collapsed",R(i)),pe(c,"data-tooltip-position",R(n)),at(l,"is-collapsed",R(i)),Oe(b,t.log.message)}),ne(e,s),Xe()}dt(["click"]);function v9(e,t){t().catch(console.error)}var y9=(e,t,r,n)=>{re(t,!R(t)),(0,_v.setIcon)(r[0],R(t)?"list":"folder"),n(n().settings.treeStructure=R(t),!0),n().saveSettings()},w9=se(''),b9=se('
'),_9={hash:"svelte-45h",code:""};function xv(e,t){Ye(t,!0),gt(e,_9);let r=si(t,"plugin",15),n=ft(!1),i=be([]),a=ft(void 0),s=ft(be(r().settings.treeStructure)),o,c;$t(()=>{c&&c.empty()}),o=t.view.app.workspace.on("obsidian-git:head-change",()=>void l().catch(console.error)),$t(()=>{i.forEach(x=>(0,_v.setIcon)(x,x.getAttr("data-icon")))}),U3(()=>{t.view.app.workspace.offref(o)}),mv(()=>{let x=new IntersectionObserver(_=>{_[0].isIntersecting&&!R(n)&&u().catch(console.error)}),E=document.querySelector("#sentinel");return E&&x.observe(E),()=>{x.disconnect()}}),l().catch(console.error);function l(){return Da(this,void 0,void 0,function*(){var x;if(!r().gitReady){re(a,void 0);return}re(n,!0);let E=r().gitManager instanceof Te,_;((x=R(a)===null||R(a)===void 0?void 0:R(a).length)!==null&&x!==void 0?x:0)==0?_=E?50:10:_=R(a).length,re(a,be(yield r().gitManager.log(void 0,!1,_))),re(n,!1)})}function u(){return Da(this,void 0,void 0,function*(){var x;if(!r().gitReady||R(a)===void 0)return;re(n,!0);let _=r().gitManager instanceof Te?50:10,k=yield r().gitManager.log(void 0,!1,_,(x=R(a).last())===null||x===void 0?void 0:x.hash);R(a).push(...k.slice(1)),re(n,!1)})}var f=b9(),d=U(f),h=U(d),p=U(h);p.__click=[y9,s,i,r],Ge(p,x=>i[0]=x,()=>i==null?void 0:i[0]);var m=Z(p,2);m.__click=[v9,l],Ge(m,x=>i[1]=x,()=>i==null?void 0:i[1]),H(h),H(d);var v=Z(d,2),y=U(v);{var b=x=>{var E=w9();kr(E,21,()=>R(a),Ar,(_,k)=>{bv(_,{get view(){return t.view},get showTree(){return R(s)},get log(){return R(k)},get plugin(){return r()}})}),H(E),ne(x,E)};ge(y,x=>{R(a)&&x(b)})}H(v),uo(4),H(f),xe(()=>{pe(p,"data-icon",R(s)?"list":"folder"),at(m,"loading",R(n))}),ne(e,f),Xe()}dt(["click"]);var yc=class extends V3.ItemView{constructor(t,r){super(t),this.plugin=r,this.hoverPopover=null}getViewType(){return Fr.type}getDisplayText(){return Fr.name}getIcon(){return Fr.icon}onClose(){return this._view&&ai(this._view),super.onClose()}reload(){this._view&&ai(this._view),this._view=zi(xv,{target:this.contentEl,props:{plugin:this.plugin,view:this}})}onOpen(){return this.reload(),super.onOpen()}};g();var W3=require("obsidian"),Ud=class extends W3.FuzzySuggestModal{constructor(r,n){super(r.app);this.branches=n;this.setPlaceholder("Select branch to checkout")}getItems(){return this.branches}getItemText(r){return r}onChooseItem(r,n){this.resolve(r)}openAndGetReslt(){return new Promise(r=>{this.resolve=r,this.open()})}onClose(){new Promise(r=>setTimeout(r,10)).then(()=>{this.resolve&&this.resolve(void 0)})}};g();var J3=require("obsidian");g();var Ac=require("obsidian");g();var q3=require("obsidian"),Wi=class extends q3.Modal{constructor(r,n,i){super(r);this.deletion=n;this.filename=i;this.resolve=null}myOpen(){return this.open(),new Promise(r=>{this.resolve=r})}onOpen(){let{contentEl:r,titleEl:n}=this;n.setText(`${this.deletion?"Delete":"Discard"} this file?`),r.createEl("p").setText(`Do you really want to ${this.deletion?"delete":"discard the changes of"} "${this.filename}"`);let i=r.createDiv({cls:"modal-button-container"}),a=i.createEl("button",{cls:"mod-warning",text:this.deletion?"Delete":"Discard"});a.addEventListener("click",()=>{this.resolve&&this.resolve(!0),this.close()}),a.addEventListener("keypress",()=>{this.resolve&&this.resolve(!0),this.close()});let s=i.createEl("button",{text:"Cancel"});s.addEventListener("click",()=>(this.resolve&&this.resolve(!1),this.close())),s.addEventListener("keypress",()=>(this.resolve&&this.resolve(!1),this.close()))}onClose(){let{contentEl:r}=this;r.empty()}};g();var bc=require("obsidian");g();g();var x9=Ze(Y3()),qi=require("obsidian");function Na(e,t,r){let n=e.target;app.workspace.trigger("hover-link",{event:e,source:t.getViewType(),hoverParent:t,targetEl:n,linktext:r})}function S9(e,t){t.view.app.vault.getAbstractFileByPath(t.change.vaultPath)&&Na(e,t.view,t.change.vaultPath)}function E9(e,t){e.stopPropagation(),t.manager.stage(t.change.path,!1).catch(r=>t.view.plugin.displayError(r)).finally(()=>{t.view.app.workspace.trigger("obsidian-git:refresh")})}function A9(e,t){e.stopPropagation();let r=t.change.workingDir=="U";new Wi(t.view.app,r,t.change.vaultPath).myOpen().then(n=>{if(n===!0)return r?t.view.app.vault.adapter.remove(t.change.vaultPath).finally(()=>{t.view.app.workspace.trigger("obsidian-git:refresh")}):t.manager.discard(t.change.path).finally(()=>{t.view.app.workspace.trigger("obsidian-git:refresh")})},n=>t.view.plugin.displayError(n))}var k9=se('
'),T9=se('
'),C9={hash:"svelte-1wbh8tp",code:"main.svelte-1wbh8tp .nav-file-title:where(.svelte-1wbh8tp) {align-items:center;}"};function _c(e,t){Ye(t,!0),gt(e,C9);let r=be([]),n=qe(()=>t.view.leaf.getRoot().side=="left"?"right":"left");$t(()=>{for(let x of r)x&&(0,bc.setIcon)(x,x.getAttr("data-icon"))});function i(x){x.stopPropagation(),Vs(t.change.path)?a(x):s(x)}function a(x){var E;x.stopPropagation();let _=t.view.app.vault.getAbstractFileByPath(t.change.vaultPath);_ instanceof bc.TFile&&((E=tn(t.view.app,x))===null||E===void 0||E.openFile(_).catch(k=>t.view.plugin.displayError(k)))}function s(x){x.stopPropagation(),t.view.plugin.tools.openDiff({aFile:t.change.path,aRef:"",event:x})}var o=T9();o.__mouseover=[S9,t],o.__click=i;var c=U(o),l=U(c),u=U(l,!0);xe(()=>Oe(u,Tn(t.change.vaultPath))),H(l);var f=Z(l,2),d=U(f),h=U(d);{var p=x=>{var E=k9();E.__click=a,Ge(E,_=>r[0]=_,()=>r==null?void 0:r[0]),Er("auxclick",E,a),ne(x,E)};ge(h,x=>{t.view.app.vault.getAbstractFileByPath(t.change.vaultPath)instanceof bc.TFile&&x(p)})}var m=Z(h,2);m.__click=[A9,t],Ge(m,x=>r[1]=x,()=>r==null?void 0:r[1]);var v=Z(m,2);v.__click=[E9,t],Ge(v,x=>r[2]=x,()=>r==null?void 0:r[2]),H(d);var y=Z(d,2),b=U(y,!0);H(y),H(f),H(c),H(o),xe(()=>{pe(c,"data-path",t.change.vaultPath),pe(c,"data-tooltip-position",R(n)),pe(c,"aria-label",t.change.vaultPath),pe(y,"data-type",t.change.workingDir),Oe(b,t.change.workingDir)}),Er("auxclick",o,x=>{x.stopPropagation(),x.button==2?kn(t.view.app,x,t.change.vaultPath,t.view.leaf,"git-source-control"):i(x)}),ne(e,o),Xe()}dt(["mouseover","click"]);g();var X3=require("obsidian");function P9(e,t){t.view.app.vault.getAbstractFileByPath(t.change.vaultPath)&&Na(e,t.view,t.change.vaultPath)}var R9=se('
'),M9={hash:"svelte-1wbh8tp",code:"main.svelte-1wbh8tp .nav-file-title:where(.svelte-1wbh8tp) {align-items:center;}"};function xc(e,t){Ye(t,!0),gt(e,M9);let r=qe(()=>t.view.leaf.getRoot().side=="left"?"right":"left");function n(f){var d;f.stopPropagation();let h=t.view.app.vault.getAbstractFileByPath(t.change.vaultPath);h instanceof X3.TFile&&((d=tn(t.view.app,f))===null||d===void 0||d.openFile(h).catch(p=>t.view.plugin.displayError(p)))}var i=R9();i.__mouseover=[P9,t],i.__click=n;var a=U(i),s=U(a),o=U(s,!0);xe(()=>Oe(o,Tn(t.change.vaultPath))),H(s);var c=Z(s,2),l=U(c),u=U(l,!0);H(l),H(c),H(a),H(i),xe(()=>{pe(a,"data-path",t.change.vaultPath),pe(a,"data-tooltip-position",R(r)),pe(a,"aria-label",t.change.vaultPath),pe(l,"data-type",t.change.workingDir),Oe(u,t.change.workingDir)}),Er("auxclick",i,f=>{f.stopPropagation(),f.button==2?kn(t.view.app,f,t.change.vaultPath,t.view.leaf,"git-source-control"):n(f)}),ne(e,i),Xe()}dt(["mouseover","click"]);g();var Sc=require("obsidian");function O9(e,t){t.view.app.vault.getFileByPath(t.change.vaultPath)&&Na(e,t.view,t.change.vaultPath)}function I9(e,t){e.stopPropagation(),t.manager.unstage(t.change.path,!1).catch(r=>t.view.plugin.displayError(r)).finally(()=>{t.view.app.workspace.trigger("obsidian-git:refresh")})}var F9=se('
'),$9=se('
'),L9={hash:"svelte-1wbh8tp",code:"main.svelte-1wbh8tp .nav-file-title:where(.svelte-1wbh8tp) {align-items:center;}"};function Ec(e,t){Ye(t,!0),gt(e,L9);let r=be([]),n=qe(()=>t.view.leaf.getRoot().side=="left"?"right":"left");$t(()=>{for(let b of r)b&&(0,Sc.setIcon)(b,b.getAttr("data-icon"))});function i(b){b.stopPropagation(),Vs(t.change.path)?a(b):s(b)}function a(b){var x;b.stopPropagation();let E=t.view.app.vault.getAbstractFileByPath(t.change.vaultPath);E instanceof Sc.TFile&&((x=tn(t.view.app,b))===null||x===void 0||x.openFile(E).catch(_=>t.view.plugin.displayError(_)))}function s(b){b.stopPropagation(),t.view.plugin.tools.openDiff({aFile:t.change.path,aRef:"HEAD",bRef:"",event:b})}var o=$9();o.__mouseover=[O9,t],o.__click=i;var c=U(o),l=U(c),u=U(l,!0);xe(()=>Oe(u,Tn(t.change.vaultPath))),H(l);var f=Z(l,2),d=U(f),h=U(d);{var p=b=>{var x=F9();x.__click=a,Ge(x,E=>r[0]=E,()=>r==null?void 0:r[0]),ne(b,x)};ge(h,b=>{t.view.app.vault.getAbstractFileByPath(t.change.vaultPath)instanceof Sc.TFile&&b(p)})}var m=Z(h,2);m.__click=[I9,t],Ge(m,b=>r[1]=b,()=>r==null?void 0:r[1]),H(d);var v=Z(d,2),y=U(v,!0);H(v),H(f),H(c),H(o),xe(()=>{pe(c,"data-path",t.change.vaultPath),pe(c,"data-tooltip-position",R(n)),pe(c,"aria-label",t.change.vaultPath),pe(v,"data-type",t.change.index),Oe(y,t.change.index)}),Er("auxclick",o,b=>{b.stopPropagation(),b.button==2?kn(t.view.app,b,t.change.vaultPath,t.view.leaf,"git-source-control"):i(b)}),ne(e,o),Xe()}dt(["mouseover","click"]);g();g();var D9=se(''),N9=se("
");function ja(e,t){Ye(t,!0);var r=N9(),n=U(r);{var i=a=>{var s=D9(),o=U(s),c=U(o),l=U(c,!0);H(c),H(o),H(s),xe(()=>{pe(o,"aria-label","And "+(t.files.length-500)+" more files"),Oe(l,"And "+(t.files.length-500)+" more files")}),ne(a,s)};ge(n,a=>{t.files.length>500&&a(i)})}H(r),ne(e,r),Xe()}var B9=se("
"),H9=(e,t,r)=>t(R(r)),U9=(e,t,r)=>t(e,R(r).path),G9=se('
'),z9=(e,t,r)=>t(e,R(r)),V9=(e,t,r)=>t(e,R(r).path),W9=se('
',1),q9=se(''),Y9=se(''),X9=se('
'),Z9={hash:"svelte-hup5mn",code:"main.svelte-hup5mn .nav-folder-title:where(.svelte-hup5mn) {align-items:center;}"};function Ba(e,t){Ye(t,!0),gt(e,Z9);var r,n;let i=si(t,"topLevel",3,!1),a=be({});for(let p of t.hierarchy.children)a[p.title]=((n=(r=p.children)===null||r===void 0?void 0:r.length)!==null&&n!==void 0?n:0)>100;let s=qe(()=>t.view.leaf.getRoot().side=="left"?"right":"left");function o(p,m){p.stopPropagation(),t.plugin.gitManager.stageAll({dir:m}).catch(v=>t.plugin.displayError(v)).finally(()=>{t.view.app.workspace.trigger("obsidian-git:refresh")})}function c(p,m){p.stopPropagation(),t.plugin.gitManager.unstageAll({dir:m}).catch(v=>t.plugin.displayError(v)).finally(()=>{t.view.app.workspace.trigger("obsidian-git:refresh")})}function l(p,m){p.stopPropagation(),new Wi(t.view.app,!1,m.vaultPath).myOpen().then(v=>{if(v===!0)return t.plugin.gitManager.discardAll({dir:m.path,status:t.plugin.cachedStatus}).finally(()=>{t.view.app.workspace.trigger("obsidian-git:refresh")})},v=>t.plugin.displayError(v))}function u(p){a[p.title]=!a[p.title]}var f=X9(),d=U(f);kr(d,17,()=>zl(t.hierarchy.children,500),Ar,(p,m)=>{var v=ii(),y=lr(v);{var b=E=>{var _=B9(),k=U(_);{var w=S=>{Ec(S,{get change(){return R(m).data},get manager(){return t.plugin.gitManager},get view(){return t.view}})},A=S=>{var T=ii(),P=lr(T);{var O=D=>{_c(D,{get change(){return R(m).data},get manager(){return t.plugin.gitManager},get view(){return t.view}})},j=D=>{var Q=ii(),de=lr(Q);{var ee=J=>{xc(J,{get change(){return R(m).data},get view(){return t.view}})};ge(de,J=>{t.fileType==2&&J(ee)},!0)}ne(D,Q)};ge(P,D=>{t.fileType==1?D(O):D(j,!1)},!0)}ne(S,T)};ge(k,S=>{t.fileType==0?S(w):S(A,!1)})}H(_),ne(E,_)},x=E=>{var _=Y9();_.__click=[H9,u,m];var k=U(_),w=Z(U(k),2),A=Z(w,2),S=U(A,!0);H(A);var T=Z(A,2),P=U(T),O=U(P);{var j=ee=>{var J=G9();J.__click=[U9,c,m],ne(ee,J)},D=ee=>{var J=W9(),Ce=lr(J);Ce.__click=[z9,l,m];var me=Z(Ce,2);me.__click=[V9,o,m],ne(ee,J)};ge(O,ee=>{t.fileType==0?ee(j):ee(D,!1)})}uo(2),H(P),H(T),H(k);var Q=Z(k,2);{var de=ee=>{var J=q9(),Ce=U(J);Ba(Ce,{get hierarchy(){return R(m)},get plugin(){return t.plugin},get view(){return t.view},get fileType(){return t.fileType}}),H(J),un(3,J,()=>In,()=>({duration:150})),ne(ee,J)};ge(Q,ee=>{a[R(m).title]||ee(de)})}H(_),xe(()=>{at(_,"is-collapsed",a[R(m).title]),pe(k,"data-tooltip-position",R(s)),pe(k,"aria-label",R(m).vaultPath),at(w,"is-collapsed",a[R(m).title]),Oe(S,R(m).title)}),Er("auxclick",_,ee=>kn(t.view.app,ee,R(m).vaultPath,t.view.leaf,"git-source-control")),ne(E,_)};ge(y,E=>{R(m).data?E(b):E(x,!1)})}ne(p,v)});var h=Z(d,2);ja(h,{get files(){return t.hierarchy.children}}),H(f),xe(()=>at(f,"topLevel",i())),ne(e,f),Xe()}dt(["click"]);function K9(e,t,r,n,i,a){return Da(this,void 0,void 0,function*(){if(re(t,!0),R(r)){if(yield n().tools.hasTooBigFiles(R(r).staged))return n().setPluginState({gitAction:0}),!1;n().promiseQueue.addTask(()=>n().gitManager.commit({message:R(i)}).then(()=>Da(this,void 0,void 0,function*(){re(i,be(n().settings.commitMessage)),yield n().automaticsManager.setUpAutoCommitAndSync()})).finally(a))}})}function J9(e,t,r,n,i,a){re(t,!0),R(r)&&n().promiseQueue.addTask(()=>n().commitAndSync(!1,!1,R(i)).then(()=>{re(i,be(n().settings.commitMessage))}).finally(a))}function Z3(e,t,r,n,i){re(t,!0),r().promiseQueue.addTask(()=>r().gitManager.stageAll({status:R(n)}).finally(i))}function K3(e,t,r,n,i){re(t,!0),r().promiseQueue.addTask(()=>r().gitManager.unstageAll({status:R(n)}).finally(i))}function Q9(e,t,r,n){re(t,!0),r().promiseQueue.addTask(()=>r().push().finally(n))}function eH(e,t,r,n){re(t,!0),r().promiseQueue.addTask(()=>r().pullChangesFromRemote().finally(n))}function tH(e,t,r){e.stopPropagation(),new Wi(t.view.app,!1,r().gitManager.getRelativeVaultPath("/")).myOpen().then(n=>{n===!0&&r().promiseQueue.addTask(()=>r().gitManager.discardAll({status:r().cachedStatus}).finally(()=>{t.view.app.workspace.trigger("obsidian-git:refresh")}))},console.error)}var rH=(e,t,r,n)=>{re(t,!R(t)),(0,Ac.setIcon)(r[6],R(t)?"list":"folder"),n().settings.treeStructure=R(t),n().saveSettings()},nH=(e,t)=>re(t,""),iH=se('
'),aH=(e,t)=>re(t,!R(t)),sH=se(" ",1),oH=se(''),lH=(e,t)=>re(t,!R(t)),cH=se(" ",1),uH=se(''),fH=(e,t)=>re(t,!R(t)),dH=se(" ",1),hH=se(''),pH=se(''),mH=se(''),gH=se('
'),vH={hash:"svelte-11adhly",code:`.commit-msg-input.svelte-11adhly {width:100%;overflow:hidden;resize:none;padding:7px 5px;background-color:var(--background-modifier-form-field);}.git-commit-msg.svelte-11adhly {position:relative;padding:0;width:calc(100% - var(--size-4-8));margin:4px auto;}main.svelte-11adhly .git-tools:where(.svelte-11adhly) .files-count:where(.svelte-11adhly) {padding-left:var(--size-2-1);width:11px;display:flex;align-items:center;justify-content:center;}.nav-folder-title.svelte-11adhly {align-items:center;}.git-commit-msg-clear-button.svelte-11adhly {position:absolute;background:transparent;border-radius:50%;color:var(--search-clear-button-color);cursor:var(--cursor);top:-4px;right:2px;bottom:0px;line-height:0;height:var(--input-height);width:28px;margin:auto;padding:0 0;text-align:center;display:flex;justify-content:center;align-items:center;transition:color 0.15s ease-in-out;}.git-commit-msg-clear-button.svelte-11adhly:after {content:"";height:var(--search-clear-button-size);width:var(--search-clear-button-size);display:block;background-color:currentColor;mask-image:url("data:image/svg+xml,");mask-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml,");-webkit-mask-repeat:no-repeat;}`};function Ev(e,t){Ye(t,!0),gt(e,vH);let r=si(t,"plugin",7),n=ft(!1),i=ft(void 0),a=ft(be([])),s=ft(be(r().settings.commitMessage)),o=be([]),c=ft(void 0),l=ft(void 0),u=ft(void 0),f=ft(!0),d=ft(!0),h=ft(!0),p=ft(0),m=ft(be(r().settings.treeStructure));t.view.registerEvent(t.view.app.workspace.on("obsidian-git:loading-status",()=>re(n,!0))),t.view.registerEvent(t.view.app.workspace.on("obsidian-git:status-changed",()=>void v().catch(console.error))),t.view.plugin.cachedStatus==null?t.view.plugin.refresh().catch(console.error):v().catch(console.error),$t(()=>{o.forEach(F=>(0,Ac.setIcon)(F,F.getAttr("data-icon")))}),$t(()=>{o.forEach(F=>{var z,N;!F||F.id!="push"||(Ac.Platform.isMobile?(F.removeClass("button-border"),R(p)>0&&F.addClass("button-border")):((z=F.firstElementChild)===null||z===void 0||z.removeAttribute("color"),R(p)>0&&((N=F.firstElementChild)===null||N===void 0||N.setAttr("color","var(--text-accent)"))))})});function v(){return Da(this,void 0,void 0,function*(){if(!r().gitReady){re(i,void 0);return}if(re(p,be(yield r().gitManager.getUnpushedCommits())),re(i,be(r().cachedStatus)),re(n,!1),r().lastPulledFiles&&r().lastPulledFiles!=R(a)&&(re(a,be(r().lastPulledFiles)),re(u,be({title:"",path:"",vaultPath:"",children:r().gitManager.getTreeStructure(R(a))}))),R(i)){let F=(z,N)=>z.vaultPath.split("/").last().localeCompare(Tn(N.vaultPath));R(i).changed.sort(F),R(i).staged.sort(F),re(c,be({title:"",path:"",vaultPath:"",children:r().gitManager.getTreeStructure(R(i).changed)})),re(l,be({title:"",path:"",vaultPath:"",children:r().gitManager.getTreeStructure(R(i).staged)}))}else re(c,void 0),re(l,void 0)})}function y(){t.view.app.workspace.trigger("obsidian-git:refresh")}let b=qe(()=>(R(s).match(/\n/g)||[]).length+1||1);var x=gH(),E=U(x),_=U(E),k=U(_);k.__click=[J9,n,i,r,s,y],Ge(k,F=>o[0]=F,()=>o==null?void 0:o[0]);var w=Z(k,2);w.__click=[K9,n,i,r,s,y],Ge(w,F=>o[1]=F,()=>o==null?void 0:o[1]);var A=Z(w,2);A.__click=[Z3,n,r,i,y],Ge(A,F=>o[2]=F,()=>o==null?void 0:o[2]);var S=Z(A,2);S.__click=[K3,n,r,i,y],Ge(S,F=>o[3]=F,()=>o==null?void 0:o[3]);var T=Z(S,2);T.__click=[Q9,n,r,y],Ge(T,F=>o[4]=F,()=>o==null?void 0:o[4]);var P=Z(T,2);P.__click=[eH,n,r,y],Ge(P,F=>o[5]=F,()=>o==null?void 0:o[5]);var O=Z(P,2);O.__click=[rH,m,o,r],Ge(O,F=>o[6]=F,()=>o==null?void 0:o[6]);var j=Z(O,2);j.__click=y,Ge(j,F=>o[7]=F,()=>o==null?void 0:o[7]),H(_),H(E);var D=Z(E,2),Q=U(D);rv(Q);var de=Z(Q,2);{var ee=F=>{var z=iH();z.__click=[nH,s],pe(z,"aria-label","Clear"),ne(F,z)};ge(de,F=>{R(s)&&F(ee)})}H(D);var J=Z(D,2),Ce=U(J);{var me=F=>{var z=mH(),N=U(z),Re=U(N);Re.__click=[aH,d];var Dt=U(Re),_t=Z(Dt,4),Ee=U(_t),st=U(Ee);st.__click=[K3,n,r,i,y],Ge(st,Nt=>o[8]=Nt,()=>o==null?void 0:o[8]),H(Ee);var ot=Z(Ee,2),Ct=U(ot,!0);H(ot),H(_t),H(Re);var $e=Z(Re,2);{var G=Nt=>{var Zt=oH(),li=U(Zt);{var Va=jt=>{Ba(jt,{get hierarchy(){return R(l)},get plugin(){return r()},get view(){return t.view},get fileType(){return 0},topLevel:!0})},Po=jt=>{var Yi=sH(),$n=lr(Yi);kr($n,17,()=>zl(R(i).staged,500),Ar,(Ro,Mo)=>{Ec(Ro,{get change(){return R(Mo)},get view(){return t.view},get manager(){return r().gitManager}})});var ci=Z($n,2);ja(ci,{get files(){return R(i).staged}}),ne(jt,Yi)};ge(li,jt=>{R(m)?jt(Va):jt(Po,!1)})}H(Zt),un(3,Zt,()=>In,()=>({duration:150})),ne(Nt,Zt)};ge($e,Nt=>{R(d)&&Nt(G)})}H(N);var Le=Z(N,2),L=U(Le);L.__click=[lH,f];var Y=U(L),ye=Z(Y,4),De=U(ye),vt=U(De);vt.__click=[tH,t,r];var za=Z(vt,2);za.__click=[Z3,n,r,i,y],Ge(za,Nt=>o[9]=Nt,()=>o==null?void 0:o[9]),H(De);var Lv=Z(De,2),MP=U(Lv,!0);H(Lv),H(ye),H(L);var OP=Z(L,2);{var IP=Nt=>{var Zt=uH(),li=U(Zt);{var Va=jt=>{Ba(jt,{get hierarchy(){return R(c)},get plugin(){return r()},get view(){return t.view},get fileType(){return 1},topLevel:!0})},Po=jt=>{var Yi=cH(),$n=lr(Yi);kr($n,17,()=>zl(R(i).changed,500),Ar,(Ro,Mo)=>{_c(Ro,{get change(){return R(Mo)},get view(){return t.view},get manager(){return r().gitManager}})});var ci=Z($n,2);ja(ci,{get files(){return R(i).changed}}),ne(jt,Yi)};ge(li,jt=>{R(m)?jt(Va):jt(Po,!1)})}H(Zt),un(3,Zt,()=>In,()=>({duration:150})),ne(Nt,Zt)};ge(OP,Nt=>{R(f)&&Nt(IP)})}H(Le);var FP=Z(Le,2);{var $P=Nt=>{var Zt=pH(),li=U(Zt);li.__click=[fH,h];var Va=Z(U(li),4),Po=U(Va,!0);H(Va),H(li);var jt=Z(li,2);{var Yi=$n=>{var ci=hH(),Ro=U(ci);{var Mo=Wa=>{Ba(Wa,{get hierarchy(){return R(u)},get plugin(){return r()},get view(){return t.view},get fileType(){return 2},topLevel:!0})},LP=Wa=>{var Dv=dH(),Nv=lr(Dv);kr(Nv,17,()=>R(a),Ar,(NP,jP)=>{xc(NP,{get change(){return R(jP)},get view(){return t.view}})});var DP=Z(Nv,2);ja(DP,{get files(){return R(a)}}),ne(Wa,Dv)};ge(Ro,Wa=>{R(m)?Wa(Mo):Wa(LP,!1)})}H(ci),un(3,ci,()=>In,()=>({duration:150})),ne($n,ci)};ge(jt,$n=>{R(h)&&$n(Yi)})}H(Zt),xe(()=>{at(Zt,"is-collapsed",!R(h)),Oe(Po,R(a).length)}),ne(Nt,Zt)};ge(FP,Nt=>{R(a).length>0&&R(u)&&Nt($P)})}H(z),xe(()=>{at(N,"is-collapsed",!R(d)),at(Dt,"is-collapsed",!R(d)),Oe(Ct,R(i).staged.length),at(Le,"is-collapsed",!R(f)),at(Y,"is-collapsed",!R(f)),Oe(MP,R(i).changed.length)}),ne(F,z)};ge(Ce,F=>{R(i)&&R(l)&&R(c)&&F(me)})}H(J),H(x),xe(()=>{pe(x,"data-type",St.type),pe(O,"data-icon",R(m)?"list":"folder"),at(j,"loading",R(n)),pe(Q,"rows",R(b))}),pv(Q,()=>R(s),F=>re(s,F)),ne(e,x),Xe()}dt(["click"]);var kc=class extends J3.ItemView{constructor(t,r){super(t),this.plugin=r,this.hoverPopover=null}getViewType(){return St.type}getDisplayText(){return St.name}getIcon(){return St.icon}onClose(){return this._view&&ai(this._view),super.onClose()}reload(){this._view&&ai(this._view),this._view=zi(Ev,{target:this.contentEl,props:{plugin:this.plugin,view:this}})}onOpen(){return this.reload(),super.onOpen()}};g();var Gd=class{constructor(t,r){this.statusBarEl=t;this.plugin=r;this.statusBarEl.addClass("mod-clickable"),this.statusBarEl.onClickEvent(n=>{this.plugin.switchBranch().catch(i=>r.displayError(i))})}async display(){if(this.plugin.gitReady){let t=await this.plugin.gitManager.branchInfo();t.current!=null?this.statusBarEl.setText(t.current):this.statusBarEl.empty()}else this.statusBarEl.empty()}remove(){this.statusBarEl.remove()}};g();var _o=require("obsidian");var Tc=class{constructor(t){this.plugin=t}async hasTooBigFiles(t){let r=await this.plugin.gitManager.branchInfo(),n=r.tracking?Ii(r.tracking)[0]:null;if(!n)return!1;let i=await this.plugin.gitManager.getRemoteUrl(n);if(i!=null&&i.includes("github.com")){let a=[];for(let s of t){let o=this.plugin.app.vault.getAbstractFileByPath(s.vaultPath);if(o instanceof _o.TFile&&o.stat.size>=1e8){let c=this.plugin.gitManager,l=!1;c instanceof Te&&(l=await c.isFileTrackedByLFS(s.path)),l||a.push(s)}}if(a.length>0)return this.plugin.displayError(`Did not commit, because following files are too big: ${a.map(s=>s.vaultPath).join(` -`)}. Please remove them.`),!0}return!1}async writeAndOpenFile(t){t!==void 0&&await this.plugin.app.vault.adapter.write(Ms,t);let r=!1;this.plugin.app.workspace.iterateAllLeaves(n=>{n.getDisplayText()!=""&&Ms.startsWith(n.getDisplayText())&&(r=!0)}),r||await this.plugin.app.workspace.openLinkText(Ms,"/",!0)}openDiff({aFile:t,bFile:r,aRef:n,bRef:i,event:a}){var c,l;let s=this.plugin.settings.diffStyle;_o.Platform.isMobileApp&&(s="git_unified");let o={aFile:t,bFile:r!=null?r:t,aRef:n,bRef:i};s=="split"?(c=tn(this.plugin.app,a))==null||c.setViewState({type:Ai.type,active:!0,state:o}):s=="git_unified"&&((l=tn(this.plugin.app,a))==null||l.setViewState({type:ki.type,active:!0,state:o}))}async runRawCommand(){let t=this.plugin.gitManager;if(!(t instanceof Te))return;let n=await new Fe(this.plugin,{placeholder:"push origin master",allowEmpty:!1}).openAndGetResult();n!==void 0&&this.plugin.promiseQueue.addTask(async()=>{let i=new _o.Notice(`Running '${n}'...`,999999);try{let a=await t.rawCommand(n);a?(i.setMessage(a),window.setTimeout(()=>i.hide(),5e3)):i.hide()}catch(a){throw i.hide(),a}})}};g();var To=require("obsidian");var Yr=require("@codemirror/view"),ko=require("@codemirror/state");g();var Pe=require("@codemirror/view"),Se=require("@codemirror/state");g();var Av="\u037C",Q3=typeof Symbol=="undefined"?"__"+Av:Symbol.for(Av),kv=typeof Symbol=="undefined"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),eP=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:{},zd=class{constructor(t,r){this.rules=[];let{finish:n}=r||{};function i(s){return/^@/.test(s)?[s]:s.split(/,\s*/)}function a(s,o,c,l){let u=[],f=/^@(\w+)\b/.exec(s[0]),d=f&&f[1]=="keyframes";if(f&&o==null)return c.push(s[0]+";");for(let h in o){let p=o[h];if(/&/.test(h))a(h.split(/,\s*/).map(m=>s.map(v=>m.replace(/&/,v))).reduce((m,v)=>m.concat(v)),p,c);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+h+") should be a primitive value.");a(i(h),p,u,d)}else p!=null&&u.push(h.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(u.length||d)&&c.push((n&&!f&&!l?s.map(n):s).join(", ")+" {"+u.join(" ")+"}")}for(let s in t)a(i(s),t[s],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let t=eP[Q3]||1;return eP[Q3]=t+1,Av+t.toString(36)}static mount(t,r,n){let i=t[kv],a=n&&n.nonce;i?a&&i.setNonce(a):i=new Tv(t,a),i.mount(Array.isArray(r)?r:[r],t)}},tP=new Map,Tv=class{constructor(t,r){let n=t.ownerDocument||t,i=n.defaultView;if(!t.head&&t.adoptedStyleSheets&&i.CSSStyleSheet){let a=tP.get(n);if(a)return t[kv]=a;this.sheet=new i.CSSStyleSheet,tP.set(n,this)}else this.styleTag=n.createElement("style"),r&&this.styleTag.setAttribute("nonce",r);this.modules=[],t[kv]=this}mount(t,r){let n=this.sheet,i=0,a=0;for(let s=0;s-1&&(this.modules.splice(c,1),a--,c=-1),c==-1){if(this.modules.splice(a++,0,o),n)for(let l=0;ll){let f=e.slice(t,r).indexOf(n.slice(i,a));if(f>-1)return[new ht(t,t+f,i,i),new ht(t+f+l,r,a,a)]}else if(l>c){let f=n.slice(i,a).indexOf(e.slice(t,r));if(f>-1)return[new ht(t,t,i,i+f),new ht(r,r,i+f+c,a)]}if(c==1||l==1)return[new ht(t,r,i,a)];let u=_P(e,t,r,n,i,a);if(u){let[f,d,h]=u;return Ua(e,t,f,n,i,d).concat(Ua(e,f+h,r,n,d+h,a))}return wH(e,t,r,n,i,a)}var Cc=1e9;function wH(e,t,r,n,i,a){let s=r-t,o=a-i;if(Cc<1e9&&Math.min(s,o)>Cc*16)return Math.min(s,o)>Cc*64?[new ht(t,r,i,a)]:rP(e,t,r,n,i,a);let c=Math.ceil((s+o)/2);Cv.reset(c),Pv.reset(c);let l=(h,p)=>e.charCodeAt(t+h)==n.charCodeAt(i+p),u=(h,p)=>e.charCodeAt(r-h-1)==n.charCodeAt(a-p-1),f=(s-o)%2!=0?Pv:null,d=f?null:Cv;for(let h=0;hCc)return rP(e,t,r,n,i,a);let p=Cv.advance(h,s,o,c,f,!1,l)||Pv.advance(h,s,o,c,d,!0,u);if(p)return bH(e,t,r,t+p[0],n,i,a,i+p[1])}return[new ht(t,r,i,a)]}var Xd=class{constructor(){this.vec=[]}reset(t){this.len=t<<1;for(let r=0;rr)this.end+=2;else if(f>n)this.start+=2;else if(a){let d=i+(r-n)-c;if(d>=0&&d=r-u)return[h,i+h-d]}else{let h=r-a.vec[d];if(u>=h)return[u,f]}}}return null}},Cv=new Xd,Pv=new Xd;function bH(e,t,r,n,i,a,s,o){let c=!1;return!Eo(e,n)&&++n==r&&(c=!0),!Eo(i,o)&&++o==s&&(c=!0),c?[new ht(t,r,a,s)]:Ua(e,t,n,i,a,o).concat(Ua(e,n,r,i,o,s))}function bP(e,t){let r=1,n=Math.min(e,t);for(;rr||u>a||e.slice(o,l)!=n.slice(c,u)){if(s==1)return o-t-(Eo(e,o)?0:1);s=s>>1}else{if(l==r||u==a)return l-t;o=l,c=u}}}function $v(e,t,r,n,i,a){if(t==r||i==a||e.charCodeAt(r-1)!=n.charCodeAt(a-1))return 0;let s=bP(r-t,a-i);for(let o=r,c=a;;){let l=o-s,u=c-s;if(l>1}else{if(l==t||u==i)return r-l;o=l,c=u}}}function Rv(e,t,r,n,i,a,s,o){let c=n.slice(i,a),l=null;for(;;){if(l||s=r)break;let d=e.slice(u,f),h=-1;for(;(h=c.indexOf(d,h+1))!=-1;){let p=Fv(e,f,r,n,i+h+d.length,a),m=$v(e,t,u,n,i,i+h),v=d.length+p+m;(!l||l[2]>1}}function _P(e,t,r,n,i,a){let s=r-t,o=a-i;if(si.fromA-t&&n.toB>i.fromB-t&&(e[r-1]=new ht(n.fromA,i.toA,n.fromB,i.toB),e.splice(r--,1))}}function _H(e,t,r){for(;;){xP(r,1);let n=!1;for(let i=0;i3||o>3){let c=i==e.length-1?t.length:e[i+1].fromA,l=a.fromA-n,u=c-a.toA,f=iP(t,a.fromA,Math.min(l,5)),d=nP(t,a.toA,Math.min(u,5)),h=a.fromA-f,p=d-a.toA;if(!s||!o){let m=Math.max(s,o),[v,y,b]=s?[t,a.fromA,a.toA]:[r,a.fromB,a.toB];h&&p&&(m>h&&t.slice(f,a.fromA)==v.slice(b-h,b)?(a=e[i]=new ht(f,f+s,a.fromB-h,a.toB-h),f=a.fromA,d=nP(t,a.toA,Math.min(c-a.toA,5))):m>p&&t.slice(a.toA,d)==v.slice(y,y+p)&&(a=e[i]=new ht(d-s,d,a.fromB+p,a.toB+p),d=a.toA,f=iP(t,a.fromA,Math.min(a.fromA-n,5))),h=a.fromA-f,p=d-a.toA)}if(h||p)a=e[i]=new ht(a.fromA-h,a.toA+p,a.fromB-h,a.toB+p);else if(s){if(!o){let m=sP(t,a.fromA,a.toA),v,y=m<0?-1:aP(t,a.toA,a.fromA);m>-1&&(v=m-a.fromA)<=u&&t.slice(a.fromA,m)==t.slice(a.toA,a.toA+v)?a=e[i]=a.offset(v):y>-1&&(v=a.toA-y)<=l&&t.slice(a.fromA-v,a.fromA)==t.slice(y,a.toA)&&(a=e[i]=a.offset(-v))}}else{let m=sP(r,a.fromB,a.toB),v,y=m<0?-1:aP(r,a.toB,a.fromB);m>-1&&(v=m-a.fromB)<=u&&r.slice(a.fromB,m)==r.slice(a.toB,a.toB+v)?a=e[i]=a.offset(v):y>-1&&(v=a.toB-y)<=l&&r.slice(a.fromB-v,a.fromB)==r.slice(y,a.toB)&&(a=e[i]=a.offset(-v))}n=a.toA}}return xP(e,3),e}var Ha;try{Ha=new RegExp("[\\p{Alphabetic}\\p{Number}]","u")}catch(e){}function SP(e){return e>48&&e<58||e>64&&e<91||e>96&&e<123}function EP(e,t){if(t==e.length)return 0;let r=e.charCodeAt(t);return r<192?SP(r)?1:0:Ha?!kP(r)||t==e.length-1?Ha.test(String.fromCharCode(r))?1:0:Ha.test(e.slice(t,t+2))?2:0:0}function AP(e,t){if(!t)return 0;let r=e.charCodeAt(t-1);return r<192?SP(r)?1:0:Ha?!TP(r)||t==1?Ha.test(String.fromCharCode(r))?1:0:Ha.test(e.slice(t-2,t))?2:0:0}function nP(e,t,r){if(t==e.length||!AP(e,t))return t;for(let n=t,i=t+r;;){let a=EP(e,n);if(!a)return n;if(n+=a,n>i)return t}}function iP(e,t,r){if(!t||!EP(e,t))return t;for(let n=t,i=t-r;;){let a=AP(e,n);if(!a)return n;if(n-=a,ne>=55296&&e<=56319,TP=e=>e>=56320&&e<=57343;function Eo(e,t){return!t||t==e.length||!kP(e.charCodeAt(t-1))||!TP(e.charCodeAt(t))}function SH(e,t,r){var n;return Cc=((n=r==null?void 0:r.scanLimit)!==null&&n!==void 0?n:1e9)>>1,_H(e,t,Ua(e,0,e.length,t,0,t.length))}function CP(e,t,r){return xH(SH(e,t,r),e,t)}var Fn=Se.Facet.define({combine:e=>e[0]}),Mv=Se.StateEffect.define(),Ao=Se.StateField.define({create(e){return null},update(e,t){for(let r of t.effects)r.is(Mv)&&(e=r.value);return e}});var So=class e{constructor(t,r,n,i,a){this.changes=t,this.fromA=r,this.toA=n,this.fromB=i,this.toB=a}offset(t,r){return t||r?new e(this.changes,this.fromA+t,this.toA+t,this.fromB+r,this.toB+r):this}get endA(){return Math.max(this.fromA,this.toA-1)}get endB(){return Math.max(this.fromB,this.toB-1)}static build(t,r,n){return PP(CP(t.toString(),r.toString(),n),t,r,0,0)}static updateA(t,r,n,i,a){return fP(uP(t,i,!0,n.length),t,r,n,a)}static updateB(t,r,n,i,a){return fP(uP(t,i,!1,r.length),t,r,n,a)}};function oP(e,t,r,n){let i=r.lineAt(e),a=n.lineAt(t);return i.to==e&&a.to==t&&eu+1&&m>f+1)break;d.push(h.offset(-c+n,-l+i)),[u,f]=lP(h.toA+n,h.toB+i,t,r),s++}a.push(new So(d,c,Math.max(c,u),l,Math.max(l,f)))}return a}var Vd=1e3;function cP(e,t,r,n){let i=0,a=e.length;for(;;){if(i==a){let u=0,f=0;i&&({toA:u,toB:f}=e[i-1]);let d=t-(r?u:f);return[u+d,f+d]}let s=i+a>>1,o=e[s],[c,l]=r?[o.fromA,o.toA]:[o.fromB,o.toB];if(c>t)a=s;else if(l<=t)i=s+1;else return n?[o.fromA,o.fromB]:[o.toA,o.toB]}}function uP(e,t,r,n){let i=[];return t.iterChangedRanges((a,s,o,c)=>{let l=0,u=r?t.length:n,f=0,d=r?n:t.length;a>Vd&&([l,f]=cP(e,a-Vd,r,!0)),s=l?i[i.length-1]={fromA:p.fromA,fromB:p.fromB,toA:u,toB:d,diffA:p.diffA+m,diffB:p.diffB+v}:i.push({fromA:l,toA:u,fromB:f,toB:d,diffA:m,diffB:v})}),i}function fP(e,t,r,n,i){if(!e.length)return t;let a=[];for(let s=0,o=0,c=0,l=0;;s++){let u=s==e.length?null:e[s],f=u?u.fromA+o:r.length,d=u?u.fromB+c:n.length;for(;lf||v.toB+c>d)break;a.push(v.offset(o,c)),l++}if(!u)break;let h=u.toA+o+u.diffA,p=u.toB+c+u.diffB,m=CP(r.sliceString(f,h),n.sliceString(d,p),i);for(let v of PP(m,r,n,f,d))a.push(v);for(o+=u.diffA,c+=u.diffB;lh&&v.fromB+c>p)break;l++}}return a}var EH={scanLimit:500},RP=Pe.ViewPlugin.fromClass(class{constructor(e){({deco:this.deco,gutter:this.gutter}=pP(e))}update(e){(e.docChanged||e.viewportChanged||AH(e.startState,e.state)||kH(e.startState,e.state))&&({deco:this.deco,gutter:this.gutter}=pP(e.view))}},{decorations:e=>e.deco}),Wd=Se.Prec.low((0,Pe.gutter)({class:"cm-changeGutter",markers:e=>{var t;return((t=e.plugin(RP))===null||t===void 0?void 0:t.gutter)||Se.RangeSet.empty}}));function AH(e,t){return e.field(Ao,!1)!=t.field(Ao,!1)}function kH(e,t){return e.facet(Fn)!=t.facet(Fn)}var dP=Pe.Decoration.line({class:"cm-changedLine"}),TH=Pe.Decoration.mark({class:"cm-changedText"}),CH=Pe.Decoration.mark({tagName:"ins",class:"cm-insertedLine"}),PH=Pe.Decoration.mark({tagName:"del",class:"cm-deletedLine"}),hP=new class extends Pe.GutterMarker{constructor(){super(...arguments),this.elementClass="cm-changedLineGutter"}};function RH(e,t,r,n,i,a){let s=r?e.fromA:e.fromB,o=r?e.toA:e.toB,c=0;if(s!=o){i.add(s,s,dP),i.add(s,o,r?PH:CH),a&&a.add(s,s,hP);for(let l=t.iterRange(s,o-1),u=s;!l.next().done;){if(l.lineBreak){u++,i.add(u,u,dP),a&&a.add(u,u,hP);continue}let f=u+l.value.length;if(n)for(;c=l)break;(a?u.toA:u.toB)>c&&RH(u,e.state.doc,a,n,s,o)}return{deco:s.finish(),gutter:o&&o.finish()}}var xo=class extends Pe.WidgetType{constructor(t){super(),this.height=t}eq(t){return this.height==t.height}toDOM(){let t=document.createElement("div");return t.className="cm-mergeSpacer",t.style.height=this.height+"px",t}updateDOM(t){return t.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}},Zd=Se.StateEffect.define({map:(e,t)=>e.map(t)}),Pc=Se.StateField.define({create:()=>Pe.Decoration.none,update:(e,t)=>{for(let r of t.effects)if(r.is(Zd))return r.value;return e.map(t.changes)},provide:e=>Pe.EditorView.decorations.from(e)}),qd=.01;function mP(e,t){if(e.size!=t.size)return!1;let r=e.iter(),n=t.iter();for(;r.value;){if(r.from!=n.from||Math.abs(r.value.spec.widget.height-n.value.spec.widget.height)>1)return!1;r.next(),n.next()}return!0}function MH(e,t,r){let n=new Se.RangeSetBuilder,i=new Se.RangeSetBuilder,a=e.state.field(Pc).iter(),s=t.state.field(Pc).iter(),o=0,c=0,l=0,u=0,f=e.viewport,d=t.viewport;for(let v=0;;v++){let y=vqd&&(u+=k,i.add(c,c,Pe.Decoration.widget({widget:new xo(k),block:!0,side:-1})))}if(b>o+1e3&&of.from&&cd.from){let E=Math.min(f.from-o,d.from-c);o+=E,c+=E,v--}else if(y)o=y.toA,c=y.toB;else break;for(;a.value&&a.fromqd&&i.add(t.state.doc.length,t.state.doc.length,Pe.Decoration.widget({widget:new xo(h),block:!0,side:1}));let p=n.finish(),m=i.finish();mP(p,e.state.field(Pc))||e.dispatch({effects:Zd.of(p)}),mP(m,t.state.field(Pc))||t.dispatch({effects:Zd.of(m)})}var Ov=Se.StateEffect.define({map:(e,t)=>t.mapPos(e)}),Iv=class extends Pe.WidgetType{constructor(t){super(),this.lines=t}eq(t){return this.lines==t.lines}toDOM(t){let r=document.createElement("div");return r.className="cm-collapsedLines",r.textContent=t.state.phrase("$ unchanged lines",this.lines),r.addEventListener("click",n=>{let i=t.posAtDOM(n.target);t.dispatch({effects:Ov.of(i)});let{side:a,sibling:s}=t.state.facet(Fn);s&&s().dispatch({effects:Ov.of(OH(i,t.state.field(Ao),a=="a"))})}),r}ignoreEvent(t){return t instanceof MouseEvent}get estimatedHeight(){return 27}};function OH(e,t,r){let n=0,i=0;for(let a=0;;a++){let s=a=e)return i+(e-n);[n,i]=r?[s.toA,s.toB]:[s.toB,s.toA]}}var IH=Se.StateField.define({create(e){return Pe.Decoration.none},update(e,t){e=e.map(t.changes);for(let r of t.effects)r.is(Ov)&&(e=e.update({filter:n=>n!=r.value}));return e},provide:e=>Pe.EditorView.decorations.from(e)});function gP({margin:e=3,minSize:t=4}){return IH.init(r=>FH(r,e,t))}function FH(e,t,r){let n=new Se.RangeSetBuilder,i=e.facet(Fn).side=="a",a=e.field(Ao),s=1;for(let o=0;;o++){let c=o=r&&n.add(e.doc.line(l).from,e.doc.line(u).to,Pe.Decoration.replace({widget:new Iv(f),block:!0})),!c)break;s=e.doc.lineAt(Math.min(e.doc.length,i?c.toA:c.toB)).number}return n.finish()}var $H=Pe.EditorView.styleModule.of(new zd({".cm-mergeView":{overflowY:"auto"},".cm-mergeViewEditors":{display:"flex",alignItems:"stretch"},".cm-mergeViewEditor":{flexGrow:1,flexBasis:0,overflow:"hidden"},".cm-merge-revert":{width:"1.6em",flexGrow:0,flexShrink:0,position:"relative"},".cm-merge-revert button":{position:"absolute",display:"block",width:"100%",boxSizing:"border-box",textAlign:"center",background:"none",border:"none",font:"inherit",cursor:"pointer"}})),LH=Pe.EditorView.baseTheme({".cm-mergeView & .cm-scroller, .cm-mergeView &":{height:"auto !important",overflowY:"visible !important"},"&.cm-merge-a .cm-changedLine, .cm-deletedChunk":{backgroundColor:"rgba(160, 128, 100, .08)"},"&.cm-merge-b .cm-changedLine":{backgroundColor:"rgba(100, 160, 128, .08)"},"&light.cm-merge-a .cm-changedText, &light .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ee443366, #ee443366) bottom/100% 2px no-repeat"},"&dark.cm-merge-a .cm-changedText, &dark .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ffaa9966, #ffaa9966) bottom/100% 2px no-repeat"},"&light.cm-merge-b .cm-changedText":{background:"linear-gradient(#22bb2266, #22bb2266) bottom/100% 2px no-repeat"},"&dark.cm-merge-b .cm-changedText":{background:"linear-gradient(#88ff8866, #88ff8866) bottom/100% 2px no-repeat"},".cm-insertedLine, .cm-deletedLine":{textDecoration:"none"},".cm-deletedChunk":{paddingLeft:"6px","& .cm-chunkButtons":{position:"absolute",insetInlineEnd:"5px"},"& button":{border:"none",cursor:"pointer",color:"white",margin:"0 2px",borderRadius:"3px","&[name=accept]":{background:"#2a2"},"&[name=reject]":{background:"#d43"}}},".cm-collapsedLines":{padding:"5px 5px 5px 10px",cursor:"pointer","&:before":{content:'"\u299A"',marginInlineEnd:"7px"},"&:after":{content:'"\u299A"',marginInlineStart:"7px"}},"&light .cm-collapsedLines":{color:"#444",background:"linear-gradient(to bottom, transparent 0, #f3f3f3 30%, #f3f3f3 70%, transparent 100%)"},"&dark .cm-collapsedLines":{color:"#ddd",background:"linear-gradient(to bottom, transparent 0, #222 30%, #222 70%, transparent 100%)"},".cm-changeGutter":{width:"3px",paddingLeft:"1px"},"&light.cm-merge-a .cm-changedLineGutter, &light .cm-deletedLineGutter":{background:"#e43"},"&dark.cm-merge-a .cm-changedLineGutter, &dark .cm-deletedLineGutter":{background:"#fa9"},"&light.cm-merge-b .cm-changedLineGutter":{background:"#2b2"},"&dark.cm-merge-b .cm-changedLineGutter":{background:"#8f8"}}),vP=new Se.Compartment,Yd=new Se.Compartment,Kd=class{constructor(t){this.revertDOM=null,this.revertToA=!1,this.revertToLeft=!1,this.measuring=-1,this.diffConf=t.diffConfig||EH;let r=[Se.Prec.low(RP),LH,$H,Pc,Pe.EditorView.updateListener.of(f=>{this.measuring<0&&(f.heightChanged||f.viewportChanged)&&!f.transactions.some(d=>d.effects.some(h=>h.is(Zd)))&&this.measure()})],n=[Fn.of({side:"a",sibling:()=>this.b,highlightChanges:t.highlightChanges!==!1,markGutter:t.gutter!==!1})];t.gutter!==!1&&n.push(Wd);let i=Se.EditorState.create({doc:t.a.doc,selection:t.a.selection,extensions:[t.a.extensions||[],Pe.EditorView.editorAttributes.of({class:"cm-merge-a"}),Yd.of(n),r]}),a=[Fn.of({side:"b",sibling:()=>this.a,highlightChanges:t.highlightChanges!==!1,markGutter:t.gutter!==!1})];t.gutter!==!1&&a.push(Wd);let s=Se.EditorState.create({doc:t.b.doc,selection:t.b.selection,extensions:[t.b.extensions||[],Pe.EditorView.editorAttributes.of({class:"cm-merge-b"}),Yd.of(a),r]});this.chunks=So.build(i.doc,s.doc,this.diffConf);let o=[Ao.init(()=>this.chunks),vP.of(t.collapseUnchanged?gP(t.collapseUnchanged):[])];i=i.update({effects:Se.StateEffect.appendConfig.of(o)}).state,s=s.update({effects:Se.StateEffect.appendConfig.of(o)}).state,this.dom=document.createElement("div"),this.dom.className="cm-mergeView",this.editorDOM=this.dom.appendChild(document.createElement("div")),this.editorDOM.className="cm-mergeViewEditors";let c=t.orientation||"a-b",l=document.createElement("div");l.className="cm-mergeViewEditor";let u=document.createElement("div");u.className="cm-mergeViewEditor",this.editorDOM.appendChild(c=="a-b"?l:u),this.editorDOM.appendChild(c=="a-b"?u:l),this.a=new Pe.EditorView({state:i,parent:l,root:t.root,dispatchTransactions:f=>this.dispatch(f,this.a)}),this.b=new Pe.EditorView({state:s,parent:u,root:t.root,dispatchTransactions:f=>this.dispatch(f,this.b)}),this.setupRevertControls(!!t.revertControls,t.revertControls=="b-to-a",t.renderRevertControl),t.parent&&t.parent.appendChild(this.dom),this.scheduleMeasure()}dispatch(t,r){if(t.some(n=>n.docChanged)){let n=t[t.length-1],i=t.reduce((s,o)=>s.compose(o.changes),Se.ChangeSet.empty(t[0].startState.doc.length));this.chunks=r==this.a?So.updateA(this.chunks,n.newDoc,this.b.state.doc,i,this.diffConf):So.updateB(this.chunks,this.a.state.doc,n.newDoc,i,this.diffConf),r.update([...t,n.state.update({effects:Mv.of(this.chunks)})]);let a=r==this.a?this.b:this.a;a.update([a.state.update({effects:Mv.of(this.chunks)})]),this.scheduleMeasure()}else r.update(t)}reconfigure(t){if("diffConfig"in t&&(this.diffConf=t.diffConfig),"orientation"in t){let a=t.orientation!="b-a";if(a!=(this.editorDOM.firstChild==this.a.dom.parentNode)){let s=this.a.dom.parentNode,o=this.b.dom.parentNode;s.remove(),o.remove(),this.editorDOM.insertBefore(a?s:o,this.editorDOM.firstChild),this.editorDOM.appendChild(a?o:s),this.revertToLeft=!this.revertToLeft,this.revertDOM&&(this.revertDOM.textContent="")}}if("revertControls"in t||"renderRevertControl"in t){let a=!!this.revertDOM,s=this.revertToA,o=this.renderRevert;"revertControls"in t&&(a=!!t.revertControls,s=t.revertControls=="b-to-a"),"renderRevertControl"in t&&(o=t.renderRevertControl),this.setupRevertControls(a,s,o)}let r="highlightChanges"in t,n="gutter"in t,i="collapseUnchanged"in t;if(r||n||i){let a=[],s=[];if(r||n){let o=this.a.state.facet(Fn),c=n?t.gutter!==!1:o.markGutter,l=r?t.highlightChanges!==!1:o.highlightChanges;a.push(Yd.reconfigure([Fn.of({side:"a",sibling:()=>this.b,highlightChanges:l,markGutter:c}),c?Wd:[]])),s.push(Yd.reconfigure([Fn.of({side:"b",sibling:()=>this.a,highlightChanges:l,markGutter:c}),c?Wd:[]]))}if(i){let o=vP.reconfigure(t.collapseUnchanged?gP(t.collapseUnchanged):[]);a.push(o),s.push(o)}this.a.dispatch({effects:a}),this.b.dispatch({effects:s})}this.scheduleMeasure()}setupRevertControls(t,r,n){this.revertToA=r,this.revertToLeft=this.revertToA==(this.editorDOM.firstChild==this.a.dom.parentNode),this.renderRevert=n,!t&&this.revertDOM?(this.revertDOM.remove(),this.revertDOM=null):t&&!this.revertDOM?(this.revertDOM=this.editorDOM.insertBefore(document.createElement("div"),this.editorDOM.firstChild.nextSibling),this.revertDOM.addEventListener("mousedown",i=>this.revertClicked(i)),this.revertDOM.className="cm-merge-revert"):this.revertDOM&&(this.revertDOM.textContent="")}scheduleMeasure(){if(this.measuring<0){let t=this.dom.ownerDocument.defaultView||window;this.measuring=t.requestAnimationFrame(()=>{this.measuring=-1,this.measure()})}}measure(){MH(this.a,this.b,this.chunks),this.revertDOM&&this.updateRevertButtons()}updateRevertButtons(){let t=this.revertDOM,r=t.firstChild,n=this.a.viewport,i=this.b.viewport;for(let a=0;an.to||s.fromB>i.to)break;if(s.fromA-1&&(this.dom.ownerDocument.defaultView||window).cancelAnimationFrame(this.measuring),this.dom.remove()}};function yP(e){let t=e.nextSibling;return e.remove(),t}var Co=require("@codemirror/commands"),Jd=require("@codemirror/search");var Ga=class extends To.ItemView{constructor(r,n){super(r);this.plugin=n;this.refreshing=!1;this.ignoreNextModification=!1;this.navigation=!0,this.registerEvent(this.app.workspace.on("obsidian-git:status-changed",()=>{this.mergeView?this.updateRefEditors().catch(console.error):this.createMergeView().catch(console.error)})),this.intervalRef=window.setInterval(()=>{this.mergeView&&this.updateRefEditors().catch(console.error)},30*1e3),this.registerEvent(this.app.vault.on("modify",i=>{this.state.bRef==null&&i.path===this.state.bFile&&(this.ignoreNextModification?this.ignoreNextModification=!1:this.updateModifiableEditor().catch(console.error))})),this.registerEvent(this.app.vault.on("delete",i=>{this.state.bRef==null&&i.path===this.state.bFile&&this.createMergeView().catch(console.error)})),this.registerEvent(this.app.vault.on("create",i=>{this.state.bRef==null&&i.path===this.state.bFile&&this.createMergeView().catch(console.error)})),this.registerEvent(this.app.vault.on("rename",(i,a)=>{this.state.bRef==null&&(i.path===this.state.bFile||a===this.state.bFile)&&this.createMergeView().catch(console.error)})),this.fileSaveDebouncer=(0,To.debounce)(i=>{let a=this.state.bFile;a&&(this.ignoreNextModification=!0,this.plugin.app.vault.adapter.write(a,i).catch(s=>this.plugin.displayError(s)))},1e3,!1)}getViewType(){return Ai.type}getDisplayText(){var r;if(((r=this.state)==null?void 0:r.bFile)!=null){let n=this.state.bFile.split("/").last();return n!=null&&n.endsWith(".md")&&(n=n.slice(0,-3)),`Diff: ${n}`}return Ai.name}getIcon(){return Ai.icon}async setState(r,n){this.state=r,To.Platform.isMobile&&(this.leaf.view.titleEl.textContent=this.getDisplayText()),await super.setState(r,n),await this.createMergeView()}getState(){return this.state}onClose(){return window.clearInterval(this.intervalRef),super.onClose()}async onOpen(){return await this.createMergeView(),super.onOpen()}async gitShow(r,n){try{return await this.plugin.gitManager.show(r,n,!1)}catch(i){if(i instanceof yr&&(i.message.includes("does not exist")||i.message.includes("unknown revision or path")||i.message.includes("exists on disk, but not in")))return"";throw i}}async bShouldBeEditable(){if(this.state.bRef!=null)return!1;let r=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);return await this.app.vault.adapter.exists(r)}async updateModifiableEditor(){if(!this.mergeView||this.refreshing)return;let r=this.mergeView.b;this.refreshing=!0;let n=await this.app.vault.adapter.read(this.state.bFile);if(n!=r.state.doc.toString()){let i=r.state.update({changes:{from:0,to:r.state.doc.length,insert:n},annotations:[ko.Transaction.remote.of(!0)]});r.dispatch(i)}this.refreshing=!1}async updateRefEditors(){if(!this.mergeView||this.refreshing)return;let r=this.mergeView.a,n=this.mergeView.b;this.refreshing=!0;let i=await this.gitShow(this.state.aRef,this.state.aFile),a;if(this.state.bRef!=null&&(a=await this.gitShow(this.state.bRef,this.state.bFile)),i!=r.state.doc.toString()){let s=r.state.update({changes:{from:0,to:r.state.doc.length,insert:i}});r.dispatch(s)}if(a!=null&&a!=n.state.doc.toString()){let s=n.state.update({changes:{from:0,to:n.state.doc.length,insert:a}});n.dispatch(s)}this.refreshing=!1}async createMergeView(){var r,n,i;if((r=this.state)!=null&&r.aFile&&((n=this.state)!=null&&n.bFile)&&!this.refreshing&&this.plugin.gitManager){this.refreshing=!0,(i=this.mergeView)==null||i.destroy();let a=this.containerEl.children[1];a.empty(),this.contentEl.addClass("git-split-diff-view"),this.bIsEditable=await this.bShouldBeEditable();let s=await this.gitShow(this.state.aRef,this.state.aFile),o;if(this.state.bRef!=null)o=await this.gitShow(this.state.bRef,this.state.bFile);else{let p=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);await this.app.vault.adapter.exists(p)?o=await this.app.vault.adapter.read(p):o=""}let c=[(0,Yr.lineNumbers)(),(0,Jd.highlightSelectionMatches)(),(0,Yr.drawSelection)(),Yr.keymap.of([...Co.standardKeymap,Co.indentWithTab]),(0,Co.history)(),(0,Jd.search)(),Yr.EditorView.lineWrapping],l=this,u=Yr.ViewPlugin.define(p=>({update(m){if(m.docChanged&&!m.transactions.some(v=>v.annotation(ko.Transaction.remote))){let v=p.state.doc.toString();l.fileSaveDebouncer(v)}}})),f={doc:s,extensions:[...c,Yr.EditorView.editable.of(!1),ko.EditorState.readOnly.of(!0)]},d=[...c];this.bIsEditable?d.push(u):d.push(Yr.EditorView.editable.of(!1),ko.EditorState.readOnly.of(!0));let h={doc:o,extensions:d};a.addClasses(["cm-s-obsidian","mod-cm6","markdown-source-view","cm-content"]),this.mergeView=new Kd({b:h,a:f,diffConfig:{scanLimit:this.bIsEditable?1e3:1e4},parent:a}),this.refreshing=!1}}};var Qd=class extends Me.Plugin{constructor(){super(...arguments);this.automaticsManager=new Zl(this);this.tools=new Tc(this);this.localStorage=new dd(this);this.state={gitAction:0,offlineMode:!1};this.gitReady=!1;this.promiseQueue=new sd(this);this.intervalsToClear=[];this.lineAuthoringFeature=new ad(this)}setPluginState(r){var n;this.state=Object.assign(this.state,r),(n=this.statusBar)==null||n.display()}async updateCachedStatus(){var r,n;return this.app.workspace.trigger("obsidian-git:loading-status"),this.cachedStatus=await this.gitManager.status(),this.cachedStatus.conflicted.length>0?(this.localStorage.setConflict(!0),await((r=this.branchBar)==null?void 0:r.display())):(this.localStorage.setConflict(!1),await((n=this.branchBar)==null?void 0:n.display())),this.app.workspace.trigger("obsidian-git:status-changed",this.cachedStatus),this.cachedStatus}async refresh(){if(!this.gitReady)return;let r=this.app.workspace.getLeavesOfType(St.type),n=this.app.workspace.getLeavesOfType(Fr.type);(this.settings.changedFilesInStatusBar||r.some(i=>{var a;return!((a=i.isDeferred)!=null&&a)})||n.some(i=>{var a;return!((a=i.isDeferred)!=null&&a)}))&&await this.updateCachedStatus().catch(i=>this.displayError(i)),this.app.workspace.trigger("obsidian-git:refreshed")}refreshUpdatedHead(){this.lineAuthoringFeature.refreshLineAuthorViews()}async onload(){console.log("loading "+this.manifest.name+" plugin: v"+this.manifest.version),Xl.plugin=this,this.localStorage.migrate(),await this.loadSettings(),await this.migrateSettings(),this.settingsTab=new Vf(this.app,this),this.addSettingTab(this.settingsTab),this.localStorage.getPluginDisabled()||(this.registerStuff(),this.app.workspace.onLayoutReady(()=>this.init({fromReload:!1}).catch(r=>this.displayError(r))))}onExternalSettingsChange(){this.reloadSettings().catch(r=>this.displayError(r))}async reloadSettings(){let r=JSON.stringify(this.settings);await this.loadSettings();let n=JSON.stringify(this.settings);r!==n&&(this.log("Reloading settings"),this.unloadPlugin(),await this.init({fromReload:!0}),this.app.workspace.getLeavesOfType(St.type).forEach(i=>{var a;if(!((a=i.isDeferred)!=null&&a))return i.view.reload()}),this.app.workspace.getLeavesOfType(Fr.type).forEach(i=>{var a;if(!((a=i.isDeferred)!=null&&a))return i.view.reload()}))}registerStuff(){this.registerEvent(this.app.workspace.on("obsidian-git:refresh",()=>{this.refresh().catch(r=>this.displayError(r))})),this.registerEvent(this.app.workspace.on("obsidian-git:head-change",()=>{this.refreshUpdatedHead()})),this.registerEvent(this.app.workspace.on("file-menu",(r,n,i)=>{this.handleFileMenu(r,n,i)})),this.registerEvent(this.app.workspace.on("active-leaf-change",r=>{this.onActiveLeafChange(r)})),this.registerEvent(this.app.vault.on("modify",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerEvent(this.app.vault.on("delete",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerEvent(this.app.vault.on("create",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerEvent(this.app.vault.on("rename",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerView(St.type,r=>new kc(r,this)),this.registerView(Fr.type,r=>new yc(r,this)),this.registerView(ki.type,r=>new ka(r,this)),this.registerView(Ai.type,r=>new Ga(r,this)),this.addRibbonIcon("git-pull-request","Open Git source control",async()=>{var i;let r=this.app.workspace.getLeavesOfType(St.type),n;r.length===0?(n=(i=this.app.workspace.getRightLeaf(!1))!=null?i:this.app.workspace.getLeaf(),await n.setViewState({type:St.type})):n=r.first(),await this.app.workspace.revealLeaf(n)}),this.registerHoverLinkSource(St.type,{display:"Git View",defaultMod:!0}),this.lineAuthoringFeature.onLoadPlugin(),this.setRefreshDebouncer(),oC(this)}setRefreshDebouncer(){var r;(r=this.debRefresh)==null||r.cancel(),this.debRefresh=(0,Me.debounce)(()=>{this.settings.refreshSourceControl&&this.refresh().catch(console.error)},this.settings.refreshSourceControlTimer,!0)}async addFileToGitignore(r){return await this.app.vault.adapter.append(this.gitManager.getRelativeVaultPath(".gitignore"),` -`+this.gitManager.getRelativeRepoPath(r.path,!0)),this.refresh()}handleFileMenu(r,n,i){this.gitReady&&this.settings.showFileMenu&&n&&(this.settings.showFileMenu&&i=="file-explorer-context-menu"&&(r.addItem(a=>{a.setTitle("Git: Stage").setIcon("plus-circle").setSection("action").onClick(s=>{this.promiseQueue.addTask(async()=>{n instanceof Me.TFile?await this.gitManager.stage(n.path,!0):await this.gitManager.stageAll({dir:this.gitManager.getRelativeRepoPath(n.path,!0)}),this.displayMessage(`Staged ${n.path}`)})})}),r.addItem(a=>{a.setTitle("Git: Unstage").setIcon("minus-circle").setSection("action").onClick(s=>{this.promiseQueue.addTask(async()=>{n instanceof Me.TFile?await this.gitManager.unstage(n.path,!0):await this.gitManager.unstageAll({dir:this.gitManager.getRelativeRepoPath(n.path,!0)}),this.displayMessage(`Unstaged ${n.path}`)})})}),r.addItem(a=>{a.setTitle("Git: Add to .gitignore").setIcon("file-x").setSection("action").onClick(s=>{this.addFileToGitignore(n).catch(o=>this.displayError(o))})})),i=="git-source-control"&&r.addItem(a=>{a.setTitle("Git: Add to .gitignore").setIcon("file-x").setSection("action").onClick(s=>{this.addFileToGitignore(n).catch(o=>this.displayError(o))})}))}async migrateSettings(){this.settings.mergeOnPull!=null&&(this.settings.syncMethod=this.settings.mergeOnPull?"merge":"rebase",this.settings.mergeOnPull=void 0,await this.saveSettings()),this.settings.autoCommitMessage===void 0&&(this.settings.autoCommitMessage=this.settings.commitMessage,await this.saveSettings()),this.settings.gitPath!=null&&(this.localStorage.setGitPath(this.settings.gitPath),this.settings.gitPath=void 0,await this.saveSettings()),this.settings.username!=null&&(this.localStorage.setPassword(this.settings.username),this.settings.username=void 0,await this.saveSettings())}unloadPlugin(){var r,n;this.gitReady=!1,this.lineAuthoringFeature.deactivateFeature(),this.automaticsManager.unload(),(r=this.branchBar)==null||r.remove(),(n=this.statusBar)==null||n.remove(),this.gitManager.unload(),this.promiseQueue.clear();for(let i of this.intervalsToClear)window.clearInterval(i);this.intervalsToClear=[],this.debRefresh.cancel()}onunload(){this.unloadPlugin(),console.log("unloading "+this.manifest.name+" plugin")}async loadSettings(){let r=await this.loadData();r==null&&(r={showedMobileNotice:!0}),this.settings=Ex(Sn,r)}async saveSettings(){var r;(r=this.settingsTab)==null||r.beforeSaveSettings(),await this.saveData(this.settings)}get useSimpleGit(){return Me.Platform.isDesktopApp}async init({fromReload:r=!1}){var n;if(this.settings.showStatusBar){let i=this.addStatusBarItem();this.statusBar=new od(i,this),this.intervalsToClear.push(window.setInterval(()=>{var a;return(a=this.statusBar)==null?void 0:a.display()},1e3))}try{this.useSimpleGit?(this.gitManager=new Te(this),await this.gitManager.setGitInstance()):this.gitManager=new nn(this);let i=await this.gitManager.checkRequirements();switch(i){case"missing-git":this.displayError(`Cannot run git command. Trying to run: '${this.localStorage.getGitPath()||"git"}' .`);break;case"missing-repo":new Me.Notice("Can't find a valid git repository. Please create one via the given command or clone an existing repo.",1e4);break;case"valid":if(this.gitReady=!0,this.setPluginState({gitAction:0}),Me.Platform.isDesktop&&this.settings.showBranchStatusBar){let a=this.addStatusBarItem();this.branchBar=new Gd(a,this),this.intervalsToClear.push(window.setInterval(()=>{var s;return void((s=this.branchBar)==null?void 0:s.display().catch(console.error))},6e4))}await((n=this.branchBar)==null?void 0:n.display()),this.lineAuthoringFeature.conditionallyActivateBySettings(),this.app.workspace.trigger("obsidian-git:refresh"),this.app.workspace.trigger("obsidian-git:head-change"),!r&&this.settings.autoPullOnBoot&&this.promiseQueue.addTask(()=>this.pullChangesFromRemote()),await this.automaticsManager.init();break;default:this.log("Something weird happened. The 'checkRequirements' result is "+i)}}catch(i){this.displayError(i),console.error(i)}}async createNewRepo(){try{await this.gitManager.init(),new Me.Notice("Initialized new repo"),await this.init({fromReload:!0})}catch(r){this.displayError(r)}}async cloneNewRepo(){let n=await new Fe(this,{placeholder:"Enter remote URL"}).openAndGetResult();if(n){let i="Vault Root",a=await new Fe(this,{options:this.gitManager instanceof nn?[i]:[],placeholder:"Enter directory for clone. It needs to be empty or not existent.",allowEmpty:this.gitManager instanceof nn}).openAndGetResult();if(a==null)return;if(a===i&&(a="."),a=(0,Me.normalizePath)(a),a==="/"&&(a="."),a==="."){let f=await new Fe(this,{options:["NO","YES"],placeholder:`Does your remote repo contain a ${this.app.vault.configDir} directory at the root?`,onlySelection:!0}).openAndGetResult();if(f===void 0){new Me.Notice("Aborted clone");return}else if(f==="YES"){let d="DELETE ALL YOUR LOCAL CONFIG AND PLUGINS";if(await new Fe(this,{options:["Abort clone",d],placeholder:`To avoid conflicts, the local ${this.app.vault.configDir} directory needs to be deleted.`,onlySelection:!0}).openAndGetResult()===d)await this.app.vault.adapter.rmdir(this.app.vault.configDir,!0);else{new Me.Notice("Aborted clone");return}}}let s=await new Fe(this,{placeholder:"Specify depth of clone. Leave empty for full clone.",allowEmpty:!0}).openAndGetResult(),o;if(s!==""&&(o=parseInt(s),isNaN(o))){new Me.Notice("Invalid depth. Aborting clone.");return}new Me.Notice(`Cloning new repo into "${a}"`);let c=this.settings.basePath,l=a&&a!==".";l&&(this.settings.basePath=a);try{await this.gitManager.clone(n,a,o),new Me.Notice("Cloned new repo."),new Me.Notice("Please restart Obsidian"),l&&await this.saveSettings()}catch(u){this.displayError(u),this.settings.basePath=c,await this.saveSettings()}}}async isAllInitialized(){return this.gitReady||await this.init({fromReload:!0}),this.gitReady}async pullChangesFromRemote(){if(!await this.isAllInitialized())return;let r=await this.pull();if(await this.automaticsManager.setUpAutoCommitAndSync(),r!==!1){if(r||this.displayMessage("Pull: Everything is up-to-date"),this.gitManager instanceof Te){let n=await this.updateCachedStatus();n.conflicted.length>0&&(this.displayError(`You have conflicts in ${n.conflicted.length} ${n.conflicted.length==1?"file":"files"}`),await this.handleConflict(n.conflicted))}this.app.workspace.trigger("obsidian-git:refresh"),this.setPluginState({gitAction:0})}}async commitAndSync(r,n=!1,i){!await this.isAllInitialized()||(this.settings.syncMethod=="reset"&&this.settings.pullBeforePush&&await this.pull(),!await this.commit({fromAuto:r,requestCustomMessage:n,commitMessage:i}))||(this.settings.syncMethod!="reset"&&this.settings.pullBeforePush&&await this.pull(),this.settings.disablePush||(await this.remotesAreSet()&&await this.gitManager.canPush()?await this.push():this.displayMessage("No commits to push")),this.setPluginState({gitAction:0}))}async commit({fromAuto:r,requestCustomMessage:n=!1,onlyStaged:i=!1,commitMessage:a,amend:s=!1}){if(!await this.isAllInitialized())return!1;try{let o=this.localStorage.getConflict(),c,l,u;if(this.gitManager instanceof Te){if(await this.mayDeleteConflictFile(),l=await this.updateCachedStatus(),l.conflicted.length==0&&(o=!1),r&&l.conflicted.length>0)return this.displayError(`Did not commit, because you have conflicts in ${l.conflicted.length} ${l.conflicted.length==1?"file":"files"}. Please resolve them and commit per command.`),await this.handleConflict(l.conflicted),!1;c=[...l.changed,...l.staged]}else{if(r&&o)return this.displayError("Did not commit, because you have conflicts. Please resolve them and commit per command."),!1;if(o)await this.mayDeleteConflictFile(),l=await this.updateCachedStatus(),c=[...l.changed,...l.staged];else{let f=this.gitManager;i?c=await f.getStagedFiles():(u=await f.getUnstagedFiles(),c=u.map(({path:d})=>({vaultPath:this.gitManager.getRelativeVaultPath(d),path:d})))}}if(await this.tools.hasTooBigFiles(c))return this.setPluginState({gitAction:0}),!1;if(c.length!==0||o){let f=a!=null?a:a=r?this.settings.autoCommitMessage:this.settings.commitMessage;if(r&&this.settings.customMessageOnAutoBackup||n){!this.settings.disablePopups&&r&&new Me.Notice("Auto backup: Please enter a custom commit message. Leave empty to abort");let p=await new ld(this).openAndGetResult();if(p!=null&&p!=""&&p!="...")f=p;else return this.setPluginState({gitAction:0}),!1}let d;i?d=await this.gitManager.commit({message:f,amend:s}):d=await this.gitManager.commitAll({message:f,status:l,unstagedFiles:u,amend:s}),this.gitManager instanceof Te&&await this.updateCachedStatus();let h=!1;d===void 0&&(h=!0,d=c.length),await this.automaticsManager.setUpAutoCommitAndSync(),this.displayMessage(`Committed${h?" approx.":""} ${d} ${d==1?"file":"files"}`)}else this.displayMessage("No changes to commit");return this.app.workspace.trigger("obsidian-git:refresh"),!0}catch(o){return this.displayError(o),!1}}async push(){if(!await this.isAllInitialized()||!await this.remotesAreSet())return!1;let r=this.localStorage.getConflict();try{this.gitManager instanceof Te&&await this.mayDeleteConflictFile();let n;if(this.gitManager instanceof Te&&(n=await this.updateCachedStatus()).conflicted.length>0)return this.displayError(`Cannot push. You have conflicts in ${n.conflicted.length} ${n.conflicted.length==1?"file":"files"}`),await this.handleConflict(n.conflicted),!1;if(this.gitManager instanceof nn&&r)return this.displayError("Cannot push. You have conflicts"),!1;this.log("Pushing....");let i=await this.gitManager.push();return i!==void 0&&(i>0?this.displayMessage(`Pushed ${i} ${i==1?"file":"files"} to remote`):this.displayMessage("No commits to push")),this.setPluginState({offlineMode:!1}),this.app.workspace.trigger("obsidian-git:refresh"),!0}catch(n){return n instanceof Is?this.handleNoNetworkError(n):this.displayError(n),!1}}async pull(){if(!await this.remotesAreSet())return!1;try{this.log("Pulling....");let r=await this.gitManager.pull()||[];return this.setPluginState({offlineMode:!1}),r.length>0&&(this.displayMessage(`Pulled ${r.length} ${r.length==1?"file":"files"} from remote`),this.lastPulledFiles=r),r.length}catch(r){return this.displayError(r),!1}}async fetch(){if(await this.remotesAreSet())try{await this.gitManager.fetch(),this.displayMessage("Fetched from remote"),this.setPluginState({offlineMode:!1}),this.app.workspace.trigger("obsidian-git:refresh")}catch(r){this.displayError(r)}}async mayDeleteConflictFile(){let r=this.app.vault.getAbstractFileByPath(Ms);r&&(this.app.workspace.iterateAllLeaves(n=>{var i;n.view instanceof Me.MarkdownView&&((i=n.view.file)==null?void 0:i.path)==r.path&&n.detach()}),await this.app.vault.delete(r))}async stageFile(r){return await this.isAllInitialized()?(await this.gitManager.stage(r.path,!0),this.displayMessage(`Staged ${r.path}`),this.app.workspace.trigger("obsidian-git:refresh"),this.setPluginState({gitAction:0}),!0):!1}async unstageFile(r){return await this.isAllInitialized()?(await this.gitManager.unstage(r.path,!0),this.displayMessage(`Unstaged ${r.path}`),this.app.workspace.trigger("obsidian-git:refresh"),this.setPluginState({gitAction:0}),!0):!1}async switchBranch(){var i;if(!await this.isAllInitialized())return;let r=await this.gitManager.branchInfo(),n=await new Ud(this,r.branches).openAndGetReslt();if(n!=null)return await this.gitManager.checkout(n),this.displayMessage(`Switched to ${n}`),this.app.workspace.trigger("obsidian-git:refresh"),await((i=this.branchBar)==null?void 0:i.display()),n}async switchRemoteBranch(){var a;if(!await this.isAllInitialized())return;let r=await this.selectRemoteBranch()||"",[n,i]=Ii(r);if(i!=null&&n!=null)return await this.gitManager.checkout(i,n),this.displayMessage(`Switched to ${r}`),await((a=this.branchBar)==null?void 0:a.display()),r}async createBranch(){var n;if(!await this.isAllInitialized())return;let r=await new Fe(this,{placeholder:"Create new branch"}).openAndGetResult();if(r!=null)return await this.gitManager.createBranch(r),this.displayMessage(`Created new branch ${r}`),await((n=this.branchBar)==null?void 0:n.display()),r}async deleteBranch(){var i;if(!await this.isAllInitialized())return;let r=await this.gitManager.branchInfo();r.current&&r.branches.remove(r.current);let n=await new Fe(this,{options:r.branches,placeholder:"Delete branch",onlySelection:!0}).openAndGetResult();if(n!=null){let a=!1;if(!await this.gitManager.branchIsMerged(n)){let o=await new Fe(this,{options:["YES","NO"],placeholder:"This branch isn't merged into HEAD. Force delete?",onlySelection:!0}).openAndGetResult();if(o!=="YES")return;a=o==="YES"}return await this.gitManager.deleteBranch(n,a),this.displayMessage(`Deleted branch ${n}`),await((i=this.branchBar)==null?void 0:i.display()),n}}async remotesAreSet(){return this.settings.updateSubmodules||(await this.gitManager.branchInfo()).tracking?!0:(new Me.Notice("No upstream branch is set. Please select one."),await this.setUpstreamBranch())}async setUpstreamBranch(){let r=await this.selectRemoteBranch();return r==null?(this.displayError("Aborted. No upstream-branch is set!",1e4),this.setPluginState({gitAction:0}),!1):(await this.gitManager.updateUpstreamBranch(r),this.displayMessage(`Set upstream branch to ${r}`),this.setPluginState({gitAction:0}),!0)}async discardAll(){await this.gitManager.discardAll({status:this.cachedStatus}),new Me.Notice("All local changes have been discarded. New files remain untouched."),this.app.workspace.trigger("obsidian-git:refresh")}async handleConflict(r){this.localStorage.setConflict(!0);let n;r!==void 0&&(n=["# Conflicts","Please resolve them and commit them using the commands `Git: Commit all changes` followed by `Git: Push`","(This file will automatically be deleted before commit)","[[#Additional Instructions]] available below file list","",...r.map(i=>{let a=this.app.vault.getAbstractFileByPath(i);return a instanceof Me.TFile?`- [[${this.app.metadataCache.fileToLinktext(a,"/")}]]`:`- Not a file: ${i}`}),` -# Additional Instructions -I strongly recommend to use "Source mode" for viewing the conflicted files. For simple conflicts, in each file listed above replace every occurrence of the following text blocks with the desired text. - -\`\`\`diff -<<<<<<< HEAD - File changes in local repository -======= - File changes in remote repository ->>>>>>> origin/main -\`\`\``]),await this.tools.writeAndOpenFile(n==null?void 0:n.join(` -`))}async editRemotes(){if(!await this.isAllInitialized())return;let r=await this.gitManager.getRemotes(),i=await new Fe(this,{options:r,placeholder:"Select or create a new remote by typing its name and selecting it"}).openAndGetResult();if(i){let a=await this.gitManager.getRemoteUrl(i),o=await new Fe(this,{initialValue:a}).openAndGetResult();if(o)return await this.gitManager.setRemote(i,o),i}}async selectRemoteBranch(){let r=await this.gitManager.getRemotes(),n;r.length===0&&(n=await this.editRemotes(),n==null&&(r=await this.gitManager.getRemotes()));let i=new Fe(this,{options:r,placeholder:"Select or create a new remote by typing its name and selecting it"}),a=n!=null?n:await i.openAndGetResult();if(a){this.displayMessage("Fetching remote branches"),await this.gitManager.fetch(a);let s=await this.gitManager.getRemoteBranches(a);return await new Fe(this,{options:s,placeholder:"Select or create a new remote branch by typing its name and selecting it"}).openAndGetResult()}}async removeRemote(){if(!await this.isAllInitialized())return;let r=await this.gitManager.getRemotes(),i=await new Fe(this,{options:r,placeholder:"Select a remote"}).openAndGetResult();i&&await this.gitManager.removeRemote(i)}onActiveLeafChange(r){var s,o;let n=r==null?void 0:r.view;if(!(n!=null&&n.getState().file)&&!(n instanceof ka||n instanceof Ga))return;let i=this.app.workspace.getLeavesOfType(St.type).first(),a=this.app.workspace.getLeavesOfType(Fr.type).first();if((s=i==null?void 0:i.view.containerEl.querySelector("div.nav-file-title.is-active"))==null||s.removeClass("is-active"),(o=a==null?void 0:a.view.containerEl.querySelector("div.nav-file-title.is-active"))==null||o.removeClass("is-active"),(r==null?void 0:r.view)instanceof ka||(r==null?void 0:r.view)instanceof Ga){let c=r.view.state.bFile;this.lastDiffViewState=r.view.getState();let l;i&&r.view.state.aRef=="HEAD"?l=i.view.containerEl.querySelector(`div.staged div.nav-file-title[data-path='${c}']`):i&&r.view.state.aRef==""?l=i.view.containerEl.querySelector(`div.changes div.nav-file-title[data-path='${c}']`):a&&(l=a.view.containerEl.querySelector(`div.nav-file-title[data-path='${c}']`)),l==null||l.addClass("is-active")}else this.lastDiffViewState=void 0}handleNoNetworkError(r){this.state.offlineMode?this.log("Encountered network error, but already in offline mode"):this.displayError("Git: Going into offline mode. Future network errors will no longer be displayed.",2e3),this.setPluginState({gitAction:0,offlineMode:!0})}displayMessage(r,n=4*1e3){var i;(i=this.statusBar)==null||i.displayMessage(r.toLowerCase(),n),this.settings.disablePopups||(!this.settings.disablePopupsForNoChanges||!r.startsWith("No changes"))&&new Me.Notice(r,5*1e3),this.log(r)}displayError(r,n=10*1e3){var a;if(r instanceof gl.UserCanceledError){new Me.Notice("Aborted");return}let i;r instanceof Error?i=r:i=new Error(String(r)),this.setPluginState({gitAction:0}),new Me.Notice(i.message,n),console.error(`${this.manifest.id}:`,i.stack),(a=this.statusBar)==null||a.displayMessage(i.message.toLowerCase(),n)}log(...r){console.log(`${this.manifest.id}:`,...r)}}; -/*! Bundled license information: - -ieee754/index.js: - (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) - -buffer/index.js: - (*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - *) - -safe-buffer/index.js: - (*! safe-buffer. MIT License. Feross Aboukhadijeh *) - -crc-32/crc32.js: - (*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com *) - -js-sha256/src/sha256.js: - (** - * [js-sha256]{@link https://github.com/emn178/js-sha256} - * - * @version 0.9.0 - * @author Chen, Yi-Cyuan [emn178@gmail.com] - * @copyright Chen, Yi-Cyuan 2014-2017 - * @license MIT - *) - -feather-icons/dist/feather.js: - (*! - Copyright (c) 2016 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames - *) -*/ - -/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-git/manifest.json b/.obsidian/plugins/obsidian-git/manifest.json deleted file mode 100644 index ca130eef..00000000 --- a/.obsidian/plugins/obsidian-git/manifest.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "author": "Vinzent", - "authorUrl": "https://github.com/Vinzent03", - "id": "obsidian-git", - "name": "Git", - "description": "Integrate Git version control with automatic backup and other advanced features.", - "isDesktopOnly": false, - "fundingUrl": "https://ko-fi.com/vinzent", - "version": "2.31.1" -} diff --git a/.obsidian/plugins/obsidian-git/obsidian_askpass.sh b/.obsidian/plugins/obsidian-git/obsidian_askpass.sh deleted file mode 100644 index 2e5eb5d2..00000000 --- a/.obsidian/plugins/obsidian-git/obsidian_askpass.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -PROMPT="$1" -TEMP_FILE="$OBSIDIAN_GIT_CREDENTIALS_INPUT" - -cleanup() { - rm -f "$TEMP_FILE" "$TEMP_FILE.response" -} -trap cleanup EXIT - -echo "$PROMPT" > "$TEMP_FILE" - -while [ ! -e "$TEMP_FILE.response" ]; do - if [ ! -e "$TEMP_FILE" ]; then - echo "Trigger file got removed: Abort" >&2 - exit 1 - fi - sleep 0.1 -done - -RESPONSE=$(cat "$TEMP_FILE.response") - -echo "$RESPONSE" diff --git a/.obsidian/plugins/obsidian-git/styles.css b/.obsidian/plugins/obsidian-git/styles.css deleted file mode 100644 index f0a7c38d..00000000 --- a/.obsidian/plugins/obsidian-git/styles.css +++ /dev/null @@ -1,576 +0,0 @@ -@keyframes loading { - 0% { - transform: rotate(0deg); - } - - 100% { - transform: rotate(360deg); - } -} - -.workspace-leaf-content[data-type="git-view"] .button-border { - border: 2px solid var(--interactive-accent); - border-radius: var(--radius-s); -} - -.workspace-leaf-content[data-type="git-view"] .view-content { - padding: 0; -} - -.workspace-leaf-content[data-type="git-history-view"] .view-content { - padding: 0; -} - -.loading > svg { - animation: 2s linear infinite loading; - transform-origin: 50% 50%; - display: inline-block; -} - -.obsidian-git-center { - margin: auto; - text-align: center; - width: 50%; -} - -.obsidian-git-textarea { - display: block; - margin-left: auto; - margin-right: auto; -} - -.obsidian-git-disabled { - opacity: 0.5; -} - -.obsidian-git-center-button { - display: block; - margin: 20px auto; -} - -.tooltip.mod-left { - overflow-wrap: break-word; -} - -.tooltip.mod-right { - overflow-wrap: break-word; -} -.git-tools { - display: flex; - margin-left: auto; -} -.git-tools .type { - padding-left: var(--size-2-1); - display: flex; - align-items: center; - justify-content: center; - width: 11px; -} - -.git-tools .type[data-type="M"] { - color: orange; -} -.git-tools .type[data-type="D"] { - color: red; -} -.git-tools .buttons { - display: flex; -} -.git-tools .buttons > * { - padding: 0 0; - height: auto; -} - -.is-active .git-tools .buttons > * { - color: var(--nav-item-color-active); -} - -.git-author { - color: var(--text-accent); -} - -.git-date { - color: var(--text-accent); -} - -.git-ref { - color: var(--text-accent); -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-d-none { - display: none; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-wrapper { - text-align: left; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-header { - background-color: var(--background-primary); - border-bottom: 1px solid var(--interactive-accent); - font-family: var(--font-monospace); - height: 35px; - padding: 5px 10px; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-header, -.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats { - display: -webkit-box; - display: -ms-flexbox; - display: flex; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats { - font-size: 14px; - margin-left: auto; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-lines-added { - border: 1px solid #b4e2b4; - border-radius: 5px 0 0 5px; - color: #399839; - padding: 2px; - text-align: right; - vertical-align: middle; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-lines-deleted { - border: 1px solid #e9aeae; - border-radius: 0 5px 5px 0; - color: #c33; - margin-left: 1px; - padding: 2px; - text-align: left; - vertical-align: middle; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-name-wrapper { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - font-size: 15px; - width: 100%; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-name { - overflow-x: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-wrapper { - border: 1px solid var(--background-modifier-border); - border-radius: 3px; - margin-bottom: 1em; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse { - -webkit-box-pack: end; - -ms-flex-pack: end; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - border: 1px solid var(--background-modifier-border); - border-radius: 3px; - cursor: pointer; - display: none; - font-size: 12px; - justify-content: flex-end; - padding: 4px 8px; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse.d2h-selected { - background-color: #c8e1ff; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse-input { - margin: 0 4px 0 0; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-diff-table { - border-collapse: collapse; - font-family: Menlo, Consolas, monospace; - font-size: 13px; - width: 100%; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-files-diff { - width: 100%; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-diff { - overflow-y: hidden; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-side-diff { - display: inline-block; - margin-bottom: -8px; - margin-right: -4px; - overflow-x: scroll; - overflow-y: hidden; - width: 50%; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-code-line { - padding: 0 8em; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-code-line, -.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line { - display: inline-block; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - white-space: nowrap; - width: 100%; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line { - padding: 0 4.5em; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-ctn { - word-wrap: normal; - background: none; - display: inline-block; - padding: 0; - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; - vertical-align: middle; - white-space: pre; - width: 100%; -} - -.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del, -.theme-light - .workspace-leaf-content[data-type="diff-view"] - .d2h-code-side-line - del { - background-color: #ffb6ba; -} - -.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del, -.theme-dark - .workspace-leaf-content[data-type="diff-view"] - .d2h-code-side-line - del { - background-color: #8d232881; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-code-line del, -.workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins, -.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line del, -.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line ins { - border-radius: 0.2em; - display: inline-block; - margin-top: -1px; - text-decoration: none; - vertical-align: middle; -} - -.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins, -.theme-light - .workspace-leaf-content[data-type="diff-view"] - .d2h-code-side-line - ins { - background-color: #97f295; - text-align: left; -} - -.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins, -.theme-dark - .workspace-leaf-content[data-type="diff-view"] - .d2h-code-side-line - ins { - background-color: #1d921996; - text-align: left; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix { - word-wrap: normal; - background: none; - display: inline; - padding: 0; - white-space: pre; -} - -.workspace-leaf-content[data-type="diff-view"] .line-num1 { - float: left; -} - -.workspace-leaf-content[data-type="diff-view"] .line-num1, -.workspace-leaf-content[data-type="diff-view"] .line-num2 { - -webkit-box-sizing: border-box; - box-sizing: border-box; - overflow: hidden; - padding: 0 0.5em; - text-overflow: ellipsis; - width: 3.5em; -} - -.workspace-leaf-content[data-type="diff-view"] .line-num2 { - float: right; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber { - background-color: var(--background-primary); - border: solid var(--background-modifier-border); - border-width: 0 1px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: var(--text-muted); - cursor: pointer; - display: inline-block; - position: absolute; - text-align: right; - width: 7.5em; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber:after { - content: "\200b"; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber { - background-color: var(--background-primary); - border: solid var(--background-modifier-border); - border-width: 0 1px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: var(--text-muted); - cursor: pointer; - display: inline-block; - overflow: hidden; - padding: 0 0.5em; - position: absolute; - text-align: right; - text-overflow: ellipsis; - width: 4em; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-diff-tbody tr { - position: relative; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber:after { - content: "\200b"; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-emptyplaceholder, -.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder { - background-color: var(--background-primary); - border-color: var(--background-modifier-border); -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix, -.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber, -.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber, -.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber, -.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber { - direction: rtl; -} - -.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-del { - background-color: #fee8e9; - border-color: #e9aeae; -} - -.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-ins { - background-color: #dfd; - border-color: #b4e2b4; -} - -.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-del { - background-color: #521b1d83; - border-color: #691d1d73; -} - -.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-ins { - background-color: rgba(30, 71, 30, 0.5); - border-color: #13501381; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-info { - background-color: var(--background-primary); - border-color: var(--background-modifier-border); - color: var(--text-normal); -} - -.theme-light - .workspace-leaf-content[data-type="diff-view"] - .d2h-file-diff - .d2h-del.d2h-change { - background-color: #fdf2d0; -} - -.theme-dark - .workspace-leaf-content[data-type="diff-view"] - .d2h-file-diff - .d2h-del.d2h-change { - background-color: #55492480; -} - -.theme-light - .workspace-leaf-content[data-type="diff-view"] - .d2h-file-diff - .d2h-ins.d2h-change { - background-color: #ded; -} - -.theme-dark - .workspace-leaf-content[data-type="diff-view"] - .d2h-file-diff - .d2h-ins.d2h-change { - background-color: rgba(37, 78, 37, 0.418); -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper { - margin-bottom: 10px; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper a { - color: #3572b0; - text-decoration: none; -} - -.workspace-leaf-content[data-type="diff-view"] - .d2h-file-list-wrapper - a:visited { - color: #3572b0; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-header { - text-align: left; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-title { - font-weight: 700; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-line { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - text-align: left; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-list { - display: block; - list-style: none; - margin: 0; - padding: 0; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li { - border-bottom: 1px solid var(--background-modifier-border); - margin: 0; - padding: 5px 10px; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li:last-child { - border-bottom: none; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-file-switch { - cursor: pointer; - display: none; - font-size: 10px; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-icon { - fill: currentColor; - margin-right: 10px; - vertical-align: middle; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-deleted { - color: #c33; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-added { - color: #399839; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-changed { - color: #d0b44c; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-moved { - color: #3572b0; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-tag { - background-color: var(--background-primary); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - font-size: 10px; - margin-left: 5px; - padding: 0 2px; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-deleted-tag { - border: 2px solid #c33; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-added-tag { - border: 1px solid #399839; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-changed-tag { - border: 1px solid #d0b44c; -} - -.workspace-leaf-content[data-type="diff-view"] .d2h-moved-tag { - border: 1px solid #3572b0; -} - -/* ====================== Line Authoring Information ====================== */ - -.cm-gutterElement.obs-git-blame-gutter { - /* Add background color to spacing inbetween and around the gutter for better aesthetics */ - border-width: 0px 2px 0.2px 2px; - border-style: solid; - border-color: var(--background-secondary); - background-color: var(--background-secondary); -} - -.cm-gutterElement.obs-git-blame-gutter > div, -.line-author-settings-preview { - /* delegate text color to settings */ - color: var(--obs-git-gutter-text); - font-family: monospace; - height: 100%; /* ensure, that age-based background color occupies entire parent */ - text-align: right; - padding: 0px 6px 0px 6px; - white-space: pre; /* Keep spaces and do not collapse them. */ -} - -@media (max-width: 800px) { - /* hide git blame gutter not to superpose text */ - .cm-gutterElement.obs-git-blame-gutter { - display: none; - } -} - -.git-unified-diff-view, -.git-split-diff-view .cm-deletedLine .cm-changedText { - background-color: #ee443330; -} - -.git-unified-diff-view, -.git-split-diff-view .cm-insertedLine .cm-changedText { - background-color: #22bb2230; -} diff --git a/.obsidian/plugins/update-relative-links/main.js b/.obsidian/plugins/update-relative-links/main.js deleted file mode 100644 index ed38ea5f..00000000 --- a/.obsidian/plugins/update-relative-links/main.js +++ /dev/null @@ -1,174 +0,0 @@ -/* -THIS IS A GENERATED/BUNDLED FILE BY ESBUILD -if you want to view the source, please visit the github repository of this plugin -*/ - -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// main.ts -var main_exports = {}; -__export(main_exports, { - default: () => UpdateRelativeLinksPlugin -}); -module.exports = __toCommonJS(main_exports); -var import_obsidian = require("obsidian"); - -// lib/path.ts -var SEP = "/"; -function dirname(path) { - return stackToPath(pathToStack(path).slice(0, -1)); -} -function relative(from, to) { - if (!from) { - return to; - } - const fromStack = pathToStack(from); - const toStack = pathToStack(to); - const firstDiffIdx = fromStack.findIndex((value, idx) => value != toStack[idx]); - const resultStack = []; - for (let i = firstDiffIdx; i < fromStack.length - 1; i++) { - resultStack.push(".."); - } - for (let i = firstDiffIdx; i < toStack.length; i++) { - resultStack.push(toStack[i]); - } - return stackToPath(resultStack); -} -function pathToStack(path) { - return path.split(SEP); -} -function stackToPath(stack) { - return stack.join(SEP); -} - -// main.ts -var ConfirmModal = class extends import_obsidian.Modal { - constructor(app, content, onConfirm) { - super(app); - this.content = content; - this.onConfirm = onConfirm; - } - onOpen() { - const { contentEl } = this; - contentEl.createEl("h1", { text: "Update Releate Links Plugin" }); - contentEl.createEl("p", { text: this.content }); - new import_obsidian.Setting(contentEl).addButton((btn) => btn.setButtonText("Yes").setCta().onClick(() => { - this.close(); - this.onConfirm(); - })).addButton((btn) => btn.setButtonText("No").onClick(() => { - this.close(); - })); - } - onClose() { - this.contentEl.empty(); - } -}; -var UpdateRelativeLinksPlugin = class extends import_obsidian.Plugin { - async onload() { - const { app } = this; - const { metadataCache, vault } = app; - const message = "This command will modify all links in the entire vault (not just the current file) to relative paths, and this action cannot be undone. It is recommended that you back up the vault in advance. Please confirm whether you want to execute the command."; - this.addCommand({ - id: "update-all-relative-links", - name: "Update all relative links", - callback() { - new ConfirmModal(app, message, () => { - const promises = vault.getMarkdownFiles().map((file) => replace(file, false)); - Promise.all(promises).then((linkCounts) => { - const updatedLinkCounts = linkCounts.filter((count) => count > 0); - const linkCount = updatedLinkCounts.reduce((sum, count) => sum + count, 0); - const fileCount = updatedLinkCounts.length; - new import_obsidian.Notice(`Update ${linkCount} links in ${fileCount} file${fileCount > 1 ? "s" : ""}.`); - }).catch((err) => { - new import_obsidian.Notice("Update links error, see console."); - console.error(err); - }); - }).open(); - } - }); - this.registerEvent(vault.on("rename", (file, oldPath) => { - var _a; - if (!oldPath || !file.path.toLocaleLowerCase().endsWith(".md") || ((_a = file.parent) == null ? void 0 : _a.path) === dirname(oldPath)) { - return; - } - if (file instanceof import_obsidian.TFile) { - setTimeout(() => replace(file, true), 100); - } - })); - async function replace(file, notice) { - var _a, _b; - const metadata = metadataCache.getFileCache(file); - const links = [...(_a = metadata == null ? void 0 : metadata.links) != null ? _a : [], ...(_b = metadata == null ? void 0 : metadata.embeds) != null ? _b : []]; - const replacePairs = links.map(({ link, original }) => { - var _a2; - const linkPath = link.replace(/#.*$/, ""); - if (!linkPath) { - return null; - } - const linkFile = metadataCache.getFirstLinkpathDest(linkPath, file.path); - if (!linkFile) { - return null; - } - const newLinkPath = ((_a2 = file.parent) == null ? void 0 : _a2.path) === "/" ? linkFile.path : relative(file.path, linkFile.path); - if (linkPath === newLinkPath) { - return null; - } - const newOriginal = replaceOriginal(original, linkPath, newLinkPath); - return [original, newOriginal]; - }).filter((pair) => pair); - if (!(replacePairs == null ? void 0 : replacePairs.length)) { - return 0; - } - try { - const content = await vault.read(file); - const replacedContent = replacePairs.reduce((tmpContent, pair) => { - return (pair == null ? void 0 : pair.length) === 2 ? tmpContent.replace(pair[0], pair[1]) : tmpContent; - }, content); - await vault.modify(file, replacedContent); - const msg = `Update ${replacePairs.length} links in ${file.path}.`; - console.log(msg); - if (notice) { - new import_obsidian.Notice(msg); - } - return replacePairs.length; - } catch (e) { - console.error(e); - if (notice) { - new import_obsidian.Notice("Update links error, see console."); - } - throw e; - } - } - function replaceOriginal(original, link, newLink) { - let newOriginal = replaceWithFormat(original, link, newLink, (s) => s.replace(/ /g, "%20")); - if (original === newOriginal) { - newOriginal = replaceWithFormat(original, link, newLink, encodeURI); - } - if (original === newOriginal) { - newOriginal = original.replace(/^(!?\[.*?\]).*$/, `$1(${encodeURI(newLink)})`); - } - return newOriginal; - } - function replaceWithFormat(str, from, to, format) { - return str.replace(format(from), format(to)); - } - } -}; - -/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/update-relative-links/manifest.json b/.obsidian/plugins/update-relative-links/manifest.json deleted file mode 100644 index 9b5e8250..00000000 --- a/.obsidian/plugins/update-relative-links/manifest.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "id": "update-relative-links", - "name": "Update Relative Links", - "version": "2.1.3", - "minAppVersion": "0.15.0", - "description": "Update relative links.", - "author": "val", - "authorUrl": "https://github.com/val3344/obsidian-update-relative-links", - "isDesktopOnly": false -} \ No newline at end of file diff --git a/.obsidian/themes/ITS Theme/manifest.json b/.obsidian/themes/ITS Theme/manifest.json deleted file mode 100644 index e291d23c..00000000 --- a/.obsidian/themes/ITS Theme/manifest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "ITS Theme", - "version": "1.3.31", - "minAppVersion": "0.16.0", - "author": "SlRvb", - "authorUrl": "https://github.com/SlRvb" -} \ No newline at end of file diff --git a/.obsidian/themes/ITS Theme/theme.css b/.obsidian/themes/ITS Theme/theme.css deleted file mode 100644 index 97674f29..00000000 --- a/.obsidian/themes/ITS Theme/theme.css +++ /dev/null @@ -1,14453 +0,0 @@ -@charset "UTF-8"; -/* @settings -name: ITS Theme Settings -id: ITS -settings: - - - id: info-text-SlRvb-ITS-Theme - type: info-text - title: "ITS Theme by SlRvb" - description: "ℹ [Guide / Docs](https://publish.obsidian.md/slrvb-docs/ITS+Theme/ITS+Theme) | ⚙ [Github](https://github.com/SlRvb/Obsidian--ITS-Theme) | ☕ [Support](https://ko-fi.com/slrvb)" - markdown: true - - - id: its-theme - title: ITS Theme Class - type: class-toggle - default: true - #- - # title: Class Test toggle - # id: minimalist-workspace - # type: class-toggle - - - title: Workspace - id: ITS-Workspace - type: heading - level: 1 - collapsed: true - - - title: Sizes - id: ITS-Sizes - type: class-select - allowEmpty: true - default: none - options: - - - label: Readable - value: sizing-readable - - - label: Minimized - value: sizing-mini - - - label: Large - value: sizing-large - - - title: Roundness - id: radius-s - type: variable-number-slider - default: 0 - format: px - min: 0 - max: 12 - step: 1 - - - title: Resize Scrollbars - id: scrollbar-width - type: variable-number-slider - default: 12 - format: px - min: 4 - max: 15 - step: 1 - - - title: Sizing - id: ITS-Sizing - type: heading - level: 2 - collapsed: true - - - title: Note Width - id: file-line-width - type: variable-number-slider - default: 700 - format: px - min: 400 - max: 1800 - step: 100 - #- - # title: Titlebar Sizing - # id: titlebar-height - # type: variable-number-slider - # default: 40 - # format: px - # min: 20 - # max: 50 - # step: 10 - - - title: Tab Outline Height - id: tab-outline-width - type: variable-number-slider - default: 2 - format: px - min: 0 - max: 4 - step: 1 - - - title: Status Bar Padding - id: status-bar-padding - type: variable-number-slider - default: 4 - format: px - min: 0 - max: 10 - step: 1 - - - title: Status Bar Spacing - id: status-bar-gap - type: variable-number-slider - default: 4 - format: px - min: 0 - max: 10 - step: 1 - - - title: Sidebar - id: ITS-Sizing-Sidebar - type: heading - level: 3 - collapsed: true - - - title: Sidebar Text Sizing - id: nav-item-size - type: variable-number-slider - default: 14 - format: px - min: 10 - max: 20 - step: 1 - - - title: Sidebar Tab Icon Sizing - id: sidebar-tab-icon-size - type: variable-number-slider - default: 18 - format: px - min: 10 - max: 20 - step: 1 - - - title: Sidebar Ribbon Width Sizing - id: ribbon-width - type: variable-number-slider - default: 40 - format: px - min: 30 - max: 50 - step: 5 - - - title: Sidebar Ribbon Icon Sizing - id: ribbon-icon-size - type: variable-number-slider - default: 18 - format: px - min: 10 - max: 20 - step: 1 - - - title: Sidebar Ribbon Icon Spacing - id: ribbon-icon-gap - type: variable-number-slider - default: 15 - format: px - min: 1 - max: 20 - step: 1 - - - title: Notes - id: ITS-Note-Sizing - type: heading - level: 3 - collapsed: true - - - title: Note Title Size - id: file-header-font-size - type: variable-number-slider - default: 15 - format: px - min: 10 - max: 20 - step: 1 - - - title: Note Breadcrumb Title Size - id: file-header-breadcrumb-font-size - type: variable-number-slider - default: 13.5 - format: px - min: 10 - max: 20 - step: 1 - - - title: Inline Title Size - id: inline-title-size - type: variable-number-slider - default: 34 - format: px - min: 10 - max: 50 - step: 1 - - - title: Popover - id: ITS-Sizing-Popover - type: heading - level: 3 - collapsed: true - - - title: Popover Width - id: popover-width - type: variable-number-slider - default: 450 - format: px - min: 300 - max: 1000 - step: 100 - - - title: Popover Height - id: popover-height - type: variable-number-slider - default: 400 - format: px - min: 300 - max: 1000 - step: 100 - - - title: Settings - id: ITS-Settings - type: heading - level: 3 - collapsed: true - - - title: Settings Menu Width - id: modal-width - type: variable-number-slider - default: 90 - format: vw - min: 40 - max: 100 - step: 5 - - - title: Settings Menu Height - id: modal-height - type: variable-number-slider - default: 85 - format: vh - min: 40 - max: 100 - step: 5 - - - title: Titlebar - id: ITS-Titlebar - type: heading - level: 2 - collapsed: true - - - title: Titlebar Colors - id: titlebar-colors - type: class-toggle - - - title: Titlebar Bubbles - id: titlebar-bubbles - type: class-toggle - - - title: Tabs - id: ITS-tabs - type: heading - level: 2 - collapsed: true - - - title: Tab Widths - id: tab-widths - type: class-select - allowEmpty: true - default: none - options: - - - label: Auto - value: tab-auto - - - label: Wide - value: tab-wide - - - title: Sidebar - id: ITS-Sidebar - type: heading - level: 2 - collapsed: true - - - title: Sidebar Tabs Styling - id: ITS-Sidebar-Styling - type: class-select - allowEmpty: true - default: none - options: - - - label: Wide - value: sidebar-tabs-wide - - - label: Underline - value: sidebar-tabs-underline - - - label: Overline - value: sidebar-tabs-overline - - - label: Tabular - value: sidebar-tabs-tabular - - - title: Bottom Navbar Buttons - id: navbar-bottom - type: class-toggle - - - title: Sidebar Ribbon - id: ITS-Sidebar-Ribbon - type: heading - level: 3 - - - title: Floating Sidebar Ribbon - id: ITS-Sidebar-Ribbon-Float - type: class-select - allowEmpty: true - default: none - options: - - - label: Plain - value: sidebar-ribbon-float - - - label: Minimized - value: sidebar-ribbon-mini-float - - - title: Floating Sidebar Ribbon - id: ITS-Sidebar-Ribbon-Float-Position - type: class-select - default: sidebar-float-bottom - options: - - - label: Bottom - value: sidebar-float-bottom - - - label: Center - value: sidebar-float-center - - - label: Top - value: sidebar-float-top - - - - title: File Explorer - id: ITS-File-Explorer - type: heading - level: 2 - collapsed: true - - - title: File Explorer Styling - id: file-explorer-flat - type: class-toggle - - - title: Folder Arrows - id: ITS-folder-arrows - type: class-select - default: folder-arrow-hidden - options: - - - label: Hidden - value: folder-arrow-hidden - - - label: Display - value: folder-arrow-display - - - label: Display On Hover - value: folder-arrow - - - title: Disable Bold Folder & Hover - description: Remove bold styling from folders & hovering on items - id: file-explorer-boldless - type: class-toggle - - - title: Disable Bold on Hover - description: Remove bold styling from hovering on items - id: file-explorer-boldless-hover - type: class-toggle - - - title: Folder Icon - id: folder-icon - type: variable-text - default: '"\e801"' - - - title: Folder Font Family - id: folder-f - type: variable-text - default: 'its' - - - title: File Icon - id: file-icon - type: variable-text - default: '"\e800"' - - - title: File Font Family - id: file-f - type: variable-text - default: 'its' - - - title: Vault Title - description: Desktop only - id: ITS-Vault-Title - type: heading - level: 2 - collapsed: true - - - title: Vault Font - description: Vault Title fonts. - id: vault-font - type: variable-text - default: "'Calisto MT', 'Palatino Black', 'Book Antiqua', 'Georgia', 'Suez One', serif" - - - title: Vault Title Size - id: vault-name-font-size - type: variable-number-slider - default: 20 - format: px - min: 10 - max: 25 - step: 1 - - - title: Vault Title Font Weight - id: vault-name-font-weight - type: variable-number-slider - format: px - default: 900 - min: 100 - max: 900 - step: 100 - - - title: Vault Title Color - id: vault-name-color - type: variable-themed-color - format: hex - default-dark: '#c14343' - default-light: '#c14343' - - - title: Hide Vault Title - id: vault-title-none - type: class-toggle - - - title: Add Vault Title Icon - id: vault-icon - type: class-toggle - - - title: Vault Image - id: vault-icon-image - type: variable-text - default: "url()" - - - title: Background Image - id: ITS-Background-Image - type: heading - level: 2 - collapsed: true - - - title: Background Image - description: Toggle to apply background image to vault - id: background-image - type: class-toggle - - - title: Background Image - id: background-image-url - type: variable-text - default: "url()" - - - title: Background Position Height - id: background-image-height - type: variable-number-slider - format: "%" - default: 50 - min: 0 - max: 100 - step: 1 - - - title: Background Position Width - id: background-image-width - type: variable-number-slider - format: "%" - default: 50 - min: 0 - max: 100 - step: 1 - - - title: Image Blur - id: background-image-blur - type: variable-number-slider - format: px - default: 11 - min: 0 - max: 20 - step: 1 - - - title: Note Opacity - id: background-image-opacity - type: variable-number-slider - format: "%" - default: 90 - min: 20 - max: 100 - step: 1 - - - title: Side Panel Opacity - id: background-image-sidebar-opacity - type: variable-number-slider - format: "%" - default: 90 - min: 20 - max: 100 - step: 1 - - - title: Minimalist Workspace - description: Hide UI elements unless hovered over. - id: ITS-Minimalist-Workspace - type: heading - level: 2 - collapsed: true - - - title: Minimalist Workspace - description: Hide everything listed below with just 1 toggle - id: minimalist-workspace - type: class-toggle - - - title: Hide Resize Handles - id: hide-resize-handle - type: class-toggle - - - title: Hide Scrollbars - id: hide-scrollbar - type: class-toggle - - - title: Hide Sidebar Ribbon - id: hide-sidebar-ribbon - type: class-toggle - - - title: Hide Sidebar Ribbon Icons - id: hide-sidebar-ribbon-icons - type: class-toggle - - - title: Hide Vault Name - id: hide-vault-name - type: class-toggle - - - title: Hide Search/File Explorer Nav Icons - id: hide-nav-header - type: class-toggle - - - title: Hide File Explorer Icons - id: hide-file-explorer-icons - type: class-toggle - - - title: Hide App Title Bar - id: hide-titlebar - type: class-toggle - - - title: Hide Status Bar - id: hide-status-bar - type: class-toggle - - - title: Hide Outline Plugin Heading Icons - id: hide-outline-heading - type: class-toggle - - - title: Hide Tabs - id: hide-titlebar-tab - type: class-toggle - - - title: Hide Tab Outline - id: hide-tab-outline - type: class-toggle - - - title: Hide Note Title Bar - id: hide-note-title - type: class-toggle - - - title: Hide Note Title Bar Icons - id: hide-note-title-icons - type: class-toggle - #- - # title: Hide Frontmatter - # id: hide-frontmatter - # type: class-toggle - - - title: Note - id: ITS-Note - type: heading - level: 1 - collapsed: true - - - title: Document - description: Emulation of microsoft document look. - id: writing-document - type: class-toggle - - - title: Paper Shadow - description: Vignette / paper burn option - id: paper - type: class-toggle - - - title: Writing - description: Minimalistic/distraction free layout design for notes. - id: writing - type: class-toggle - - - title: Disable Source View Styling - description: Undo sizing/style fixes to make source view look more like plain text - id: disable-source-styling - type: class-toggle - - - title: Text - id: ITS-Text - type: heading - level: 2 - collapsed: true -# - -# title: Note Text Size -# description: Adjust size for text in notes. -# id: font-text-size -# type: variable-number-slider -# default: 16 -# format: px -# min: 10 -# max: 20 -# step: 1 - - - title: Justify Text - description: Justify preview and editor text - id: justified - type: class-toggle - - - title: Font Ligatures - description: (Depends On Font) Text combines into symbols ie. - - > becomes -->. - id: lig - type: class-toggle - - - title: Paragraph Spacing - description: Adjust spacing size for "paragraphs". Search "spacing" for more fine tuned adjustments. - id: p-spacing - type: variable-number-slider - default: 1 - format: rem - min: 0 - max: 2 - step: 0.1 - - - title: Fonts - id: ITS-Fonts - type: heading - level: 3 - collapsed: true - - - title: Text Font - description: Changes text font for preview and edit mode. - id: default-font - type: variable-text - default: "Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Microsoft YaHei Light', sans-serif" - - - title: Monospace Font - id: font-monospace - type: variable-text - default: "'Fira Code Medium', 'Source Code Pro', monospace" - - - title: Comments Font - id: comment-font - type: variable-text - default: "'Fira Code Medium'" - - - title: Advanced Text Decoration - id: ITS-Text-Decoration - type: heading - level: 3 - collapsed: true - - - title: Bold Weight - id: bold-weight - type: variable-number-slider - default: 600 - min: 100 - max: 900 - step: 100 - - - title: Bold Color - id: bold-color - type: variable-themed-color - format: hex - default-dark: '#bccad8' - default-light: '#697580' - - - title: Italic Color - id: italic-color - type: variable-themed-color - format: hex - default-dark: '#bccad8' - default-light: '#697580' - - - title: Strikethrough Text Color - id: strikethrough-color - type: variable-themed-color - format: hex - default-dark: '#bccad8' - default-light: '#697580' - - - title: Strikethrough Line - id: strikethrough-line-thickness - type: variable-number-slider - default: 1 - format: px - min: 1 - max: 5 - step: 1 - - - title: Strikethrough Line Color - id: strikethrough-line-color - type: variable-themed-color - format: hex - default-dark: '#bccad8' - default-light: '#697580' - - - title: Images - id: ITS-Image - type: heading - level: 2 - collapsed: true - - - title: Live Preview Image Float - id: lp-img-float - type: class-toggle - - - title: Center Images - description: Center ALL images, excluding those with |left or |right in them. - id: img-adj-center - type: class-toggle - - - title: Clear Images - description: Push image under/over headings or horizontal lines - id: img-adj-clears - type: heading - level: 3 - collapsed: false - - - title: Image Captions with Alt Text - description: Make any alt text in image display as an image caption - id: image-caption - type: class-toggle - - - title: Horizontal Lines - description: Push image under/over any horizontal lines - id: clear-hr - type: class-toggle - - - title: Headings - description: Push image under/over all headings 1-6 - id: clear-headings - type: class-toggle - - - title: Heading Specific - description: Push image under/over some headings and not others - id: img-adj-clears-headings - type: heading - level: 4 - collapsed: true - - - title: Header 1 - id: clear-heading-1 - type: class-toggle - - - title: Header 2 - id: clear-heading-2 - type: class-toggle - - - title: Header 3 - id: clear-heading-3 - type: class-toggle - - - title: Header 4 - id: clear-heading-4 - type: class-toggle - - - title: Header 5 - id: clear-heading-5 - type: class-toggle - - - title: Header 6 - id: clear-heading-6 - type: class-toggle - - - title: Note Title - id: ITS-Note-Title - type: heading - level: 2 - collapsed: true - - - title: Note Title Styling - id: ITS-Note-Title-Styling - type: class-select - allowEmpty: true - default: none - options: - - - label: Note Title Gradient - value: file-header-gradient - - - label: Note Title Underline - value: note-title-underline - - - label: Note Title Overline - value: note-title-overline - - - title: Inline Title Styling - id: Inline-Title-Styling - type: class-select - allowEmpty: true - default: Heading - options: - - - label: Heading - value: inline-title-style-heading - - - label: Text - value: inline-title-style-text - - - title: Inline Title Specifics - id: ITS-Inline-Title - type: heading - level: 3 - collapsed: true - - - title: Inline Title Sizes - id: Inline-Title-Sizes - type: class-select - allowEmpty: true - default: none - options: - - - label: Small - value: inline-title-small - - - label: Medium - value: inline-title-medium - - - label: Large - value: inline-title-large - - - title: Inline Title Fonts - id: inline-title-font - type: variable-text - default: 'Calisto MT' - - - title: Inline Title Font Weights - id: inline-title-weight - type: variable-number-slider - default: 700 - min: 100 - max: 900 - step: 100 - - - title: Inline Title Positions - id: Inline-Title-Positions - type: class-select - allowEmpty: true - default: none - options: - - - label: Left - value: inline-title-position-left - - - label: Center - value: inline-title-position-center - - - label: Right - value: inline-title-position-right - - - title: Headers - id: ITS-Headers - type: heading - level: 2 - collapsed: true - - - title: Headings - description: Heading and Vault Title fonts. - id: font - type: variable-text - default: "'Calisto MT', 'Palatino Black', 'Book Antiqua', 'Georgia', 'Suez One', serif" - - - title: Header Font Weights - id: header-weight - type: variable-number-slider - default: 700 - min: 100 - max: 900 - step: 100 - - - title: Header Underline Height - id: header-border-line-height - type: variable-number-slider - default: 4 - format: px - min: 0 - max: 8 - step: 1 - - - title: Heading Spacing - description: Adjust header spacing - id: heading-spacing - type: variable-number-slider - default: 10 - format: px - min: 0 - max: 50 - step: 10 - - - title: Header Positions - id: ITS-Header-positions - type: class-select - allowEmpty: true - default: none - options: - - - label: Left - value: headings-left - - - label: Center - value: headings-center - - - label: Right - value: headings-right - - - title: Hide Header Underline - description: Hide ALL header underlines. - id: hide-header-underline - type: class-toggle - - - title: Heading Indicators - id: heading-indicator - type: class-toggle - - - title: Heading Styles - description: Heading styling. - id: ITS-Header-Styles - type: heading - level: 3 - collapsed: false - - - title: Center Header With Lines - description: Center ALL headings with lines on either side - id: hcl - type: class-toggle - - - title: Header Color Override - description: Header color always applied over other markdown in the header - id: heading-color-override - type: class-toggle - - - title: Illusion Theme Inspired Headings - id: illusion - type: class-toggle - - - title: Advanced Heading Options - id: ITS-Advanced-Header - type: heading - level: 3 - collapsed: true - - - title: Heading Top Spacing - description: Adjust header spacing above the header. (Will not apply in LP) - id: heading-spacing-top - type: variable-number-slider - default: 10 - format: px - min: 0 - max: 50 - step: 10 - - - title: Heading Bottom Spacing - description: Adjust header spacing below the header. (Will not apply in LP) - id: heading-spacing-bottom - type: variable-number-slider - default: 10 - format: px - min: 0 - max: 50 - step: 10 - - - title: Header Font - id: ITS-Header-Fonts - type: heading - level: 4 - collapsed: true - - - title: Heading 1 - id: h1-font - type: variable-text - default: '"Calisto MT"' - - - title: Heading 2 - id: h2-font - type: variable-text - default: '"Calisto MT"' - - - title: Heading 3 - id: h3-font - type: variable-text - default: '"Calisto MT"' - - - title: Heading 4 - id: h4-font - type: variable-text - default: '"Calisto MT"' - - - title: Heading 5 - id: h5-font - type: variable-text - default: '"Calisto MT"' - - - title: Heading 6 - id: h6-font - type: variable-text - default: '"Calisto MT"' - - - title: Header Font Size - id: ITS-Header-Font-Size - type: heading - level: 4 - collapsed: true - - - title: Heading 1 - id: h1-size - type: variable-number-slider - default: 34 - format: px - min: 12 - max: 40 - step: 2 - - - title: Heading 2 - id: h2-size - type: variable-number-slider - default: 30 - format: px - min: 12 - max: 40 - step: 2 - - - title: Heading 3 - id: h3-size - type: variable-number-slider - default: 26 - format: px - min: 12 - max: 40 - step: 2 - - - title: Heading 4 - id: h4-size - type: variable-number-slider - default: 24 - format: px - min: 12 - max: 40 - step: 2 - - - title: Heading 5 - id: h5-size - type: variable-number-slider - default: 20 - format: px - min: 12 - max: 40 - step: 2 - - - title: Heading 6 - id: h6-size - type: variable-number-slider - default: 18 - format: px - min: 12 - max: 40 - step: 2 - - - title: Header Colors - id: ITS-Header-Colors - type: heading - level: 4 - collapsed: true - - - title: Heading 1 Color - id: h1-color - type: variable-themed-color - format: hex - default-dark: '#c14343' - default-light: '#c14343' - - - title: Heading 2 Color - id: h2-color - type: variable-themed-color - format: hex - default-dark: '#c14343' - default-light: '#c14343' - - - title: Heading 3 Color - id: h3-color - type: variable-themed-color - format: hex - default-dark: '#c14343' - default-light: '#c14343' - - - title: Heading 4 Color - id: h4-color - type: variable-themed-color - format: hex - default-dark: '#c14343' - default-light: '#c14343' - - - title: Heading 5 Color - id: h5-color - type: variable-themed-color - format: hex - default-dark: '#c14343' - default-light: '#c14343' - - - title: Heading 6 Color - id: h6-color - type: variable-themed-color - format: hex - default-dark: '#c14343' - default-light: '#c14343' - - - title: Header Alignment - id: ITS-Header-Alignment - type: heading - level: 4 - collapsed: true - - - title: Heading 1 - id: h1-text-align - type: variable-select - allowEmpty: true - default: left - options: - - left - - center - - right - - - title: Heading 2 - id: h2-text-align - type: variable-select - allowEmpty: true - default: left - options: - - left - - center - - right - - - title: Heading 3 - id: h3-text-align - type: variable-select - allowEmpty: true - default: left - options: - - left - - center - - right - - - title: Heading 4 - id: h4-text-align - type: variable-select - allowEmpty: true - default: left - options: - - left - - center - - right - - - title: Heading 5 - id: h5-text-align - type: variable-select - allowEmpty: true - default: left - options: - - left - - center - - right - - - title: Heading 6 - id: h6-text-align - type: variable-select - allowEmpty: true - default: left - options: - - left - - center - - right - - - title: Illusion Headings Specifics - id: ITS-illusion-headers - type: heading - level: 4 - collapsed: true - - - title: Illusion Heading 1 - id: illusion-h1 - type: class-toggle - - - title: Illusion Heading 2 - id: illusion-h2 - type: class-toggle - - - title: Illusion Heading 3 - id: illusion-h3 - type: class-toggle - - - title: Illusion Heading 4 - id: illusion-h4 - type: class-toggle - - - title: Illusion Heading 5 - id: illusion-h5 - type: class-toggle - - - title: Illusion Heading 6 - id: illusion-h6 - type: class-toggle - - - title: Advanced Heading Underlines - description: Specific adjustments to heading underlines. - id: ITS-Advanced-Header-Underlines - type: heading - level: 3 - collapsed: true - - - title: Underline Height - description: Resize specific heading underlines heights. - id: ITS-Header-Underlines-Height-Specific - type: heading - level: 5 - collapsed: true - - - title: H1 Underline Height - id: h1-border-line-height - type: variable-number-slider - default: 4 - format: px - min: 0 - max: 6 - step: 1 - - - title: H2 Underline Height - id: h2-border-line-height - type: variable-number-slider - default: 4 - format: px - min: 0 - max: 6 - step: 1 - - - title: H3 Underline Height - id: h3-border-line-height - type: variable-number-slider - default: 4 - format: px - min: 0 - max: 6 - step: 1 - - - title: H4 Underline Height - id: h4-border-line-height - type: variable-number-slider - default: 4 - format: px - min: 0 - max: 6 - step: 1 - - - title: H5 Underline Height - id: h5-border-line-height - type: variable-number-slider - default: 4 - format: px - min: 0 - max: 6 - step: 1 - - - title: H6 Underline Height - id: h6-border-line-height - type: variable-number-slider - default: 4 - format: px - min: 0 - max: 6 - step: 1 - - - title: Underline Width - description: Resize specific heading underlines widths. - id: ITS-Header-Underlines-Width-Specific - type: heading - level: 5 - collapsed: true - - - title: H1 Underline Width - id: h1-border-line-width - type: variable-number-slider - default: 100 - format: "%" - min: 0 - max: 100 - step: 10 - - - title: H2 Underline Width - id: h2-border-line-width - type: variable-number-slider - default: 85 - format: "%" - min: 0 - max: 100 - step: 10 - - - title: H3 Underline Width - id: h3-border-line-width - type: variable-number-slider - default: 65 - format: "%" - min: 0 - max: 100 - step: 10 - - - title: H4 Underline Width - id: h4-border-line-width - type: variable-number-slider - default: 44 - format: "%" - min: 0 - max: 100 - step: 10 - - - title: H5 Underline Width - id: h5-border-line-width - type: variable-number-slider - default: 25 - format: "%" - min: 0 - max: 100 - step: 10 - - - title: H6 Underline Width - id: h6-border-line-width - type: variable-number-slider - default: 0 - format: "%" - min: 0 - max: 100 - step: 10 - - - title: Hide Underlines - description: Remove specific heading underlines. - id: ITS-Header-Underlines-Hide-Specific - type: heading - level: 5 - collapsed: true - - - title: Hide H1 Underline - id: hide-header-underline-1 - type: class-toggle - default: false - - - title: Hide H2 Underline - id: hide-header-underline-2 - type: class-toggle - default: false - - - title: Hide H3 Underline - id: hide-header-underline-3 - type: class-toggle - default: false - - - title: Hide H4 Underline - id: hide-header-underline-4 - type: class-toggle - default: false - - - title: Hide H5 Underline - id: hide-header-underline-5 - type: class-toggle - default: false - - - title: Hide H6 Underline - id: hide-header-underline-6 - type: class-toggle - default: false - - - title: Underline Colors - description: Change colors for specific heading underlines. - id: ITS-Header-Underlines-Colors-Specific - type: heading - level: 5 - collapsed: true - - - title: Heading 1 Line Color - id: h1-border-line-color - type: variable-themed-color - format: hex - default-dark: '#912e2e' - default-light: '#bb5555' - - - title: Heading 2 Line Color - id: h2-border-line-color - type: variable-themed-color - format: hex - default-dark: '#c14343' - default-light: '#c14343' - - - title: Heading 3 Line Color - id: h3-border-line-color - type: variable-themed-color - format: hex - default-dark: '#bf5e5e' - default-light: '#ce6d6d' - - - title: Heading 4 Line Color - id: h4-border-line-color - type: variable-themed-color - format: hex - default-dark: '#61afef' - default-light: '#5599d0' - - - title: Heading 5 Line Color - id: h5-border-line-color - type: variable-themed-color - format: hex - default-dark: '#2f3b4d' - default-light: '#b5c2d8' - - - title: Heading 6 Line Color - id: h6-border-line-color - type: variable-themed-color - format: hex - default-dark: '#2a2e35' - default-light: '#ccd6eb' - - - title: Links - id: ITS-Links - type: heading - level: 2 - collapsed: true - - - title: Link Style - id: link-style - type: class-select - allowEmpty: true - default: none - options: - - - label: Underline - value: link-underline - - - label: Notion Style - value: link-notion - - - label: All Caps - value: link-caps - - - title: Link Font - id: link-font - type: variable-text - default: '"Inter"' - - - title: Exernal Links Font - id: link-external-font - type: variable-text - default: '"Inter"' - - - title: Link Font Weights - id: link-weight - type: variable-number-slider - default: 500 - min: 100 - max: 900 - step: 100 - - - title: Lists - id: ITS-Lists - type: heading - level: 2 - collapsed: true - - - title: Default Bullet Disc Shape - id: list-default-bullet - type: class-toggle - - - title: Colorful Bullet Color - description: Toggle on to use colorful bullets - id: list-bullet-color - type: class-toggle - - - title: Colorful Bullet Lines - description: Toggle on to use colorful bullet lines - id: list-lines-color - type: class-toggle - - - title: Neon Lines - description: Toggle on for lines to have a neon glow effect - id: list-neon - type: class-toggle - - - title: Lists / Bullet Adjustments - id: ITS-Lists-Lines - type: heading - level: 3 - collapsed: true - - - title: Bullet Shape - description: Add quotes around your new bullet. For example "~" - id: bullet - type: variable-text - default: '⬥' - - - title: Bullet Shape Font - id: bullet-font - type: variable-text - default: '"ITS"' - - - title: List Line Thickness - id: indentation-guide-width - type: variable-number-slider - default: 2 - format: px - min: 0 - max: 3 - step: 1 - - - title: List Root Spacing - id: root-list-spacing - description: Adjust list margins (ul, ol) - type: variable-number-slider - default: 10 - format: px - min: 1 - max: 16 - step: 1 - - - title: List Spacing - description: Adjust list item spacing (li) - id: list-spacing - type: variable-number-slider - default: 1 - format: px - min: 1 - max: 16 - step: 1 - - - title: Original Bullet Lines - description: Lines appear beside bullet - id: list-bullet-side-lines - type: class-toggle - - - title: Alternate Indentation Style - id: alternate-indent - type: class-toggle - - - title: Remove Spaced List Styling - description: Remove spacing of all bullets if bullets are separated by a new line - id: disable-spaced-lists - type: class-toggle - - - title: Checkboxes - id: Checkboxes - type: heading - level: 2 - collapsed: true - - - title: Disable Alternate Checkboxes - id: alt-chkbx-off - type: class-toggle - - - title: Colorful Task Text - description: Add color to the text of the task. - id: check-color - type: class-toggle - default: true - - - title: Colorful Task Backgrounds - description: Add color to the background of the task. - id: check-bg - type: class-toggle - default: true - - - title: Normal Task Text - description: Reapply regular text color and font weight to the text of the task. - id: check-text - type: class-toggle - - - title: Restore Checkbox Strike - id: check-strike - type: class-toggle - - - title: Advanced Checkbox Strike - description: Strike for specific checkbox types. - id: Checkbox-Strike-Specific - type: heading - level: 5 - collapsed: true - - - title: "[x] Regular" - id: checkbox-strike-regular - type: class-toggle - - - title: "[X] Checked" - id: checkbox-strike-checked - type: class-toggle - - - title: "[-] Dropped" - id: checkbox-strike-dropped - type: class-toggle - - - title: "[>] Forward" - id: checkbox-strike-frwd - type: class-toggle - - - title: "[<] Migrated / Backward" - id: checkbox-strike-bkwd - type: class-toggle - - - title: "[D] Defer / Date" - id: checkbox-strike-date - type: class-toggle - - - title: "[?] Question" - id: checkbox-strike-q - type: class-toggle - - - title: "[/] Half" - id: checkbox-strike-half - type: class-toggle - - - title: "[+] Add" - id: checkbox-strike-add - type: class-toggle - - - title: "[R] Research" - id: checkbox-strike-rsrch - type: class-toggle - - - title: "[!] Important" - id: checkbox-strike-imp - type: class-toggle - - - title: "[i] Idea" - id: checkbox-strike-idea - type: class-toggle - - - title: "[B] Brainstorm" - id: checkbox-strike-brn - type: class-toggle - - - title: "[P] Pro" - id: checkbox-strike-pro - type: class-toggle - - - title: "[C] Con" - id: checkbox-strike-con - type: class-toggle - - - title: "[Q] Quote" - id: checkbox-strike-quot - type: class-toggle - - - title: "[N] Note" - id: checkbox-strike-brn - type: class-toggle - - - title: "[b] Bookmark" - id: checkbox-strike-book - type: class-toggle - - - title: "[I] Info" - id: checkbox-strike-info - type: class-toggle - - - title: "[p] Paraphrase" - id: checkbox-strike-para - type: class-toggle - - - title: Callouts - id: ITS-Callouts - type: heading - level: 2 - collapsed: true - - - title: Callout Styling - id: callout-style - type: class-select - allowEmpty: true - default: none - options: - - - label: Original Callout Styling - value: callout-original - - - label: Callout Block Styling - value: callout-block - - - label: Callout Alternate Line Styling - value: callout-alternate-line - - - label: Callout Bordered Styling - value: callout-bordered - #- - # label: Callout Outline Styling - # value: callout-outline - - - title: Disable ITS Quote Callout Styling - id: default-callout-quote - type: class-toggle - - - title: Tags - id: Tags - type: heading - level: 2 - collapsed: true - - - title: Colored Text Tags - description: Tags appear as just colored text, no background color. - id: tag-text - type: class-toggle - - - title: Tag Radius Style - id: ITS-Tag-Style - type: class-select - allowEmpty: true - default: none - options: - - - label: Bubble Tags - value: tag-bubble - - - label: Notion Tags - value: tag-notion - - - title: Outline Tags - id: tag-outline - type: class-toggle - - - title: Tag Outline Border Size - id: tag-border-width - type: variable-number-slider - default: 2 - format: px - min: 1 - max: 4 - step: 1 - - - title: Tag Font - id: tag-font - type: variable-text - default: '"Inter"' - - - title: Tables - id: ITS-Tables - type: heading - level: 2 - collapsed: true - - - title: Alternating Background Colors - id: ITS-Table-Alt-Colors - type: class-select - allowEmpty: true - default: none - options: - - - label: Original Alternating Background - value: tables-alt-original - - - label: No Alternating Backgrounds - value: tables-no-alt-background - - - label: No Alt Column Background - value: tables-no-alt-column-background - - - label: No Alt Row Background - value: tables-no-alt-row-background - - - title: Table Styling - id: ITS-Table-Styling - type: class-select - allowEmpty: true - default: none - options: - - - label: Add Table Borders - value: tables-borders - - - label: Dark and Bold First Column - value: table - - - label: Wikipedia - value: tables-style-wikipedia - - - title: Center Tables - description: Center tables to middle of page - id: tables-center - type: class-toggle - - - title: Wide Table - description: Tables widened to touch ends of the page - id: tables-wide - type: class-toggle - - - title: Unwrap Table - description: Unwrap tables in source mode - id: table-unwrap - type: class-toggle - - - title: Disable Row Hover Highlight - id: tables-no-hover - type: class-toggle - - - title: Table Header Adjustments - id: ITS-Table-Header-Adj - type: heading - level: 3 - collapsed: true - - - title: Table Header Height Padding - id: table-header-padding-y - type: variable-number-slider - format: px - default: 4 - min: 0 - max: 20 - step: 1 - - - title: Table Header Width Padding - id: table-header-padding-x - type: variable-number-slider - format: px - default: 10 - min: 0 - max: 20 - step: 1 - - - title: Table Header Font Size - id: table-header-size - type: variable-number-slider - format: px - default: 16 - min: 12 - max: 30 - step: 1 - - - title: Table Header Font Weight - id: table-header-weight - type: variable-number-slider - default: 800 - min: 100 - max: 900 - step: 100 - - - title: Table Cell Adjustments - id: ITS-Table-Cell-Adj - type: heading - level: 3 - collapsed: true - - - title: Table Cell Height Padding - id: table-cell-padding-y - type: variable-number-slider - format: px - default: 4 - min: 0 - max: 20 - step: 1 - - - title: Table Cell Width Padding - id: table-cell-padding-x - type: variable-number-slider - format: px - default: 10 - min: 0 - max: 20 - step: 1 - - - title: Table Cell Font Size - id: table-text-size - type: variable-number-slider - format: px - default: 16 - min: 12 - max: 30 - step: 1 - #- - # title: Table Cell Font Weight - # id: table-text-weight - # type: variable-number-slider - # default: 500 - # min: 100 - # max: 900 - # step: 100 - - - title: Horizontal Line - id: ITS-HR-Line - type: heading - level: 2 - collapsed: true - - - title: Horizontal Line Centered Vertically - id: hr-center-vertically - type: class-toggle - - - title: Horizontal Line Height - id: hr-thickness - type: variable-number-slider - default: 2 - format: px - min: 0 - max: 5 - step: 1 - - - title: Horizontal Line Width - id: hr-width - type: variable-number-slider - default: 100 - format: "%" - min: 0 - max: 100 - step: 10 - - - title: No Horizontal Line Symbol - description: Hide the horizontal Line Symbol entirely - id: hr-no-icon - type: class-toggle - - - title: Horizontal Line Symbol - id: ITS-HR-Line-Symbol - type: heading - level: 3 - collapsed: true - - - title: Horizontal Line Symbol - description: Add quotations around symbol ("⚡"). Use the codepoint for symbols from supported font icons ("\e800"). - id: hr-icon-symbol - type: variable-text - default: '"⚡"' - - - title: Horizontal Line Symbol Fonts - description: Font Icons. Default font aligns emojis. - id: hr-icon-font - type: variable-select - default: its - options: - - its - - Material Icons Sharp - - remixicon - - fa5 - - default-font - - - title: Horizontal Line Symbol Padding - id: hr-icon-padding-x - type: variable-number-slider - default: 4 - format: px - min: 0 - max: 10 - step: 1 - - - title: Embeds - id: ITS-Embeds - type: heading - level: 2 - collapsed: true - - - title: Clean Embeds - description: Embeds that look like they're part of the note. - id: embed-clean - type: class-toggle - - - title: Dark Background Embeds - id: embed-dark-background - type: class-toggle - - - title: Embed Heading Minified - description: Shrink embed headers - id: embed-mini-headers - type: class-toggle - - - title: Canvas - id: ITS-Canvas - type: heading - level: 2 - collapsed: true - - - title: Canvas Cards Styling - id: canvas-cards - type: class-toggle - - - title: Milanote Styling - id: canvas-milanote - type: class-toggle - - - title: Canvas Arrow Coloful Text - id: canvas-arrow-text-color - description: Make text on canvas arrows match the color of the arrows - type: class-toggle - - - title: Canvas Card Background Color Brightness - id: canvas-color-opacity - type: variable-number-slider - default: 0.07 - format: '' - min: 0.04 - max: 0.18 - step: .02 - - - title: Properties / Metadata - id: ITS-Metadata - type: heading - level: 2 - collapsed: true - - - title: Metadata Key Font Size - id: metadata-label-font-size - type: variable-number-slider - default: .9 - format: em - min: .4 - max: 1.5 - step: .1 - - - title: Metadata Value Font Size - id: metadata-input-font-size - type: variable-number-slider - default: .9 - format: em - min: .4 - max: 1.5 - step: .1 - - - title: Metadata Key Width - id: metadata-label-width - type: variable-number-slider - default: 9 - format: em - min: 8 - max: 15 - step: 1 - - - title: Metadata Colorful Label Styling - id: select - type: class-select - allowEmpty: true - default: none - options: - - - label: Text Color - value: metadata-label-text-color - - - label: Label Background - value: metadata-label-background - - - title: Metadata Value Background - id: metadata-value-background - type: class-toggle - - - title: Metadata Title Positions - id: metadata-title-align - type: variable-select - allowEmpty: true - default: center - options: - - left - - center - - right - - - title: Metadata Title No Icon - id: metadata-title-no-icon - type: class-toggle - - - title: Colors - id: ITS-Colors - type: heading - level: 1 - collapsed: true - - - title: Text - id: ITS-Colors-Text - type: heading - level: 2 - collapsed: true - - - title: Text - id: text - type: variable-themed-color - format: hex - default-dark: '#bccad8' - default-light: '#697580' - - - title: Soft Text - id: soft-text - type: variable-themed-color - format: hex - default-dark: '#aab3ca' - default-light: '#d04e4e' - - - title: Faint Text - id: text-faint - type: variable-themed-color - format: hex - default-dark: '#4e5b6f' - default-light: '#4e5b6f' - - - title: File Explorer Titles - description: File/Folder text color. - id: nav-item-color - type: variable-themed-color - format: hex - default-dark: '#aab3ca' - default-light: '#7e8ea3' - - - title: "`` Text" - description: "Html `` text color." - id: i-at - type: variable-themed-color - format: hex - default-dark: '#bf5e5e' - default-light: '#c14343' - - - title: "Math Text Color" - description: "Mathjax/Latex color change" - id: latex-color - type: variable-themed-color - format: hex - default-dark: '#e06c75' - default-light: '#a35158' - - - title: Workspace - description: Recolor some UI colors - id: Workspace-Colors - type: heading - level: 2 - collapsed: true - - - title: Note - description: Note and sidebar colors. - id: note - type: variable-themed-color - format: hex - default-dark: '#1a1e24' - default-light: '#f8fbff' - - - title: Outer Sidebar - id: outer-bar - type: variable-themed-color - format: hex - default-dark: '#0e0f15' - default-light: '#dfe7ef' - - - title: Sidebar - description: Change only sidebar, right settings pane colors. - id: side-bar - type: variable-themed-color - format: hex - default-dark: '#1a1e24' - default-light: '#f8fbff' - - - title: Dark Sidebar - description: Left settings bar, background, graph background, and pane separator colors. - id: dark-sidebar - type: variable-themed-color - format: hex - default-dark: '#10161d' - default-light: '#7e8ea3' - - - title: UI Elements - id: Workspace-Colors-Elements - type: heading - level: 3 - - - title: Button - id: bttn - type: variable-themed-color - format: hex - default-dark: '#7c2929' - default-light: '#c24747' - - - title: Sidebar Active Icon Color - id: sidebar-icon-color-active - type: variable-themed-color - format: hex - default-dark: '#e5ebee' - default-light: '#e5ebee' - - - title: Sidebar Hover Background Color - id: nav-item-background-hover - type: variable-themed-color - format: hex - default-dark: '#7c2929' - default-light: '#c24747' - - - title: File Icon - description: File icon color. - id: file-icon-color - type: variable-themed-color - format: hex - default-dark: '#586477' - default-light: '#a6bbde' - - - title: Folder Icon - description: Folder icon color. - id: folder - type: variable-themed-color - format: hex - default-dark: '#883737' - default-light: '#c14343' - - - title: Folder Icon Open - description: Open folder icon color. - id: folder-open - type: variable-themed-color - format: hex - default-dark: '#e05858' - default-light: '#ce6d6d' - - - title: Scrollbar FG Color - description: Scrollbar thumb/foreground color - id: scrollbar-thumb-bg - type: variable-themed-color - format: hex - opacity: true - default-dark: '#863737' - default-light: 'rgba(134, 173, 218, 0.157)' - - - title: Tab Stack Shadow - id: tab-stacked-shadow-color - type: variable-themed-color - format: rgba - opacity: true - default-dark: '#001c4a15' - default-light: '#001c4a15' - - - title: Popover Background Color - id: popover-background - type: variable-themed-color - format: rgb - default-dark: '#1a1e24' - default-light: '#f8fbff' - - - title: Note Elements - id: Note-Element-Colors - type: heading - level: 2 - collapsed: true - - - title: Headers / Headings - id: ITS-Colors-Headings - type: heading - level: 3 - - - title: Headings - description: Heading (Vault, etc) Color - id: headers - type: variable-themed-color - format: hex - default-dark: '#c14343' - default-light: '#d04e4e' - - - title: Tags - id: ITS-Colors-Tags - type: heading - level: 3 - - - title: Tag Background - id: tag - type: variable-themed-color - format: hex - default-dark: '#571a1a' - default-light: '#c65656' - - - title: Tag Text Color - id: tag-color - type: variable-themed-color - format: hex - default-dark: '#e5ebee' - default-light: '#e5ebee' - - - title: Lists - id: ITS-Colors-Lists - type: heading - level: 3 - - - title: Bullet Color - id: list-marker-color - type: variable-themed-color - format: hex - default-dark: '#883737' - default-light: '#c14343' - - - title: Number Color - id: list-numbered-color - type: variable-themed-color - format: hex - default-dark: '#883737' - default-light: '#c14343' - - - title: List Line Color - id: indentation-guide-color - type: variable-themed-color - format: hex - default-dark: '#283846' - default-light: '#ccd6eb' - - - title: Blockquote - id: ITS-Colors-Blockquotes - type: heading - level: 3 - - - title: Embed/Blockquote - description: Embed/Blockquote color. - id: embed-bg - type: variable-themed-color - format: hex - default-dark: '#10161d' - default-light: '#f1f5ff' - - - title: Blockquote Border - description: Blockquote Border color. - id: blockquote-border-color - type: variable-themed-color - format: hex - default-dark: '#252c36' - default-light: '#dde4ef' - - - title: Code - id: ITS-Colors-Code - type: heading - level: 3 - - - title: Code Background - id: code-bg - type: variable-themed-color - format: hex - default-dark: '#232831' - default-light: '#eef6ff' - - - title: Code Text - id: code-text - type: variable-themed-color - format: hex - default-dark: '#fa4545' - default-light: '#ea4262' - - - title: Horizontal Line - id: ITS-Colors-HR - type: heading - level: 3 - - - title: HR Border Line - id: hr - type: variable-themed-color - format: hex - default-dark: '#3c5274' - default-light: '#d6deea' - - - title: HR Icon - id: hr-icon-color - type: variable-themed-color - format: hex - default-dark: '#883737' - default-light: '#c14343' - - - title: Progress Bar - id: ITS-Colors-Progress-Bar - type: heading - level: 3 - - - title: Progress Bar Value Color - description: HTML value color - id: progress - type: variable-themed-color - format: hex - default-dark: '#863737' - default-light: '#912e2e' - - - title: Progress Bar Background Color - description: HTML value color - id: progress - type: variable-themed-color - format: hex - default-dark: '#252c36' - default-light: '#e1e9f6' - - - title: Tables - id: ITS-Colors-Tables - type: heading - level: 3 - - - title: Table Header BG Color - id: th - type: variable-themed-color - format: hex - default-dark: '#652121' - default-light: '#c14343' - - - title: Table Header Text Color - id: th-text - type: variable-themed-color - format: hex - default-dark: '#e5ebee' - default-light: '#e5ebee' - - - title: Table Header Text Edit Color - id: table-header-text-color - type: variable-themed-color - format: hex - default-dark: '#e06c75' - default-light: '#a35158' - - - title: Table Alt Row Colors - description: Alternating row/column color for table. - id: td - type: variable-themed-color - format: rgb - opacity: true - default-dark: '#06080c60' - default-light: '#d0ddef62' - - - title: Table Border Line Colors - id: table-border-color - type: variable-themed-color - format: hex - default-dark: '#3c5274' - default-light: '#d6deea' - - - title: Other Elements - id: ITS-Colors-Others - type: heading - level: 3 - - - title: Comments - id: code-comment - type: variable-themed-color - format: hex - default-dark: '#4e5b6f' - default-light: '#4e5b6f' - - - title: Footnotes - id: footnote - type: variable-themed-color - format: hex - default-dark: '#6e7e89' - default-light: '#8996a0' - - - title: Aside Background Color - id: aside-bg - description: Aside background color and dark theme setting alternating setting item color. - type: variable-themed-color - format: hex - default-dark: '#11151d' - default-light: '#f1f5ff' - - - title: Other - id: Other-Colors - type: heading - level: 2 - collapsed: true - - - title: Accent - id: accent - type: variable-themed-color - format: hex - default-dark: '#883737' - default-light: '#c14343' - - - title: Lite Accent - id: lite-accent - type: variable-themed-color - format: hex - default-dark: '#e06c75' - default-light: '#a35158' - - - title: Accent 2 - id: accent2 - type: variable-themed-color - format: hex - default-dark: '#3c5274' - default-light: '#d6deea' - - - title: Lite Accent 2 - description: Link color. - id: accent2-lite - type: variable-themed-color - format: hex - default-dark: '#61afef' - default-light: '#5599d0' - - - title: Dark Accent - id: dark-accent - type: variable-themed-color - format: hex - default-dark: '#652121' - default-light: '#c35c5c' - - - title: Deep Dark Accent - id: deep-dark-accent - type: variable-themed-color - format: hex - default-dark: '#3f1010' - default-light: '#2f1010' - - - title: Inactive - description: Inactive note; file text; unresolved and external link, editor and external link hover; and mermaid text color. - id: inactive - type: variable-themed-color - format: hex - default-dark: '#586477' - default-light: '#a6bbde' - - - title: Background - description: Scrollbar background color - id: bg - type: variable-themed-color - format: hex - default-dark: '#252c36' - default-light: '#dde4ef' - - - title: Lines - description: Explorer, heading, input box, settings, frontmatter, and mermaidjs lines - id: lines - type: variable-themed-color - format: hex - default-dark: '#283846' - default-light: '#ccd6eb' - - - title: Outline - id: outline - type: variable-themed-color - format: hex - default-dark: '#cfd7dd' - default-light: '#912e2e' - - - title: Foreground - description: Active file selected title color, Graph Node Color, Kanban Plugin Button color. - id: fg - type: variable-themed-color - format: hex - default-dark: '#cfd7dd' - default-light: '#912e2e' - - - title: Rainbows - id: ITS-Rainbows - type: heading - level: 2 - collapsed: true - - - title: Theme Rainbows - description: Illusion Header BG, Style Settings Colors, List Lines - id: ITS-Rainbows-Theme - type: heading - level: 3 - collapsed: true - - - title: Theme Rainbow 1 - id: theme-rainbow-1 - type: variable-themed-color - format: hex - default-dark: '#7c2929' - default-light: '#bb5555' - - - title: Theme Rainbow 2 - id: theme-rainbow-2 - type: variable-themed-color - format: hex - default-dark: '#652121' - default-light: '#a53f3f' - - - title: Theme Rainbow 3 - id: theme-rainbow-3 - type: variable-themed-color - format: hex - default-dark: '#471d1d' - default-light: '#862c2c' - - - title: Theme Rainbow 4 - id: theme-rainbow-4 - type: variable-themed-color - format: hex - default-dark: '#381919' - default-light: '#662828' - - - title: Theme Rainbow 5 - id: theme-rainbow-5 - type: variable-themed-color - format: hex - default-dark: '#424c61' - default-light: '#697795' - - - title: Theme Rainbow 6 - id: theme-rainbow-6 - type: variable-themed-color - format: hex - default-dark: '#2e333d' - default-light: '#a4aec2' - - - title: Rainbow - id: ITS-Rainbows-Rainbow - type: heading - level: 3 - - - title: Rainbow 1 - id: theme-rainbow-1 - type: variable-themed-color - format: hex - default-dark: '#b03a3a' - default-light: '#dd3c3c' - - - title: Rainbow 2 - id: theme-rainbow-2 - type: variable-themed-color - format: hex - default-dark: '#d59929' - default-light: '#f1ab27' - - - title: Rainbow 3 - id: theme-rainbow-3 - type: variable-themed-color - format: hex - default-dark: '#207a20' - default-light: '#118811' - - - title: Rainbow 4 - id: theme-rainbow-4 - type: variable-themed-color - format: hex - default-dark: '#3232c5' - default-light: '#3333cc' - - - title: Rainbow 5 - id: theme-rainbow-5 - type: variable-themed-color - format: hex - default-dark: '#7f307f' - default-light: '#a824a8' - - - title: Rainbow 6 - id: theme-rainbow-6 - type: variable-themed-color - format: hex - default-dark: '#dd4794' - default-light: '#e83b94' - - - title: Highlights - id: RGBA - type: heading - level: 2 - collapsed: true - - - title: Text Highlight - description: Markdown mark highlight color. - id: text-highlight-bg - type: variable-themed-color - format: rgb - opacity: true - default-dark: '#7a141466' - default-light: 'rgba(229, 149, 149, 0.37)' - - - title: Text Selection - description: Cursor selection highlight color. - id: highlight - type: variable-themed-color - format: rgb - opacity: true - default-dark: '#7a141466' - default-light: 'rgba(229, 149, 149, 0.37)' - - - title: Search Highlight - id: text-highlight-bg-active - type: variable-themed-color - format: rgb - opacity: true - default-dark: '#fd737340' - default-light: '#fd737340' - - - title: Hover Color - id: hvr - type: variable-themed-color - format: rgb - opacity: true - default-dark: 'rgba(168, 60, 60, 0.4)' - default-light: 'rgba(255, 0, 0, 0.212)' - - - title: Hover Active color - id: hvr-active - type: variable-themed-color - format: rgb - opacity: true - default-dark: 'rgba(212, 47, 47, 0.4)' - default-light: 'rgba(253, 115, 115, 0.4)' - #- - # title: Search 2 - # description: Search match highlight and background transparent color for settings. - # id: background-modifier-form-field-highlighted - # type: variable-themed-color - # format: rgb - # opacity: true - # default-dark: '#347bed22' - # default-light: '#f0838322' - #- - # title: Text Selection - # description: Cursor dragged highlights - # id: text-selection - # type: variable-themed-color - # format: rgb - # opacity: true - # default-dark: '#4d171746' - # default-light: '#e5959537' - - - title: Graph Colors - id: Graph - type: heading - level: 2 - collapsed: true - - - title: Graph Background - id: graph-bg - type: variable-themed-color - format: hex - default-dark: '#0b0f13' - default-light: '#eef3fd' - - - title: Graph Lines - id: graph-lines - type: variable-themed-color - format: hex - default-dark: '#571a1a' - default-light: '#e4e7f8' - - - title: Graph Node - id: graph-node - type: variable-themed-color - format: hex - default-dark: '#cfd7dd' - default-light: '#c14343' - - - title: Graph Current Node - id: graph-focused - type: variable-themed-color - format: hex - opacity: true - default-dark: '#fd737366' - default-light: '#fd737366' - - - title: Graph Attachment - id: graph-img - type: variable-themed-color - format: hex - default-dark: '#4c78cc' - default-light: '#4c78cc' - - - title: Graph Tags - id: graph-tag - type: variable-themed-color - format: hex - default-dark: '#c14343' - default-light: '#000000' - - - title: Plugins - id: ITS-Plugins - type: heading - level: 1 - collapsed: true - - - title: Disable ITS Styled Statblocks - id: default-statblock - type: class-toggle - - - title: Breadcrumbs Box Style - id: breadcrumbs-block - type: class-toggle - - - title: Dataview - id: ITS-Plugins-Dataview - type: heading - level: 2 - collapsed: true - - - title: Dataview Regular Styled Tables - id: dataview-regular-table - type: class-toggle - - - title: Auto Sized Dataview Tables - id: dataview-table-auto - type: class-toggle - - - title: Kanban Adjustments - id: ITS-Plugins-Kanban - type: heading - level: 2 - collapsed: true - - - title: Boxed Style - id: kanban-boxed - type: class-toggle - - - title: Minimal Style - id: kanban-minimal - type: class-toggle - - - title: Kanban Center Titles - id: kanban-title-center - type: class-toggle - - - title: Alternate Color Schemes - id: ITS-Alt-Color-Scheme - type: heading - level: 1 - collapsed: true - - - title: Accent Color - description: Use the Obsidian accent color picker in the Appearance tab as theme color - id: accent-color - type: class-toggle - - - title: SlRvb Blue - id: slrvb-b - type: class-toggle - - - title: SlRvb Gray - id: slrvb-g - type: class-toggle - - - title: School Days - id: s-d - type: class-toggle - - - title: TTRPG - id: select - type: class-select - allowEmpty: true - default: none - options: - - - label: SlRvb D&D - value: dnd - - - label: WOTC/Beyond - value: wotc-beyond - - - label: Pathfinder - value: pathfinder - - - label: Pathfinder Remaster - value: pathfinder-remaster - - - title: Tangerine Dunes - id: t-d - type: class-toggle - - - title: Drowned - id: drwn - type: class-toggle - - - title: Nord - id: nord - type: class-toggle - - - title: Minimalist - id: mini - type: class-toggle - - - title: Notion - id: notion - type: class-toggle -# - -# title: Nebula -# id: nebula -# type: class-toggle -# - -# title: Adventure -# id: advt -# type: class-toggle - - - title: ITS Dark - id: its-d - type: class-toggle -*/ -/*Fonts*/ -@font-face { - font-family: "Fira Code"; - src: url("data:font/woff2;charset=utf-8;base64,d09GMgABAAAAAXwQABIAAAAE1SAAAXukAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGoF2G/4cHIOubAZgAJs2CIEoCZwVEQgKjJckitQ1C7oMAAE2AiQDuWIEIAWWWAeBmjcMgVZbalW0Bv5Jxr3/r2mrjRUmrkuAziEmz0CsgFWcn0kK1By7H5B+OrKWrjE6GQOKMDT/7TfE26eI6LzNgKTz7uLZ////////////39Pyn7DN3v8T+v7MJCGBcC0BqSIKImqriMfVrrXVru0eXXdBlYR5WAjSoqWEF5khb1ooaAjBe5QUJgrQYKYEh1ZoV51uT/STH7j/NhygFiMrR2XZGyNTiwS3dKqToL7f3pn6XYo08Rmd95Br+zZf+IOxiA03KrBsSvNV5SuKkFBfUJ145wkOMZV7q53Zzs6sd1SW2XGWiRg1giqpkirVE3Eomvjgi4/+tCliw63OusUIJXzguosa5zHG6MWGIQS/EAwh+CAYhrXiferdLi6vOqJCHou8DH300jRN0RWhUEmVVEnX99eMWKN1doPKomDKc+Kmv1/kWYoRbg0kfEl4eEREwweixB0CUnCCk3tt8zCN09V0NM2yKvuUi9im1v6sslK5Vqn+jrLjWDnRP6ob1cOS+YJz5Q75ch9LkTbc/GmGMacw9as3ldRuA0x5Kk2bXUbhtdliudcRc+Ubtp/rSTaf5g1Y1XIoXrxR9v2TSjpndO+qJy9NxBccX3zvL/GHCK/IFbs1rU3d6HyqhR9tNey+G0a7iY4TOxgMBoqB2zKGn6eZyT/xgJbcgv9r/2+XC2WhrMVKdpYoD+oaownaizsn30AtNZwvOu2yFFnDrWTnWtTzwxf8I4/wE1bKbWEfVxhL730sB5NJJ6bi8leMMYrHp07eTsN8DwdyCIKKCUpKUuzAw+v3yUwfxL/yVVLL1w6llia9cXhwecWzHPsE7hP69CbepElK4pCO9zK7EkRGdWqOI3GzlOZ+TP2wAeIXyl8t085KS+Qugx8HPXf9b3V2TJg0UMRr84KgRmJoMIIG02rCU3BfBPOxFkVTvImAbNHT8vB/PBAWwFIEi4QPws8Z/A/REnb67LLAqCLOUCsXdPAXpxpBzVyaKPRBij76+I5Xeazfw2sEHYsEth1actNEd+9qeHf5tcRR4pVOhy1cD6Vfl5tQ9go0nb9RJZO/z3PtcwPX+lglpw1nQX1UjaFBXgMKjFsPIIY0h2x2h5xyyS2PvLJ8fkvCv/S/LM+VVKo2ZOIeXmCALyYKzW7sfu+IdGv27nKXCgktECAEhFASQwilhVBt0CMkAREUIg+h1A/053ksDbQjNuRfHn0UsJa31v9uwVaxdAIDMDenRKqERA8YNUYMWLANFs3Gohk12EbFGNGjSwVEWkIMEAUDDMQqrJtx9ffXvvoBWueLvcrxak7VeJHP6MlaYU5UvniefjkVNZnTb7Z5mzGzsHRo899mpJEWUAvs9ZIBYz/0w78BhjI5oBqrn6654zbwD4zL0/tHz6i7NCkyxEWhzml5FXQoDG0LEfT/v1T9b+99wr23CiBFKpNQiE+UnOSfJMtJnQHXWjR/wkInCFL7lcqjn4dvoQPVYdqjiYfvvnfa99UCQ1W3ZMXLD+iT8XcJutWy5cRJzPHMTdiS6kHy3t/kzN8iXiI0LFDuAoB5/v+v133u3JcPcMCj8QSsVB0vUOlLWLKuWrWG8wZCXP1vJmlTcKDcqcyXKIEWKI9S576rDUQsV1WzpoSYIyPMmr/vfsmhzpTMlQyBZe20P2DCD4BXONmdrLg4zZ22B2ap/3t51JJtyfetP2bGZGPxBKW05xXAMNb55vr8twV5b7IQwIHAhCc8CX+i7RUALJBwrTpdx6pCAgtboaqrafj7/fvOaGYDvZX1Mn6k4IDn0cibWIvFUBIh0gpeEg36mtq5YB5povV/6N6ffpDAY9lAxW2whErHvPnWmLUpGw6NdgtTIfV498K+skuJORNIQrgjBnqAQEB/ARggzI0xXojMkKImi0UY4raAssItTyXbBgQAAQMAVWVFOw7cgNVwWJ1qed494kNVKRqDQUFBQbv9e0FBQaGgsqbMvk3rfUKwxggECP90dSZtfp/jPL0knnWDWziKpiiKotzg3KMoiqJpiqbd4MBsII6iKIqi6AIIgNb5wqkVpsZJrDMeUSgUCpVKpVKp1POdP/A/rO3xJq6xZmFhzcKathucWxRFUTRN0zTtATf/SimllBICiBtLluj3VgQR9MAEdebNA25WKaWUUkZzi8f/JeLFhy3Fmmb0muI2xApnthNozX0QQTnLSpxvf7OBcMDRP48ePRqNRqPRaDSKoigKuPPc4FyjKIqmaJqmaQ+4+VNKKaUUnwdPy5Qp7/+O7svUA+XO7nCAe+rLQZ0z2abvL35cDOZcj0GglqWWeqrLzHT4tv33xyhaBMQglGqjkYN5u6fiR69yta/tTN+HMrhIu+aWgIyi0d3rZpMkyUMcwA1Y46IesgsAubQ2pBSx0D6Bx0jJL1gSvYhY+oQMCWVb3w4p8SZ1pjT1zr7rJHgiJdwJkCynI9D4e9Fek9X0SM4DQyGS2/E7LO1eCMgtM3+VokVmvfSmBxI/XyL/m9P/ZNkBcnQlWQYUGgNNyn/Ag7Sc5Sxnv+zpaz8Bsq3tUGuURE3irwrczCgAy/SJX/r6zqp1j/9oU1MaJiAV3vfv5CRXoMCVZAqCflGKLx5mD7O26enC11LNjabWklzpb48+/yv1z6yltcQYgQ5QyjJd/0wj4zOb3k09ly+e0rRNJfAJnMEU52yAenOrfj/VPgnGYK8MO8yGiJnB+jlUkr4uhGzMu6INsejK8/2pPX3ha4FAgMzgxGBPeCluDqffotui/yH8eeDdj9/u5m/7JohZ18yhBEImNUKmErMmwMLNkmeHsnJm7ffmfgkUUWbS3IesUd0CwcPxrZF1Cu9f5xLw37K5DBs++1b7QSbWgcdeVcySmkXuoognAQC1HY5KSxxmfnhKZy8PIQkQacXl+OUYinpnrnVpv9dW9iWVqkTdPKjB3W0TcGbr+ZLw4oC1V/cS5PQsWRe7wPkp49Rh7prYXALoUZh2lzq2M0zZUmreAUs2VffOJDk7EDgOEOqkEu8D8BbgEdveU75gF2EHrO4HrZZTtFwImbUa2YvlVV2HRCqcxFYXyRO/vAXSzK4uF/91HKg0+V9rGsQN0d4FQTEWWNVm/CpbsHlClVTGrxF1/aq6rgS248B62yAgyOqSRIsCwv6+dNb1/wZsaaKEJ/RmvJEJ+XCZYUPKt3S4vG5J6HdLwi0J2VILvI08HgsxoSVNaMAJmACCoXAsEyfE1AIHIY+rBEwAJuFJOWwK+RjyeW+nndkQwvGyxz3eU77uaf3PZSWVRpfD3J0zQAZwNjJHQE3Ibku9r2zNzIUQAXFE/fUlbXdvz4WUkGGI0GWUADMh5rR3j9oZQGSKjZjLFNg+Z33iX13KSVAQ05feM16Gd7aq9/IuynECEhhAIvfTZCzZA3LchIagAMiC4vftVZ/umzuryLvPNaVUmMMnbKAY7ZPj3ZcmOaXCivJbldk4SOcjEwY/VDaZBXNOIBHqhcbJHZJJvg5flCflcxZb/M9lJV3N09+5STWr0qXgnIpLbWexO+pE4FZLM6oZja4dei/1tVNEd4uc8uw69dkZsJQyM2FHkBE3IYEglxk0NEYuM2Luv7dSK/f/SoAogNxpoNUHpO6eoTQX55b2tDYC4KG5L2tjHSfrvf/zZ/6fmQVkVhWArAJIVoEHqgiKqAIpCUWx8yhAWQWQA5LqHYrSzFLsnuOW1JoNde9FATqmSWkOsm/1noc3htPde9/eWGbPWHtZ1lr+Gq67jrH+17SMtjTaxNZsbGSWkAHc8Ot9Q+jpVqsnOsysk5zldQwoz3Rre5O8ckgwUROQEvNdhoeQ69AdoAfh8fzrPeo99l4ykfEApJl16aDpPihM3Cdq43n6vTm75Z70m/5dIpTKrmJeqM9RmmMiFEatwyJxCt9vOin6qkhZydceP8aWla07vLp/iiBcjQT/v2mv9F1p7vnado7l1neR7ZTOc4JDwMcBSFppVp6VZqvGdSfdRXZKr9QnhASwUjpsCAajQNUO7EHhpUnt5oA81NAWO1FILNX83mXKfVYqjBkJc6FM/+/o+bRapbTCSmMzo0veljQadoFhATzWu29qXjJc1wKtbZVeK/ImG9zUofKFamsM9ob/z9Vr9B37q0ovC+TZmRlPrHR1KdZtl5xWlm1mABwAf9bnbcFkABrC2HEwTOwPA/BGEpjFQ3DvgDPMOLK/X23gAAPprkkJBxj4sjgADTDRQg3+p2j68S+4Y7nRiS4akem3ffXvOyWZzjLztuYigzSNiBExhVSkMCK+SWfZf8NDZ1HvJYfz2sP4Rqw5jDVaixIRrcUq32/D9/scXVqA9v3dXyklDIPMG0TEJxKC9EkoRULu7h5jE/49OEBUJowpOgPa1z9zkG39O/L8ylVJCCzZmo3yVf/DnGUdWsoRd8FmxSTJghGMwPfruz/+Zv8tLR2x3mey8yhNwFssQIzoIXd+V4ax6dk7fDlFRHraS9bWhGM/rT9cze71nqZiqj22JJQBZ+Dd55v6Of9/QFaTY0xyX4s5PVK6UpYqrezCFvl6l01tFjzxDDYkHRcQiCaJ1gwuKf11z9xuHBA3hoY/2aMsAV3e/Xan2/bxWeTQdax3Dlr5jeF2CkAY/A+nUCKQtEoFV5EfA/mxFuB+PEAS5FP919OiVxVveD4KfTr4ZfTrj0lkcFv/n9SujGdZgkcoQFOhd/XfYW5ueWl1Y+PY3pnDSyc/evjnnzN8qyMUPSqDYmVlUxLSKh3jkWHy4FVWI0EQAH8Jeg9xzAPkiivHp4J4h9qKIvDbpWJWIUTtObOqBJIPLyjJh87X2ltf6EXgatu0FX2IGgFzuZXjREQslzHhnrpCZCql1q8RmaFfKylev258nH79pATLhmHHhurTylGAx370JTDba49hB4FlxU/vSwD4qPfDxRZL80BOkClsDbIzhWqmcXH72S+FTFli5iX3//biEZDL7BWYx8BGxgHHnHbRdX+77YFnhvnISEBFiqS0Hef/up/3O87rfj7f9/e/ur65/fnFu7v7h8fjvO7n/f7ni3oqPX3lEgWpTFGuJIiSrKjUGq1OL4iSrFCq1BqtThAl2XOA7DDg+r8nmKoDRnZqQ6Upzz7eXCzQ9E/o/CpfmZnq0eAfqYflD6Feqzckn3LMjyPlqITVhb68CIMRqg+N93Os+iVbs5uvelTlSd1lT0AxJ6jTBLfWcEcxx2bNMT3aI882vDfbJe5y48XVWRAuprTzGAYzFKMJxKJNUOi/JVjkRSJ4FEQKtDg9cFDxrDXxKpeaSMqDJtI0/wEwHgxcWiUC2l2p8AbPT9cSKxBqEDoQWSD0IAwgykAYQTSAaIGYB9EGsQKiE6ILogdwC+AuiH2AxwDPQL2rf9PxTbWDacpb13KaK2ubQz0WtxMNEnLZ6V/lrf/vZsMt4N8PEiHL4QLII0woAxBhwrCU41FoDJbzUNDh8AQigAgTynhikiEJIySRDqMSpc6CwFFYApnGZOPkHkNi8CQqQ2CHrbOXeCpbKNeafXHBLBbjZ5iW7bieb5iW7XLcHq/Pb5hWm93hdLk9hmnZx6/r+Tb3gxKIrscrpK+0sU5IpY3jWs9XqTVazxZ2M6MbvcEopNLGOh/kscDSAefn79ziYLU52p0M07Idl9vj9fkN07LPcU6X2+P1GefPsh3X8/0EikRCXhBGcZJmeRBGcSpJZ7K5fBBGY/FEMpXOBGEUJ2mWxxJgSUwxadqE9JU21gmptHFc6/kqtUbr2cJOpzcYhVTaWOfLioCtr795paFaa6w3FWVVN612p9vrF2VVN5qta3e6vaKsrr+mvf77JrwjCPAARJhQxgFEmCI0c1gcfwBEMZwgD0UzhxOiw0Mo4xg9Ki2x7XRD7FMutYWYcmna2vWpdCbbuaIuly8UQ0y51NYveTl4EBAcoIEIHRgUCUp0WOAAYRIBIuTAIdDBEMvQwgwn/ABIIY8SMChaGGAGGUfc8IIv/ONH4MOU6EyZJm0GZKw58IguCc1QALK5ALIfJ2gW65oZDd1G5fjKt01OlVqSB970ejg8mJbWoqppyTxTVIDK3FATT1QCu/iOri9K06rpqSgHzImKYHFtISUnfJkpAZzAG7UU7V99RtwsdQ0ORqW9zsRw5NDaPPw61XPZgUFuwDStgAbyE6Q8UaryvarDBYPbXGoY8bIuBFRqa6FNT+ttiHRWT3FpVFcDVgW3U2mx9oHqDut/KkQQ6W+3yWcYOYVrzzP6c+3co+5Udt94FqZDh7ZwrjrtI586L4d0GpPDdzChh/hhVL1ZOJsCmeJbkvfRIUV7CwOLl6YlM9xH+YaSilAxZV7E9zGAbhiHwR2jbeDiDqtLllV+4rRRy/u2lhqy52H1UcxMKxpUL5UTzDjpTGyVFWoUdx5LVb965vbrUZx0mJlOa9U+zEak4cSHeV0kUWy/elczR6dP7zyoiJ4jdB1Xjyf4rAbDfGqZXFGfIT6uvELH2XFpkCNcJjVZTVYJJQnSx839TRg2eugVoD8xM2Bdf/0jOXiarTkjt3EmI8TkFsNEo1gU0yzWYqmwOEul0tJNRZPlWz6tFWYdzK7syGZd5UQB66soiuiusijn56qKLjZXb5ywp07jHUN1Fr/hfv3FTPDJxggYfLnIaI59ZGzWrLFvnaUmXzGcBbDVHuQ2TrezWG0XC8kt+m3Ex24bAGwCzBmA7TwBbH/KwOaAMRFv5ua4mZu5PYHc/kcreGeGlAWW2aDkmKvU00o3g4xRoMgKJTJ2OOKCW575wDcq7Jk0lsAOALgCFUDgggjkgIMJnAAAfDALQpACBqqgBfpAATUwAjvwgjBIgCyAAAECGqAE3AGPwAvwDnwGCvgDyoAqrhAccEMOAgEUDCI4JBwQkwRE5OAIOgxZRosZJ34AKfKUwFBaDJghc+TGC1/88xMUnvhgiW0c4BRXuMcLPnXnuZ02I7Vg2YbSsavqteo2aExB0YqSzI4jF249++Cbir0ppOiil2rq0ojmtKEj3egdyG+2sDRWtVb9VOqM2fMWLlE2GIrUqNekVft4T330GycnPvjmnIUDKxtHdk53jib2lb244qYhuXt4cVR8+PKl1yFznO5bw1bk3gugeHlXLYEqS93yWXQa7kxK0yUfMl5JJUPly2p8KPPL1G1lZTvbtPaqQqvj9mzuNlaUIXRJOm06LnR0+E2+UYin9dFYg33YS87RmtwkghVTU3xr0rpXT31JgalvNviu9UKihY4LenZorZ+qh07fK3pDWDrdVEY7PQQZJ8ozQuuJaL1o8swMoRaW/Ycz8r/YxkRpHzk7wuhE7wj/2BqWdPrgWMp8Hks+mz6oSh0+SEp9b304XNYQfkpXL1pDRoW5ZvC1zM3X8Kek2n8XmrPF42JbWrwDwii8sp5++LPMCIHSnouWk1Gh2IwcOrmo/rzPyV/mYztVwig2jMqH780UPV7Q+afGr6UPglGHFVjMrqMtZT2VxkisumhRGRUSLCyP7RZyt9glyMuTf0uDfCaGdUsnT0ozqSLWa7OWgzJT5ov/VrHkKNekUepJqub4/4nLqs2RUmaezCjhXrZ8iDIq++rwGkiN1EiN1EiN1EhNSZdMWmMR6ShHOrSQDhqk+xPhk2GlqDjnYEigqze4wvU671vt7WMZnUUzsvc3ow0z9QkaWkMVKgCaLwACIIQACC/1yAxTCUJQFQuA5muhoQEQAAHQfCkRV1mHoMoXAM1h4W8GLeUBDTSA8DX7/1aktny2rnaHr559y9H7wXIlCroU271dn2IMkra41iNzgG3WL3vbWL/9cKIHt5yexym6kGpWiST25XjltrK2bphX81mfIjNjlaPtXgkL4u6sFNMV7ITW62kAm92H0JsTrWuHy9djmKtImYD2lxpCxtGEUm0Tuhp+JBhqUitMLXECe510hkSd8x1qN/HDlPixHJU1XbtBtlztB+TzW3kuPEv7Fwep9rLNoVn/uW/20NL/nRcz9dNXVE0XRElWKWqNVqcXRKlMrlCq1BpBlGRF1XSZImDBEIOGDUAeYUIZgAgThqUcj0JjsJwpRofDE7YRAUSYUMbDiGDE45MjBBQj4scDIMKEOl6G5XgAESZIimZYDkCECWWcMakT0elRahuYWtm7eHIR0zKogrIGaWyVnpVbUIxAVCFhitzywDNvGJn8YqJldfVW1200S9emY7fegfxmC0tjo5mj+aOlo9WpM2bPW7hE2WAoUqOS0Z3Ro9GL0bvR55HSn/qkAkl5+ckjCdFYYjwpCKM4SaUz2Vw+CKM4kUylM9lcEEZxkmZ50iCvVEpfUVZ103Z9UVb16da0T/du7/QoylOt1RvNVrtTnF5Vffq23elXawTsQomi6BDiylIutYWYcmna2vWpdCbbuaIuly8UQ0y51NbHiTBrb3/5ZGE6W5wvDeM0L6v1ZrvbD+M0L5ar9Wa7G8ZpXtZt39OYyWTsDeM0L+u2D+M0r5b15mzt9mcYp2c2X5zlan02w3h2z8u67bPbr2hA2AFwhQoIFxFycEw4AYCPWYSC6zUwVAXXB+hDQQ0j7PAijISw6ztAIBA00MMEK+zB8YQP/IIhwsODdKCGInViUiYs2XERPJwRcZIBI+bIKdjhkMvUCot4uE8n/QRMbfb47HfVpqsVf2wGp9TcW77G9gvrzZN+49eapVIHkzcMOn5VVqxNbTHJKLRIUeb2gSrJOzo1lM+GPAO/Mzwu6ZeIjTqjfGneqXH7PunphF1J+MwVwjSeD2QwaBARvuAav9uqpFJSmYSFGowu3OlKTauKPtEnDWFFv8nEjn7pVsRQ8vQ79BPzhR/odhotPvMTG5/Lqgk6WRXf8g+ACLoyEnwSqeYtOt1PQPJT+Pa7cLYgOjWq6rAaIktIZrNbdywnMoPr0lIr+y/G7CGDFLuoqkLFz/XMIGEBkzUTtUWXN1ZUfQouBGTtxS70PP4gAXzis6Dgf2VRhugtpCKZT4l80oF/W8VPQuIM+Ctsr1n/YaFqS9KXou8ywyH50yoM5VFdEZ/S/42DYYErYQArMh0BLTr40alLHN0GqdlpnxwOeCyfp96xykexYVMokRX7wqAIjkZVYTxbiHA2vHMz3By+pEXa8C3tUiggp00XkaQ4xWLsQA6BHDGIiKuBQ8cMq2CkVIGybmpdZn8uOAbFSg4GJq2UqfhvzBTM4QIsD7AqwNoAGwJsDrAtwM4AewLsD3AowNEAJwJOB5wLuBhwZdSedS4O2EiKEQ/YFiF1uFscIBXeH1KeEr+z1eefC8BogIkAUwPMmLRoukYWKKGdv3U2AkSIkaIgCBUxxJKMhkxUf3dvLjMjOoy+dt+UVV9bzehiy0UGdqQN061p+auH6DuGwxzzHWHL4MdzIpdyOVdyL/fzIC/edv/tzcSzA/2+r6Tfi0cmltXONnFCFy+AzeUYOESMBQ+LGhxYl/9s+NhihwB7HHBEiJOHfx8fFeip/duUWVNRTRmb2trU7aZZPMA2Uc2yVf4NVpp2RpNoCk1HM9BMNAvNRnP+T8wK/JpsIbIbU1QFjVwnBj9YOQsdBz1Li9HZn5sCMYdDl929cotQPFKRDQNu4B6e4BU+XOFrSUBxBfpROl0J/fN6fQlS+/9xOp/iw3e7Zx+/3wm6uosIWG1F4EoVQSssYCsq4CsmECv+cORq+SEmFiAmXttzv/t/Uca8VFljOeZVuimuv3iEie24HvWDMIqTlGV5UVZ1w9uuH8ZpXmAExXCCpGiG5XhBlGRF1XTDtGzH9fwgjOIkzfKirOqm7fphnOaL5Wq92e72h+PpfLleg/NycDkNwBHo966YgpWDNWxgAS4swYMZzEEw9uUGA+ZdaIZYJFn8KHFzi/itXX/SavJPnW0iGHPMFQXGPPOpwFhgoRAQi4vNGuBgDW0/CUBL2rIbF4r8rVb4oBd+QyMYgbExK3MwV5NagEUYzTgmMZklWZYVmCZQkRH5UREN0REDMR8HcZkQfLSLXOYqT/Z4V3t9FmVbjuVmfsy/hDD8YnJERVqURP3AjLLRNsbG6sCOL1FDcEGJwRVLYeWZobL2mq32NSJ3v//q/jfc6qo1L1hxyQ72zSpbYe8zsJEQIU5a5xQDUSMvKCra96Xt+xdUqNVy+pT8RGq02p4bW2ersy88ODy23mbb77a3/S9ByYBQGJwFF58ACkMgUWix4gUgAMEweszYwnlBgQWjNGWhVCZ30dU3kMoUSpVarXoFCkKxzJ4zt3JfVOSgmFtyMBqLt+TmF0RjiWQqbda8gYRgOFavWdt4LynxwcXSTj549NjxW849/4Kj/w3u8u+h9BZc/fsihT/DAVHUtbW2Nx0PDi9c91yL86/ta3jQ/LhBj1c277qRHHTUSbHyFSl/9E/8tSnb+j88t00PHjTjlpfhcDLW24nbw6205TsRXDvf3X6nduLuKDqcqSiLz4jbIhafJNeJSrWl56RVSZRWUsUUlSE3ll+Td+WSvJ3CkhUFSm1lf1HKSEUpMYWRVu4pFapWvVJTwKVuVKG61+y0mtoThmqTtWONaG+6Rq8npnfVy/q+XtJlPa5vNgSja5wY3Ng3SsbsenthVJkf1ROTmbtmFo6ZaD5ZntZjlrJE66i+s8zQyiso4Dn9AeqhjARkoydQHz1O7qB4dMQibozfwIcYYa+4sELcyUIa5JLQc7OLPCBVtmw/Yx/bLfuH4+ncOEPn1+Gu6OpEXLe2+5y76iJX8by9xSvoOd5C79EbeFW0IX2BLj86dD+l9MV390987h+GSfyz/sg3B77B0X0kGBwsB/lgEZRN9QwR1g+fu+Xzw+uQZS8iIdJTHbWOeHQaSRGHNceB8VUs4nMS62M5ERI9uZlIMjbZTVByTC2nROqZHqXl9DjFk72TlrFgdsGqhK1nItsyNdNOkaxp9ka2n1Wy/RRW9it3zsv8sRPkY/PVPJW35KPcXHgWNRQdC1ZsF4JMLfZFVemtyojypqyWu1zl8ZKWvLKstNURZaqelaiOK8iq3OpDbV3L9UWdbNb13Pq0RvW2NttEY93IzUXDm83JHmxws2+quDfhYfyKl/k+z0srns6PXG19Pbe6dt+K9rql7a0T9Gjn0Om6fSe76w7zVWfoPvd2vdzk7Bv2z/T9/rWXB2HoDieDGC4HNiijg5wz2o0R483YGT/Hwfh1So1/Jtepnl6Zjqeo6JQ5nWdh7s77uayg5sXz9UzmPddsWiStpvaE1tcuqWA5r3Wgr7B4B4fuOtef02XrZj2rj2CT58MKQ4zJeMfYNpCxugZHb1DhkbkAjnubDfPULMl81IiJlhZO6ltPWdI6lxetHmbC7eDU0+7sF+x+caudtye4IquctrNUa0oMUDIo7ZQ5ylX5mLqeCqISgMqjqqlbqPPyFPUlTZ/mDjQ4TUIrom2Tk7TztHd0Q6Db0jH0GHpJsZm+h36V/pdkuAq64AhQdTUbHIMKWFBdfWCtoQwvIIcFMkDuhwhuWTPciCgMXSFWW4yuEUE5oDcmXsI18T3cwIeTuj2OKea8SrUHqU0eIy1yTmJhvc8VPot2Xph3cTaPDPbOvZX45+2epd/aH/u3tlfvKxOMB3OzANgKueI/f0iZ5F7nfjIB8gp4R3nv+PZ8Jr+EP8O/LzAWYAQKQbNgXnBfqC2ECAXCEuGY8KLwk4W9iCRKEzWLZkQXRe/EZmKkOEZcLZ4WXxV/sbKXMCUZki2SZcl9yQ9r64gKLZnki7Xtt3NEUESqVQT0PjsP3Oyw9Ac/vH4+3/CNgSZ6KtqPaPQV+sf7eBz/x3Ko0hHd0w69p53oR+ye1MlTSSe5TRrx1wRp/fS5VKbnaXbNa7sX5Llv6y/zydFF/iLr/zb3z7vewtrgH/VtdO5/4ejPSn4/WtqUFpCZvv8IbwfX2lR7pba+8knjftj7hQd5tDof0akfomujB2s01jw7qDiWqofdjzqETZ9cP/YmDXJKSncPzD8aT+Kd1tP9VN9wKpdvWq/KHry3idgZ8t1yzxsf/FIRtT/bceZLVltT/Y002XSzzbfRbifppSth8i9l/cWSxF2gujoba7q19jvsuIuuymVIRX/1FKGm1tobaKjxFlpqt5POuihWOoM7njGlqr+JNLzpNNRaV/0ztb+/YPQjZf1DpOFNq67mOuptpMlWWmu3/Q67KFZ6gf9SBhMlmPIZVERDnlxiFKVzutCQ7hlbfbMoEyqyBmdxMnJzOqRFCtIy7dM6HTVRVNFET8sUVt/qV/2rdw2ogVVRx1elZpsk2lSzzbfIYkuM/zNPKqFLqXl2yi8VleIL6CCX6tSkfLjEnKUII35OupRyTzllUmZkZh4qvpSkfwZkYAZlcIZkaCozLFUZnro8W7M1s3ira3WvHtUtzy1lEINcURBJNDEkkISaNHIxUEwp5dTRyI9W2u2sc7mHSOQgR4nkLFe5KVRKJYotrnjiSyiRElSkEpWpXBpjjBVpqvnKfEtRNd0wLdejfhCWVd3wtutPcIKkaIZVVE03zChO0q4fxmm+WL7zgijJiur5QRjFSdr1w2g8mc52+8Px9JbjBdF2XK+qm7YbPxSVMs0AlNWjsHgsI534Akt8QmJSckpqWnrx1UypNVitdz97ZCnILiIhkzwqqKPZAp167HLWXS8m4Y3TeLJ7Vhlsbt7XOo/Lk3/bcry7oPck4YONz83Qz4687ZhCy+r6EtrnnxgjG2x29u+7Hv5nEh5C+m0hlhWn+eKT0lvLqCTdl5+OJDMfbfr99TvsFST73/znXzftT5w6P3w45798Fxyezz6GqXcXLVzPnVcd+0v/Vzg82h22x3sqLcESLuBP6bvxEaIpYzshUjxl7iQOlkxZrZ1ESafsNk6jsSmnrbMY2ZTbzvkQ+ZSX6GKoYspPchmr3LwoWzRDUbLoqWI9FZLRQsdc+CTcYLDsEuSQfY4Jc0qUS86N2/EV+GZRjD0jEoX5KdauBPvO5YiUHAkRKREZhHtg3YZNh0Yd+OES1gc4175JteWjNwoMRE5EQURJRJM5EXUWWWYVP+tsBmFEMJE01Y254b1gL3O6IhYsp7OxAtwiN7natGqfioloKn5uU7Fzn+4ZOxk76bRTb51YsypAoL/++R8h9M6KCGIPET4RlIiAiIiIGKJ6bnlU46585+9zAnZMPXghgyvw7Hy1oEwTO8qMcyA11DsQrtha+d4kms3Yxz4mfvSTbKfq/eEPt/v9/O4cfsNvT3nId4hQJguEYITN4fL4Ka43A0Y5IFdd0/6v6R157LBX6WRC//rN713Z2NoRSVRKrUO9mYNucg73+9etbPe5scrqVzU3zX/kV2x0WWbn+YW3sRdrAeEI0k2AeqLzRJA5Hoxz6H0dhEOShQicPX+7jEg60liHOWn4lhuQ4RKLFnjPgQKvEKNTNv2ICtQAtuLonk9EAHiNeQtF+IAg7XD3kH8BDCHs9Eppjk9Zeqc8fVKRvum3Si0OBi4k5DSDhpme1zssMGJxyYyMTGXGZGz1z8yMXvWtPmffmLC2X1PD6sxJtQ7iyqZyshUW5c9+y85+XbP/sAmrF25nioXe61E0Q9/SxT6+nVQ8aDcgCcaq2OFsnO/Pe6178g0MNC5YVT3/WHVhtY16K51XdZwpxSeaUW595py/bx0x+h8hopIjrc3IgeMZOGR0fXGCee8SOBxnrvwfykd5FY12Dlm3+leKl05OK5aYajgV7fycQAtIta0ttg6uaCCZlN+0y4+Vq30cn2A4hYooOsdiaBPDEjKO3k53GiS5qCSFVbAH5OHatez2NshVG0hWTMKVcYrptC8PhDCuCFnawuUplWySwk6fhiKMcHXAxNOi80sTMykJSCC7XOpjZQzGaoXMhkPQttCB68In0YtKiculFKqRMqYwLdOkQcYm+ivdUa7O0rFOcjKuMMnNtMI8N4Jn5fWAf+9ak9NvkXJKhnP5ttFgfhj5Q0uC3q22TLSADL/FPi8RLUjcM5W2r9CpDJbza9N5gW36PgUVuhejEWcRlyXie+af0SzHr2Z5AUZro4NChgZB112lRIMfmsXYVbwoRMJYbWz4ivHjEojG9VWqsehqzzcv1OIcC5C1XXH5q/L0uaIFB2KVotD/EBemjjSTLp0YdkUluw0U30OWN2PqJxmvtlnqEonhTTH0YppKLuhvpABAO5LXuLY1etB/fOg5H3nS+eoWDCVAuFqNb0uZt8aoIHELAFaQ0OnRZlddHKTjy3VeivHiOK+pBkBcYK8T5zQ0Ky63PB2jpMDBtGY6LGP8GAeiP4JJdBqa1eJW1dQu1se1Zf9ESXm8VOygoWJBrE38xMcZOpHKYTnjx0UQjbuO8TJ4WZ5xzGv57FXhZwvv2EVBoh9lTryxwN6qpXnCC/R1dVLqjHb5IU0pP3nbw28USHQshCd7d78EVA33LoHQb3uFHD9kM7Ro6eUVGKmNDCoZGkRvJgBeuBeYpcEA/aEnDqW1XFUzzqsNxmTcEwCwX0IFAMJSAbBsoJdK1kqzT+Hh5uAJAEuYoGvQxdLPxEBW+PUk6SWTs92WzlIwZMaPI4jG9T5BrxVh7CpUBENuFvUzMZDXWp1A8zrWJP2NccJV4RatlouND/G4XGwuV8MCGWcscrXZ3AxLxBmP3O7je0Qgu5yhssifQUh7kEBQMx4BDAxmS9fSF9g6dEi1CTBDYOtaG8E4uAlD0RcTM2CwbCwEsGzcal4H3oRUS3BPKnstlX2Z5Au0CvieUI5aKIclTDw0NEsBAY+l2tIwGT/uQTQuYiYEDc1SQIIgrAmHxfhxAtG4iJn8CA3NUkDhR7jV3IbN+PEfQTROd2p3K7TQ5HbvFI1VeXU3flr79o2bMjh/MdsGA66fpLeAau2IEKmBWj6xW78+WLfYlrdY79a3tQrEIl7xiRWBFvRiBXVflpCXqP8SdITChyvzT58lDBLPX7pO4xMjcSGNp6/f/4gL30vnaJvRusf+6N6kXSA47OsU1TTl+2CdMFknDJbJO9Wn252bFXC+m9TpQzdK2W7X7a2xDi6kzfluUqcPPShl+12P1bid3NwAE8wRY2EsIKa62UUjoMgXinWjMO23DPpluOnCYA5sLpFoEcuGu16NPlgZvAwfYKV4I5N643FEAXvUrgJ2m/ce6dU+arFjp3GW01jnVW8MPGuDT9zfcOmXTSkYxRJDmhIfvrmh0mpN80ZKvyKZW88b1BXqqtjyvvII+q3cbn1onIVsLwU20KHFay0fKBiTuAdEbgXAMrAsjCEuDFogHzoHLyyZOF4YJPv9X5liXuN5MxIMgeujlNG4RTevOI7PePnQ3FWb3n0wIl37+pfYhOmXOKLTiOEjGEc+chhf7ooae8pH5mPa9O6D1cFZnNf5nNXCWqzX+qyBe5fbSooqObi/ftNIZ8w+Nki8sUkjndo+sXp4i/d6n7cSyEJeqhMMTG3HeZLSYFc3o3cfrAMGy+AdfIM1IlqiN/qigeONThoNIB/1sRUIDS/4wNqhs3TeztdZM7Ile7MvW2fMltk71+fd0gkIUgPL8uR4zI+Q26Max0Pp52NzA9C7D1YEWtCLPrQFum1g3BLyCV8w5Hjpp4k+aHBNja79dp9PzIctvcOIWrtPkwGkqRCY0mjpP8pR/3MdeSTVTz51xCR8ZB8bQrx801SntjlEYc/pdQBpOojdxrXQ5DbW6etTlI12M34a52ibKtEVyAOkEH/2ymeOmIfP4HpgkPgSkGY6tX1iIhor3YP9xwzMWujQXHCiox57K+rt3PW7Oj0DBslHl/R/GkCuly7brr0IMNr5T69fEJ8vKP+ogRCq//7rbpe9v7ruu95UtFyPjuk7OfpHIj87pnY+hrzEWCeMSxPmQWWL3bxw+1oJznSmnJ+GQyhPbXUU0K253XHgbR/AG/t0dzr6o/vcX+sHFgKd4HCr2hTtqzWWKXTvXntpj/sXxZARVGHYwHomSbt/qay0NtV8wxQEykGil1Shcvpulfdf/Zb6/v3/35dOXtcSyeQ3iGjBwwBG2NEIxr4r+REOHNimQaNmLQOBgjsrbxxKVKYioh6E5NlXQ3nbeyFrzuc7LwtuvSWIu7vlNybbaPb8nuDac9NKw1oTtqWZJq+EdxSrj8Uk9KrwTs/X+qaxcjL3Fqw/pkRiQIfrJxl/ZQnxFWwsQUvEDETilUTQxLummwFTdpvBippuBUrZbQUparodIAXbIKv5fCcwLV7qnYx3UoTyiK3gzZxCXPm6ORCgxuXdtlwaBvMWksEepCo0zFnMYB/FVi6G+QqZyUFTp9+U3h8Ezdz9UmkTbp40tUicA0rEBoIXpBBhF0vBoZ3mpYzDYjP7eusbv/Q2qB00XlNL+yBA8+9F2GdvBLjjvle50LNO6pT1ruis2RK5dkjmL5apwc5pMN6TbD2TsxxtxtnvfAsuc9fbf8Prd/bm5rmHh5tkb+9m3vIsP+mAYqDRhSCMM6TgKjkuThL9dzYmiE0grQzs+x9O8kJ3spjTXbThRtiz763o/PZI/v1frfPKN27rte89LfbZt1tc6rZvd+l7f+ebvq/3Yzk2h1SWnvivxAIS7lg8wiuMeAcfwOlSkI6ZKEAJKlEdGtJHDb9v4vTV+cdqovU6DUO/rni9+TNkBeBWeeY4etyjzD1xuakqEIJPGXdoxrRDRwucooaebrGuNoNW7ZDVJ4Ig4G7xEn+Hz/x10zz8rM1juHOuwed7J9bqxFXSF7B16DX44rGz1Xn0RTvRhWNfZuYx99aFmTnFOT5nfFXKbptRQmREmOnXmVBSu68zEMX0m8Qr7L9JeBDzbxPdli4Z7zhFKJvz6DsF0SiOv2uGa9zy9zVu+fsat/xDjVv+ocYt/zjgtmmkjzsRFmf8ZM8ecRcfLogeD3oHv3zQOgoL9vDex2HHNidi1zXVsm+Zmr1fWXme+fuUPZa5yO9bm3ZLLLXMciustMpqHTqttc56G2zU5XcnnXbWeRdddtV1N/3pb//632133fPAI08888Irw7zlPR/5zDdMjE3xlxTNsOzav74tlqv1Zhi3u+lgNMnmy3W+2x/Pj2KJ1O5wcT/6fS2ZSmeyuXyhWCpXqrV6o9lqd7q9/kD+fxA/T9JMoVSpNXrD8WS+WK7Wm+1ufziezlfF5frv/7LWtu1HP0fkMm1GIBSJJVKZXKFUqTVagrWNrVMkGosnkql0JpvLF4qlcqVaqzeaW1rb2js6u7rDSZrlRVnVTcvxgijJyrrtR5PZYrXZHU6XZ4gwnCApmmE5XhAlWVE13TAt70XbmMgmbmbFmvU2t4Oh++PUPdmN50P34l7dm3t3H+4zE8rh/96Gb+Y0JYZVqFSlWo1adeo1aNSkWYtWbdp16NSlW49efQYMGjJsxKgxAEIwOAKJQmOwODyBSCJTqDQ6g8niXaGawYUp67Kq20w79hzc3JUqtUYrSjq9/nA8nS1Wm+3hdInGk+nM/nh5dX1z+3E8mc7mi+Vqvdnu9oej45PTs/OLy6vrm9u7+4fHp+eX1yCKs7l8sVytN1vtTrc/mi5Msy0iiUyh0ugMJguEYITN4fJQvkAoEkukmEyuUKrUGlyr0xuMJrMFDIHCECgMjkCi0BgsDk8gksgUKo3OYLKwsrFzcHJxwwiK4QRJ0Qzb9cM4zYuq6YbxdL5cb/fH8xViyvKirOqm7fphnOZl3fbjvP5X6x4LIwp7jpw4c+UmrDfbnShBhIntRHGSsiwvhnGaFxhBOV4QJdmyHdfzgzDLi7Kqm3a13mx3+8PxdL5cbyiGEyRFM6ymG6ZlO26WF2VVN+18sVytN9vLC0woo2q6YVpRnKRZXpTTvKxzvV4/NnYE7DlwJOTEYwWtKdLWLzzbXfuset5+WkO1n0feCrY94fzrp/DrJ95aBXmtRf51U/h1E2+tgrzWIv/GKevGyXeTGPokqps1LK3K5OiwZ1ytwdJadf2bkguGu7rV546BSwGULVjapr04j/q++Kb7LDk39MkRX/vOlXouv69r6SWHG9msrlrn/mbQcFaWzbd2G/8NHiP3nsedGxyrmT3c04yZ61u1JJr5MtRr/UCY6L9kPvmZL3gg32p98R5+G1Bl2zqiNWBnNaUebxVwjfHBTYJIjG52rX92efUV45GPr6ul6zrwhKHG98LPbwojJI4yAEdB2w75t0fGA2j0bj0ANPm87dSVYJK7EiTatff7/xx/GVZGAOfvGA49/u9tXx50WJ0yPPzN8PG3eOSzV17TjXln+hAErkDD+mNQp7SMEJcV/uSGJ5OQt7cpKMecUIJvn1h/qOcf5IXR1L9/mlztmfkPPJI/ySNjAqUvIyZjKVyN+WF8P37pYKwXaSq6dKKVhmKmPXDgGHA3tYScXBb3a8xPvJFrAChgqdLVVUBZTdiSS+P9mYFpD1gEBwfWiw+qZcPAkX+3U8vM5DFgXn95mGtuay0ZnYD2wItzONJAeBGkOOASAyF3GGT+YdGwV0TSHP8i8qNcwsNWLh37f+2nCd9nr7A3agquugjtq29uTmGRDym2gpgrpkm1YtryFjOMwjRq3ulIOwFpO+jEDh8kij1Q4OVGNLBdEPvvZSjWVrBZDXI+sn4nLo0lRCAQHUFpmtmu9o3yRwFQLNQze+kWnHdjLjPvHTs7+uO+yDLm3EeZMnwe4pjjnI7jPoXFYJeELz9my2bmVrocGLk7Gu5qLHVlNke2/0nBDETGZdmlgHMMjMGwb3kjAjarhcjAbN3vjZLMhBhOMSdGIpmUG9ln//nMGSlIcxU3yQUqUsoOa07PoAFF/mgMcSzo3YtZYB/QMvy0xmLR3WjK6q94JFC+jB8kLGaawt4S0omcZG2j/sbmRSWjQnkm85jiQP8dKsXPpntEFlUxYwShe5VkyqT/R9Z0KtZ4EZ63sD6W64snUyXdqS29ZB8htlhE1NFsWhz33wT/l1auMTIowJnLDxhwvZM95sUAh2ggtKLFbi+0zdpnhMWuRjBDK9CcO3N+byMc4gwRN/AAz/AKI97DZ/gOmZiJWdGQI1nZg3HMbCLtcYM8nzX92LNcadc8INSXSaZPwl8XZ/y1c0Qm308iWAdXNiuqiCjDMjx8LX1DXFhHs+iFuESgLJpFYPc6bRGXxtxAwCPMN/JyzOHsnxbD1Y8K4LTPV5trxxeNu5GWrMox7YMcSeBsVpd86pjmi+EO2qffgAbEv4llAOd/2ZfdhMJqLxugM2jA+4BlwU4JSLAw+GMnWWHDmCg4htPeLd3UC9QOptsW4BoAMW3RA0wLCVAAHGBOgADiGRAAA7eAg+YkDnOKiI7vqekFUHGBQ5PK1OkdfmnL82YPgPRliSLajO/fOTevPsK313chja0/69inNds2f8L5c7AOz2Rz+c6+aDEEFl/K8H9uYAFHaEIMXchgB09+CJ2/G60YMMEeJ7mJKjQgEanIQBjZKEEvb5O40spCvstNCerEDe7xDqvYxCGu8UXxKWvqTPSGFmmJTBChJCSfKa8j/WIyjJenlaeDp4dngGeIZ4xNsRm2wDbYDnvPPrGfvAEvwCvDi+BVlgmyTJbLCXJqqDmfT+gw33n47rxQMYo/zruxnf/vpMyAAzmkC2ZZ7V/M1gJtfwzFdMzFm4Tg/bg5buli90/Prlle5NX7T8vK/EJE4QV7H/ZLQD1pesfQDdJhi2xstu7YfYoe6hBSC3V9t2SHlF0f30ZRdp3KNzkwso4pwsPlvmUpquxkoIDEZp9u8TWrl//f7Ib4tGk2x5bZFttlZ+wqRN2WiPHKCaWcsnaI9zdc+IuQ8ELEyP/w2oVta0n+Ye59BakUfYFlNJmoxBAV3pzIMGeGBIdBUVHwhPhHuGI45pV9oLsN1l+nWlaKLAVJcNL5z1++c+XCkRUjhnSoWWKMUeap1l9XJNRUV1byLj/1dq/TTC0RFKJATjxxxBJFBFzoIEFAHtxvnbziYZa6hMUtdnxzJv5/2juc2LFgxIAODWpUKJAjQ4oI+rVe2ZVe0b26yCu54it41xrpUR6g9kLT6/gXF46TJW3lj2ZzkT/AsjfnbxiRJni6XuiWnAudD3VFeD/9H0Iz62kHCgSEMIccxnDUUeFOO4PlnHM47niwuP/u5voQM2RMZpNN5MxtpuDOQwIYuCQEBCnIyFJlyZemSDm1ao2KNGtWodWwSqOe2JIPTYW5WdRYwq9Y7CeiWfwWMYvrdt08Z0PPBhts8Na7bKwp9NSaCVuO3IlMADFZAp5kWhLp0slMM02c6aaLl62RXLNdKu1x0oLTbjy/zD/xnxtuee2ut9577+MaTUU11G7o+I6F5T8WBH5yiLBJh4gLfWJiRuTkjAULsUGMGJvEimWiTBlTVdqY6dPHR79+vvY7wG8d/vuBoABosYEAHByBLFkKYs0GjB0BBEeOgrlwgeLKFZqMDMZU2UIssFCYJdZg2mILkQE7id12R6QHniX6dIABBQyHkjlz2XgsqFizpmZHIJeQUD53EgX8BCg12WQaM+SooDdLtRYL1erWn/bTAwZ2wJAGcXGNsWVrnIiznVx5mCQhsdtc8+yx0EL7rLXNrMuu5FQN0EP2y5tpbu3W6vPqwKYVo0ePEgMGlBoypMyYMeWmTKkwbUalOQuqLdtQZ8uOFrvea3fmkxFXfmayxNQtprUIAFghRsYqOQhvKFN2QJWqQ7ZsHbFn75gDR1iu3PL2uNNh4B1vPt4rV+4Mznm7hl/MF3AnHyPJvZaESH5HMvmWTEH+RXLylpxC7uZ3QYLPSTzQhW7cwwB2CnE9ChFJ3hobZboISZHYVnCCUC1vqBEB+TjSHIwJAPp0LYb3xGAvGKJn//KHztNhwOwOvwHOjyr4f/Mj9pXwolLMCt7xhZbrsMHPuv2ix2a/2uI3W18l7tNvu36n3fo99pFDzp4GNTFU/JB+Cy4IQ6hhk7J9HiiMGKKCeTo7iMqoHvF8R3UoQxXZ2j/63qdgbafXAT/KpSTyhA/NcKGYxjCCHFrMtjr0snYTPkrQCJLACBz2jxqORz7MifHBIcwAIPqgNrQJimBDq0V+stiCfSotbXtUeoEL96eE12W/U6KElP+AJVrq1jWB2HjQLfczQ9vYz/ZQKKFZr2j6YSAU7CO1w0Uob9UM7UP2aC7MZDXKl7kreSJut0Fzhgtk9GgZj1ZUj7d9ixmLNmZ4nJCErRI+DAMD1q/BvVynvP4VeLHK5WOcIH/4QObpRpeyfDbWEydC+JTwvPZbQFlHP08Em2IyTwYVAEiQA80Zn3s443sMiRh9YXO9WZgNQSHGgylo26baSw3pYtqyTofpANv2ubQEt+78reeeYwpS34YpjENlcXgnnFqbJDYYoiAejBkQ6lFi6uyqQwP+QlL+1S6Tw8F4QLkbhNxt73coDHb5E+U7F3duHB08vS15ejQUkJcaLqmpAjnqwB+Q0C8yTJCfll9kctHjm3befKOu0JU7mpXFIXPaHBPeC4TXc06uxFGqDq2P07Uv495pXAv51KxJRgwz6ZElyITqbZ4CGIDkqQE1JuAjmaeOHidSToqkRZoaEEWgaJVHB6uq1YnOPrkpCgmDfSCJrhO5+fpHinIYmZHybog7Lu1ZUBMDx+uAvLOJSYyJzVMDDc62wFyM9NYN8wpCv53IqgmxntzUBlI0AEmDXY6vST5NM0ocCwPO2I+nZKI1ZmU98F3xGmSV9CKrzcCDoTGJ5PGyVO5LNIZ2QOkMOGDtNxrLTe5Za59+VRxcO4cHGMpMkMsqE+vMmZbc7k4Qp2JdYQoPhXV2+UNN3jx9SAIQPa5hMxsUi0a/gt/DPoBdYTcYRIFrks9yX94JH5AswUESacwA6wehUNO313RanXooXHw3rO/v7U5kUpg+QoGAhyRYihBLTxWmToC5L95/2FcQFxTkPvHFdALpLuanOmSePxBtyTxZXR9ijDUc/UaPox4IEynFUSvGfVMtAGR9IgmPv5jSIeEYMwVs9yAwMI8BXfN0jCIOhIu8GJFYXmVLt6Aq98Vr1gokesS2J1Ci8Q1/jtWOzTNBgTgcSilEGcVQTnFUUIRKSqCKkmhCaaimdDSljIEbqBOapSzWD4KiIr5OGejLbzumVE/4h7qrz/nnC9JghjWUtXryi/TqBrotnVajo3pqoGbUnFpQS2pFramZ2h6og5Y8szQyK9DTs+qNq4lK7j134oCMGdIc7Oax4OlgBJdWNS3o6t55r3SakzN2VS3u6K7fbcfjoIg0PwhvTUPn3DQd99cugE9Sz15iBqyzyy8ghhzJbVVI/uE27EXe33ShXKRYz63lCqgxkt1NeF5A779G9bheV9UJTiBGmVLlDQoTzlFxkdBPGf9qfrpvJpAQTtzSqzTfnhLOP+jS4FsQku/0ZSd/G2DcxZazqsXZ07w3oM4nyOAuGxUrgdLLRIQT/83CohwvwxnpvcYtgXyvML/cFphE7pEFHQ6jlZyzfFzyjFtTFGJslIKpGQitnDv4uNyViu5JikpZ1mFacFI0Ody2YCUVOVw2IrF1YTXlCxwxIzzZWIiAlAXIuMUXvpyG+Jj2cu/tYCFSFBlMa70QHnjwafaZQ4ABYQTdx3ZUhFlZ9x7wQahQqzhjLyGTQ52T0i9dqx/AMAcmBjofKWn+7j65Qcvzo4wf5cSqa7i3PkJRWVC3v3bKsOP2LKC2qhxSNJsZ/+x333M76z9H1jHyL/p58DYGM19INt1FbrQOryeYT3BLKFnxUE1e9CEJTTtbfTrRHpjaUJhafgSVLrBufgnFHHYP1tqf/7sYBTDoA2vYz651wUmoFMVkJC/PwW1YxHrloo9F0ZRrItSnr9rxlPdamN3m/Vj2arA/rx1/HQXwNMlrNN/IWzcrefPVINlVVBjmvrSU9xa8WU/kvkveRgvw5fSdjLxI5CEAVTJKtZ+SGQ0A0YcA1Mi41JzvjBnKOhtWqNgdAJzQsYsSgMDLgPgdAILQccgPeBDhEGcNSUIwTvtBBRkeeQakCEFZygQsrDDUeSGNAmULhqDswBBIr4AMCtw9znsW55VTZU6oV3PA44XBswjI4WXQgn5ZEYRrAtkcnZUhtqrYqZZ7kF3joK/lSCAnAnN+rQ0XNVzVcFPDnQZyTyAPBOYR1o4ndTyr40UdrxrIG4EgfUq87Wf8Wh/efiHlakudod2g4sTMTw/VW/KtnelG/a/PnwO3uPMAUO9rYdRX52cceGnuXprqj3Ev7e1jt6WlN9wE4Sut8ByUrXQsVj+Q1g+Bjj4NkshE8xmEJUqUkcd0a/vjzf3DYCT03smItvnHaAM+HHdX8CrBYs9NpvaTxGELKc7GnF5yQZxpH0uIKGEp5oRUNola3xje6xFHm4sbKcHUx6SNgB0agAy+Is+TcGTjKknVOV3SiuJSrgqorGMtM09W68gG3jRrTicHn2xcjjJhQ4goO1sMXAxHdyqeKMCQLzdHu1FzuT7RqLEeovfjSSMF7iGUwhOsitwdW40jgFe/czP5mKJ+fKX5b5vZJ0k3159v9o8Zxd2T4t5YqjIGiuUn7FJTXPdo2sBvoJcyXdr2TzhnIH16HCf1LtBx3rpq80xraCE5OuP8ho4GN8q6tl4grZMZDWzbOoUoA/64U1wCIkTXjfZAOh1o25Y8Ia4wMCtXf0P4SfzJKSzzBv6oAiRZE/Zv/JW9Hi1NJbNdK7pzXu7JnqO+aXVQg78I0srsk/F1qxJSNRRSE2G1TRzVlHCB0rl2NgfbTLcI7WxHz/Sj1NrCaKC/JrZXBWluj9fQ0zfmo06icSCeIdqCRqYjMzMgDxGvE53S9SUw2zXSNKesaDomNVeb8nXlEhPy6DfuIx0neRvwWjrXIJWGnjeAX0fSFayEstHXK7BEdtp5NCxNGfXRqhe5ZNZ4lHWs5RF+5o31FOcsUKDh1hJUVG4Dck4yQBGZfX1PpxpMC2EJqjoYwJz1NdkusW2OxV1EMojGpOLtkiK/2WKCsLOwBrj4IdTBr2b+1RdxEkHDzVgkoGF+XkIFXCLJveFtU5xvdlmAr6MI6I5nf5YyBNVgoVGAXScVGGOQDOo9kp61+4xBFubAP72yfJyTQhdmlbX7yq9+fzTpV1/QdmluDGECxTWObVv1wvrHb3zV8+3tOSIao7knV2gDc+BcsvFtlIixVWkCiKAbnkmfnUNmrtc1zNPhNjzfrcqchYv/Zk7x/hDqcgxDe8A4+3h1ZSI6Ts8HyXJ50snPMrdTrGpMG+d4bHKU82ni7BYJTGqn5xTUamaWIhrYg709TRp5D4NLkC57Fmu3FHPkbie8HWLe7rM7OPkYTea7e+kMLjjjRWNuuz5k0RiSpkMqozlYlTIwx3hzqfW3X4dhRJJSQBOMt3ef/kFeX0Q4pUFVl6UeIf/OPJhvTci+lzLPLWSVp3kz221XY5SMc9t2POYc+Oyv4e5+XS/XbT8d6+vr8bgsmZc48Y3x4/j68vAksqzzcbPYLCrR2lMpXdd19wkJNUFihkiu4IVbCIOA7G2vIVWK2gXyxCXGwIyP6FI4tdnWXoDNCSQrgkW/uL5Xi35zmK3BQ8WDQatoD2gJzaC5huYNqshDSrUUY39PRL/Ug3ZlaZ5hWEoA6K6D7eYkpUN1Dt16NP28tt7MEgBeJBs0TVVBYF0LwK19BtM088ITJuzuxJNMYkG+CCxEsGhBRFfavsrc90QgePrZe3ifkunm/axitHbWgBeLe5TgvjdVIGohRATys4+VuescYqariFwtm8FK17JEqRbUJSG218RWLDljnauBy+irMPlnyXRlD9mV6SNJMiIvXDmKRb11aexkvObEzEoOu/16bftPSb56y0J2DTYSgLPidm9Utda5XLzEHWyJaczIWDzDOSIA5sypHObMpJVDWssEKIUL4E8BGTjgf2q4vSDfRneTJaK0IbW/6u5yTOtyO+3YUdyYCiNECuFW5YH1LiDmFdtkyDrn5Ywm6CE3Qsb919I+auwfAVgPyMinRZw6TwCc43aMdLy5PupRr7q9TdjOhijMr8OXy7nXN4pxKaVSzoeeTWwBmon+E+Of9+3sLFky3jSKjiu/FZxIH62mjjpSMKwaWrWWKNdBp1IuZcGw3G1WE5blMvH1JV23SjLBZnJzUx9Sa95UkYUVepbXz1nw+u0LLGqoxMRZHVU45UDDZGkh/xfFeZRJDzA/wNFCw0PwC3T/mB2f8Ma0GO8poAfuKlJk4gN87iNL+1ZfGnMNvgX/nbZV/y4MkGUG1L3Pou7JmtKM90tzwYUcBDCNzOUsvCfRxXI18t0MEBdAUDf75f8+3/6Tfvnh/wyRctEMrJXVa0pkEh0uRM1CdouSOCci5kSFWiMnRzllJgkWxZ/7/Xe/73S7b8zC/2kl3TAbrudFxLX8OIxx1NBF+EmEivFF3burNxIaSQQEnh5u5NF8CKx4MkAZzvx8wWGsBgU6WwBco5HdzZgQ7MR0p6CdlFjnpMlPFq2ei0N6iB10xaTYiO0yOaQuJUqPf9WMv7i6MOJ6bLIlJ+gMkGTyRPE51p8csvrFAKGus2MBwIMqqkD1SxdySL1xVwXvW7F4j7i5McJK1LBqBOoGPCKOAfWIY3iTiQFsbOqNxKQN2+zE60yOAjroSqF+JssiJ5jeaZbDNRF9zaWlkE2QxbwU1HLXvw5mKrJoKfLQw9eq+J6kBM2uQYKKAgtVXo8HurdFHOqa+FqilheDFA5ZJc9jAVIaqk8yu0HKYf/tEhDAwWYg2GQqJdaB85RQehtLIK4soM8WhZsUVonn0WcXHS9o+whDStLjUCCiJY2OgtInxti8mop2gT4B50FHxkdnwP54qOcexYdeHR5BuU3KR+1SpCzX60c11jd6bpv/JStsdnb1HkdgsGeyzaGK9+1mPg1lIOh5m+5TDHupwjeaLSofQ6hXfcE2HU+zSKL1FCkKE+/ob9py6r2JSvfSEqabMkFWedFSyxy6rE6/AI1lXiiPORZX668TF1ngNp6B0IhB8OlUfgdi4zepP2myw7G3EpSSSrkbAr9bCMEcHcdDkIe8cCahXen9LG2SnIux2h/Ooi+LziZP+cQRMMzmqpK9ANNTTSlCzvG9xdaYhof1Wj1VqluvzY3gMixmgO6WSk3MsxiMt+bPG5NyubQQDk/D0Rg2bjzd02WplVI5ZE5Z88Uv2Egzbwi91OfZmqDrKA5UhRFyJcsdj+QWepigvHIOwueNQC/JPOyQIp/70s6Pc0FWsCpFnZ1asam0VLTbxDlTJovHHB+mnG93vKV6AxqO5NYQOfPQL2g05mwSgsf/VcsDDoG5ygubc5gHQrFkGmEzwbwmItablo/5rM64F839EPcvlG4RzsJp4eUZKBie/U9qZPsbX/wjnAd8ug3XjZiLSHLE5BjP0oxW/aqDcKTNB7OqzybMh8LTcQlO/jRiNTiKxssQpWUJyyhoxZp73GHoP/fBp+OATZpvU/x4ieEs3XXGup3SHy/ABQIaViz0tVjwkO3yx4AELi3l/rAUdhf5sqW6cKznjMPDz7KsSXVHcmufZpEz45YL20u6E96XzHW/NsNECatkBoVHxU9CAJZ2vJ34qiBroY5mMuAt7JxhLeWxb2dBgqBJ+dkEBexKAgnyUShS6/ZRWghIluio8WLNJi8U4OlYmi5osY7S0lNWDdjPT/tUGeNcVlKIwpU+F9da+1+D97s47qtGSt2RPF+E1vMVOzw+8Fg6OY0vgG18YO2p4mjybuklsXkwkX5IP0nVDMabH3SCCaKMfIqivR+CTY3hQqQk83WOab9P6rrbay5G72mK2+zl2LOSnmOxDJfthIOZ1dWcioV1gwiELwBg6Dwonh5wyrAIEIs8FVSgqGmFfMAY6auKVceLbW8zQ9Lf4OvDgYYEBEd9qpCCtmhED5OHjs0v5yE4k2fHaD9zFny0dQHWViWRrPvCRJ5aSsS0GZM/3NYLcLOXzLFwzvr3ilV9Jw3IcMjqVD3tOAEgUz3PvxF+KlGuw+tMiywCjxu6Lwam8f3z0I4cdAMOREj5hNEnm09TN1gwGCPANzDLtuqa8KjDE4wf8Xzk0LFu0zHrfOzRH1Qr2ltTD0GLlNccBPg455rRumVlMK/7g20EN5gZsp8p2jCrnbDEs2zatD14dL7/Vxyjq+MO7WYx5wgQUgxMQpaglLZ+yTlWOhCc00ULYxiJoRDNTsh7cbZQkGrhJ53nOF1ZZ4Fw7AxlCU1k7xYdhFwnffLWn5NWn0IU0BRp2VDw5Xp9S51fNSyu1DZ33vG+gMds/avhb9o1EGU/v2jOFOOAOcnl/tIHudeFy8Jm7ZwNh2puJ9u+HnmIk3wryhxVp7Jb3gDKxS/AT2QAbnjsZav6LK5H7n4B5C9WZwjRueNcDtaeXdfc6fh9nt20g9XrclIFOBnMNBnFVTi+jIYnODFgRRekM6dbgkGlOqBHgtVjg3vMth+U35lZTmHlzE3aEB3/ogI8ePN4qfp5uyPwWTBjPJerjONDWSsAA9RG25cS/Fsea33GYqcSZ7HZfslRyOx4Os7t6ocRccgLvHqOomaDz/oID9OO+Wwftfw6DKi4eymgLDBwWCaz/dfvhIDha5IjjRedJX9AnOJaCDqDWtitzhJMWnOu05K+IvPw38cINqgRoIREEXdME0wtObhYLvGCqlpDNNnAGcCq63BZgF4vEpHx3chCG0QUAnXIDTAo27LisEn1eL30f7+PVOoYi6hf/xKeyReBcz0nfyRiqngorzd2Ql1zdWx98jqGqQHPYcS6Z412Fo4IqCXdpdE+O2AMQtG+WPzzwPXQmr2jGr6GpVh42XmYgfBo8ti/WfnZUMsZwJz2WVagm2PMeMA/TcUezko97Z+ydqicoVPPq1654LqgoxfiZRzeWWd77gmdh/SZLh9gR/Ttn1LLvDwJVW1tnnbMWjoE8PBpzpUCgWWoaIvIA9tfn6l0rC9KO4tQone6SnhtjufJIarhp4MaS7zM29cYDzjANonLAEhwae0bmq1Zx03rpIFuwtvXWcSfjnel5JpIRLmMjDM9vtweuvJO+A9t0HOoOnjF7eI9d0rHAsSpaUw3KOyGLjpmvSC3YnM9LsDit7eGo8o86hmc1ELR0M1tK38r601NBuNrs2d59e8vbdNor9y6DBJt6MWPA0NpIvXrVnM7YA+MUXNOOjoBS9sKCNc9dLGC1TDSA2KJm16A3vipkKaohXyMi3oJr25phlVyjoGZzpgShVRGjw6jqtQm9Trvnd5tU4XUJF/S89ddSd0LrPIVLrIA+XArUJSYiIATmmqNEJT4VTeGRwgWg76IQFy/wgt1Boi5ph5RQYliZy0xxaMDFDYdgjKVSuAZeNc6fVEPDQsUdPvtUGcCikViosTZiZRajU+Erjvjz0bDnaF5kAe7J+JKnRe/GGafDFoFjPVMjGplzzyPti/e53/k0558eynQdnL6yNm6GS7H2idMaxPSTJEoosY1Ty21wPAyno/zBCbN1n99PO3a2HHO0VXwzI11aj+A5R53HFYXJrBQnN1PKrfapWn03d4Mptt7wZ9l1US/WaGAVIHnCln17efipOLEnezuqJVDXjM639yWUNAkD4VEqtXx5FuaAfvxh89647tQpoGcc8Ipm/lB8gA+CiZ3RhEk2iuGiECe/rprYWvO8yeD9JarTC0gT6kAa7JOAuByo3+8FNGKo11tdOh9wT0JIhxNTs/CqZHeGsZjRjViOzbbpd4xkcTO/AnkeJo/5/lgqeB0molOaBrJxxy1jt/x4ZiikCknx31CIssQWdAacW1+jDac4ze9K8mYdvEXXp/gnAfAR/zLOjmjXJEYSiHYVGMDs3Bp0OgaJoqqapQuquS+mzvo6DSiVTb7fYM33/pTr2eREqLMgPkI59swgru5YM7Me888x8Ta+M8TcJzZzxoUObYsKLefBbwlsX+SPej7hyRQbZ7N8lc4Hdbyo2dJKjI1bF7SreHK6xytG0aZmljYYAxGnulpeUF6EINsYCpRhfcu30nlI6Qpm09xUd+qYt4RchCTQLy+Qamjhi09zaHBIY6DeLyTwNxhi9pzcbpwZwHr7ezjaCvmWLcBn/2VAr0AMuZm0iLnJf78CVsur+eMWPYbYfUH7xbDEI4BXzh7+VuF6Z916BSSTMMkh/zwe6gBdJzBNXN902pb5diEwOOihWvHbeXsB4ItvIWI52BGTI2dXtVlZDyVHy+fS3XOWKkoCMzp/GbpbcvTYfdoExviDYFHbN04khFA1yUtb1XlEKQbcR98OD3XWRVb0+7kvqPaDr2wUoMaMh/d+iL55DnuSoonxm7cjTfckimXCTYlU0XtWvBw9YjLq84FghpZSUWMYvOS5LbppTC5m4ZZWerPRm4j9LGF7TVaHekx1KbWKq5hCjC6dxI5hf8SoA/oNMEhn+b//0kWbc37Jcc0HHGOVZl8NiqCG06262dZke4e0/zbqu21x5XJy9oSZTXx1sOHU4vzzRU7UqGqaMf+rdcKhjSqKEYe+E5G9sjOU3wYR5Tj0QaE2Uc8aMYEmuSEDzkXiHDvKOoOHVn6Ol8IJ6qQo6++GMIWC5vtmu3SWSiLo7oM9NExT1lu1CuQjE1u1ZcofZM57JQ40+pwCauR3uhMAOKlg6flYDddUSG6mGC7SQ1yydl7NFdrLoMT3CYSPt21XbNn4Qq6J5rvKNXPR9GAuiPsY6Jclnpb6XPFlPWYIgB44E5QvesRutLpc1i5FFXDZCHrY5UOn42Aw84X2upN7v0BV36Smtu0x/17W5g0RrxsKmOsKm13vUolVZ4h5laERVoy7jJVVhKTVLaiHfu3U5YCAj+7jKLnXFQHtU9GVMGjt4yG8M5tPIY4iKnQ48mJFIrz1Bg6ef2omYIOrZLyizBb2BdmeaBSzrWXPKqH0fIG4MRE/s7Svlr8Svh7hlgWYYwvmfvk7qTFUoTBwaltclcrfKoAy3CVSpWZH7v5tEhqiaboQrAZCj3vsuvw3GryRRGErzhe7BR25nFQ5wBj8SqACuPL4v8dDVILm8yTv2JxJ4aX6bhJ94boCY2+66a+t5zFtbgV9uHadKLq2ESHwezfosZp38hshza1qIWTDmullZjqF4QeQU0RwUI2tvzqMdV+o2dOVKq3K49Uto0SzhEV9oBgsGI6mdrVp24PdCIMEfF4IRCDgAQPaZ3ce2AV/e4mOu18lrTIt5L4oWwvBH0tS42F9sJaq0vL7ZlioXQyMqE90XwPOMtsHx2TabyZHo6ee325F8ba9AZ2aixQC1Pb4EpHEV9LkyispEl6WPZrrgBkYORMqLZhFitrCdQvh+by2TGD8dSRusf46W6TjBW1sMvph91Xh5Ouo8Y5f501UccauORwS/b7fAmrbBRkWhDlc1gFY2iLtbvbEKJ9covxNzyuazvGhUHt2KZXHb2aeayG2mQnV2mRmDIhTqxHtYYgsNCq3aGBqEM+Lag6aJg6iOMhEslMwZ8bNSnE533ufZrto8MMKvvopmBTQRDIVSp1hFG0U26xDCCQh47r8ADrtYrTuhzT5iwNIhRHSRb8g5QtlWEMP+S6Zyt8iM9cy1pWroBeSbzwAQyflPkgB+parCCH3iHxuu3wr5nQuW98tYiveCx+gOt4LiukMO9xCTTNNcj2nvdHDmE0EP6TIFFfPRzg2JiYf3e+oakK3jpzjCThJdsMmMmP9dtMVYpD80i5sqvdxY6OQpyO6CDMefCU0bkknxjzYmuIPgLOJDIssGyUmoMqilCjKKdK/66Vq54qcxwv3Pk+XUrg6jaJgiA6hs6WzVmLuVxB96LzaXwWlR8LW4cyhfO0Qt4i7jKc8ZhgszVAXbkdC+adTls+ba5OA9rYU8nwHAGqDE8oRmmJLInFuA0ipSaZTNeimsR8q6pV8UQOx1QXC3ndyRUxrxVT8s1VFOrN0KdJVPLrFWrojXmn2x6VJCxTB1V5icxdKE5EMMAgy/Z2ZX67ciluSmALk/xxlGomCKVWGw/F16iv1EbS/Gzy58VF86y0hu1n7ozcD7J5oBK0IOucepkJdm3uJzo9xWo7u16U5QTdtLwlVNrtUl6FdbBILd41r1BlPhVr2EG2tSvi2BTqEjc2SSze3sNkMZPrXZYjiVSRQj2byvsqPdns4oClT6nQMS9dgIgh2aZmsqRInfWpotH8BenPA3XRxPuTRn3zflX/WvXxYBNFT6NCdwS4McPO83ikYwwuPeVNxLhcRQp1NbexMljimGbBqmxGxbOBsZeHdp9opqgUdISpRCDfFJauCoOa0AMkZnXojJxyKVtUlylAbaLDwhnLOvrmCn2KL5Mldnnldc01sRij3AbqcIz+laXFbUJE1CWLuRhC6pAGM4EeHleJUJUPwSNca+G42bEwxXKxwWYS6U6IjtRx63lR0DtFzX1xuD7QJ7w6NqeeGIYsqKRh3/26KDs94T2ANVAgmUzNpV8Q2E4qYOwau2Lc+ToTmzidXeQ9RXG9l/1VWGoeB+B6MK6PtrE1lhKjA0J8YhHRh9Vyyf6xVcWQlpVPZmlsJ1nvoLXEnV/dnuFp87NW4KPUQ4ZO7Q6ZOUUizhHLY9EdvGTZLF/ByadSnO5YBmqbATkbbAP6KkoBeFdKLnD6Ikw0VZ70/JJZFZNp5Fi56BS9s4mOuo44HEeYVplq7I/QUehOkGhtERqg1+6/rqdV5JbcOMUYmedGDSXwFn8nzuGw5yLdwB6JMkrWM9Ho47HVXO55ba40/Z2lsPA48+RyzitMQTZryhaWgU8xLsLrtdiG/vwB5lKTuCoPNt8pQAHkhEfl5RraKWe1Ct5P/or63Tlmyjpx4iVhppR7UzRUfF5tdLId4weDx/fhZSDaSM7Z0mlzO8TvvJaOS4u7t6OwIuo/OeRtnV/SxmfLpJRcgQDmPt6VYHol63n4KR79fPbz7zX7ExPMag0MtjZSwjL7KwRjQ09+QckZvxCl8Yacx+G/dw5fu24/mwxw1OvXIX2Fm07+8ud6sL6gM+jD3gB8bwDwmaCPANjRNgd9cp9gk4p9GBzt6yHB+LSnoCWLVoUwz8Vge611Vv9DTkf7J57+u0UH5IG6fMLvJp8ipOm20A9T5bFXwV/AgAEgFyWAL8SZXAcrHRQ1MIq58Kgo+Erz7JQf8mA7EFu6YLHymYffYjH1Qg/7Kpc+epKVN6Qq5nZ+qebxfoKqiu5JvysdWlP7cKDZreqYlVsNhvjco6ZLGRUeEe3VHAv8hAGGlbDpk6Yxz4762DxmMn/SHx6bV0DjzK1ZQ/LInI747yUsoyruSgxJsHVowcTmHXvzVvVOEq9rh7fs4JXrsl+AoZ9IbxY0/QNxBJiRx36QjNptUMrKcLXNIoJWwc632YgzWv61Ts0TPvrouLiL/0Se1Qnde1WEPJ7vZ4GNQGU7841cqwLCVbq/CSdRSlHVQh26kw/EhKQrQj1huSK0oZeFIkoAwtnLedTsLW1MLl1G+fvmOfQLu77On8h7tkQV1NNICVvcyIkAVwuMdDL3pJmkeWGf2hW1t1dgOZCHz6lElG6KX7D/zcUv7QsPw3ggRdjLmO0ke9aJH5NoYCP4RwL6jH32BOBF2E2oAkLiCHzeDUTgO3DS6CM+1PGzQUcFq1fDio758CC2D4XDNRTdqW7F2zdp69YcHFnzjN9eJe7yF1qb8SbLpAwDhs1+1Myvw7RyWe38BAIOJjGzWb+ZxGrfobbx5Gb/0+BNm+e6+V6RcC1/UjViJDVZFncus0nMHlk2B7fB+ZNLG7oobOM9DELVajXE2dt3HC9xmWAnrGB53dnj3R1305DnY6oECPzGP8KCKpU6zABLwuOnoNzNwcRR3X7nk40QQpNKmA4amM1wmUpHaa/ryjradiqBdiyi7xx1RLcnQpcPZYkWdy/Ixpbc7zo38w4P3ACi6ycKBRt9kBNCPgqy1MGRKgf4BSE7Sm9QnRxKL/C3Hwz2lJ8XUZyGWkhIle6D2JK7cpXP8uDf9dn5P/nOkPLCAlXcDeIor4nQtSmTgGTZfYoyGavUtBg9VC66bhT+Gz3BSbNwykhzJouNnDk4rhaBZ7sNXbUhCCB3RYKzRuqkudUk3jYFPB0qSWCsP/QJHOTd6kqaNzx8hwcknjGYM74I+wWtiWgOxDcG2UvixgOsVVmElSupGdIn1aEW6pTUmVGFtzJZ68b5FMF1QI4InlvkCNQDl2W32soyxTkhMMPCrnJMR4LeDOh2cAV4lnq2r4MQka4UgHzXVOY4EdpGfMM/c8/cQwEUT3CE1gmfSLZhJpLBJP/F8zkTnXop0a3Xr38fe8ZqnV6943YKlIw5Nq/deYex2EUdN7SeGABwPGVCPFJ1/Gxq9B5D/Ild49e11MBpT3jf7JzXe41gRLo7uX3wVV8hFFtUSJCPo4adzWL8U08wclpnSEqchvVanRjueFLYWRlPvTZcVvQBlEQdKjt9vg7BskXAtr7j/Px8zCS07l3m7KfzG662AxG+GDPKaaVIvjBy7FzxW/Mk42wdtCM9fbU6jsAbdI9dxVnWpjRK9A/kkoIQqjzBa4ymWWDWtwCZO3hv3T9OD21Z0jN34+AnSnjAZrYVtw9pem2TvTg+kiJQ2DrpkpVsWgRoxaQzDh0sTzly0pAy86+SRW67xLc/5Cb3wXJ5YtX+nA+mmcqtdKvJZ1LZ3/VWuN91Qp4c6n6XD45sb8CiDq17SR0il70dFqdN9XYEctpwRbanRavJxVw0DbyY0MMVDF61wfLBgbJJ6K6xu35wpa5vJXOFKrDEqbZ7pBo71D5yoSkUzCxJOErfKzb+mg8Pahdk82m+v1Xc7ete1wx6tr9AQNg4zrGIi/AUC9vXHi0XwkCOI8RPY4aeRJG7B8sIaH5Yr855GinjtvSIeQ15r00dTXYVlSou1MwclzlRY6AaWm10yvergTZsj0WoggDDWX4HQ/7FQJLm1G1sfNV2NqegZH1jYeZf8G3aWITbmxPd136ok5nP/SY7+zgmh8g72YEmlybH4e1HgcYnge16zBolclLscdef4N5WK/ClCgH2pbiKIa4OjyusgEbweWBheXZK2oAK0PaeQp0x+zZi6gkoW2KiXo+4XBKDJN2DbI4ZSpAaqhOH/IGulqUnBYim9uRws9/lCWaKfaJGryeiBjkDgi415oaSg51j2wiob7ltsidPHn1vM+v/5zM72ipPc3PmNe34t3vBvIHgdnGmXRA8rQ4dKLDA41AEfRXE5F5lCXafrbCmTEw6TYkhvDY6en8hoKs2rqWXtaY78frzSO0voviRi259o4w9drHb9EPXt/J4fnMT2d+vuW/996uBT1vHqDGlxr6DbiNuj1foriowVwP1s3tvkaCvfNaXE7/dSRKoPZvlg9/fN1Z1S4+98nqu5E5PdbjRRWq/Il61Cf4YbqSUYPN8Wp4T8xt/dHiX5evr3sBGaMEss3JQ9YV7JYrUSn+uNtdrFhTAIaAgF1/cjvsRkf3rMPaL2cempuVNOL2wpaIbFXVC/43NTkFwHd6snXx3gwr9oVSxYQZnNd30H/3g3s3DWRl1Ff2luFUevtCg1vKfW6qL1Z+QP3GfyaVvnFa3ENW1SfUYRfqGwNst1uU0FhOjzY6SzYGU7q1SCScS4FaTR/UhWQ83/A2h7Jwybs+8ouSf1Nf08HqqgfEnWTGTYPMjDI42XuXkE4zYaua4Wlnc2Okq0sOPq1TjfK+mOd/iLamWtt4R/UdsS+AfE/wAb4mscpz1DzR2lX16d7JulayRh2rFHD6FcztgiTm7Thf941FKfb8GWdVCPoeFtVkHj9as88CHtVBzCWaCCBtLeTRngsMMuWFTS32E93mUo44QFO6aiN3rfYNzaFFRBsz6zoL0g7Ln3ZTOiwM4X5w3FRfwYu78hf5LC0Or1z8hgYwf/GCeifUziH+4fobi395jVuieeuDGfaVJgJufa7YK04sqY/gXiCygEDcosaCJG8iuVIUHZW9UhJkGY/09bWDhAcATllLygCdkEf4BxyhXseyFNDeVTkBSWEk6g3WLf4D7eRmX84BWZYPToE6WV1efqwzkam0YlIPlzW3nswQVo1qb3ndxrZDSU5pR8YsXVlsZjc2XuUaZ0iYNpAinsebGEs/HfCyNcWKED1HKqF8IWqAslFERL8ATiiRRDMKb5rwa8+iwo7wb+UtBblH+UVyrFPQ8c8puBo3fhQEAaG4WFTdghk/UIRyZ6gKqpDwWUPmZuwAPLjnqEBU4I1Fcz1qzVYusEXC319Boo4q44LKJ4sgH6xMO/f0MZVFYM1iegbM0ahPaEXzBh3dnOxfTjLUjLOEEL4MRUeqcX3ATpTEgsialREoo+HIT/zS/Cpd3dPhziP6a+CIjdxaGkAUTOFjpPzKHA5ussLme5LrIYn7S/6lCYNYuVq0vqNNeElZoHjrNlr4qQntQZ3REcy9hNLzxOFnIC8vYbZ3HzaDv7e/gAUBOBJak+1Mh3cH/DP/69mfuT/vfCRabnYOiM/rWEllz6lXwP+LXszMXhIVQo/6xvql7mCz2SNNV58CR350paPlofbuttQMNe6OC+r9IJjMm+pPisqwjPibFN/MBlY6yc/JSwrOmUA3EIvqRQLhDEYYE7ihcQREKYSW1Kb8xpcVD0TRiSEewjeHUskUHGuyJA+poeud+x7vUZ2vr2tj1d73zvHj7jo31dhJ0/MptSvb2d5x759tD+cahF3y1sI5AONe9lSVYBFC1SsdHjzinat6KZG2utCeHB1gn4363V3sZ9250ROC71BC3ttewtUrpjuGrZhstIMrjjZgbuL/PWTuoHF0l36i568XgmIb+p7TU8ElAyGTdgBrxXctcuuahhuAm838w9v6Keys+JRlY3AwxEn8kWsOaTOWjMW4mknN5UIEkTxzt1cGulLIu7UrN9aT3lW6z3+VBGNhJEFqdiBnatWgDZ0lHOgNXOg9fETjKwa/jBp5ye7n8YS90BcRmSZqfwcpI6V7s+sySmEktu+2rk48MlqIVu5UrXE93Io7+sEqrwGjHHmu7siC0mR3lGbJJJpXL0wPKIZbZ2W0w1zJ+q7iWZ9vRcfUbYHX7DaLor3nf+LedrIjRnwjg6F9vvpUk/Mp3Q1q86VN5utoD+ZpsJ7U6k7/tpaMiWBvxUQGrRn8cME4aMfEXC564/Bbk5WB08JpkBPABP3+AwfgL/HtNbLUw3dSynPsdq9PfepNmKW3H0mbDTBZuHO/rFzWUF0ufAcUM2aaMVyqU/JQ5sKIBPPqxsRk4U1GwRXXxpZ5ewwJJJz9VbvOUIOEBCqS9FywAyJzY/PhpwbVcCwFaPLmYniHcwGc7NJeHyQ9IkJi3mM/jRkPHrzuZeZX+HqOI5zt41btJvBxzJmCoJpsbytSsSlNg6Oufai0rK3eV4X/xWzARQLk4+Ow3A2eVHxdXcDZVxqMhP7N82P3Gk/LQvxBc+Ppn7peJf/8e/HWvvM2rWH2f82QshyPFcjRUY7U3TJRrgk3vuQSAwA08LMclrL713yob0abv2QwWuIFPJVOmyr+/rUqINay5N9PTeWkmKZnv9q2Zh40/ojZreQKyyjUqAmKoLlROAc72dwXKcHXgW2WuYGavUVbh3HPO9Ruy0SkwWESZoQc38NRBIfit8VvY7IGtmim0qa7c0Wxm2csbGG/mqvZwm2fjtNlWC/+7ayXWdP3AU9TLTAwwNuh2Mzb21nCwTM5+YHMP8eKhjEWh92VBmYIX8xmk3V/TS+Gw1PH7+6ToGKtCThEgQ9SAIQpTkMGtDSXcSsFsRWw4keV61qlQVWiyvB5xZ4vv8r18m5vlNYatiSzGsthJZgVHzs6Ths58VR8+nepzqKYFrGL6jy7l09R6iNTNnMtppCmIayRIaWQkeGbmvt7gnPalnakXr3du4d0cMIpRZ38jUbwyFENkjVGSdnJuCRj1ed6lJRycwl5Oq8IprKQ/MuCVsoBO8WzhtCyhPUJtgtdMB7bnIsQMHkHdkRKyz4JPBOEpcWLikT9+ct3apvljigWMuTmMOtdD05dMl1Iqv+KOQLOf6JSLQy74ADRblTQwipWUSh1162Ct1J2TdPGniCNAj5M6Ei7/BcWXJS1sQYlMrZVMFtOqSN0AJdO11ZnggAsP0izsbr7i+/2wfTLCs8Et+JAGKozpmEii9lUEOOoiHdXt4PGCU5x/HMj90DPY6s3D4Z++uXylk3c44g0iqs5f8tkYtYcDmQr9LvgYFiLf8JDlAYOrjdBUMy3ASEhd/tF1xO0+YAyiq7oSP87emY41Rp35fmhStQ/34si4MTYW3T0+Ls+2545L+TRkCIE5GDmA+yBs2OCyUZSWMdQgzngReRbViCjoitudIhoJB0EhGdUcaNYV1jVBc/liPxk2my+kUdpWqNoNfZg2IqhFJ6u3eXYmbPT1RNXam4+m6Pj58Lxn/ERZqkN3I0z75UnEgV5DD0DLRar143NCzYTpf8HAfkmGCSUdcusgvCL6m2Z68H0HBnRy3qTC1YGt8yWCed2oUjCrt6q2QrjT7sDGLKqFqYwNjMv6h2b9qWU/++yn/lnMv0pD1IFmlooYMDzUIfuHeV3v/m/8yPEVCwi4ZHUqfIE6IdMC3M0WdoZEftcA/eJ2F2DCTtKxwAo0HUWONEh/1F5RfDi101g8Dt0BU3g982kZQnddf//xiOop/WIGoa9MqwXSdG8JlxYVQqQbyNHZE/MlCQni2YCSIZ7SSALIa/oe7pIbIXMeM3MiV3EvDaE8BaeKORlhAwMAcWckqsc6ZylDbm/wHkhZTimV43OIk728PjqUOrBpZnCpi5ov09iXOZyJzRcGrUsJTaDE95K9n4COM4s9KMivZ16t4n7T8+p3QCJQOmOYckc22woIT19SBYGFUgLjd76GnZ4RPz3P0v5VLgQq/oAXeI3s/TwPTNfI4sL2SY3jqYzzhBkMwL6yvrWkOqgTvJlQfi2U+DmFiL8hFo8nDzNikeQnv773RFKrZkDP+El8D34qdPgE4dRGOTlwfoKgvs/tI9wYL8R2q3thkAKu8VsvgsfHiWXwaXztty7Wrri6FTgxRp9spyGsHUKjL8CrOW8ctLljoO4FACNkbph7YZdGuRNdC70583iGvIkUvqXnnEwIvaaUukC+Dh9X5SeA3Dp2Ys/oETfDo6EMa5UL5ZqIckuL/jzNSNYLlYHbAf3qqTZ8V8YG2nU7Ay/AEbRPoTCI1yognK4OilFKBtYSUI6mpqpgCoEucJrhS49EvipCL2S53WWPZyoNdrdL4U9rK0ILm/6i168nMzYZ1nSog/X+7GXs9WPRVpd/Pr8VuTDC0INdlWqxLOSYqCTvQkEZso1V9Xz+uVcCWEcQw7gp8ivZmqiPTZeh1+d/QBKnK4JtAX03/lj+Nq14Wo9dGXhug9ezxC5XV0V5VZJ9uBMRhK5DTBPgYxM5tGK/aFLSMes93U/iwaYd7uTyIgdtKapFvTFrPuL1VJXfsOxAfv2AgR12Jg8Pdj4dmJki6LgTWpx2EN5TPqap2jbsDimz0EtVUnytw75jHLlfEzkHH3CeyDRfdLZBSUEvYvLHHoB/chk1/lj7aBOBL9FkN9wH1UwY+jZVrPyylu2JvOqVgfju8XwhxzJjCU/j2BYVPuvBTPBQm6PqXGdkx2nR62y6gnTp9RMvtuKDWd+lwdPqQhUF5XYjv4bB9On0/5zM6fX9UVS1QAr1Hh0q6BeWiQKixqiEuAkQjE22yDqhbCC4xrI7dKtw2udekw9V4OVih2xN5NdxWcCgGv2Ik804Mjqar4j6u/sttpbgDWnF7Tuv70mMrgk2z4NffxbatmnNGw+ofub6BMzucXdmNGwb6Vpes1ExNl0CDMNBUwyk0OMR2IHxcUktnSjRNAl1+frqkvPIe4DT2wzVLvRTM9k7EAZGFVdGPGITGXszyBenNc52qgt2GN/5jeuciVpnhfGi+N8KzYi4huuDM2r/qcj6jU+hPlKT4xdrvxvcS4M4R1LEhYECji2FNHt4Wpdz9tRDOoRKXLJ5HlkX/yJ3rrFBAEsaHMCa12ZUzJ4aHcq6IM0TIQioc1DZB9REyIEoiH2cgFY8ucLFL8bbcxnadH/vZXFkpR4Etwkx0xepX57OORdZ5jd60/NnzVDNZvUIOZHrjgGDmFVitTEIhD03OMUgbXylYE/U93am0DfhUthPvwgWYTAsq0IeVwlBM6au+9+F4IHMXmxyPXgAcoqjSV6jjiADNZtXi29wr9NV/OKEf0DIE7PpHKo30/FQIVgnV8VKsQVr3tG4fYSybCpJpQGbLPMLyFWP5Qp0V9vd3yv+uyp9YmfxLFyAyqqshOt0ZRExRNlppZFlas1eNqkPZ0ZbIL/OCA2uwDNi1GDl0Sjopvabi87d68/2snyWfM0AL2S/MB5Ux0b3kuLw3FBxA8Oz8WvO1h60cgzDuEk4xJrVrNkpllaGez7nYqFHZ58Rsr5SPZ0Gz5sGbpfjfQc+/dZ0zf28uOT1owPPRLT0iQ9xQ9P24jcVL920FqfpMnYAww6Yy9zeSBs/6Jm5xkySVb9cM38vjTcOMPRGGrxFaglJwgL3WSdc5y8qg2C8EuZM67fov5PGxSiC2EpwnG88SP+YgMWaiEStSQzvcB3rDr3dQ/9JPnl4UOmUnn8JfIFyeMyZRIaI/EKQOIc3iq8Yey4O2ThjGJIDjp3XlgONxPG0EsuzhuMUO/Zzc93GNRHd32q7F4L7owjUjRnYYEh1MYYDEeY+AEq2Rza8guo5AkDP5QL+oPhcOu7VIfoj1B8e554CHSMhkJPYklFG4VX+pWahdq5xyP7aoRz6Al8ARTvCAoEAItwg8RhBRQG/MaQgXLlVE+HA5DWtW0b2czwyqunpfiA4iN4Vgmp9KVQrKTVAHg/bK6L+lZ2tVpNHurK8Ioq/58Er2tThoItXHUSxhhWOZNdFlFJEcqvmVhE8b+AHhpT+y63GWewZsSCzkBPnV4QgEGh8YlEFjC1rJBdVPrPEUnuDWT7/2ECVdl7WQruJObFk4uqQsbqkN/yp8ELs652zvM4U4qXXJDwKZvvF5lf67jUdECKKu42vIZzFvdFO5miF8Io/PPVA2W7oIZhgWIaKjvkkDD2Wz7m2L1LdB4TmoBpdQ/+ZyqC6AQz/okYOp38R5f8DDNb+4XX7squeWPxJR/8HQ52WVrjTb4RqIJXieG7hPRlDAb1briepQFmekCJVxW/Mfxv0wBEFYKFMrBAY43AA/IRXmTSSNK3B70Hy8vIgCxoMJnkyh4ZEiuIG1Jpt57D8hGUg7fgcpEFs2CkziSlr4MceFcD+8tpJbWVVcvfTfXk9f/CSUPBvL7mjgsEdL4YQk/9k67S9lcXZhsfMKKGFZVmKlo2lYZ4zbvIRdaJ0937fUhP3DqCWeM9Jn5FfS8RtY0h1P48r9x9Jfibu2wXmG3lnZuzokgslZMheTfh/7aeaOOf1mcmxXv6JlkE3A2PJQZ/zDF+0xpqS2qRSUjsFApwmt0sj2l5lGoGoQURLJSHxiGB0VEwsSoLqQMWakDJaUocQUVU1c0fEHasRUVGa6OjTTQRK4DUeOUFgCcqyPOL8CZGxCmFwsEyJxDoNlsOwjOvOJVtWfByXVQODYzmAXpFDzraMyLgtc1Y5theehPBQlY/pcHUWWUDJ8vG8oCukNdsOWFavn0Qu/eID93zvaSvOn255bJ8fefcuAQcHXIWulphc6LKs6+tatMIXzmV0a3raNHxgAhBF+33rxow2wqXS+B/wPaU3GAYW2OECHkT8dk6kqNXWI3S+pXO1s3G+0b0pkefnxwuA2EgcSX1xe+J6kB4sP6gfj+sX6IblWaIWUdY99wLE4kA4XBIYIIbBAiUHhv2kVwIzJ2/RgenenWXD3B/o+llw0aFZq3HFPX/vqnKttuDs0u9pxF++ZyENJdr2m7BA6xy788Y8KL15jWIt4BS9u7W52Ul99iAUVEcxv3mf2j7uZdEBm+0TBAKCPdGvHZ32ZRRmvfhz//2qH9P+J9Nav+6qxNNOLrl5yZGlhBBmRwYvec01yx9soZl57rZDxqfUFEewTCP0Ww0FnUl5xceeeWJqcXaGMfX5wYR+oqiiOz5A0+Rdlm8zZkZM98fFUfEhMan+JEENhhiaVzY39U01eN27qpYqpduQ8hbbYWs1QzqWWnSBbdZRSChMYT9BqwlPt8ZkziTJVlHJoTewgdm/6ufjI3I0Y1FtveiMYE1SYIRFXfVrNXhOyz4w8UxaZsCj5TDktzMHmZex1p+Hp0oi+KK2iOCUmMZc1gPC3NDhEw//5Ux05LtXKzkNQmjY+q0Sy27RYhpOvcJJf29dmWNzU/C+SEdczuGsdjWuAdM5FJqlnn/okrf1jbP3XEZ+076o4EyUoiM7t2jnqpmXesU4YEhVzULx0xCxTmIYI5UVk5mhTMhKld/S0ZFX4orBCy+W0yqLSvhqNCoB7+nrVraGcvnRaDJkxbrKqOE/OiD+sa7xNXWKMnkLIzp7NlV5Jj4z9MaGVzzyVZgGigzolx11lkjURVt6Uv2rk5C2ge3+IQQEWHC8v69w/gfyD4VuEeXy/KBtiDuHL4+35k6e3XSQVn8KZC+L7cuFgm2kDvht0TOx7R4eLN9nhKPUAvyG18XsHjmW7yoyUT2Gfh9CySrTEQuIG0LFxRBEkTjmz304HjrqPYpnSqEi5pplK3mHgA3LDKfifOtV0BAhCn1LwzK4mMvC+X2UgXCeNBU3it5MRJJ6smcuUkDANLKnJ8nLy3MtSyEi4k8IMAE10RT7jm5fyOGaVTuDmUmioAp8ZX0Xk9q0lOHuHxt3d9xp/QwQB8yrRScFB/rWkeLe7qlyHKyq9b5n4qtILanKsUztWSq1CHcdis9HbNVBkAOdCedxzUKOrOlYxnsb3XcsAQqgXQ0IOtU23ZbCS/rQ77d4joEAFt5nKR8Mbd/qYVPLsL+giPd8xLOinW1dAer4lKCn6S5lqzODsHuiUjDNuLoFtaCtSDmcvitV8X6Q+gp+C9gWSkJktjLCblmlzd3fWaL2/KRczXJnoyTFOTA1wIIH0AHRy5wZB302flxyPqrQTStfrwkycFJWzGMGv7V96o7bRwfogKFeRME8e0GvjUj/NQSQ63qe+c9wtcrbdxWqpmPVCcMGInZF7a9YOCdxNCXu7+HRx+8y3LMKU4JL/oS1vSt2w9xXScQ7v/ab8CNs/bX4hDiOg6wHDJ0VXAfuUJpbus2FrdhFOz8+SWjaa4mM6QoPaOSnVfXUFmyWdiQI2OQqcJgpnq+F4i/scezd20niD0L8wS3TocLVhvAZ1H4BbgKl97Kio7SVxvur5ykqq4lRHTbrY20HVuPdYzDmDxhNFj80P5VLjqIzbPO7DAH0savOA/z+zT21zdeBwr0XpPq2o77hU0sg7t5OkPrbzq6brYGEe1fUCUS5uQkkNFT1UExePJSGndJ5ATj6XftOnBN9uSHwzZsbfP4apqmU/KhuVwr0Srxir3GiWatOfKVL0i0DkayExn4t9fCjJp/Qu28C1N501teftwYQ7n3pRrwNDVAqi/IQ73qoq+9lOxTlIt72CJL4xJljKQK1VhuliK2y7L/LrDCinJn5GtiQ2r5zuzEJ7VfuTeowCj/63rly9J+tVFzWwiAfpudyNAFMOS0Uyi/EZwC3iRx3e7klJaNo6vazxI63ptbcwgZKyLhCRGZjpAiBotdhy90qePe+VI6VeJO7pzLqcfUlgw/tiHGrqT53dkJytm4Hed5JL8UFNOTuLC/P2zkd8IaFRqnYrK7fPIb6xGKuMLQzVziH3ARXyL6Dm/SR/4g3/t0n0wEfQzfjSLjeXRFXvuOfP4qMW0f6heLLz9LCiTd4cJ2AsG/s2j0K+xVzqj8pWCct7ygttBZXImmPN/+vAaZj9V1Cz74FHs3zQhy/4IBYjZz3GwB0Lgw4UVk3paB320xglg+gdJqK88mzvyh1gnfOh/i9/D30Zeglh/oJT1w/DpCy4BFydx92nNNVzCRQ1N4N3Wqkn062IyCpe8OSUrZz+V3xE9qd13lkRX5kDqKLJdwWPmDjusQluLbR2xBnqKGVvwkvaAZlQqk4gmjjOiJD72KLzo1y6o3a/jfcEt8OVho5rUKYPYbRw7hFSyvTHr2pFBXPm/iXtisWq/lWVOb31imdgj6l5TT0KjHkW/VI2K+PGaWbBZEJzeXiqqr84dHhvDakJPTFyTEMwuxrqhgpxhZO1OoMP/6w/X9DrdEVTioCsmjpZNQ+0qbnU3AiGitPPUNcWFQQyqjyIfvIasJCzmh4Dr9IDvhePej/czcjG70Y6fm+UoYJuRRfSFJwjo8JGczEhcKeoBH4PoVXWZKcLTgSZzWm7fdI9Mv4h2G5fNuCaWE0JeddZRalQyw4pjImSTF85Em5aCh80MatV2cxcw8zvoafXNj9Tr9+bumxRUvmOQVhcq5z+lCzPhOXQY49IKuAh0Yi4Rh5dYy/qDUxI3PqzPOYgmmbAu8wEFM7I1eRkJmXIk/KSb2z8orJdVCJOc2O7uqqyMPHHtto8rgUTYQv8SMWwvQxo6BXLQ+XjQnhcvA4LicEw2XjcrXNwp3GFMYQd8RfBljuZ8JzumP4WetEGaFE0bkA165a9seuIYutzeVVMXpGPbPmPOpOsAIgUGd6Z0eLdlWFo4KdIsAyOCIXZH8Aus9lK4e1JfHvR9XstNAbCK/aMZozXxXTLtnNKYluB94OFEGGv8jtLFBP6QMlJ1GpLR61orhMMi1qDniCGqXM2i+UdXarcDhkv7RMxkGxtDKxH+GLsd9mzM1Ej2/1k14/tpLy8rfiPb83jnv9t52cF7K74PDKZNBAUZFt1+pEUH8hhCjAgMee/ehpQdY4qD9I29LKJEWiPGeAF1E1E0TqBgGVOTmLp2adulNTIZX5yZUbHE9UwOsnQKSprfvnBjj1R2z+62uJkdvlf3Rl2qU7lZrN9iJ8skzC4FIx8wr0Dc081WU7ngTDdaLbUVtlRkP9J69KNT0/YVBtCQmfX2WEhhF86akBaXbZ9j06vLwIaUL9sq7mbXVIdDPBu1NMfDaA/7qncKZjtlOHLqc4Lr2867pmVNNtQwNSXt2nMrQ0iIBDjlcIiwonhML+5JC3lZ8ujpmJFNYjumiRkCtLiYD6dihG0bgsSi2//CcWGKdIkGPOCWRbt1Xn/cdqS48BLxjVgbpW6sAPJpOOLPRqoOEpAJb3PuozLVkQcAd6mkMiQfWYOJsKeprzkL1nXcttKITzL/6O347fD+03YVJ6TicEyse/vFmnYZ1w3lSGC1M4cpmWJOBf1JVx1M/iPgCPzEt8zkgx7hccg5+5B695Sq9gtxfZBQQ9NijD0zqzQJVjnm+uTs+yhoAydIwp+ajU8etPKvusPEESCyNpPW9gfqCeG2loAZJ4Wfc9rbiGdfLQvwhgyC6amr5sTNpn6QWKMDeIbBFsm9/aKow0MAeJPW12HRzPLsDrcUAZYOvs4owyszLz4uwsKzCHo7kAlYK2X0MKgX+Nv7kNCpYKvFgtxJDy/u5Cfx7w/ZgtztMNJeZ7c1oInlxxXmm4AONp/jfZ04MM9vQkkT6x6kv0AnuQb3WiPvevN2/4TvfrhtaZZEoTW2YSXNHFVUdOHK/aXRysdL+U1JMqaTL3mAeXmO1piXjW3SF9vbe7ZLPvnF8gTHMkghTdlvI2KYgcr8jI4PuIj9CJ6M2nkuVUj37m/YmNOpYUqlkk+1ZxYvEnb9s9i/bloZZq6yRsY4o9drohuGBiEp87nNxAzZiaCC6YmbQPaUx1DDmrtmuXWmIrxbn4n/pdnQxilt9QUmrTqbLzGkpL1LOTkZ8VfwY2Pkpk2MHQpTd+QU6bSLujtd2Axs8PbfWD2S05F5cW47ojilPis2bAPar5e6gHgxNFRILJCmiCc6pLlSE+i8MWV1AhanFNZEL9ok7BtVxPaduPKDCTl0Co0SVAE7Hr9M/ksiI0VG91RJU0ofGAruqELz/XHQbJC+yR5Hvx3APABbAuKcTmGmIdGhwRRkXCHRvZCgFB+hihjgzwVz78XVfFOd+J5AB6puVvHb2/K55TbQbtc6zh+ftczPO3HZ2CHkkSMLlXMnycfs2akj0YnGRvoo0bU1pQXizJZ/kxgI709KTYenlPBG+mqEC0u8c6Wo4iP+Hw9X5LKpLwWC8CkavfrMiSNhIZhZyIhNKTKqhsv/AIbCyk3IpoGdRcrbBd4Y9wHzIVH0aiwOVI4BSHq9h5Hwc/jfy7rNJUOrn1ydQqHBgadVWmUcKzKfiqp39pmX53ktvYMVhlWbZYZu3bc/QZnXyVkZF0eZmUkXmVhL7MyEBfXaEzvVMPZiQt5aiSjh50z846kJZwVJWTsHTAM8u56HcjmsTpGPuUmbIptRUuVRwzGBw8IczIT0O4PaiUGuVz+fykUC+mM14e09mnLxb3hsd2yeNjO/r0RJBWHU9vdnCwNzfMy4cSFSMURkVTEE4k4lkx3jle87N0eBvuFr35AL3QwIDhXmLv3887D7RClexix70PLcP6GWLpPoxmCYPCA9fR4c2UsPV/wCCsYE29zEtxJEJYQfixr1gRzVUQovtv8j5EbhcgMl+5f5RHuOHqsl+dn3P4uWuFu8G2S3MgcvP7ZLStviyOhidFF0AZoSqHrYqqyxo0zioG0sAn/mTYU3kuLs7x/LB3uWbZU3k+Icbx3IhPuaI3o60rx7NNqUxv68n2aFPaaG/l2McBa6n6X2ZwNDW3SV/+/0NjaOqVbFK/8qRprsOGl+Mylv7xt+pJSEMx4SnEapqrzJrOSkhfv4CRvuNWZ7Yzt9aBPQDXG3du6EpERdVKi1E8swZ44XhcdzyK7OWZAfXnemSoRWhiLzlCVATDxoYw7Wq8W2VcJAFP3yDZwCGSMQxpKzReOgTvc5FIaDkEPNjD67SKnZmSlkZiJMOjgebSmJKEeXiA3jC8JJp9KisR1aOc8FLwypUGvycnYIPJKURErCMLL4qXdNH0prdmiFuydl+gjBmylHcIWLAsJu1XEgEDkaDRt6RnHuknccNfMH5XaFs3tFrujJkJlR6izPhUDxWOPMC8dd2MifsIgZEmRzCwJx2RvheilComRjSHw47Cb0ThjjqKZZeMAz4ba10DLHg5NTviTS2ru4IMLjsfVeqmlg877WBfeWT56uo6turLlbHHxkryhRn+tISEyph7qEVFxLs7nv/EVZghF9vEaC/9zYsJd/E/Ub3/E+fr7WK/afUGtLVCf1zQdK7Iww26JeqgtHWC9w5pJte0Rck24+CLalK2/aOPrG//dH/DQQBfZQkcQWdH9TXlI1MkvVdPanSltUKoM1M3fmGCBxiUYhoWEMsn10arlCN7zNI60/HsrS5sCzdRVIQE6csjo7fMPVYKiAr1daSNBb4XVvXFhAs4cllxA+yxwOb+6WKWbjXGBB2ks6HaoS8uSOgKi6r6mIIQpWyRwiND5BqePKqOS++Jn1hrXbXUutwNF1jiHeDtueplaWV8F5Yzs1IYjRnWQLs3QP3p69Ic6tVI6D1FIUnyWDExBo0UscE8U0W24gaPdo5Nh2LpDqfbvcT4thZNBHySfdGgHqmLZXVbLwKV2fgOdnGqYC2YsFR1wcHCXQ0sE4G/j1PzEnYCIh4VZvg/ngz3jW0PGWDLKT4oxjal5zx224Q6TlLnk9PJ2FbXkZp6X03D+JCEJ2hEPT6nPUhkD7Bs7tFgHws3rNN30++vVPfIWMHZSIP1ZA9QNQwGlvPdlaD64Z9NXKRG+1NLIP+HBz7nv2aUphRRMt81i5+zCeYvLmHc20PvjagBi34HHj4dzN3/5N6gvQPOxnVCitrDFGt8N8Ea9BltibHX9mIdCm2UVSZjZdnIB3QFlwjDfBghDqesa0NJCdxC/a2U/CjLdh2g8bYiqbUjTaoqclnAjqL2bu/SILKGVh5moIsQa7vhewfrpqOMjHqaeQQvgA8dwxKPeU5Z6pBjK+2da7XbVz2ZEGFMWbT/o4SA02ZvfmALigjXvusdDU02QkzLdmrodQF6dlm2GM9mOP5VGLA430hGKnx60PJ7/zIOxRSNAnew94y/FC77yq8LCKNT4bZHI5TWxolVnqPT8tNucIFDea9vdmkXtztkd3ylxNHJIWn4KUTg4q/DFGDiRUExohdhENv4krHq/fmMKgmxjPdJdCyrXamRI9coyHHh8WHN1mQw7+Q0xt6HhwdBK6iifUlJD8REhxpHUesS45VI/XOFJnusm2qAnV2w+Rq+75ZikTneHjZbeIigWI8QPgcXTkXEv+iMPrlmJP70c1ajFGWy1HunrXJr9t9m+yVVHGN1S7Hy+lAjEPAYCKPo3dg9pQMs+sBAn5iE5Dh5zhV2Qu5PMl5Qtxyw+zWbwKJFjTsO6BxZuY3UFG8aF0IFsePs5CG5qPZr3mT49aJiGlngtDRgDuzzxrWFQXd0FYLCKDDtzzhgggqlwpoLq14T/KNMLRP5E7/0wGCKyxBe17Q0FeupwZtFzQld3up2FcVOncjZLwHKAG4ve6nTpxTGGQ13EZJ9ipI5coskHBS/XcYATpwXxsahfySt63AgWmfDkqPNdJ9NvTEbywyzgbt758um4KPkDZ67a84vY9e8dx43S9O93k9PCl8+cacyItPB71/PCFw8cQs/QlBjBinw+WW+G9fY9coCOC6UqCp8YK0MP3VLrHeEh7QsJml2hlN/fZPArEd5nFu04NgSYlgd7dEA9Q9dl25b94iEJBmS2I4TiegH4+rMYBSe7jCekcg2rsZGTqp3bE6Zu+iRamgKwJvlPCVddUXy5+KOxeEuOiTv1k8zENxmWf76h/RImOivOlPCx7WLPSfkNrBoekks97Q1Wx3OUPS/2mirmixF2ta2xYWbL1pOV3w7mKVVSaxlobA6nOH1q+BX+evy3wU/vHYcEQ1W1/9u89VmT++lDjL7mX8SuFJCgm6C56VNNTd54AppWWKIIp5vJlPN8C0ynYmUnI1OjI3J7bfSbn5UZk1moFFu0FvubTj8FjJcQvgkkhXvQOwTe0TxSWR2GcDm/AfmMv1T2QElgazhcJCAAilMRk5U10Y/53TsMM6ORH54mPDoYZgrkTU0cf8xE9+LE23NIHtL/AOD0qKAq7qKQWE0uI9bD+ZfT7Tc/Ge7yc8Iue05XcL/3gi5ic78Z/QrCcLtwwh8hM+p+ijRgtGgp9tgu5kpkhBJUslmZoOtHiO8ocEixic1k4yX4T28XqZ5zv7E0NCQBCejUtMxmIRDh0lML+KTJwkMlPj6X+vzRzhS5TRScKJ0Qo4HDDO/kLxhct/lbmlEqJtIncLw/klfMbnv+G2pNMRDmiunY6xJH2JQ0+67uWmSMuyi6y6RPkxjNHp/75Wyny4sYphuAt//bTd9bQUCRmEpXWFnYLAVWZk76uEN2pKoysnXD2+wBZdXUyLw23sGekxeQSMhwsfAgIQnAAVY0ilNX2XQvrJ2sPV339bnWoZ9YQoRTadVoG6ZExvwQTdo02BOB3yRr8NfXuJndYDTqHAf+3rrpPQxeDdTuFPIF7y4TfwBojsHkeEFCcL9HD4P+PuElutgnDtBGjIKX2JVv/IL/3yJhCr+ekgv/iR29yVTLwP1Iis73nW+AE7W6gFxHkfc/ql7XXftfiSMuhm4rwEC9BgG4cG5nKH+T+5avOfGbI8So8Ga+09oHjlD6e5kd8p4saOqp9bAAW3WxcwP/QHc7XQ3uUhlZKsV8jW4iHmfEhOtaCWB092pddtaR17H9SYaFroRPBIaIrB7ZLJ2PEb5/2qeiPhyFlcsmbZ8Ps7ytyEThWaHh4aywtEoFjOUNsZoYQe7tt0edERn9qkQphQKbK3I+V7jj7Z9C9Omw2E2DRFGh8E9iO+MK4AHAacDE/Ni7Wuw08WxDY5bNjP/m5br70f5e/oTVTLxgpOJaSmbiTD5qBCXqB1ZO/y6/+9A2xfgD/quKvrnVZfixLmKHvtTwa4VS+PDru0jCxUGgfH/ROxaquip6z64PbhL7u2q0PGunv5Oeo0PIbgluyQqHyv/QvSDlBByid+SlIz1iMWtK2AGjyUipceDBQqtPaBWgRA+HouSGwthygDSP4PPGc7+zFPukNr6lWWFxRvhzivZGGUx/EtjDG9TzuJ+fYCF3ZdjVZ9HX5N88IBmoSb6Wy+iVTUbVjYipN/VVFRc1ETA15ZjSaM1/2rtrfVGpeq+JE75msH1DMLsyGEek3C8GMUYBFg81qQ7yzeWiTeJzdIjvP4ObS6J+tQ+/uJ3d1sUaZfi9Pj4i54oVsUk/z3GNLWdEhJGiTC3eta2GBtwZsE9fGuN7U0sJ4QbZNLSMXtN4fGn7jvTW3qr4xnNtvhjiIWSjhFMzjPzcaPo7IKC9LT0mHPf7a1y3RkE5HN5rATzyqG4f4XUKnPOMihVk+2lCoM+owmpfGRop5keENug+zD+pF6RhkovX8oGkTmSUKSXUuwnBXUo7Eu2OJeTEfj2AIXJPYzzf51V03CVoZCKEBVKJHEV8xqFB6YdllqrYjuDiyr2NPhAGwJkmX4BSWvBbnQWp05afLbQIb1eFPqF3tW8qxvanZRXU9JgrrJSFUZIVeWnVcLVD6RM4EkVp/I5eRl5VBohjRl/BlauQ/ws97aH1rz+W0gEIq2IqvIo865RJUWH5Y7M1euIOqP8pGKskwcdyLPfIXvAK3q6NhmFz0H9tmQPn5S56RNCRhuTVZGXfwxT9TH+G3u3SGxihfWcxZ5O5M6LZSw/2JPNNnfBv18ypLf68gq2ujwiPl55mt/qyjeZSVMiHxP03RL0yT52deD/LNAelHvu6sTjJScinxMOKtoHZkdY7OFaRxZgGWyxC6J/NpuTlbCVye2QeyGeK/Q7d24h4bYWwEuY+6VGZXyiMHJryHsWA5trHlmPWyZEW5WdqwH7SFZmJSF1k2NVM+Oaf/Qd4T7LzOEpz4Ineq5tfd0Ithl/6104o9oQOPbY4JqUT9ItXcf88Tty4mbPEvbhTEGGYIXcJ7WBCWW3MQJh6soYqawoJvsJY/OOdSyWnE2PJad30PoC8z2qNHBylnp0rl5H2CkCx8gIwIMqQKLlkuqaR+hsi0f81i5TzsYcj9pY94Ti3mvGETDKaM52At2LhKPNlNqpm+teYHPu+XmfHxEcfudEHZMSBtPGnDBRb3/+s78rrs4h959j2ArxCd2RWYNM4jWLvtZOReNz8o8tzXn05KADtTHNsvyQpOZzvjwsfhUrfEgdF5BZwi7zyfSq0KQkhqt27GzUlnZFukdxQ9zCxV4Kt2qxiUDJQlM58usnZC4PZSX0lNogSHoyqc7r62ZcTu5WvPe3hvGgT+fx1R8IyJkm0wMOreSpHBwOAGwL50/2TgT3F0JwK76RfDIfG8bhy3eBnHYFI5KQYow3dRmrRtFE7PHHVgM2jSxanV1J1yd+iepZrnwk7yp21CVaKaGpabSpxr+S9M4hAswIJT3Z3+RHDMjh+71H9Bv/3lYr2PhVLEhXSfxfUeS1A4wSb/i5n3lcIzcgHmZcmP76OXlGjP9ETAbjTrlwGP2BG/KvfUneBr7aQyHUlXpNycvIWg7rD/0XyV2GmlcgNXf4oYtZ9huSRG49EY/hkheYkph1ui63oedMcSOwASztymFD3mJKUFJR8caWUWb8DcARYv6pXzfXpTR9czbs0WR+Pt4vTtDhiMg2Dr3eBtkpbSps5NVlP6t+xuZGGWpAGGyiKYvH0KdIpGmXdyned41JMMxOad/6gXPbs3Cr2K7Y/z2qRESX4+4r6zFed9di077ueT4HdJd9HmlzbWCEFlKqDs28gqeD27aDnYWPyBoT2jS3T4cGJ0HXn2oMHmrIs+7P9Jfa3LfCWxF7Z2fPohJXlmq01g/jSm7tBrmxo3mp9x3tw+JIbGVZoPM/WtNpExZ2vcr4+JG9NunXLxlZ/3sL8acH7k5gxSjYkXkRCUSa9plcFjefaRr4VsnpxqwmBjjsGpritmTGy73DyBbFlGF1xouR8EL9HZswyGmTwXJk8tNXZffwsAK93ZuM0/Ft2eNCyQ/7shbTDJ8d0tv0ZTxgfDaTvZCq76itAA5FRpw7KNF4HB8QG5ufsTnLJj0vW9y+DfKFNZ+AxKa696hVbMh+epFuksEJDQiPNznhUw+bVsUFjBZO9zA/rIb3q5ICJxsVQ7OhCCeK35uKloZ8g2Lv68aog6cPFYkk2qyLb5qAB0ndxLR7Jj+hNCXOJnKijBU5qLZUGUGSNnHONwgfhfvpmdfiUDxrAzYpgXmx/7nnSfa4uQGMNVAaGjv3HtElcjWC55VZ/la1h7CSNs6jrE90JJZ8K5crvtyWZSuybX0r5a7hjABH8kPcP6fCs3w6FA6X2LxtGMwUgs5+UH6wBHt29HsvQXEyK7AWVgxtt2BkczL7Rhp0rHDaBVmCynb1IkeVfXEwLilKikytY1SDM0G16mGJrIyBkUZtSVu0t5iN8vjbhENq3yWlEZhwlO9r6hufGxBr51dBfHFYXYJiTLbdjh5vYRBclma4AU0qeA0BjOW6a2VzwznCvxV1ZBZ/SOWlGm1ECZ88Zg+YONzVscvUArfKsdoqsIw3aPl7SLzVc3lA77cavmoT3gRauwe7j8JiVYA4iXXZskCDM2lETQzH6PSE7iW3jCCiE+Mly8Lih0YNuvwBCqBScbefYYRhDp9aQpd65f7k7vEDwlMqpXij3Je8iVFJxy8e5/iJXDUdTCEu/sMM5aexLRKX+W0D2LZd0Qvs/naDNQxdQqHZ0EHD5GZytlQaeydvYtutDGUfCfIElBMwgaRsYh7en0YZCsUuJVlasc49OiyxtJRtLDDdYsLsLf5KiqU5xCyFujx7lW73caArusm2pkcXwkrzzDLRO6VtLwHvRpVzE1JJ+Mzipel6r52pUGu1199NQySRdwSslyNRXcn7pMdKpI+T95KI38GTzogulYneo3EpioCUI8lmD7HGFaqyk54Tqnv+wKsP2onyIj3WJVqd+TbfellI0AMFtQP1aO62ytwbYoViVcewouzC7AJ20A/HI0ah4GYJFu776xnVwJ81BlVpKi/elahZ7OxI27bSDctsJsNbFRV7ruBTsyz+6h4vAJWt8dQL6vFBDX4+TD+EE47GcNg4LJuNQbPDsbSKItvk/E4BKPcoTO2ea19fEc2wXhr2K/BETZu7iDnO2VH+AjcF15dMVkAnY7Ad4nNPrWbhwUHj0eMaVpSsmnrbrYNrq9T7iP5Hev0OF2vtUpWdIbigzHom7Y5V+gG68QK1FyflahY7m1Qga4HX12sHuB+HbzeGy3gFm95IfmVnMhHyFjPvGJeL5H0Sf3KnP3QsUlf0pwVWFgf7aDHeQ95fr769WcOtVF9XX4AAXmC6tlkY/gczAyT7BKkSanIzSgHQ+p8VVrPwJr/UvsbXdY391lqvTGAPiEeKtELNvPlIDtGuhgkuRR2FxYIgb1gXtrR1zL7zM3OLdGvbe9vQluvTpikMbIFvvAnaWB2zGXvNpHy8x/GfLufgi5CMpgeuTQJR/SK2Lp6+veuUhC1/hBifs9L7O1MnbsHx6+2P1K3jTleilus1ZJQZimyafGklCne6PZBoWw+H5GoePA0aTS0e6k1gkOn3mkR0KUurVn56TPbdOUhjKoqGG1eyKhMCCofzm/5m7lwIyk9QxnYlFidOhTIwBeUXmmGENgDgg5ddZj/ME1ir8+n/rWVbZndLe1IHaHtccGch+5NJZ4fA/qquDZyKqFooPnWvXs6N64oXhpUP5ZFjh//VySaYOephH3g5v66dqD0fPzvtoM6d8u3IxvkXpSbAaRfjCrhAAgrn261dXjNIxG02j3sLCNVwfza5FOf3/oL+TB4/Fn9J+l1BxPO9+A+T6LEe2hhttQxxvq5K8oK/Y5z+Hjt9dcJXqKq7Q2jiMdppBAvFnux/uoAo3453NQgMR5deMxgGb5OKL1tMUJxMoMThJQQVF46mKL2CyYqzPac/+s92Y7v7bAi7xirYkpW/3GjC8aRbxO4meNlEzLa5f85x8Cd311H/SAHTrF2NX1hBii5Y2qQHfGfx89/9rVP8t5fCEMCs6xDA68VrvI7V1dF5iTEJMdLWuZOui/hB4Izj6G/1BDgnv2I4mZoXulWbXwwC0/wprpV7dZWmpTfWmfDumTGvSEPF9ChE7dx/TPJZoVPB6Hn9fIl9J46OVGui2PeeoPHBq9G1JY+DP/+tpzBZnpxcXajjqHUj0P80BPC0WrCRb4fosvIUTQ78c2MT+PQYxIfS5c7v19Y5Pj+2x2YM1nf0DHfm+E5Jzg0qWK5dot0mJm1MTwktr6wJqTz1QxY+etweEP8wvzbw7VYIun091t/06nt13t3DxRKFHq1K3EDJdqL3Vg2Ve4RjMhvXYRSG4I9KE9d9NCjvPdnivi2R3SD141bNhy2r4MSTnLiyu4KLDfTJZofoZbVnH3mWSsSJqkw7RCTX0GbgZQKJzUgnZTt9y8thcSPKGIlnNdSB5unpjwECmw52LG6P+E07gCoFovad687K+rpdIW+H8S++qRUyGCTv57us6n/kjVBry1vr8ZP1G+l3uPW2+qfTexqeHpxafIe7kd6YOLGEe+fGpYfjaSpqGnccQgQrSvmYJ2qBZadVfCujRQU5qQ4aiqLwzLTybU/1My0W08E6Dmy3VKqm+gmHWcDIv0dRroN9DgB/dHiaXqY0shlV1kR8p+Jhep1K2yYnBNSHBbAVg3TD5zq4IOlf0N0ePlw3EPjYV8f0AdUV4m9OfQYqurVGOdLvCuXrBzmChM1A7XngyoNZaFScWCtMf7F4dL6YmFA5nqPTwXh6gRADGK52d3Y//P14KmUKC2BbUlqwHP8f+aapHgF6dnog4A5Ti3P2Y59AO6cXJ50MXziJqqTcat8PB7Qz+VodwpJedjL8JEQFBTSn82lviGbbKiPxy5nCwsKtp9PSYNPSLIire2YixtW9o0c+YYMERAg5sJ5xfxIe7s0NnQdU/f2cgAXwkU9atlfocwB43FhZIx/b/+lsbi025RmXwyc1wpc2ReWqgXMALfCszzufgexn7JqbH+nK37RlHf98q+8j4vQc0Er78Gf3ofE/bU+fhL6tmf+QHaEuluYkFUYVws3GAHbQWbv+1z3rpAD3eWD+CWJYNTsrNi8tLaYAbvcJqLnr41Ffe3TA2Gmd8DHgo/eYQeeMqIykJFm5P2Qe8RDl/bVuIvDHB3SF+zKejk2sfhAlyNC1lj9fPEOBQWcEh1WC74Hx28MeqCCqEQcAA/1O7mOt7RA7NnhmAVjoCDa+2/G1ET2myrWdSE1kmlAVhWBJIpuJpGTWCXUeJiN09LqdfLGT9P3/EalXdEvcjjdNey2/nu5PT+KKo5TCTKSN20PXSIgu9vE0J8rcvvzqUv0TWX7lpvktKkjcK6SHs5wpt0UgEoTZFiqvwUPKPcn5fd007fPFC2RlRQURtFIvHCS+joY+pfxy5HViyNea4bDf5xklKr4kINf6xnZjV/dB/9RZZLvhX+JT+dv02oRgRvsz2afgq8TD9Nsln5dzUCLcfaK56bLobJzvGFANu/6mrLHlqHzx6B7u3hwwF4eLew1ztQ2T2kFZdEU8Nx0J/QQ8BmQ5FY8c6v8J4IqDKbyyUWeE2GfV9gf02WUo7BVO8gylNGab5qnNvXYhR+RxoZCLgkip2xzEw9eG17VFEIKo69OrTxHiAEgoE3S6pYzTIGhLMFHSg68YfPM8+nByXvzsZ9sSlr1RL1nrWStrL+ui26yN0XeYhzbJ4TPkmyFD/s1yxAU49K3tsXdpf8Gr/eO3yan+xeLshEJpYXzYB8WBROHIp5DmDciwpKcQHJ9qRGw4GUu1h842y3fdYt22VX+zf3n7FcrT7M5c4i9pT5FyIrs/quRxzTxQjlLV36PMKl1QJ90hyfY7swwsdwRuaHC90uNXyqtHvgH9hwXAQEV6z8Yc+wGF9nhgv6J/6GMxEO9yghMcAD5lCVAAu8rTrwCugnspiQ71e1AvG+t2mDDApubkaHdt14n5ADFUwIQ4Su2/EiW2IH4OgsO53L3cHPauZHfDeyL9Qy41lNrtCUrJNYveNfsTpoCpfyfZfyExc0H1BRGxZ9B8imzobLF7VPpZj+eDaWcoCaBpt+toh6bLxJNv52TEVOKDaxZTqf0xA/MD0an9M9sW9W8sfTDZdzniJqRkUHLdNlI/3RO+7uHpxz30c9KOo91PeM5DcDj/wunqRjJecvja0GKEEkolLZ6PWFYdJh9ZHNRSH15GDcwNTgFT006LZj5vfOZYDScRROSXC9S4DLrXT8D/R1ElxZTsEeTt/FD35fwAe/SmWHuCnRsFx3DnNHUjOjBPycTYVqx68wBzf2BOflVq/VNM5jBiQXVuoF8FZKF///ZP98wNCt6c+jRhJHfRLtesgg+Dg5OYIQzulno1yF7VsX6NgvFDmHTMVsEcu5tJikOOvfOFKxkt0jnS+xzJj2inQqmt3RTfaCTrKSa72MrLstJZF58MWiqAHzdVghc3GCxwCdF+FCoDGNTbwO5IfkCDDPU12M68zStS0ps/Mo7xionpzhiHDsiqrD5cWGT8gvQNCETmWP1zcZbpK9IHKt4V5aSsNa8wMbgB1EM746DIuHpSem67Q/UL8TyqXtsdXHqTGt/SGl2Gezn1dF7xDRFTPbHMIdNUZlKB4SlggIgrjkitep70HQw4v7/ZyfjFXU5gPYvJhs3K8aEBKIHNXPZxyMnzAzKcXlyhlLlqvbBGWx9hMKXdNb/BVi+Mp27ESexXebsaCAYfo9SyVQRrqUsiOZI+PsOcjBsONZsbMk1FP3rpqMI5DfU9MlVrc+43YLszaPNTKi3rKvMf3u4fFYN/Po+agbEa2YezyztwHf+yfw3ubGfuNEx1h33u9P2zprIOyNZjDY7+7Ffuj93ZLDqJAtXa2UW8xF13khxIlC6kfFEa3POtRHUk0anQL/xVcHePlpaMnqTfEXVVWqVc37OJiU7oyJR+syS3vCpxmvZBTnh/oh17phw8GVG1h20H8s08c3bAOeeuTKpXQZH6Whkdhfd9IRmYLfrYBAedApjuMDHNkXg8BvRoZIXlMVsCdAC+eva6t7gXX0TjOcA0R0r6rfjTNHa6pbhlWCTIvKvbJfZMqoQ55kQsbBbOg9XtqnVX47wqciJrcQMRryCAPvYLAgMo5KyW+Mm+RB1Ge8LN6ubmQpQrW1Sr7AQXtv9h/ZhFoavCEKTSx0DXg6luAyR+R3g0FR3/vFUk7p9aB1SwgF3pjPi9rxTkK2UGUYFvcgEU48ATy7ctb627nqx/kN7BrVcKI2jqEqCgPuycubjmm2Fs+dxG40iO7I0EgnrkbkF/5+bg2yf3G/tohIVvxP7vZLWxEs6qHpGQCrb8cfpERMiOAFMEQgXFVAjt+iwRYGkG9I+ePZHoyBeU90oXisvvQgDvIixZ6SyID/o1GNX47I9SpC+8Zx/YrzN5afcBfjvxmPeDqezfDFj4TdxHEzi1R1FaPvqM9FkNiXIlFSbV4mqXCpe+Z/FgaFI3kPE6WPq3QGknFY+S3pKJY9g+QwHD39l0w0ozz4sqi580HvaPyFaaId7GRk08k9AiAcmvfaR/QXbL97Chn2oWKmopyiXw44o9+f90A1ENfif93Fch4hPiYiE3ZKAhbRyoKemrRTEmWWFzCK/hzNdDdbdTg3tAfSDawF92zf98H08Zo/xrPmOPkLXUMAa+KeqUk0FXk25kuBqsza+i3BQKaL+sjiAh3Yn2DsPr7V/ar0MAu5259Ew6Nn4xl0KoEv/nFt7TqhvLzPHW4mtyuyAFzRuUkUQ4mGxvfGcziDB/DWjswNiDcHTaifhoyCCTib1e8xBXE48VwCgEKWkTefJnTZPa87dZ6t9rt4bvJUvoqiZCUBmUJm5K5X8YtpwmyGFAx4fsfyZn97WZR8va2ewtCUuSgH5xPsmbMpa/OzcEG8XHU9aFBl9yfRTCzygviFVXRKhxG8i9j5FBX+omAn4fpGLS3EM42xnugqKGpVFfE2PR1jI+uapKVyqqINEqpU0IYI4bkeBKLOfjgkh+gfAwHA6Ny+0g4xMLkfwsCTSw6B8NZK84mprD8O+lf9sWJ37VE27HtyRv0ssHX/XPKuHiTM4O82+gnE5zepsP01pWRieObYyynFtuJq1QXf8qKkgaA9rscV4pJNXWp3zy9oJP5ezCZpjo9T/QSODe3Mtv563klYqPhd+nC36ufVz7WbBa8Ovuf4sXQhv4gYGrvThvMb06r24hr0ix5xDww3NliYzCRwha568dEPatfJdImOehFLQueV5EWO/zfTDzKysVe+T/1ANRR4be1dUyTqzgu05DQxVAVcGbJgA1H3NYWsi2Y3rd0gdKMDnY9BWxmQ0deC2uONRSOGkrn5TYB2DFleERXpDFlqfDOm2e44UpSxL0H4W9caYLp0f7P/eOmUSjGlpmP+rTNktVyO6ZkbgkHbAP0Ejo+1BMMofetriJW4/zrMiJqsHusC53X5mr4sYIyX4BVbPJevTOhMrHrrYMHp2ZwwqkV++J+INEiyy1nx3rS+X16irXrv+Ush8gwbN6VvSiZEvt0M6NEjnMElCMD1XRMCAZoDbY2tDFSa5rOOvLvpIXO78NGl+WJPzpetfeNfcR6U9VCve3lIvW9qRCb5LSrceuFAebUI1vWg3yukOaFYeXFu2FAEk3V8jZ2Lj4ukA3GCe53eoJKag4EBnzrmpZEq/ftl8em9lnUKTakB3DZ8Q718kokkMt/JdG4ax8tu8U57KM4aYmZti8pRnYGMd62YIvrZisvHC/YbaFX5QTDb+QmkWrKOtgwyt9i+6I8LvRgXmNz+2GJI5BIzX8rdRn6xiThor0QJ5nYJKvgWsF+8EF7VU2XHbslREsgB1BkgyfSCkdn+tqJBh4jCqf+qXTCewVxmiGhA9IXwgVvhtND6mvEH9Vm9zsHjFCizTp3dTvWaDclpKCPwewUc2wIdfbJaVCXoCvRKPcMlXPO50D9w9xgtNSj1czZfPustlTiwOc0JuNOUe2MCwBE5ovMyDkZrKOHPokYt0PhSb4jDgBd66ukaDlMUoGHLyHCivUyTfcXzFPZj+iGzyRr7Xb7p8vGhIHDDqLGeF4/6PVxT9qaKhkx7MkNeWQ1q4DI9Xd+Pr0PN02htOzhBjAcGt3fDcdlHw5VFDvXembnKe1yHBkpiYy/IpJrC6tfeTLyMfvm6pqz0tD4I+yCLP2yT6aEv2DuZEpF6SNuXEnmPD9sZecn74e4f2+SibqMklZXE4krwaCC4xr3BFzSkzXHNmiU/GPEg8dkxuM0zfg83N+cjLXGxN57qNP8ZY5o2fsrGpecJuUsq4zMSq/KbX2UVZpntoCeW57hiZ3qHHFyne2Ehl58Z0vpnfNylRcUETGdaATNB0p8TEY37aj+UVrWm3EkZkDNdjBS8EcWMM+2QmC9EnifjIJITzxDHrx6N6f6PM06XChbp800nq/JskJ6cn8PElWGbQlO7Ngq1GFogFpFWQ8ZvNXxNo20XYIoCeBBLSZIxmlzOcP8KR3j9kS/AfENlXel++0eV3OrEqJsMCGSiKmx3XBwjZMJ6e6WETccoRaOM3BrPtPa8wiQcPW6eWXFoaEmOzJKYDfLBdy3jBa6vpQnWKKWmbtNuq2dZnBLRkzFMkKPHeOH5jkR+j4wKr3N9GfCeKJW6O/OdLobYbxtlD7qO8wdRa/6IF3L+JOZqKR0zfOO5d+gKq/o2inHMzOj0OhCoKbAmjxH0lDa426CctMSxkgih8tn8YRtsYKl+sxjtfHvRKFWuflDf05viHUiaNhBg30SUyCK20XP7Ng644EoyIilT7ykTS0xPQIcZVVk9Bd6CfJZFOSumr1vtcNmf3Ka7NDR/h5A174OSZwkT+BPHHah6RBIJFBcA+z+z8S6h3GPf56QbOfGE4d+UoaWmq2StSOakGqNG9R2TGZlYT21xS0pPbNN3aTUs1Op2V0pTxslXPjUPAwOmdsxZuk3oU6V/ORtRD3oSU7t+ZgOKOF03W6ps0xiS8VZXKzPlT+c4SrK/NIbUn2kuzwpIvQCLZoYsWHpEEJc7wnSxQLEUgRNtMiwaCh+Y2p7XEzwl2ifFbgaCAAua+lakIsR/o+SnSCsjx5JhswkvjojI3gomhL9A6gB/Tci6aawdiWUTPANkdjh/KO6BZQkjvvSQaBzc0MPQRdu88rR+c1eLpKP5RmJwobGOwtGfiJzVomWLmv0jJ+cExtFzwOdIaiC5iT3hQCp/sS6FOn+ItGih7w0SAmyuggYaVZDSN8W0bIN9UVCOAV5VvlK2V7nOlzRe6Ag5FAqRCnmc4vr9eAtY4fHddK+0cVPwJzeiWEtMLZD4SZVuXhs2v/9wFTOaUc2pRmNqKnKFHoDli1Hc6FDnvcyd0J9/vaPZX0B5eQpEJ5+oMkJmwu968xXz/5DmHkTKnNOm/TI0cZD7vwTkVbJU0e9TdoECMRHhL7tO/0fzbpFZg0zI8cUXkG7baxnRELkoRF4CNUw3uTiQP8oTqaM3NncUE5A7NTKbF4S5JMsVVZ8JKpcwtdHlQcTs9swMgu1yVHFEXF6Ci3j311qzwe4RjR1WsmM6y9P5QVlFE29fhFOgHmkmc8vBoUzGByqqWalD0wNkxZx8e/0c/uwOpFbk0LZ6VXohnaabb5WWJpTs1ZzYj8h2qmGEUpCTwqzE3LodLw6eFxYeZKxVvmUS8AJjfDMt40auC/nIRdsAxU+lIDu0eE5c1esr1fW9ad0Z2nPe7e8GSdIQxKqJcK8uq+p+B8+7eWT3NC8iq4EWy7p6WzZZFUuFi/Y7OhKVbuRlo6HdKroDEe5ym6fyDbyvXblnNasP6C2be8jxJNf7cFAbSsGnZUHgNMHm1cRuT8lXApquqK86tKIjsF7z0a7yVNNV+L9+bgIwN7zpYYIKy0U/j5U7JojLqWK7LDrvaNC8jlYpOFs5lMO+VoUCg/tMhBQAsCt8PbW7JbvCwzrt7//ov83OeeJmj5rlNWH9OM5yhkt/A9qz/q2aUVpWU5pXJiWMVnvfXaZU59EmyU67sXgS+rteOSh5MUSyalnH0Na4udT7yimhLi4rYtmpea/EfN7i9lv6uehOMP6gyEMYV9BhW9LHGSaK91qZBD/GS1PCkm5rXURk/S2sIpKTK4S+lra9Gn/Qi9mufIhLnLaZGVQL1qKCxgWl/1/8HNG8BOPWkYf0Et2S1PGnzT+L88iloMDfnYkh2GrrJYc6LFG3Ql4SrwJ07FJulGdFVdkhToeo+8cmGghHWO1j4YPCZTdHVm0ZPDsKrFXApeZRq6LonN0yj3exfGWm/SBd3y7zPX2nQsdxNVNlDnQ2eORy+mh6ylhm7TMpRuLo0QPLLiu4w3MWBCS2efvWuvSeY0IjEoa/04VilbtRMsFxz6fHNJT/q2qAKCJNnBjDVvYpr1eC9NHrcE6x0lr008puSQpss55myqOBa4hw+ykvSDDmNYZIJ2FlS4D/eb2KxubS7icd4W8vyCydoSt3jAqTA6PDvm5sxbJ3J9R4XnPenCdqUhJaoj0U0sqFE2VMPWI1ai1xi3w8YnbNiCx7G0QVpQGXXUT3Be2sZEaHCfixY2JUj+/8/KRxNlM8Rp6c7S44fYKIV2JlQTC6r9UHKb28l2lawNlr9zwmZirBbeWlMLB8xmGV0i6WU5LeLW+uqekk1oOEF2kPtPlzMqDoiavzYIoSc85mkt4G7bhtzaXqfzgJcT7AxJunTPZs3qPQwvSR0LHiTezXxAOC7aXdM2YGFxk3nPGgGU1Am169Q0IrzJqjGNqb4XszS1aC4ehbeyy5cM9JPPyJ8SHCBuLUJYLfsNQjU9PnXVX1VPJt0OXhIOGeruMfu6vLQ2L6ZAeKQWm650Qqj10V279KhDSi3fzqsPqU799ViDz2PlTMKEFTmHLtggGaW2p9ULiXbCjNL83Iql6BmyZK1chmM7Bzsvv7hy7d1aovPxeYes/10Nvr2k0z7QldKocAcHj/hLYbKvfV+zS9Fp8Hn5FfEne+qBwCvSTI/1HjF0TpGE14GfCyHvPJUxdkHJTPDh5M6Xln12l4a+2O36IskDgtGpCASVAne0ItiDmfk0M/cdMREfxaw4E3Agq/YvHRR2MXIdFnB1BQ9zCWLhfS3yHZVvb8RiIuy1JqUzlF6A2R+2ivxodWYOtU+AzDNd5ss6KnrMBzvkRdIQvcNcB3rBPMAW3++5biRHPgvvn/Q1lfsqtqp8MMPeiuAE7y5NEAg6FQayDGSanz4bt9W2I+OahAm0SIKVzGhdMTMw31asSbBAGN9hsZ5bQDoVBpxPYg2bfRcpcB/KSWb+BX5raoAlfFHamrHesq2vDaaveF2K87ZdFxQFWXrTGF6+PmFe3jSIizmtp1+zh5d8ClD2dLRb7RWOp/r4MO7iak6e8AYdqb1I8dWRJrcjPuKQHJ1Jlj7HJLowL/AiXMxoPX2aW3jOo0IEJTkZwepBG14MgTSXzaRDvUHclFN3YUeGgUwvyIODOKUABDeMnR/zsFY1My3bYXwDfx/InFoNjFyiOb7Q3RQ1WuQoboALT/6P5YLTOIc4sBtSwKUN6jEbJwOIxFw6najOJcDID5JjwBAv8Xt4eZE8HO3p5U4CgogFJK82Pg/fFKIREA8Ym3Y+7KPMznY8OpCIL+EL8SW5+HBWAZ5QIuQRSwpI4ZhCMIdO9xZiMF58Bt2Lg0HnETtaHhYRK5otta6RAOehfFQMT5bKJ7FKcmEZqEdIK/Tm0mgQERvhI+R6kNMhwhA0WBBGA3PRGVSy7vZES+XkVoepOktd2aRO0b2iBMuEqa2Ok7pc2S6Ek5D6ZruX+5FaKVAnaEX1wfyJZyff0eDlxUOsusY+WfG8tUzq0Cd2LqLf2HZbRTFULzMeApMYnP29hkyAZosozU/WI090Ci3p3cIyugQkDNXlc9S7W01mFMabtsJSLyAfj9y+h8d7c9i5HgVZ2wrUFrH1Zx3s+MUJnW6CXaZaRpvEkcOWowzBZzI6al6itvtG8mKm3LZRy0ZbmxIRiJA0VQE2KdQPb5Eg6r+paUy4cSBdqB/psD0xHYpMq0sRzSEYke0/Dj5HZrkaFujU/WU072SVDgQHtsZqU/BIav/XV8efxSb5wwsG6e0KX1TxIN3r9Qi8RbYwdapdrEWuMGXCuzK69CU6y++Pn8mkOtKrs7PUxNTk1LLURV1Sp503J8DeL79jwLzmbdGF9/hVaYCGmlsld6YW2KpcVLZbUjvoOqpZUu8MKqmFQlbExQ9DAA+rX/s7hQM2lSesSwCD1nEfNhDYN4v9F2Py9QAvuYcTviVxpN0OL7+eM7Haim200hCJRbxdl7gXc3QoAixDVzCLUpcj1GkJp4NUH8AfOf9BPskxgbcMAbzIvMW5Al2mn+qOg3UThfsRlEXql282gz4mpwW82N0I+pTCbwEA/JMC46+/nRnXljgBAPxAIRmsvxfmO+QyU4zdqHFP36hRcnEJ3ajxSN1YYei8iYR9U3+O4nFTzHx3qD6Fzo2fP7FNpQPe/g0BvPg6CGKxm1FDV2zafc9bK4v/ylFlsMeRiEftE+6ziD/t2yhxftaqkvJXyE/l0NWoIkj5q1PhiLtkfKH3D+xykKuUwp/whVj/FLxlSrKWIx7CmwTmH85OIB6WRxKaKkxYt0afSxFPJmWsS9eL2NDmvEGPSF0UZGSUkMXUMpBWmtaX8M7uvtAi1Oh53VDgQfuVy7W+gk5FrGvfFfBqISkJuAQ52HioyTqXFXJbw6zoFdRrUCIqPrTk74zemgu/pPOwuL+cK9R4v8f13fh/WVz8eOUr5bc/aZ5rt+HnuI6lv/89ZW2/w6JFxkXi8WGt6pPj7iaiqQkE/BKlp6XAo5xAQ+NhW8Uk0Y6K2Jb7T45v3iDWa1v/sxJiMnY9uhZovJaedidYNNB1UIbmSXPPAci198prK277wrH8xkWPtIQIDiEJ+6+vcEmQ3f99jemfqZCKmf+pJ2nSFTMO3Qoi3mJykvYZWFIE2gWvR80lJOo0EivWg8swh6x41A8bIeLyoJNCWekL/qe58Hl9KZTstaB/REoKZOC6/RNR4bT5NKV/oUYialwdyvXec2/LZZgfqFB4mQj4OpKxOPdQQhoEJyVQmCl1waLkdj6tUyZj9w5YZZVJYQFAJuGNkioW+UL4RSLfbdRA5v4+XAFJKemMhQJtcfdDiMUjwwJg9g9FlcvchJeZ+X0Xl7GMw1PQdGG9ldBWwAxBh0s7oQplqz9dgsoZcHuBUAv2pzIrIMKICgiJ4dvOcUKXyrSE2eqYLGKA8X+TQHFmmzCsrlQ3CpHp4YS2hXUmsVKzzgDMoPf69Y8WNliJ1KDa+qh2uD8KCrMSpVF7Z/vN7dw/YV8QBUQljOsYKC1723wKNAm8Jhz1GvuMc91J8l4tr0ef/cF4zgH3mw9WUvlIIpCsRui5jOt9pWmc9zj0afklsexwoXBzM+qPe/kz9ap4h1xG7GLTr/UwJg4v8HCroeWgK1t//bkBQx3ceGtjaQjV8denTtrs9sIoBYIlINdKFbsQy8h3xNBUkDxOfmsv44zzpK2JEaRtJ471pJQc7Baik536Yf3Vi5clcWzYCCMgSrF0ub96Q5ghZXv1kfMtBMy7ne8ImJbF89urIW61ty5ZnukAOp9L0ZTS6EEo/afIEKrDr4sjQtckJ3bWUODnsHGz/LLR+hUlrB1idCLO9NomD7zenacP2zt458rbO54+vIPX89h0Lc7U6ESWqYFCKG5mo4OfoWBWiurojX57+02b4ynFXI/HmeFAniT5o/Z2Xqgif4Gd3LmGe4JwcWZGx8mxok/8JnsV3+eIzMPp6UcyMy04f+Zekt7IpFDfi45HBcvRpN3x8cHo9pVgkFsfSU/0apsTIJoaEXZ/0YcRTc0J0HEm0oPA3WJmG2kcMjM8MzThRpFG5vwRzQXtAT2zuZJTkh9VbhTgyH/sIUdu9PL/6IgCIIOfgvaCxKfEC3kKXSOt++S6+mH11dffy4DYpuUymS/meNGH1x9eiQDZo/Vk3Y+CA5LOy7b5JPh4WuU2GV/8vfRhYSmP9vA3LtitViPm8x4HORLJf8wLkUlHZeEtCofiDz51vg7ESNGca18jhP0+CvAbvx8WUiZCz+axHeX8rQcnBgIp8DX2rYpgs5wgTpDOcxT9uH8aR3+u4IyILW5Yv49lfGFpz3kbmat4Z/c75fQ+iHlPpy4O97AnRnvA/b+l9uaSc+nqK01V8gu7s9OkbawAktU5K6Nvj9Z5R4bASqQRQRUyMiEr+/C63XKI8CwyFe4rtxjE2OwNBdAU9H1xBz7tCwgUKnoBOgo30ocBRNBixL7mkvnt+67k7Wi12XtP5LcY3K0nxUQaKowOpNJho78kPjU99OXkbd2/f3dv9VKyP7UEcr5a+9RtCTuWstXH4ZPbW0js3bHdCbw9ycmc3dSApys3rCXRaSeI9yYnsWcoAY9WiPbkMB1FrHoKuGTm+reZ+d9Q4Mo0qQAjTDbBqUZVpjhhUj6GxBpl1TwsrfijutqCIzXnVhE0pWLcsmj0Xv0rxehq/cvkxCFf9zKnBdfj5FjV1RKcYf67nbzyqeFVL6tOXxu5fjxYmMkCPaPgFTSp2ahZipyKF42K0vbJlNNpaRYcSTuvCQJMChcUyiLlY4RJptIgkxmSCyQE2vX/18w516J+v5k4LRg1Kxi92/By9DS8Wsem5ff6vmonr234+olgYfk8lMGWCax/Ge7u+oZjvggvp6ZQvVRBaxWhJVRQ5voAurSb1gAyLm6j/ngh9bsaKRXkearqSLnqGPUAeW7m98y6gEuXNx/dbE033wg6sOBf5i3m1XZwy9/0z7rP4n7+cSeM6XTv75/vuTOc1KFG5MEzm4tTRj24O31bDiofkdnY1isjf/5ZBaUS/ZMc+I4kHzYtBGoAeC+mxzzMabXm7Z/VNIdq4E/G/W9PmMsZ7/wTNqRPAMC9V04iTj6ndjysrHxUXbFQweM2NnJ5PAuO41FSHYFoXrXHmn6OPDyNslAJGAWAH77W445I2FNkh3fA90V6CGkoejiA9mD7rsEtzCw7nAO+/zPTBFzaANB5OLRz5w6EJ0jaz/bYWPv6VmXfxVIhG/dLkG4xKYWMyFWJAmOT5nueCMpp7VgUKI7y3MZvbK6eJj+3gDvrOKI1NDoMFSxqUCeEFgfi0VTFuYOZuAagiMTK2xbMStZaSz779OeMax6x5tHIwqbStZaFHzMuubiaJ2ijMUvMAmYNs5ioQbAK8YI+8jp+UQWxdy3eF+IqgEynm4t6iOvYxax72tTCXTE1YZY7w+gZ4wmFPVFkVPTVcO8T9LrDdAvmLkLxkrPrMeWPx+h1MkX/PXffvLDZ2e1T+Mt5jUJuO49nwfXjzcV14kIbft9pmqRjp8qenznBxr1kG4uOqywJnlM11NnTKdcRBEEujK8qZkJD18tVlRVKJKDaUsaG9ns3rDUsThtJljNpbDFtqOSgqyEGMLWGCSDkMXfg3qyrY78dM+2Hwwh/H3ZHnv007OJSnGI1WS07kV0zzMT6FHEHQBLMvycjacOpUDDlqRGETWGRJk9mcxhmxPk47OyUSRjLms1yGWWthx86PlbsUlfJ2KPQLcdm1FaOnS6WdNM9OcBTjcLbalSL6cDHjHNhUsXwinJmWhgk2jb+aTpt5JJKo9VeD98jGPY5wwXSAyPOyyC42fkDS85LB4wWhLSr4cCDs6bLprNAb7Xjwh+shHlYnStaKIILCnZtPVh0A/Df0j9B5FF2d8MbhgukzQRFLzkvyeZPLZyCdHheBZ7Nauc+QJ6XLcjOJEGKh17952DzjeaFZpLmkV/n4he6ls9VAg9OvstDDzicvFEBDGSsyECuTSzcadA6ezVPJxC7SmgxqQBW/32x4Q/Emikde2CwEnho/5aFM8fOVQBxHwceiqNaqTLsXupk9gSB8az1oCFyjbigJk9qSfYUoUR/qM4VHUOsfWVTBVnj4/f821ma0tu3SzXsdv+jY2ORkX6MC/5tbE3JrdtlGla7/9I1kRcqCLmriwoRcGpYrFo2nQ+hYhoZImLXdrqGE8pO1LlkcCnJBEkAlwoLhZPfnNebE+A6CJ2q9P2VRtKla0tfQK2VWbz1N/btFe2luNTDdRG6VWlNyX39zVict4gcR54/3ptW2Xqsdz4RyKXLmw9wQSuhGJdYagGFUkClWnBW6qlWwemCvRE0TcHxAqSiz1gFAWRyAJTy4KFAoy6gMhsyge7x08cF2cweNnO15N84CgrqkQsW6xAG7y6AwV6c6/E7qlq3m/iR+tS7nk4w1PlC9csfS1+WXq4s7+3aC7QfiNaa79mzz+LGAZ+9s+LHHGzUmUfOBwboECYqJuqifBJ8CPBoZJyqpsFog9EGuLiBkVFNvJHRKU/WKqHf8zSAtzdGQIy5z//FQy8EAHgEusc0wbTbJNFuME00SdTxUyZ51+uVb8Jb6WC0V5MWwmtPixPkLwkVd5ue2qQaM5Sb1GTriJqom6j4nq1Dj3m93bcXYnHjwOweH7MbB6vmqzzo6zG+qdVcVlUdh8A7lJy66UDxwZSNm4LIrWOzq2q4CTo33y9Fwamu5xC5i8nYyuHiQymbDrsQePVcTlVdsofz3gP1KnXCjI3wjfgw4wptPcO54OMOTIcd9kOOTAH8g4kDy37IftCBxfU3ddZDmAsZExtIYcaVOlUnFoW5u00NsbFXr/n6XrvKOmTAj63vZomjB6KiBqKF4V21sTwjg71RG663Fz6pam3666/GlpqnRa03jStkl8WXAbTN91SR9+wnm/+Xhk7s/xbpsmTiZP36MoCFu2y6fGRJ4jT/fWtHcT4FytTIACTkssmHEAxQBqUjxVraZt4Sg7EWK2yoMlMFIs1/lzgByys2/eiD/RxH3IcLRwDjxmUAw/Xk8f4Chpjw6gw4+90YeLy/4dIex1mOOOGBULAXmWo8F0BNLwOo7sj4jqMhnY7eH09j/fMVeO4G4QY51idX/v7yu7AASRlYNa8q8woQMwA0ncvgZTdeDi5zvPNoSFxHKYC+e9nR5FbjZWrxHWUAqnsZQE0bq/GZjgK7aTqMFmhjSTsIDpCEvbv8Xu6Tq8AKN/A2KPD++bFgBB99d0Tc4EXGM3NwPEdazeccXJ91Z0XxtU8Yddn4E49lKQznjFSVn9D4WQ7Q4AVDe1aZMIoEVqb44HA+qn17iawOp05wJ1W3ysAwgXWFdEbRXmkYz339uJ0fGApfHMbgCWkB4SBkAhicgASFN542OcOsu/h/PTKOYnCT3u3wC/MUuTrGxzIsKZgghIRIijxd+joE9NDebvka3pyEwWwzkJQLBJLSjPQIDV8gKcsofBZ+pftK+JnwQ92Hws/WQ0RQKEQslUKE0ABvkfQ3G9PXdrv1q5OZjQ0hcXtvlN4Qikclo7zSq42fBYoTyhPc/z9gonipYRw13n4OZXHGdAQDuWZs/wC8hDX3TGLmBvqHpBGfyvrC/kXgSg8wjwn0altPsUmcQ3L4JenpEg1fIC7LCPxQT2G0/QTrSodCwCIAe3hERniLoFCwMPK3GbiqH2d5pqw9CEkWREqJApTz8zhWrhgdCQ9MYYTBUiIRSMpVx7RRpFntp2N7zPH0GeaZf0+P/DuwJthxedfXUHwz/mnVLy1wqq4Cw6w5U0KPCgr1/Ec2O2FQvoEg1s4xfL4DccJ/wBNRjfaQuZrseALGbwmNojMxLhusP9oW4gCjl71jtf5fhGagc+7OGh4Fb4D7OQFiNzFXOmZQMyeZZ6z9zYgdqWVGYrWdlrCsT0hDgl32i/sH1Aa/Ny7IUctUr+AYH01/r1mNyD4ccCT8TPlcFcd9xR++HelzC/yLwAwawKNjRXhB9SDYRIknm6HkPDnaDL1M/RdBrY9vviIy60ySPD+2ouSFOWqWMMfpSoYNlRNJSDAfXDKDG/qtXASI9o7XHSwsFfQ68qklErUZlYVXYD6iBYGzLSUz8UVjfxFoe9krQ184HeEJYvAiGaQrjXZIIVcQ7YxzcU1wdayhfawku/jLUoXuz46Tb1x/32T7Gn0bm+Dv5VVwYyLQozUMBIUwnQZPu7k5gO082BKPPHuXG67AeVe7eUVKHS+WQyN/acntcH1dTIMHw5OpgPxDgZVBd3IssvQLQ9GyXcapkddsjsr2rn/lL06zjFrt/CasnoiVSnWKvNV6D3P3VhtB6m0TeWUhGJv/by5W41rdMMHGkWVq7wp3Fo3RZlUN7lxpOtTSc14R4eWcHpvTFMMHdjYeNoRAIjUQhPXR0b9PsjkdifMP8WdrPqYG841k3Lc2LB3jRfadwziFsPWvuUDUq4l+EX5Y5wZsMVpyXo/xi+BP/PG4AjUDliKFwyFvzu8iDNvBCIKomCAe0iOgNLxx6IErzcLHg8G2moQijFV751I2nn6TMqi0xxXVE7p63XC9KTF0HmIk/Ey5OIZCZQviELMIPxvo/30ZG0P2zkvN8+BcfVAX4gbmX4l0wGqMRS7+M3PzI+uTK9HEYr2yx//jSN3rzWf+uQgv/BcnO97mSlJY0hW8udactXzhdEr0CdRRBGpP/Pbk79ZCWyhm0G6K60c8zSdnAm6MQeA9mpmLPdlIUjORHqXi0jxBONlHZT8uK7hYTL6FRkGEeHQ9zjecCstkC+Qdy5IKnTF34ld+koj4tR1hFL9CGbLEfnn6VHjV9UlSESXeA8CZCm9QYJoMeWm49At8SS89Es6bTv+HzToGU4jxi/npQBuem9oHDHfdOwjNYINhOm5lr3fPPN0uvMv1TYEbdR+nV8y4sV8yRHTY53dKANVkYJ00B9OoP5Jfnf6LNCSSINE/hCAEAPprmgsgwFJdnkb/gODYCfVprPtB8awVP8ScEvgaExC/AaxQO8W64l+HQQwL5qhN+Q5dg2HuCixa6gTjv8CKUVnHE3TlIpXrMhHpUOpLrJi0ToYdFk6GJbbCg5ODQxVAZIevF2uOljOSwYOTo4RqglJOvhdrTmY0Ue/SaecyFiYBlxN6WK89l7MLg+jlGOWAlW0BvNbEjAGLCIibLU+AlXXA8HLN2MtA6zswAxDnC87jEqpCILq0zBUnpSrkD8C8PmOOzPMFN3P5GCn1xT6HG/OoAWaKC74c8cQ8QBBR0p/oBdzWphSuYvYvxzXN9YSBRck0xARFYcHNzsU6t3Na5nAGojFHyHsGghiNdLFghUAI1QdEGqPS099TQGq74aqI9fSk4yOGsCBQyTdxBbO0FwrDiwrCR9vxxQozitYZwqO9bHApFaeH48dMHMP6E1k/sI0DRx2GBgF0pabjo4Uy7BuLnSSbUxWORdUmiC0/pZpKgCN9SkHUfGEZcBFLNUQUVgFKrwOgdJXWAvQCvh4IHJDd4VwXYE7kSyNaEKUMOc7EF0onWBxgMh2VcA1eH7r2i0QFEW5phUBozZmtElICWoKVoo4vv1GfRFkj6KppzO29GYUzyMOBXunWTOcUBDYbkcBvfbKC+MhNv2muB8s5Mw3zLYsLL8iXpmPURA43ksArfh7FcOpaEMOk91HaKRnKlnqn3Xmj+HpTLtSrpnpYB6dNGj88Y7WPwAR5mKTwcFfpSF4Pb4d3jO/Td57a/38eZmctJyTdwcFl35kok9nwXOSthVBPOjNVdW8ttxXvxjQ6fbkjKU3DE383uCgyVqafx8z+PYNH0XK/AZiTOzNHJTzc6ChQ3rQ5ZePrwqthfDZHVjVISaN/bHgSAtNKzVHOGAHgH5mAtUk5delmiSgmo29GUtd5Ju42juoMaLeW3sF8E2Hg+Y2cOPO6JsxuaJ8gGtBQHfbkAfqCvYbqzMjYFguoyXErdSJ+Rf2GddSm+HfqKSyl5sSrBl/Mczulf2fJifvrV+nPXPT4FYjq2Iu71jZA7aRVbr363FM8EetONLAy33nY9d9oJGnxZXswnmEVYZcEV+Svs5XowKfjbaJ9YsLmA4gZBgrPbbodBDuiAQAbf5FgC+dMp8DCyiI4tCg1TX3uDuXxk9lnkLbSPEty0WW3oOJ14d/4/iPD//9eSXDuq3/7x0z//VN0lxbKyhTW1RO6UKa+TpAtFADgj1Iniu0e1PZpnRRCNrj0znP5n0Q/XAfyKXWHGMG7IL+lnBihVJo7nnzRPKDytDYzvFjClpLyTH18LGy7eewPS3Ty9mHX4eGR8k9tT9k56j46xmq1S3Kx/UcH6QnI0NvKqn9lFohCgeMIcVAVn/TyUQqofCq5wqkGsJnHZwoKfvr+vHyVCliLbQ4g/Ckloz2GWl8l0NzUASiUdVpDr3NvQ5KdHcoeZfrUbO/g/R/3vdB2SHuk6Y7VWbj/zZNMTyFRxmr6DAWybz++eWGcT8xbYYFBEivtdbWATfWb0HYCUnc13poLgjAaRHBBsL7vPHJbM25zQveXY6Yv3ULC4ESUkiRaeo8yMQHQmrjx+VGDCjQaCIbSChQaQ6MUGDRzi41zeKH47rQvce572r43gFH6hBHVbUf/U8ZPJKX1oKu1jYuNdQAFPM1Aay7TDVqd79o2iAtG+RDtDR/fd7ToWOabhxJFE6AzFexv9DYYBHVRsZ2aG4ICwRVYq8RP0rJ+U7dqZBeyafLJbD7irpcUv0kpo68Xl5YAgASCri+IM9jA4TRwuaDcXF79MVM9b1k4Kglpz4GAVKWYNY592t+QtiRdCKIS7O3zEYpdQ1TmA92qtkloD0mSd5TMHjLCEUcqwV4VpmwRdE93e0gjG3QQ0FFaeQ9CBtk1ZLaGO4ZYjZwbI9VIC3jJbMKMryeVkm8CJd9uMBFn+f5n+/rVWxgcHLK/gQC5UOCBfLu11S4d3iNRlkMuXoR4X4Docpgmm3JDPCVUrEyDRPwFmOQQOPiLEYtQRfTge4Q9kWa1Y9AqFTQ4eMpMmFLXHy4VYWeUsLbXp/BNkXiSZHA7q1hhJjh1SmBWl8KtEVJfwnIuWKXvGEyzABFUdkvD+5tuVoVmp06a8lPqt7Mk7AugVIuBQav0XMaeEpjWp4A1wl7uiP5wEttUcHJwEGSVOjiQaoXU0iZxdHTk0Ny7U++88EpP8rN9V9lZwjOQoFJcMOCpKsP9H57xvwX2XKHByeO+rlwpLb1CubVFu7bGIOOdsIO9BfBONr9RHGiXspQUKOxZL+wxT7pvlxIk5jd1saKWxRu7ozKUXpvbLS2/3LfB3uj51848zeJ2mrndvznzWBuLL/SWQyClc0J5tyOoy+CBi/NjJ5dHLq4XXbXvu24nMeAHDpdfwPDo1F4UeQNxA2qo3mTD7UB+kzDFkeRoddxqQ1+pfbuNxTsbM2Y8iltqZnPB0ibL/tiCidVjK0dHUkqDMJA/q19tObQwtDa0+MBBzoG0hbTAgwfb9TM2//6aaYtnK/ojsQUQ6yIoD2OXGUWEUjUfIsMZm0FJ9DL6dhTGdx7+Nb39i5tfmb98aes+yjp9X/Of9Wn4+y0cV99W7t8mTn++xbD/uuM/MO5eAjBY4OXOB6ecYnv9Eprt64XMSvTpzMIiani4BQfkUyaZ/WgqfChvvRLIbG+f9yyoedsBtwJYVDnenJscy+NZcEqRPo1dWE4JDwcAOBKXeFbRKPo4yPAolTo86GDEfRjz0Ij9x0C/VBsYfMM0ui+7zzGaGhgo6PclGFK67P+fGhMaHMX50PRuyTJ84oMRCVgsQhmPXGg5EqnsEjJBHoyVgJ/Du/jCdjGbUlXMZxruHOMcvy673l1txsINSwSUarZY0N7Jl4RGYh8M5R7yy7ssLHaJtQxW9R2SoR4+YPfEYLGwpYsjkXRyBC3i3dUkkgf18zH/wOZkckbvkz2lToS5nwJNbZ+cUUwIZMnZUmZ6qBfJaQOSXbHt7Uc6bfAi3QSmNCjIBEkogKIXD6gnRA3XxMbQkRKvLFtIbHxRZggsNiYITUsM9cCSEkKp6KAEiw3JpP5YiG2WV/n0p8doYjNDUfPwJAIii5RR8uP1+n1rc2sr/wP3IiGykghUeYHcL9EvsUAut75iXudsXtN46/q7Pj5LpjhyYBxXxlbu5jh/woMHP71w/Gw4WZ5BJUEJvGw/MtbAROZDXAdoW4uMm7mXs+6c7dkVaNElv6m2IOXdtc1VGJrL5a5HZr1nP3k/DrLyXlW8MRDZ+se1Vd3hRzdXDXZBbUartw2FaroCdE+Zd0HvIMnAifF6dpuuWw2tnlzQRsTs3UmO5G3bDvKpgWwfiOTTd+4jhpS2ORMI3kRMQVs9uYU8Arj37aTHExzYDqnxAW3fFskj73QRW+SSlpdJJ07YWKTlEyvNbxsa3jU3Nbx92yAAdr/xbVPRh52K1tvTZ3fVtDy/XQgjBdWMbjrDHUIQhpSnqKmxlG/CAyDNrQypuXKCovG0dKFPxvO3v5agHiFnBV6y3Dr7ZWNL8YAFB7SOD8sfav7L7wghJWVqUA6l2G7/AbsSppkFt1SxHdt0KXWtslp9Ag/QW5qkpHqS74o0gOXQLECib4T89yRK48kkuCMFRsalRjUTcEQgMim6EmSoSkgn737+B4htgWHW4Xu9AHDh0JKsQoQ5vMUIlPEY4EvT1LDbB5WU+z8B15e0u7IgNyBlHmHLJqn2GAVlkej4g9JAP1rizdHiPtkmS44DZhbEPV/EgXO0Y1bvrLZkAOVcswx/gJ9GTJVlMbLNX4WLKLBWW7Z6a/VM/D7Zo8S3A1I3NacOAW7YOmQFWD2Ycu5MG3exwqBAjtC5sQBRg5Q1pLKYjDt8a2bm0kXN7mFPF7+8DxCdZWwACK7TWZJSExH+uw0R3X+jIbL57ypEd/qyASAVzvtZjnbjs1/dAMfs/+e6PvFiTs5AsTrqQNGDiGyvQiDHTmS/KcqOHi6jekW72AiWorBToiwvjr3Y7WchSoeji7Afphlu8smFJ+seYN40CteoCUBn2oYXRemOMMdaIorqRqY7RpjFcm0lzbIVvXxKsi6ynCmAdtc5JSLWOYc8GbxEtBB7l3f5cIp6Ekvd8zOUb/Jjl+Wa7+sm9WkusV7UjsofIqdYZ5lbdAB+dTyG7EZ/MfsUZNOLb+Ag7uezylc3axdzO7BQtHGgs1KQ+kMk2sr86uqdy2Y2Avk6Yf5XfyzTpejQLreIcgYTuyo5DCFomwVw/s5HCYN8J0tFaUO5r7KDbW75ma8zXQfluclnA8PIMsNwpx4sM1DmCdPbYhdpBPxX3ur7BMU9sKs7NskowoZqI3RU4BN0LfTtQ2QkK5O3CnkVNppCtpMaGqTHNs1YbWpoSM4Xyr22lIjuJ9uk2nVssvF1+kFu4q6LMA6humz4cvjwhvGzSPd0j7gdUsdW7o1scXKwVONMQLjAxRaIQHswwyvIp8T6qTd+pNcmWO1zhogPGDS8XeEa0uEZ63Ju1nXsp9XVSvuQ5D2JGaXUNR0zfFxqjq/NgDIw3QwPtpEay86Vu1KumBXunogF6+tes4o29dSGEa1KhYH/MJLEOH1YnFBkGiKgGy0JNTi701xGoMkebJ3fi+7VampG6Z7E5JBK+6tWP6tcZ8/FunR4hrhW3DYcFMefIap9gnttRrzxT61LfIIYXmD7QITYAu5CQGicpcHi5OwbrVyp4464dI9I92fGNx4++LLBJYRqjNB1NzH+we5r07Ep1S7ZRnR/S4ncS5icP92wyWqmKdYg3dBOSqZgo6vkircmVqRvjZb6FroJCrzQkWoTYWOUFNvdFeh+kvKd8V95YKTRFjs9mGegDMvsCXcylIWRA2flPDfoOtN15n63bLKDX+UOidJKJ32FQaj8vwM4ZtqEw5BVCRNbzojY5XaoiOmixn4NEsrXCWzMLt9ZvWpuFe3zw03grAw0RkOxHdxi7c2/C/7Lv4/g4Bt6bUBPb+uZXaG4lp+TGUttwGb4dGXggI1vTlyqGb7lCN1IECIyFcLi9HFiktU/5oGlVjCitme0qdU1Xf1Y8EQVOtkDOkJzcXduGATEpdbpbtRFvAa5C8l8fePA+bUNxrxQ9KGljY8pRxw3KNYd4fslEUoG5QFyn+8BOOVtGJ+8POeUYVVjddo4yJ9rk6iTVR1nAOsUb85ep5unsylLh4F0kk/XhwBI/zLJPLX7Snj1qvnu+sY/cge9Ruhu1D0V7s8z3rA2H2isv58geg5/k/XpdDxCebxxiZlvHPiL78gGajRg+yc5wMhg0Ocur4xX8UlBxqetap5xA8WdMIO46iydRF0xPWuTTp4u8BfBSf1E/Ruv1+K4AbbiOt/j3Dr3vixVDmpVbkJzDYf5S2m37r9WYzvr0zR404YDXkQDYbgTyPeYqO7TuJNZlT9wb+Uuk4H5t3rRBs3GaduBn5Ym7DZtj0/ZAfyiTNtv7sL2Afm4sP/6i+vi85cP2+WvvxqIrRJzmYFVqbAMJOMDm59xOcqHm5V34H8u5+RYvv1+R11NXJn+A9d69tTOrG8W/FAvd5L2zR1rIE8yOEQiwOngvk4aLbR6ny7A6t/CzO+jsOar91mfEQeYcK7uRnEofGDk8eOWFdbl9EjfQEfL7NOweiqApoBcNhgeLC7rlVm+uJvVlnWptY2YmxOfoiyNKlqHyjqTZW19r7ItuUxwhhKgvBV18Xz0lSuWjrp4+bL571saL7YJt3UrbW+pU6YOR6Ob4Ujd3dLbYeIPnkslMvHeca7EkdyyE7UhfYluh4jMfakJ1v4dEtyiVry2TpNQXTKI7Y877p/sBmlcXw/ViscvIsKRwNc6FeLXS3VqeM545qy/HrS+zLMspIKiJcctwNnioDgX7yqdNh2dGr78UtcanRucG8Xrm3g9i9ZX6qxvFq6VuYiCkGzcgpZ8zSp7fbELZap9QHsWytGdJW4rJU8Uu+SsfyIl+xLD96cqrdRFpLGi7QWVSqt9qaTwn/bAcQO3qo12dlVV9rb2Toq2AzoCaScnJ9tiul41L7hsTKgZG8ncPiZm/vNoCggKsHhh4yJYkCHRRsqGxyv8LNbYwlzsESevo4Zc9AiEvqFZ9ZhNorNq55T/YP3NoSWDw8m6H3OuG94AWha/73n/X+l7IwO0fK5//1P6a9//j/4A8s2MQMDbBW0zcN30RP/ZJoMuqmf6+6kMVjY9MOBv2lmXYBgYrwLReh9d/nRxgsBirYLCIi2gY9H6QsRQWBgCGcYIRlgNEq6OCPELqnjRWqy/v7fI0B382/tftBcbzfcU6T9vGqiYGjp753qIMn4lKEyHSKsQMo92P6DEKy6k8JB+gornTUX6BwnIdgLEujBS4U5p+MxDXd2Mo8UCj0eBCt1dV/D/81FeIIhGg8FpdAScSofDqDQ4Gnoj/ZjJHtQe5m3v+Zj+EYCX5FPManTKiDKRsePDhU89NOu5sGmzpd9XuDVcSW5SvLieQuA1ZPDTb6e3+oJPVSxHxvdG5bYP5ts3bZqo7c1VH7qf0lN3JyY8qjI/hNiMFZU2VeXk1+VU5NgMc9Oq05XifHkSrxKJD1GVivkXucXk4Ksf90/vd7kJcE7bar0yfJhp8VEl0zb2EDT0Rrr9hHkqOMUSo9qXGH+iqqb42uPcztrLUVxxdfFgfaiIV0TEl0saSkvTgiQWeuNdFNOBYhmS0iXDToqTF4kOn7zUrh1evA9CnyEjRNmW9TAbzn5H/uaKtZqULzUfh+i8NXOi/8hGius766NFjYez9qcrTxZXF126mVWFOV0UCicClovMJvIjVCU9VZq8qiRslsdCPn5M29IkkMW1COhb4uIsOOBCI9+Xxc+nhErxeoqxCXKCAofDxiQ7QLt+WBfs4CdKu+xYDSDPWnq3KCAGA7MS7GyYQ2she5MlQJD+aV0cDC7zH/6rQ4rxpy3pKmIIGhFv3pfBeu+KqCjsw+A4cldkpxm38sYQVpcl9khimjdOgqfwE1vhIkUrgVbEL1QNP43au1kvheK+vi4BTfSFCHIRBi9DebppSJ6eFC9TDKxeRhuoelDInl5R3wfWa9XeBnJXNWQkImvBxEzjI1AILqF8sRcdRW8hzdyTrdIuZMMymdTfhfgOi68IUt8Ac3UliPJY7BUkeqZrPk5T2gb5W6lkdVGd09eGjwTCXzm34cow0oQwVqSsG75flYOCrOtQTaBjInElzu1y3dgZBROH8Zgs6tLmqHA3CXsAj+BhlHhdnoXZohlas7goHMJ4lnmLebiTGayJC2bkql0oN4RnEnI71QHRsBgfQLQ+92e4HSrIjJR4ARtFmulXNLZ1SDAgB7Ka5WBexxRY37z4OBSLY0N9NfWqfRrDadOw2+jgHAR+tQ6YgtiAZsO2SXT7/ksAqn6J8OJtDoDi5OwfAui8GzK+NXgRQHEuuoecAg8b7+W6ArHBZ/X7nVGBFnwVCYsPex486Thoxdfa+S2bzuvBq5V4zqDVohVY61lb2kLaDduQNFy2TVkNQeJg0Cb1tu0x8Ekb8LzsNtFV4Rn+tPNQ9XLa0hfSYfJY8O8QIbEl+//24xYqnme4FAuS/OBoSADABxr0+yFfA1iwthuOO26YJyTy/KFBJUsgeBhQNnR1BH+t7iJc09//L7wBnLaQ1uAnuGSh1vH8fe0NTZkcf5WFHWdeolaD0xAM8EzaVCUPdp/k89g23d1hlK6dW4ATnKYFpufvLlDL1k4vBNI9dvIsb6Abcb9oeMcBjdelQ4BFuyxAw/VkHGCfNxBwOZwWDOgt9wWgxt9FOIC93v6Aa/FO3qAxQ++mZVdVYUnvogI5RGUFZYRT3m0joH0kGFyIKLiIHY7306bAuzT/TEbCUDUrDC/Dzlc/FefHmZj7L0CWqoTBmpRrlRvfi43XB9sFh5K1voW+z0iGKgIDrecbXsCvO56wrxSuz2YGeY/LbH9u2/y3tzfkzLMKbPFMpcXwj+69Je7qP6sIp9307VHbJva0P3ND7v5qz9sK2xFzz8Fz3daqiaT2+/OESwvN5GGTlOz0jbEalmU+jbDTvikkJ8fe1FgfUXZjmv4eImVPbSTUhzbOV9bB0Y2IyTLEaYU9Uetg1hkSyCZwFRWiqKawKziEmHSYUuqu2C7n7/Pyj0C8vXyTBhvmnLvO/q+W1KgtVgbryate6FUhsf/sX8vgqlI3I+N34xN9hIVwF0XXBla0gkplnJq74JE/ue08KZ75sSyODaGb5ZaNuEczftQ4fcMM7oLEH/WN//XwU2ofHHe+v3Y5PIU+sxR65jfmzNGQMx39llt3bP1hDvz2z/nb/POtg1sv3sZiP1ngAPvtNQDJthgblyrOzbTY7pKiIGim87qB1XXYB9Y09lPsB0B357lZi9sF4ke2083F+R3NM9+FzlrHCM5ksW/ZDtbvvv44ZpMQ6+tZ6kiPYjvVhqEtC/nUHayTYaRcWwx0FM5eBxRfuBTtrur2z3YBq4oz3GHlPr+YSLU45513l4/vfN3GW61I4iFfL24fMWbO1af6BQns2YWAzpfL46EhhYAEEswkmN9ZvmO9Km4v37bGBFxbZrlOtvzZeia2GRQyrZtYnCCaLC4Dof9czN2TfHtxB5h6hMhC2+tXJAnQ3TdClC2eD4gn/Y0N4eMMsFKi4X46QNf9R8seVhBmLbJ8LFhDigez7vKKTlkz6IxXVTfFZScPbYmYFphf4i0eL10LXQxgErsXj+3rD1mcJrnA+JlwdZhfQQeJaBEM4gowp6N3R0zpAhaHAo6LuOdmKJZ65bB7/zYNYLF0m9BhsZGNj4aSlT2y9/WUaCcGxoGRTmTIDsmsmfiMO4fufLGuN0ftBe1yr/CWcEzhzek+ThMs3G8QedhtX9YTL0KtVwq9rYXtSmspPRGegSdZYh8SPCLdfX0vL6HQEwfqdz8Amo5nuGOiabU3ItoTfesL0Y1l5xHn8kJhfuX+It1Va2/KwB4nzDVwr/i662TOQlDZieab7CDnCYWaoS4sIkvXDi66piJcULDawuLgwrnFc5yhxcXV0wJtnuwt/njzek5K6nCSTExn5luAjwEcl+m+juFzrRGRKxQD8/E5RnUbz+esbUfVc1sQ+npVP66GrPs0GrLuy/rHKt3Eayf36sdKzl33PiRCDTwsWkbZkmaJum66TkhCk7e5zc0isE8SJ17fn4w7MCcQX5JWla1GZ0xllVQerBWTyKwE92SCRNA+KlTReyJi6N7WZFR4YhwqUh0WHiGmowpEwfwyNhGrzEaESWpDd79i/iUw2srwq8FTJEfJEdtlaeH17Km50VHaLSe73k5jc5zpHjpKJ4Unx82w7ScHe2hkx8DhnRzs5++8kMPD/fAsKzF/OI0xj4Y8nrOs6Dd7sYaGPN2vcV+XcjTG5hmUEmpXnR1jkvmHj39B5rkp6Wd2mUHIwO7xpvHpgemdTTvdo5s/NXyyjtzwJeVLql0TF/wo1yLFtX+yOPGlhYqVppm1uHbbZezOoDUNzBo8c193aMUFrygt1dvsYGxcIUR9+ySa3QbQ4LEBUxTizgQsOZ0BXB9sDadtGtP+auoVlWPDQsXF++b1DBAHkAU5wSFsa9qraWrZ240VxhISshsxSbMt74eNjbcdBehijwbXYh0NQleiEo6coK2sHDVajSxAB+BosattR+KP+gj05ZriPMbbvEdJMO7fzRNQ6Dv8RhPMTG/A0SGTqePY3x9Gi9JvXmiq2XQgc3cUYDZ9ZWAk9GUCpje02IIEmGSlZMeiJRO7svKMTDtM/oPdblTY0o3EMqqpkrvrvVxQnQAxjjHX1Gbh2ja7GuS4VNdql2uXgY5Of29IKVAzIkKIHtdGQUD46td/5v/5svrlr/m/ZFh5W9lxwF5ru+nkuyxQiM9JhuAb5feN1KTxf5KuvQnbhcruHzx9YdMnBaXqAenEc8YYv0H/1MetfBGMIYbPHUPMXuDv/LfqU+Vjnfo1SNSKBjmGA1tLpoFOayadEz6C1bJlIdNFQOxhE8AR25ArT0uLqSIE1Mga/LrjE8sQycttbbsKPhytxo6yXpFOTTRxVUZWDHJgjUo4chRQgM7vyvFYdACuAJnlcsNHLAxYKUeMFQvWXFGPRJ1/OkMZAR+13XecCzk4nRZ5v5i+CCALLlK1huUIiKfX56/vfxlMQMXFm70IVsFP0J0Z/ezWgjcGtKG4XbrDr7seh177G/yfGG/X9qI3ISZIVbI/efmUmme1+CO7i+yKyKOy8ZSJQJ1WnWlUdt9bpT9sF+nam8P4G/Wryp+MMdKJ5/qokTVwk1FzB4yEPgbRj8e+PvHnRPTVjeA6YvicYOzfyn+r+DsRsxdCNceuG6xfrgouG3TCEFQF72SoCsr28JyI8dIAEL9OiIfGuxIIFtwVENbxQa4OuHgixLgTQTziQp1OIxx2qy/cGd0VaYOvW6EbLrAwKQFEOIU+4r8dZaqCTgaFhQRKSCqsgCpC8G4Ylw/meWo3UByfj/OVA0nEONf/jxPkBYqy6Qp3SPV0PEzGFQuMQWVCjv7B9Q91BSkS6v5vKUdkXIiYIMJB5a5kbyM+JCQoQBOx5wPipY7E/9Fl+Nx8s5eH9MDPcnjT6Kf845Za1qmrk6d71+XjdjOEB2am3bou6mJGNm/5WmXssrwYo4rqrOjd7vLCCSvsSnK6Mf1iIfuq2MOpiqwgcqfOoWZvR6Y9l2uQWYPe5uJz7V5QdBAzX02UklFXS/D67YG7iNv3OfUSB+iv8A6CJg7lLvOBQTGoDXcZO6pmpzh6pjqEd0XZENS7epHkQJwvnx8HclPnKT/YuRAm4THYy3PMBykSaj/ctocsd8VBRQnESIaCeVI4EoBcQ/25fxyFUJkvf/7f8vlrRvzcgr84/svQy8KcmPlx/wV/rIGBAZOYh6xIMiwBBT+UiPSJbCbzo/v6hDbjfUIPfBxERb8fGrpJYuiDiyXQnzyGi0Q+ZIuT8EKhPVYffWSfvYlze7Daz98SJmEyem2vJXefZYciDvfmhYzl5K5wfHgVSqEnF08Wz+5F3pKU+GAhqw+HDFNKB7x6Q1IQZufCMMzPTVKVE1fT4Bcg4terz39YujZ+Aex/qUJoy3dzoUpi9Q69OaRTyINJuH9n8Q7JLsQFE3D/9uJtEnGJmH+dNupcFfuqk+p6icmL34+i6s73vuQgoxZn1ePqANHTRXpiQ2I0ffFpgKi/OlQKt2FMshENF1vHDMeIiQGLJ6PoTy4G6F1U/bUIhp+opnIXn/R5ssjNIs1DNufsRwRakeASLAvaxMTFy8JSLy8mSjAbxVsn/tcX702NX/wPe49cQ018uZhH2Zu3+JJ37QDHG1OTdHH54uGV0E9FeOt6RJZ9nthwAQFLCJRJuLbMdBuL9MDB5cE5HARq+5qcYjDb7uXd5UYUrQhRe3NgWbHSZSntfB9E5TUmM4/ZPGUuXVSuR9G9tK0dnt2Y+qP0VedMmPyflMSG/gxZcyqTcD/BK9ubLbkYg3upmD1RLQWrrONOMhU2nVcXYqN4CxvYYJKSSWWIHsxFht9L/ezEaNIt/K8vkEm4/1Ty6MEhLwONBLTtT2xITu4+QF6UuvjikQ8jJ34FZrZM6KtXTcMtXZYWl7NVOBJEfVtsPpXGPDcIOhbG9FDRg1+JbBnkB5rP0V+5wxa2llEV/Zu0SjQHNc5AHcf/jDSiRJrWH7AXiamwdETfNBK1h33pWeOJ+1uw+vff932uu27M7cuYcqhK7eETo1+cR5ww6dUyfW2PORWXu2UCt/qcSFFOgEWahszPbzqs0QJFPPx/Tcf/G7R97mTb8/zYox/hGbHznGF1oa8Wgh1hpXsMPRWBM9Cltx0n7m/Dbbz3huvXLjIdceq1Fm3LaYuQtK4scSbbtD931OqJN/B84eH/astyjvT/oucrgwRmJy4QOt1Z4oP3CPdT+gRdxm/I7eYtCLHy7snFSRJusbLord8Nl+fdKO+WRGlfPD+8lKFFRLpxOpwQjjnvUW2nrUqadfX1LeENCXP1zzA5upa6kt6HkbNHh3T1na3g7SavxYp1o3dLTYW5W23zutFk+kf/V2fm9Bn3H8qao4YsedVrIEjc9PX1bcbOXVLuydyE0rUZ/3lFsDvTxFPXbuUxfd97SN+Arp1S8R5C37fdRtfp0z9WPwu1DTVECdE31dN1MQUBdnAkB2uBx5VMBdJD0+N6vfBXQ0bJe+CUD9LXB4a9DAiAh5LPrHxmk75FBi8tKaU9qQEy+KRA84o0qegpDL1Ay+GDSAbFoClZbFWCgmIOQfSfThg1SvRpkAZMrZNzuNEUjWMs+2Co72KdTDSOsWxgQArSoF6JhoSxRYkTEsDgdWlSJ3VeB2R6o/EG7YQgkyOUG1b8W2mQUsWgY8LEJ91kb9MXvl855UuzrY8SLXrT+0iN1A/6IQnuye+r/qTHv62U1ITkKSwznYYga0MoN9+m/6wapSjvmaVa+c2GpOpFtGSNJfcXKf8lZIryXuyI+qujvPjz4SUK3o2rdPjb5HppJzx6pwzziaBNKJ81hd8to3jH1vFlmp3mimVwNJH5RSb40fFxsUtkh4PF23/Up2WFpPu6FYztTtWOU/CAk9oCGlfyXroTdr+HkvKRvPu6Fakl6M0cHT6aSU8/MJJP8Sld0/kUwQCn9GPW4jf9MqMkr5CJ1YRUsHrZpxQbJ80G3n/g1DQ+tFj0x56YBkf2X4rPKKkG5KFRrHFjfMJXo0TphyQOpKbTCrt9xW8+SDWsI2QQ62ZkYN0yfECO3lQTSOoQAl+fMWqq0jwO7EeSqYYJQtPydDcam95TaaRWftMhCfOSz/61NwcN+s7m8QEiBqAvajDTBfqxnbVo+HIPzKC4NvMBMSM/69KGU+huhXJNu4lG6mF1yBAOhuFk38xoqk2D/Lx2b+YcxXXyt0OGMlp4SUVxYJPXUaHKfQbCQdDU4/ED+atTyqbSO6/VoJqc93q/D5LJAWVRijVRgaNRSex1rcOx0mf69d9WG/ZzcDulzwAPCssggRQyyOFDiowR8KXADMrvhS4L+9WQ9MtrVDe1417anbfSutxH89R9fAlUN+pp+CQYvp1Ot6pOi6ubk4fKKUGOqnpudGqHkjklJCw4Ywp04ViRxx78ulrZCjURcIfy2QgBB6UiWKsXGovand050wKUjf5f/mNaMypgUT6iET2JtcCLgdDJhF+bTDbHJnwi4FGDqWXiGzLLtKjvC1YiMszNFsm4TtFAxdMYpvLN4WkOOO0ZZy1s64vLZDFtSln7RgczdrgcoZLeY59zA6WYFDLWhtwTtVakwsRvo3hvX2OX1F0WaIk5+Pv6vH89rDZq5tCblb/SbCzY7bqybQa+kv2GqNvTug6Lcb4JTJULjfjoX8Gh38213xpnGt2b5jhDlFmOVcMhx8nDfISsWnBc+3yUFc3/F0Yv2XQVma3RqdvzMGoVu9tsWBib6FuW0neey4Xl4zdMghf8kIqQkGHzJst7Y5+MVj5E47SMAQYok1xdZg4bQIfwTP9t7ZRLUHhFyS+K3JW+Vfw12f+C/y8eUfo96q5t0P2n3ERT4RgaFFPmIJmWBtW0fZNNR2rkUWvaqftaaCbv3ToptFcy3FLlGBRWu5yzaZC7+V9/7IIudu0wBvhjF/B65EWT+Oj6nEKk5E9F6UpdFUuT5XR9vnCOfdC4n0fGuL//MUgjW4M6cnSTR+bVqKN2ZLKeayExn12+UTikZI+iYKV4y6wx6OULMUxZGKrPhPxJCkPBEUZ3CCMihEnfMOQOXHBMkRy7zrvCESVXW0odg4TdiDN648hlHqwFD47iqPuLiQGhv/CSF3mRF3npXcwpFidLdXOG8O3mnEKzHU7qSPxIrgL2mgdIkCBBggQPnCR0Rkb0t+YOKdFgKBoMRoP/0XTQw7j92cTCJpvoaP0x4R1wR9gr0yAclUQ4K98ixArIX3zyIkFCsy6cI3vWeiRBskP9s8ElGPCKQX4xkLtB3xr4a8f+Zw/tDKCWntVzel4v6EW9pJVzvKMUmFQ1fyOD6zMgMsifBko3qKuBpR3LsaAK6s6tGr2m1/WG3tRbk20LDqNIo9Y2uE4DjhjkqoFSDSo0sLhjKQvi/C9CoF48t8Q/t/Sgl+nleoVS6V+0xlN6eqLc67b74pc934Sys09Bn9zFjz/LDDJENYizrxu8S1da/3I7FdaM84dS1cTFezWnL88XxL66eEX2R/Z5c0bsfbniLMqOg32kS3H2AQkV131R9nwTmpzvU9BWUSvayg565HiwbfV2cw//Iu78yCFJrayihe30L7HjKaNwrNy18eO9mqgffeOLRVQXR2lZbCMp1oz2Feo5ixrYVTn2hubnE9jXOs5NCzvqYFBz3lETKaEiJdhx5TxlNY90pI19ndB9gT3fRK/M+wmeXTzUovX7ghakQAYpslUXH97f0brJDt8jhSOd0t4ncRMkD81AdjuWzoNsztexqUkG/KrNCLFCKYVRCXfeBReVKV8FnDZHCxQkWIhQSmFUwp13wUVlF0/lb4cMveA2tTtGpq8QO+6ZtpG6FT6aaGN9EuxC/3AoZ65qU+haVeFoVQ6gjTnM7XqV3agnvxrwg0qF0LVvSEkhq3q1YQ1twdP/sjnwknSiT8LWvmvtq7FlJFiIUEphVBgR/lngSLFvcxjYZvECbGRhBlSI2OaSTKUZNzWjI18z8KqYDKgxE5xg9qOhGeCNRChti9dyR8fFsNoumgpf/kvx2qkpo7Nk7fD/O45t0DlwHLFdTFqCdjh5mqsIQ1cdhG1QR5SKxBvOcIsGzGY5r1mzpCBZEE92Un6265CAj/YO5F0HizYDwxbDwyCMf/qnA46UKlhcCXiRuywm5UsLNlzz/d81vv0ooloYYgb9xhn1Z8vseLCD/+sixurXhdTLrpzr3kV+MPWepA93RHj6A/Qcv+JX57/6YEJ517gDAzjvtKWGU1VaG8pnQ0amsVKpzfcNb8cY4eN9BtddZpnPN37zBQ1jr19Xj2b4/PHh453vD+2vOfoCvi+K1l9vjZ9eP4wnqieARw9DP1wOEYXL+Gtz6DeEuhQOGILC/O//wtgjg0ToMWh47N0H3V5/7vtzLfozPwz/VsAvG+vu7+3YN7DNluVcQi599Pf40PYVwusVCi4VwOA1WVWe2GQM76gzPNX8JzSXGb1iEiKhGbxtEqJVfkwmL1ZZ9WnQ+Aw8IK5dCEsZSitSV78Qx3DPz1GVYKAKSI/I/lM+iVKCgSog3TLtdsXpKhPi2ofhkBMRhGtKj5o6vHRVGgaqgJSGD8RlFcq8QMYStVSRTzJuo3WLSMZSS9U1SfgLxOiMpZaqmIQdDeQE6o96qYwFtVQp/hAJe/w/GUstVdckIadJDlaKra7k1SpXV25Jb8m5x2LyTTSmB8+S0UdK04sw8ihWerXAbI8oDipEtPuI/CFF0cLqqgR1uUXdyu6lmLZ0m8qlQ6zR090FTUokEo3pTmtxi3pbXNFoogqQ1FGXacYypa74xy551ZVbIbKtGH/Glpr2UTDWAPqmcaBTRf9WHzUTZH/8uJh5QiEQy1UEue3DwKdG4bVBBbkDfNpZXndKeWK8HyoO/0ZzVIEzchOLtvqo6NPwEGJJQ7ldWsPVVQ3U5daxW417KWbTF3WwFcT5S4ZDIJa2hGirjyaYhleK0BDFjqsIV1+7ImgGYW4UvKCpP/rRQOyHNs+dHr1kmRqs+NTNq452K0S2FYM/sg0LE10Rj+yAAOIWYxv+0lLqTSutaX28pX6BUfsXq4HsOeV/kVrQlm6Ux6r2SfPIkmnfy/QdPRnXuo2Mc/XNR8K/5qi3JSqaNPqEhJLovk9R0PZXcBd3hj3Rj01wJKGYt7jkj7TF/pkskT2b6DuIcrr6Y/pj+JIc2ROuzboUHZkareeOvBm5E0q9+0nefmFDMNqJxUh8MW8xydeKNHD7om91Yl+pkqbB4e2ACg/aGcNSgzO/Vd6zHzozzfNjMntx25RljmVLU5KQtJZPGtdrIGFxZqVJ88YGYI6h8pw1KsdxkG7MOoGXWBP3MEcm1TO45L2QSvoz7RtfXnlUqIwrNdUczVHMbkI09stalBo8cYoe3UXrHp3bPgjzTGc1xjr2t07j0Mq5pmCweVij6KpWZiHStgtlSJF1kjSKTQNSifuIZgiIm2YmQe8W9auXb/e24hldR0JJWY+Nd+m9ZOtMwMpQjc+eUXV+kaquiF6oi4aeUVPRKqz31y0ZipU4XrB4kUtfSJ7HvCGWtIWk2eh1M5oKykd5HcrRmddyxhvSXKqspmfWmvXQjgCiudDmAZxhx0nkzGrG1Pa6I5REtykpoRHSh/YZB/wxKS5pY3u02tSCHQPA7uwlE2TKlXkUSddUcCu9pIoPSPNXV75mCu214PWvWWRgdfLKohqhwM9nGckm5iuGPlZkr3cn6AaCLKvG4+YwMU6+zB8cVpJJlujVrxgKPkYnG61WTEm0ZDjS2kAb9cWR5IhW358PCPea+XV2VqQm6lqVypUHRv0ahdxCw29DXQpt+M0EsobDZGYr1ikrZ208ROxblavwN6XpibEz/mxS/HfM1OUELwOYsUBI51/IZMtCI+gMBkJho3vrHVzfHoAY7Sj8tAXHjsEu3KRbS67bzzXVzLglHnSmPmpDZ1pQ7hiUhkEyVc6iW+IBiOkrYoSHzscCH46B0/xnQYglRuxgWHfG3RIPQExfhtEZOsOCT49BM/AkAUvg7OCDbmRviQc7pvyNm86PR40RL0RdkTPztll9SzwAMX1hM6I3Vlmg1hIvVCvglngAYv7W0qN8vcRCdiTuCn5QZYoWcRl5BGXkEZGR90zmtt8J4siyIv9EmX+XOnwEr3kAYrY70NmUY5W64GZ0W0eRqHpzjcoynIioGf2piIiq3RXUHl/zAExTe10IhVAIRA0oWH5QJYqz7H4pD8609WQVGIlfkRXyp1ajAjGZjtXq/gfrOagf+VY8FdSdkRMHZY8R0ytyvx9kpFj6jmIURpzOvsUiS9mxRyipJX/FbwsxZIElQ9sCUy5pP45MjhL3yi3LP0ztYygdWy0791hgUi2rlfjHZ5Rb9E7jCEj9P7pO8V21dzEV+WFnrZ5vz8S0iP+k3Uqtz+IjnprirRsdugModMMyPl8xtlxs7Fp93MQFqNSauC38C7WNj7guxYRZXuS4ozx6vY5axEhkBm+dhMjBjN45ydB4emfVuEXOOZEm1GZ5HsAGfY2T5Xm3+zF6u556Me8LL3JeaKFMX9d9ULVl1sfl3HGsayXllwNNhbdKjpqaJocK0FydqQAjjKENDnGndAncWSUETVc0oU2x5wHGo69xakq8G36MvvnX9TiUF22Lm8BSZstwH7QoZbvdLj12rIuccoRJi5zOd40yeyEjdnpt6rXRd7jDHCXcdGAgi0uDjY+BWJ4HF3zaiqmgqLXS4tmeK7DG2NamxKiWG0tabmw2ScGWGhNZ+5jXzmPyEodmEOYxXAIbdlv+o/A/BezfTJv+KrOnCS96+XRXjJnecrQ/M93YX/tZM0g+BpmzzmUN2q5lIIElChsnu54Y+PGjqN2IaCYFfcQGjsdzxp2yQW0ncx/CvbnnWRUoxw7LV4xsAT8yOQqSjT6Eg+Xon3Gh7DrZqmUngTBiQPsgp8n0ZLAm2vzWHLGy0Gj3AIuhyt5uH5qA8v8+22mFRjvmYlExtwf7qoX5376IxdfradDPNQ10UXf3fhi+wa4WiSVXP7uWvDn0PG8ltrOsRiYBfopZ6IN20lG0tAc1FEz2qrR0PGBuRk5shxUcR4c5BnxjYhiPKnq9Wl7En5d1Whv5hQgT/H1SzD072mthWFoEPdTjC1BZ/jJNIlNRnu68+GDy6G1phNtqAWjD+O76hc7M/9jLBRONdjfbF1rncjQNagVjKfHdixRFpI9/n1d1aHg+BZEO5XR8oy2VtbzO7PZdnDp//G1gBQc4I0vsCeAVNmKQpeaEhrfwCQudWjeBpNaguI0oniOOT2OvmiKLI3I8upLhMNhRo5tp7oIQWwScljwz7UD9kN+U/WrxfAeyWLfT337orweIRwK4NchvsjWPNQ4CuDZIbDUQ5+VdAiRYJ2neEU1Ml4wak657pZQ3Bhjbaqq1N1pg9trcm6qoi7oq8yxN/s9usx/ZQXSw+U7mHafRyATwrh2dbjikOIDUJYH4BPgD92nX0hzx1400X2YZa498QAhTED1LRpk8M+4c8nsFSt+h/HVx3zg0DedBffX3+v782Fyac+d4zassWf5B+7ZfN9N8kAU3EqdCfilY8gGoISU1IoB2wp0ksv2Q9oO5pwGxi+Zqr8gyW7B2s07Y6EDDyYaT/7zxKTixTcCr+Qt/LF630mfK/Prbypl3z1nftbp1W5nmWCLgTy1ObVsFQMPaopPVICBkW4GdU3F4uRZtXQMgB82zwY3mt8Lse3B30wzTk50Hu3gzNVt7R2n/XDexQeMO5nGVMxqkOFgSd8TaT7vIDDsEPGFdpOEFpENche/dW3aD2VN/m5W6McVgHITOf6WilX2HLV9zI8BEdyQgercxe0mEQz0JDaBs19j/XtknHr9GTrmB+ObJxqt4Tnqh7GrE2KiPmBBNE8pjxyJ4CZyeheFvNYcgjT2v1mmaLR0EhzAUKwIjBY7o0BbU6/zuIpr+joE5zqMBZ2hAu3nYHsCDPiFAbkXmKwWKtTUCavrEaKdh3X10SyEfSeomZQ8RCz4wA2pAUYnTF5dEbLEuEEXIbFMt+h5r3brYgs2dE5aMabzK1i7kX0Pb1gRvUohcCryvXdpOndZ+4sPCS80I0+CasLQM4PgFvL2N/F5miMwlui5RQf643Eq3Tc3Ju6XMUAHznFZqSM/N5VIOhL62TB8QsPtNtrb+cX8kdcKrdzh4WvifVrLmJQDYXqYZpIFMUzETo9doVJ1OCrzsmyPQCd8DamdJYlhyn8j8oUFodzMa6GOxYsnosbnAn+EtrL/4scssNoCNJVUmCERywupRcDLuNov7yhax/Z3e7g8osg/WOLe9jCpwjFdyfAT1SgtJwrmF2VBQjgSWd1nXmjcO4DAdGacmFQx0S25ajoMcpJSvpRED7NAWkJKHbECABmwGZaqlpPbWFOn2gG9JM+cceXFUB4GZIMLvaEIcATEMGWm5EVZBAaCN1XKx3psuTRA9nbeg3aF17cyCyW2Uh8wj0zrvB3v4AxoGTZ11ryHCMQjnaGHg4hsmsFnARaEE8PFFdVbXppUkRPza9Uq/a11o9KrLpt5y0tBZJH9wpG0oA9S8lXSMg27ZHO3eTeGd7CwMub3UCbc2mvgsYTBiX7JmvRUCIlItBCxHKzZ1nYSrk1uYGRmcyvptTSyezVTGkWXJGhO+tgKlwKVx7CVI2gcGA4R6UlU+cSAdC25Y9hszMDigQQRHlLOolCVuJgAWjzYnXuqul63uAFxRwKxMezs9yfdkg/B5CQQwy3Mwz+jxrqHn2hfRvJ40UcA7tjNbPoqBqQrs5WbVGQTjvr0DsNlsr6jkzbQN0Ro4qDovxzjrQAJGvRataOAog6SxOfM66nHx4jqILEiITcS2VLoAyLiSHiAYOGud2sQBRSUdIItwajtJwndC3OaDv7yBHIG493C5osK/9JJV/eDwbyo7scT4yB3vJwabSLsN9Ij24mYIHxwPN8BXvv1atBvmUa8Y5eCstr3e/Tf92w96PUAGxHBS4bIZ6Ta0HrHKb+2QXZq7deHa5tmvBe7cachAf5BqlYKj5FUKp+0LxA8ESihaapViqMjyvXdOkxFmlunY2695Z+7c77LOmkz9aOnWfKe7pZizmhKMhIJqvxV/pcQaphQpzflQFXP8mjlk1mq6LJaAFXlQ5Yg9G51vqLPR79arHJEPaVXkqKQMVrnhLMJP9WV4r7vlm3ly5xM438DoTB4b52cFMDE1wfKVBZIBkJDBXMD0+vz3BH3ZkJXDU/Tq8w9Prwc4AbRW0PZURnrsGVCVU9Ba2cGFE025hfK1g0GpkN/ddkOjbi8KIl05dhdXmNME/ai3/vPyZXP7qJl7dnTnq38sBohwSErDEOBYgZIDO6e05lA4pQIUnOlkd+LxR88ZjRuGBcIOBXmUePCLACOm2kaBDBA03IQcr/kMPbrH5bqZEHSByzE0TiNDv5vf5HceGRqY8vBb9QKJgFAEyVBbm0VDDiOrwuIK4BtzCSCkfG6T8k2VLjtY+htJgaAJcChBeizJkbsmWg1j11ZNcT0QJEJ1Y46DjJ1raREwm48SZ68Jz6GG5jFlvj2p4q9/3B2TBWaoYZt1J81IouGq0Ijma+qhv8qFLKOpw2gdAEM13LeloCHMqb3NMS2tLWAsTb818AzNfWVDMsG3nRkbzqsRpxeF/TLfheUgL4e5s0BV4bRgearNZqhj3lzX28erFFgbZeHaZbVuMYIjuF2OJPnDbBYziKzP/4HiWwJElSjMVrBi6HFkA/47JI4IVgoatFzlkXwxzZ9KDY0XkwEU8Q92s7rfYBk7k7I7xyes/ZkejnNIkRQUO1x6i0tptFrO0lGZB12i7fzyKDsCchQUYKZHgaf6bj6BBhLAIhLbtKzYHsypeGkn9ZocqiWtiFa1NbQ3BexRy6liwJXPcS5SCfYUpLNME+ThtAD23nh0uDdyZygt8Pe+fWv54DMwhQh8XlpWpcWa2XDhud1njRm+NAUZzCafKb6WjdmxUPQtjHc73ogiEGxcTlASlrUOgASaJOOKfb/ZZjH3Co3mh+K6Ag1QYPKiCcl0ROIG6a+kLq5slGzqXIkimqUIH8ICebTeMll4iAdBpV8KFz4qQcQEQE5NKDPfIC461e3iygZSM0+W69QzWRmZS7JbczzrAoErMh1BYgNaNwAvEFDReO0sMMvi5x9OXw+AOpap7yyceCs2lEOwBfBGqMDDojvBYRFP7XpC/DuJdZc+wNdsydZ1Yiztgjlno6zUQwNjOFkm2l3fRzYMFL+mFsCB2TcpV8syw2m+t8uuj8fTKRu2gliNLnDQKaiB0p78L6hEPbukKkD09bQps8nszAuYwK/qFX3VGXWSiw3xR4lI1jzW2bV8FJYMAGsBEPw9+bW9U2B0t8ooODsPtoa9fbQrGJZwKpPncw3Fiijaree8jlWWWDXkdNlg4Kqnnas2uT1skxZg32zeI7GB1Am/9K/CQxerfHnG7V+hsMFhoxXaFBR4FM9KjqYiFwmwjWWoM1wcmvMtm9/m7f5wGltLalIlgutOGP4jvbgQkLYAOqO98RmESyOBU0Ejuj1DKFk+wAh5/00fG8T+YRpb2wxyQAO9deN2v52+0gjp6wTJHuIngtE1YUcInZuFjvxtXO8NP9FQlYOIVDesfT/pqT8y8Tlb9cbI/IhRcyxf3cm7f+rd++l+PY9D37WumeS08K6OtXY7RTd+jUFpl2mSdckL6kU8jdFRmZ3ghPsdcxndEsKEwT24w16kfBgur/2dRyGTSDI91s0ViErma67X3fQB/NG+/vX+08gMflx26ZGzNDmkofNxLA1si2jwriHptlJki84lAO7Y4CTkK3GF6Z+4OgbrFnFacO0v4wmAV0gcuiLDj7OSOZuItWG6mBYAi4sX0ztt7kmwUK6pEB4fzlyI4OnaaV8WCCZb7su/qi1NX48cbJC8qlvyatxkojLyCIZPgcgtRigs1yKoSMNTKixNSB76Eaec4KSTDjWzqMYFx6TxqWLxJ1JUQJ6fKlb9G9MCEp4BEWT+qv5ZwYqHpAdlZwOGDgl+/bnzN/xOVvcVanVIAm7EhFYFgEm929ha6dZRq8zScsTW8X3LrpwjTl/PT4/3i4ZtNyCPm6Ux48FlkDDcn1YsYCdCr2QWICfQ934C8RB2I0K4UE6p/zlWjxEDyJrpOEPJrW85tMlAP3AOBU9uzfZwa+r9df3sgNs/RwEqe1IdwRw+/4DPv6ACKpn6BwBA/GLxIHEGGIjulv3g7jyqLZ4w9+cVBSLHV9OxpBW54y0k4DXkpjFrp5z5Plrh7tprzS6xq9Fg4Zf9l9n7cxJzzrt2I8H5l7ZikXy6xalZE8yGRYKxipuwJLmcTQXnmx3bJJG97JImqQe3tCpBBAhZgBhTJUT+yHk0lqu+g2oHcK63r0MYM8yOLnL9Nx0qiaQO1K2cmZv/RVOE+FUl34XN9jeJH984OzmiFVUsjg0nh+CYCz4viK7pQSc6o9Utb/n5fLpdyzyOljs3fxU/UbDz2QlXfC/bJHqKPqAO2MG7CQNgxVgN8cNO4Y5EESXdgefp3bvMyt7x/e/TPBrdi+l+vaDI3ilrrGLH7fr1aq/s+R63f5HQkUJSZOCtUTEUw/36W/p01vMb0en9w8IjH5AK9nW5F7NoalxlhbqmlNtdG3feNJWYpwYLZRGq7rFJJhD/DSr8YowQkeWqyHygTGnHQmES96kDeuvNIdxrJJjWo4HPqdkVVtUSlyRFY8Q4eg/GrjYYtQhof78DUoUwurOyDaeQpT5eyuAvueC5UlFAQkdXqg9XiPCXfrcKAizs2KOsUUlZjbVZY/n/ensTK35H+nc4v54yn6URigGJLJbTMK8SO3S8/QpcopG2s4XVdtAOal945Y+tQv15WPttZ7zVzCjP9miJpwRZtdLpJFOgELLmZV91V3TJs1XA1DwYfc0c7YaMZrkCaGtMMcijVv/COWGBsQ0wh9Rq3VjmdwG1GgYfs0hfgchNatfgDBWljqjdNCgqc/wYeeRpdnR0zYaJLUA0RKpoDUjC9CRmnJuENkA23usjsU7iNNkk6ZdUFIbA3Se+OLnC76ESc/7WTq633kzU49T636+aHFwnyPvaPLMTbtK92oGT5NxeYlCDbzPLziR9+ruUAra+qd+jWmqWPWGTDZywwbyzqdL3bYfV3n4F5XWLqa+3FyXwV+07e+cx6f8iKNT0OpKJXP8aFNh98xTEmz9P764vD/fz0+Ptch573WQJBXSL+Q2/sar8toO8bt3XJfQhduBInKg+eqXsm6AjiNtjz+zbyXNQeoI5u0KtpNYXZY4NTHvXqzyBm02o0ja4v6u5jVUi/zRdUiOkLfFw8isxyee2EhzBzX8RANPKr7SYHrDtJDnnN9Ctw3CO7sh355fJoDSyEytOfs0pm4Vtob/ZXwL3JEdlC9oWxB6koEpGkYvYCndeLhYQghh/ZJRrVsHiaADmBGEZEg7CSEOar7kI1mglmyyJmAaUBnCrOS7cq1xfKMQhx92ZauRxSWyA8RgeRK+LP/Y7LE2qramI1Zg6Ox8rc28WNyp5r90yxKsvjIhGTBhBgaJgwkRJr+/uYbvDF+3nhKJr9E+AF9e0DMmM4+RcP2zLi/R6SN+Jcuy3vp3n/tiLTzSrz4pz9Mx6GSrEQbIMeRyUZwq2fx5xrkUGkMWxZqQml3dIDgSvxWgPBZooLuTg7ktJpGEYpL1+ROvBJt8b8qexxqWsvKgHz8FIh+C1Uq4ygbNGdHUxuAmNswiBVRplY/kGxnSYCbfLuxfgPux+3JdpEjFyjDlmN6rO3i7IAScaZVVeKFnQIOQDBb7n4Se6mFptef0syVNCRwAys6J0Z9yCDVhNYWRbsyuAX3qW8j4JO3XX7SigYC4b4xCJXWiqvlTmu6Fezyjq7hEaKWjowb8xazHOQrpF/hmS9fP9THNaizcOHrDP0NVz7zZtZV0tZqA/3Nl+3Ul/++H29QDJq6gcBxIzN73K/xjb7IJUVIE5bZVGb6X4LhSxsnRZlM0pN0DZHD28f0xr2DCbtlwPUiLWP8Pr7SoK6gps7V/NGav44aNbHL32r9eZn+Em2SGpA+mX5hjj/JJ8Pz3tHdAh10oPe7zc4IzTAzXy9h1nu3bPGYNhTjWbWNwR4uz1VIIuwGQTPgD6M9WqyTeaWwvP9owpgFSV2v1txa4oHqaBqqwbvRDzIm8e7VJ3mPpDqZSOI6KOXnXlYcemaStSwDFgbaE3b5pd7UgTA7Qt2zNgEZsRCmpmQ2bBIvUf9VoJmcqeLI4VllajHt6uut+cfVWutute+p43pLMpl3OFM0Oo+r1N3IUn9Wg4ymHNou/ld9Ook1zLy+OHaa07TvBG5A3KjjMlL4SsPoeXrH1Ld+2XF0h/YDX2aiVGRf3EnEKIXV45OrNeGwpC4s6wUq/sdnhkM159Y9ln8iVa7kY5ichiRBPxHcx+DZ0DM+CSK1lRHlH0Tb4w6UmiYUcuCdCbCw3KE+vqYDlcKaN6OEUarphPHh3iL/av1tjA1+ham1tmYXgvaCfcJK5nytM2mR29AFFgTYyGSZY7keWZTbViIyTi0unQZ8xtkE2ie9mqDJ/yG6Mch+55suPXyymdNa3/b2RBX5sNjV+wLEX5O44JocUbbM+sXTd+28z1JS7mT0TBlwJ/72w8ReMh42B+Y9VtSBAQRiJiiAeoi7ZdoD83vmYoNuLLxVQ0SlXvqfzf2Z/QCTdD/SWiwyk+sVIg2lb7obkWTc72ZBUidjcaxj2fKQDPiCRxEct7BtUtBnjMZRfT8sN3aVXGvZBMFBXPruoGY0zy2Podbo4w1gzijB5JMCxrvSlAkX1xH1geLKm2OrPliJScl/pfqUBTnIq3GZ1ANSFCnuOzGZaKqZq+gMqGZo/irHJ0KthhbU2cJXApSWw0si/Ug5VAqTAahf98mWwtv46S+3Pb8VrWofFI3xARHaNeqmundGYAgJPG/uESfqXgVEeHjmnEEY2viFIvfXWdVfR2n5mys+sysF6gFgHhZ36kiGtDH7/MpkJUm8Kppi1wiMzo0oB7qha4cjaVgZvfm4mdBq5Cu4I6PXjwg2du5lh2XYFDt6nquOHa774jgzKR2EHyv12WWCr2yO7piaNRdOXd7xgPfqEg5t7okoPv3ms1p+mLsCYN03v+4GHxsvPpTf4K3SLD0FxBtDTEyYGld2ZhG+IaczsIlF5CYufgvRAOg5VoEzeNk2fZAOOubZrL5j+kKeNXMgo0GJbtzUoENGZB/uoUI1U4oeOZAuosV6I/IEV9QrEsbRC3TiDcFzq+5nbupbly1m5w66Nn4JFaTgp3MGECNueecSb4Gd/ZEsxR4qV3VeEL3VNAiM0Hi70+ixPEh+uOZfKntIxauPfkauAfLHGjW6Ew5xB4fAxsdpyN3Qy81M5Q0r/Pp6Yug8hWxPPRJ4lHO6NVibAhDGGJhAJcjllTzwF3ZGUutDk9rBs5tbaJ/qdABNsDBuirjZ9MEjZKlLqeV19FrLe7B4IHu6h1j72AZXcH/apXOT5KRutqEtQY7izPvCxoN5x3qsKzoJo8PewlcCY/+bmRZvTa0vNbD4DTNQck7MfzpvfFWTU4X1s1puCHZsToU9rsjZ/oS/aqqqtyKBGXohfQk77pIjmTwpvDFaO4aR2g5+ZAeeytcnFkIp9MW1WQhMScCSV+NQEENQidLt5oev6FtpKceWf9gicnTfhM0W/3AgjN3Qqiaza71rwK8V9fVhAlrHpFDkfQekblgxDTH2f97HtxCzCn4vvypJX/+X3+TwVW9jNgz23TQ8BE4vOt4OJugrkENYhVfOh59jUueJuMWUIeEn6Ep0EDU+OP0Bzyyc6/WLqEJghdhBtp/jALpGSxOPxJuKmvQJq0If+tgZdklW32WrxF/9U8Eoqk62i/y8jFm8fszhCcfL58qc9w3kc4YmEowIAPRTrPWsxBt9SsEs/tHQ16ccs1T6L2Q8lob4R056fB6HZ7InVa14s2tiMgpbDcFRZUrs2MO8XUog+ITDTPiLBjcKnDBUJouMx1lJNlzm62yR2qqfrF3EyfMc5Or577EzaQWOrcDdbZRDDiul1m67zFRS6SnubeK+1pmxO2lmuzInnkuTB89pyOGc1trUMauyUo7BP5TAsf7jJ75edrprgKl33c4oQP4Ih84GG0GoCsZptNM8KlF7STxzJ4yKflJBGny6vRxEnHfhOI7kmdOxfLuEE5mbeE3JKQKxG8+r6/N0snlBhN0dGV6WM96RBdVIMzaGIKd8017Gahwaljq6Xxzd0DcpWB5Nhn4VgMrRY7nhnMDY9cR0S/YAebpSTRFFBeG+9z5HKJb9VS5JhYHas02TLIGsOgeVucmFvNUi/87CF2lWYqlZaH50w28MZlk3nwjKb9weqqnAz11FjYFOur1tTXW1+1lU2epWxfPVcWTbLzpoVw1/jmJGiV6V2eky/Y9FBbNDAa2hRSk/+QKnNx94FHI6tY2XUc/SEabq6lSO1+qsY7CvSsUdKim1bPn800Hpayg3fctyH4vDBO3xpSKR8HVxw2djdHiEUT/uqyT9eAduhYsDLyfd3BdKzZbUazXAL/my9gaxWuJYc9HdflzVJF5a6X9BN8ygNYXvYjQtK/UwPkiGQUEe6pwkjw2drbaK9sJc1hjHFmQ36ZjQZXKOJPn28vOZny8KUW+qtxmxk/ncDxCKx2NSVT6fIvue24ocEW/R5ar7R3oOcS+kWO5l43TfV4cufSOwOyj3k5bkWnMIN5GmZ93V+8eov09VXTLi6ylAgSMfqvTvcFDXwx7ozOsyFHw2EsRDWX0cAhSxNMRCRJ1B+8nBsb710ozLM7g3VUISM1SBWXBkTR03fR+smXwA3YL4XybhOiHfJ0lQFtmkc3EykbpTW7EajFg6Z/UyrUV7AEdbSdOrM7C2Z/KA5JvwJJibe+N45VQ3TGjlhvM62e9OdIGbuoaBuQRSyG3Mq6LXiUo6vqpqq8GDdpCdLLT/B0edKb5NT4f9L8lIjJpW82uUtTF8B8zrhKmQ/LTpi78vccXOQ+Bg0+svMaqFn5FOXo7gMO9dz3Q/p+CLDl7IkCAAo5Nee6rRKlysGQTFVfAFvplgJNrHVNLnxnYMLKUs9ppuCbXjy89d2WAYfxGDReBqAzKlmBjeqElxZPcz7cpplhCtbeOca3ER4KB4QonW9tqMt9EHCUHQGrRdZsPPY89VvZ/fgIa5dmbq3j/YqevdTS78sS/8ohradAJCsBJeF/LJ1yTKO6Rza+M+8viF2JfqX54ThnSU01ZBRr6HEExFQTKuHnfyc730tzsvAqnpKelB1LeOnAOHBPa0ZXbJ1vTt1/tONIAUujxZJPvPeaXRwcTWFxI4FtoVkONCMe+ZgtFsXQGdiLWJivm5zppIclfKx1iotemKKrgW+l1d/h9PCz0hA+Kg1k1hyuKR1FfLIZngDDqe/Tv/MKI+mXfQsdTgDxdwZTSQqx8n8FZGJDZEHfB8i/9Bf4KZ0gLnH0oYheUycra98NTqzzr7mokTRfYO/Gj9Hz8E2/UugVnHIN8DWyDbFhH4FA4pEFUrVN1CWUdi/5DkSo7MqqroWdrixmnaKmfJwyAmqFs+0S7JQEtiKGHK+oMwM5mSZpRmjEpO36zf49kn3eh9Cho3IzWNt6gKQbfLReQk1/mTgB6zg8dQduZnXusvQqTki3jqyOLJGm3DcDtc7YgdByDKYTNmAasEGAIRvcab8hmIBfR0ICJBJYMvQZIvLib14glwhE4oWpCpSROjc8tx2Si4daQKInTpsZaW7b7AKxCd/79+xmurOO9OfZJiM7BJUVoZpIcY0Kb7WrEfW+6o1CHW14KaZFKla5QoOjcdupMcHdD7SEbkl5600JoJpcFxoySHuta7XbtgaC1GJ2vV0gepj0R8/rwxj5M0V52AQv+2pp12kwb9z/ij5Qenm2HKHQ0iyiOR7Znj6TPYJqBK/RuCsVd0iPgQGEyDle/oGKQO6zzf97iiw8qFs6rgTtWxiVFhqhEnz1aVF1hNhBFJ5xt05+xcgHi+b6htmiO/tcPJUT73bNagut3CMh13FMHQkJFgiR+SrWsb0vSjzfL+xU7EEk3/SszRj48rFrg4orLYMdB1WQjZ//Mt+qRXg5HmyXYlgjuX87V7ZlOb1Nr/eHciyH3jiriTeyTu3/QrmAXpvhtB8ahPFXm9VPh0KMNXjvfLU64OrBWQxMD+5i/CJb78LXOUzKcfggOzS0R4dxC9xRcO+15qU/i/2TiBYHcHtvD4YrmgOC/V2MXezzQTZk7eHMZJ6ihAXYZaKiOLmI+hfhXolELYyAabE/RZ5ONbAE20svK7u9ux3mMNL20Id3WmiKpawEQz9iU3RKkIBdNHGRO3ssEQi9ADiS1LE8ubcHXzGh9WpnrGi7GmLJLtKWdIzrLJmxPFocCqATK5/TV7kvTtif97YsF5wmuSc9dmLiflW1yIT5lbfJ5LavlX3mC0YXrWnf82iZi42TPq005SdDLds9QC+okzjuIVrEReNzYy9OyigX+Q7Sl+q7VnBNXoNvyNFMYUWuoYV2/VoIRYNFLZIXUqDJUzNYom/7OAlEkQrmGkIdphlNZVHLmflGxDGy61Q+ZtEGUja1W7YypyBvYWfli9JqpGz4v6yvIeFkRkwXEz+Mw/k4mnN63sMDq3yFuHkAlZ4GVG197zhMZ179NpVq5PMkmg85gYqbdtbrturoQhHtx4/x9sBCe8AwxYy0aT0jb9Ywszsgm7ZTI5EcxX0nzzft/oBLQqTTj/tetNgmapgZUn6kCij/KUO5aB6HYlHHIu734iYDFbIWDiMGf+KpMSpC9alli0qgFKZ08SwHutmfxR7zlOO9BpyFu8Uae1+3Qa3SWRXALbPAPBev83Zm9g7MqdZRbPa9Lr6VVdayXHnpjzfDaLqqYTWLVOJFwmVh5DbU4qq5XfP5a9Vy9XP5s3z4g1Ip9+CZB0V1aS3ahuOSAp0fni3gOfl9ouiFLTgAc1wD7QJzYx7926X50wvfHHCPtIGTzL3MKVkoKS28mmMC7E0mraV0AkaPM7oNAQptrcTU9KHiH/URHvReyC0yOFy0Qrmi1ro6XYpI0C5r3utN5P1W9Oqm4grPMXwRBwXyDNSbud2fLfuvmi8n1LdDVr32XsgJCg65NtUMSalTElBTNnOMtomecz0Tm22IEakJDSfTsRhmLxaQYQRlYk2npFKKmSA8KpbrZIKTv7X9wSzgF/AoH6ExtZMQfXAnqKf5vxtxfcFgcY70dsQhuwIK6l9AaFpiRf2LHNQ5oJsMLTF1JTODB3HsjKGMX2TH8GG3C5bx7KG1lsCxPOdfuWMDXBESgZ+DTs/w/e7sQiX0uh+ZhtBxPNLPEs5IDrkKFFuTZbHlgkgf9XAR+fIWykvXQzkY/3YVjiPDc7+dF7BSe6HvLr4HIfQwUSDVAI12P0DT5wnyWB8yXDsheQtA/D/BYfxpfvqg/lU0OKfu1lGPiNUPpNAXMugFAldbwKEHV4i2gPdu7HzRbAcoCkOUC5ZjxcH8gM1LRNyvxYqNjMzbpGZwh7GAFbCBM7qFGYVMqtVBx6TU6iMrggr0Bu32o+1zMdIw7DKmeeLBKgd+cxoN1UYX/2wc4lHYN+zL83YArsSdZ9v/xb/D0whVvqLzGyoWa5zuK0oKh1DEQj6HlWXU5Z47PEjjBG50X1k5eK5fovINneI+lKYzekDnTg3WI86I0c4UwjPGQjkkM7qxreTRxXxfuT8B+cg7BrgaMNuzyocbcApDdgqAT4Ux0+m+YdsTsfa9uErf9xT6djTAAqPMCbuMLnZgMLVefzBqo2iYaLRUlbZEhdXRqtxaMQc6pGnUmCBY69mj0KrbKw6IyjEMRZhPxNdR8W8+3UkJNQTL1zIUfLWLI1PbDKJw9Lw+LqtiMZqDvdC5LXf47lTIjpnY6ZeqTMINmeEFdXGIeh4UAGzZILBDBF2jvbwOn3NNY5Os4ibj7ufCsQP+IOINKZyo2pFAEaR6yEgI/mLsw1Jky66DLLe+h16Z1i/4EafQMlyejCkmvA73zDn2k2LbTSH7Xny3AZtdZq/H25S+JqOXYP7Ffg9HIczDEwxdDYao3XJpbq2b1K6bxaFHXqN0RoaY91uzedyDr3F5zrTrXn9ceqlnG1z24rlOelHwT5bRHH7t/l6tlfe+d2YwaSPR6Y9oMfh0/e17ficPvuisTxuOSU9sZSnBFyImmWSs/Vl4jH7nHPxBqqAPsfHC110hU3CXxY8MqCk6LWwDCdRWd0k6J0m9MwTkMkW3SXP3anhkk1hZFw3HGeyDPvgena2MWeygyjcUMYtU4Joen2CRsSgJ+UAWy4PYa09+CeYwDM7UHu5eYi+gjceeSMQe+2v/4p1Dz/ZELsz5sgIcEPS4XYSjUJj2DiY4MI2rEOzddqoxyxEJ09DP7u6TieTUK7wi5ht5lmxgImgN0PuruVmonqRrJlGzHXOOldasicbQ2xajmeZLBSJX2mfLW4+2Iua/7inKIco1TUkqcCXvUJ1TF7pfGtlPYdq0CwsnuW9O2hpZw+TUqrHguWndrzbugXmemidqOrKDfdXqssVdWvWO2eYj31lqBFj6fT1UldCd3odd8pjynj8mIQoMEbhJ765BmfA+Ub3S5i9YmzV5qgcFvKipOre4y63+JC6STUMP/MGD+2Dcg4zr792eTKlEZNQuZuKk9h5XjhFjXWcZ9n/xQMuBMCMlgKFRl7TKYYDUJz0dMNy92t4XLT0D8loucEXqyi4s2LKKMDF611NwwsZ0kmF/qy9wEaA9SD2h0rNBy9zSJ3xJbQ/rRhRUPAF77K87qjFho58cNqMrrRkIw14e9PUH2EtXipz6qyREjj38eL8MIkhKUEe8GYG8I1o2MkBVAsFTNQSpvGuEmETBeGku9VlVUgprFYh9G5FHu1oqnD5SG31292e8JA2Kfe/t4zJL78nmyLZ+6Pibfiwk+xhqVblWQpIbBFlZlioxXMxiuXbemDbU73OrQAAO1EstNbGQr5VU/yJgGytukpj1klnygUXmrnXKthGchKvgjnzD3D68RmOC9L1zYS9Ci0A4FSSDUrUHPIk3T9h00gplJmSecAoBcSgHUppZJ7PzCk9A3mqgwciQEGc/Fis2pMgD+nj5WqmU5b6D5aYWLWxRsFs61dl33t1CiwkXkrhlWD2PA1u8yKyIOQQRM0XPQQgL2L42Y7ckqgauRkSLXkXCA1i0uA48HH5cFGOa/XGHTlZtQAOHalk723bfi90BCMy3USyIpuOFd3aInq12qCVDgdA9M85KsOniQPvKcA1OKBW5x89kEwJZuX4SWgqkob533/RWnxgsOKNY+gs/4rD1hIrHJc1tWKaYK+Fh4banQ/NzZblK54FGmPc9qlPfbrtxxmx8kr4ysLTPjHC9+axgiGPnf7QD73UDRP8zmiZL7dkKRD94c3HcbaWRDAN/Xu2ls8Taom+H4nvl32i2GGRKnWEYjO7aICg0hqhcrehGV/F6X4vCKKZo98MmagGNecltjbA9GueGnxujzbm51GZ6ATTsg9piYDfSMmUsmzNVV3QUv1lx9xrHkmU+MfB+I0YM8WrHe0WpPLOt1YXHzZAV2scfa27FtcXYXXKMhAcM3jaho1bA1PY0HJK6FtHOftMAwQScRFkWeBK5txi+dyFeIYSZV2ButjERd2+L0ZzK9nE3MaP7s/lYyNsLnIqQFChrJbLt9h1sf4ii5yxtPL1fIJEGxJHolJlxafFOWCPr8gkziTbZmxFxwG9X0YfBEyoVTKvsqrCpaN/VrcyYhrKAOFSwlLVoxM02TvQlpXDXa8VVe/d9LF5rpEJGigwps+HOwODbl/0NhiCNacYyLkGTtaJF1uXOL//wGHPcGY1IkzlvJK8scqmBUQ1HCnOUJIIuYndY+niVDkHubIEgEz4P7Mxz3W4T0zIdGcL+K8AyFQ4QirKMQYPQNDqSWsN5iTCGBEGL41R0BlGDPn3VRCWtIQv9QZ2zO7EsVIBXjFgwNhsDkICyvWgYHongpoKerjfeWrzAdKUtlD2RhnX1PA5T5RE+DbB1IdxzPJLt9e16GnXPq062cEen9oCjIGJUG1ErblSwRSA2O04yM43aflySV70Go30tmvfWHDMftsHn8aAhrZd6i+u+BIaXkWqEVsj+pdiZyHwwx6n7gbSOyz4Xb12z6zMveqKi201KjIbNg7gOntEpPq3RkcmNzPG6oFTt5OJpns8Hb8OE5k9Z7Xtx15LNDpYy7rO4mErcp0RfJsXar8WJQHmZuGH8Tqh/SiPrTSdKsmL51X3x87UeYyXC4UxNIZZye8+Bc0Zz/kfF1M3fIFgqv1VmE0YeWF4DbMYH96aaI7K2+DmiHpBZG9wwaX+FY1a2yo/hq95jW5nY6vThiVSWtjN060rjrCuT64ExRKJvNqziUWZbYqGUd1poXKyZ0VW5oGD/HbPoOmMrGmA0lDYaBP86qrUyV4dtbsIz2aHJssYaWsmsFnkcP6xzcvDdKKOFbFenaaUJ3dRpOYAJ9sl79y//spnQ146mJHIY8/4zy7JniVvzIF2tAyCRhFXUOTJ2XtLgXJzmn8chpCk20el8G+3JBVBG1PtUKuWv47kID3hfe3JBDjNcPTdV3hUgYfBSNYYbjw2ATjf9xzaYRb6ReICu37y5KJU0ypB1yNY8hWBvaa5fIFmseUGscoeiaB7/oyMo5b9v2v8cONnHW1ImcaiZiqyRAWjfIQFE/zwe23fH6BwCl8NLtsrTJ1SEb4bVJo9zxBLpiCF17FrN6724yAF/h/wZTpvDzyjBRnyq+ee27qUXqgwOzvw9n3/FZ2/OyKausIn5vH5aM370yYP79Njzh1FYvYKx8shk9zIF/CAvHszFmBSQK3tYIWcCCUAtYGabIz9iP+VZ5nBd5sUs0vREvLn8rLh39ePE3e8GCKY3O5O/NKxdNkObaunia3E/T/0rXKz7DKLtrSG6gzg6wR5Paog1IFzRpjMHO2u6avED+G3d014lUjvu1W5Z2oSyyuzeerHozK9EljB8BRpogUoxgVyjwwhAFr8wt6LYTXxR7dQH7izitJHu4G2wiNUr6zsd2qWLM/66q4YRX94ab933dMW5EyXFYAuQidDLfN2Hl54jdopvXOB015ccDeDbV/mKmy/OIdUhzUdeWrnPM3S4yOboumqA2DIkjwgbLg5u14ZbGEsnZp4ohHxbjhDhHfNb8YDfCEi7RxueJ2/VtAOLo/BoVo02VRJkmrzvFUj5er5j7j8U95cTCMMDKv5H8cbPk7urC3gMj3ab8Mn1V6/P3urCZEwqOsej8eAnJ5ykZNd//W9wrBH47NFvycv3Mw8MUzOi5OQK2iN1UXqL1h6D2AaGcwyUn31E2Fp1KtbMFYi/HjVsucPudjWXtfmWnGKDufzA8FHPV1nojcQNab+JwoeATWx+zLFSJ5/T2iV9Tx7ehIAFgaazBtQo9ZY81LmbnBUI90VxSEtDiRvM5acDuvjRcUR6TF7C0n5BwEn38IiV3W+chGTLVm/+tTswbga3q2XXxkEn3GfGQHf8D0i3TyxAbxgFkwpqHIHGrOVOZCelY4xRstW9WbcUnpUM56M/71EODn7x7rqYq88qMZB9VSBjcpxZSPDj3YJHLtRHmcSZ2p93WLKJugvxLmzz4qOMbRcT4BuB60qOi9PBqUB+UyYJGJSAzIfEUMZCkrleVb45mTxHGHKKe+TBnYJFk0AzW1lkInbGcdF8Ek2RKLudbDkJpUUtzd4sRSWEVP2eR6/KZ5K1oABak642KXCcm3QQRvUYZI9ZbjFOojgKJNFvNSWlcBuLd06ekD0f2fokc0jX3MaPBbiBMZ/HLiDvPd1ugd262h/A8flyrk7V5Mz+m+Yb0z4/PGHCmba6nKRYfl4SljrbIsEwTmipNhAtY+hcBWBg6XgqOwZrbj/ctE7JskjWtJtFhh5wnhoAplztdOnailo+qUtccSh1WpaF4UZYTxNOsCHXUPYAMgvt83drJUiy1t00z0vbMeyJV/6905Rmuf6qEoBWSTsXlFNdj2PYSPyvuBRPSSnqU9rnHx4tsuLaSpgnqSbDlumUowgr3YbXvmhlDFfkMUQ4ValB3NstnMzwnIz7KBAJDQSXV6NdqEmrVLFNDjhPjh7u9AtUPq8YeaWkxynpJ9AS4lXJKM6dqRm9eciNLHl9kzj7l+HP1LfWqKrQeAabdWsU+vulcKiQeKt6+3HDXB+tscoXdH5ORRl6JH9CADZwDBpqaXXC/oTXwPwrrR95jf/LrpufX96/v748uZN+yLbAdmStTvNctmms5UFJr1fcGP3CshjyGi0MUarUZba0vjCYoFs914N59Pzriq2fFjzCaoHYTYGdp12hGOLdfCdvFhaytT8lg90j+rAvN5I3jy38qB/gA4AV/IcDrattxFaY0RUgiHKFG+/4RE8HWULQyFSvn+6382CFLl53mW4+djw/94yjf3uBzczc9ifahryd1owKSU19gaxAP+v6EUf5FWbVhzKtyCvhYtIQSZdeO3nJ/SBYtdRW4rn8hFFbWBqXyQXAeLV8RGIQgd9ZG3jhFUwef/mLn95e7g/nCQW8xxIasrP05WAe/x3Bjjj6swHP7BauN1FJyNQTWOX1Y5tRG3DcqIGGDo12CXkXObsdw84SideRk2pAZjt0lN+6UM5qXpFJhHPR0l7/KYxG01HJYs9QcW6RMZlz0qiJFhP2hr7V+UV7bS/WOdO+7L/zO0BOPOY9S8oJvsHdXaY83eKjfs8+K0Nevz/GX33IMZwaxSzJQ6V2BR4+c876OgPG5winw/dfVw1hjyNRRqILa4n1YYK/19N/XLw4L5udblfT9wyeDHOtf/Iqf3JP96tmuJwzYxEJZnQsi5c248R9Eye3qpf7q/fTbd8tV82hLcjwSDPaolFbaa49Q93/Jqu5fp3vOJnYmlm9vNdnv85O0uTi1sQHdt18Cbb9hyd7WZXLbQafWL434yU23qc677Qi+Ty8dYW7j+o1rKbVp4FO7rS3T9epsy+XzO615iBgJ5rh+QHaTmCOWKoTHHiMW/Sdo1/3LICSmiuggZOgobnkD8a7fCWkGFGp8ZyyF97aOZZjevJ2/ZbyWO/yO1W3qDhikUiSWt+u393FWGdV3bOlmCizwwuU3gYhIr4EKxNPJVYWodJkPm3/NwEKKKHapttpWccXyeFw+QuEIfrjUI6rn1WgLJ8++Og+3pPfK7WufvnSakwru6xtZQGGT1xF5RHqZY1KEISr/Jjy659p4ut2ZpNEhEcfQ2hQNEvqF3S3HxhWf4pMRxQUPTxkw2AYpN4p+T0c5y6IrvArHmw06HXplTmSWXxADt8tkdqqHOIveKzRoNdlOUYLQATz88iGOx4lisonQrxF30qFm9nxbAW35NPqxr8lMCcUgN5GVp7sFOxgysKjpmC0aUiO6yDEuxIWz5ETWx3eP+EyhyqjIozA3SQxrGEEYgdZti4SL1YBAu6x9vjk9pCODXdbC7j8eTA3P39D5aU57k2KvJTm1aii0uIIxjVTrdQf1jZuB0zbA0i4TWHvAgr79L4j6CGzNHZK14fxk1iOhkSvNMcChqSsaL/qHJchj+2yN81KLNBh/Jd13rVKNTPyjooqhzo0OmW17MsTS9astHmVVedWLgqp1XNhKy43oMonAHol8aHyHd4sjN1hJdUuQaV9BFwNvUBnnsnLodWn9ahpsKQvGVDmsOCOBd3uWyly+jmwDXaxlByvWsLVSF9T3lTYK6xikXUSfIJCCx+NXmJMWmZbJz3Z3qjl+TJbGcgac78sjQUjqxPkB8zD++BBJywTcnkkNJ9W1yeCvCYTGik46BnhZLP90OdDBKoXYo5YAY5ebi50i43N5No8dQPXeSHMXyzDPMKIzpxq2Y7BTvquRlcWKwQgAwkkyXcNbxeJeKGB8VwhzBqdw2pu28puGz81V6brmQbGKs0q8p3CDN+KpqzoFmdDlpmTmTKdqbEVLfi+6Gmwd/Vd5BmRSeCw/pXTc5GxqQERrKgNO92Jz5Z5h8L+DRDoVDL+/sc6lh3RTteg+4d6YhfZTSN0qemGtHHM+pRcapVLM6sHKU+5AHcPoHHdHPZuGK/hhryz/ADFRvzzCEmdIcqhdMyX484eyWDzHBRY3bGOxizAuvDGLODgsXfKOXjtKdEWJ62zslUtl4c9xNzq96+utw5g4uE5ZWPCfRgPTNSjO3QrNwlsEH24iR3tsSMdgRG7NzspoL4h7V2i6E6TQNqM+O14T93YGlO+lk2tcEnqSjP5VDCxaGbDWGYHDe+2kwQxPJnzNCQ6UUWGCnJnzC6L5H9VAJbabT0LO1Mc4/h/4mBEAkl1WRmf4mIpbsj4WplM3YuxIsZLVCnbpC9lJxC7l8Wgg1a7Yigcds1Zcn0wg99ddrUGeIdUpZl08V5zpZhrUPgGbz0SMcE7E7OHHbJmK03MYxhBsSsd1IzO7BzWeSr5MNmcsesT+jk8POIqX7zHnV5sawFYONJ0vbwHM5YIEXt6+Ut6HXur8adNp+X2bOqTALBQLCe1/JQzCE60qXPQSDOMTog7E0EZWMqqc+vjYsY2zCSV9YNmjrcua9KXnxfpGsEOo5G4zQO4xppFHCPZiAv5DnUxfNA9X5KN/vooWNVTdr1qixs3lGGHSrXKcS7FwK4ESY2dLoqNS0ZTj5wzGEFknJa0qdflg1zVSYeG+WDNm6RNnIu4OhjeNRS4dCvflMuSVZY0adPrnI3Unea4xyJzrs2UyeggMXaXdRpPQUQZySgessreQPJPqQ5Q2kNk3ZdOqaoXqGACsJg/1KyroCGybTnlUOV3iJ7VWYQ9GSlyKRRsHb3oqgj/ldHw7VwbTVcR7WDwy8Y/PgjInbmdpHeeuV4CXxGOhbovTmeTKABPBVgAkkQo2rfec13eqsVp6hW4xBVK0gvoPqXIG5QZy87IuJHLHpJ3s8q8ypOEfTGGhBcK9CXPSHoKplxsgEAl2GWb91DNX6NGrN5FuyM4DgecvMZCNz3GOlZC2WXN1QeaQAn+5w0wlIsjWcEplpaiFy1kFIIlZBp4QB9Xw8WVT78s4Pg0ZzmhDHCIsh8aVlRXJGuqh94lL3VJi19wE4R28UjNutqvHeak+o5WuDNC08uHO+Pskn/qb8qWJfa58Q46NMLZYmbnJ2E1t6bYan6u4lD0igDyA/AICFzTwey1yRmDdkVdnjpxhucBrwPQwb6+L4wPENnjHJM5DM6z7Z5cijxEmub96sB/hlaIVYJlr9i7zi/G1hO1pHtdJFdZ4dQYFiJEUQI79rqi+CISNRYtM8a3TCUjWkJ6alYuKfzxSoj7XVJah/Ymuq24fHmdv68Tr8/CPdSPNfJX+W9lOWdXspvSSchyo18WKDHV+ZqJ43vMo0xNixA/gaN/H0oQun+6R1QhNy6Ox8Ng1gFqYVxKojImSiLiCXlCAZ8dTqe2/Q0RK01gjfjmuiwyTsPq9T1v5K/FHi4DZBqMFWW0TWbHVwryr17KNl0a1TFl6tKXU5vBHLV+pvy7tUmKuNT/rX0qSXUcA/14UItVdE6Js5T+wIzOZ6VTx4mBnjQTUCKtyhYfj09xHdB7KsjLGVxrk5aQw1HibByMKJrVTLSHQZnWiG5ydkM3+GI1K1VoiUMemIf8Nfv/P2lxMZmCr2n/84ic33z2fFwas/9/xkH0/ztg3Lx892/21VdyPz1X3XQypOGnPZpmY7PTWzvlWTbPe7szIKQmLQF8UgbAczl1dUH5iYli8fCHvwXrAImrEnPSU4Nq82vKSxPzEnMz08UJYmVsNE6EE7LDaVy/7IZEiNIWc2NmkdZv+ZJtdjWk3tWxk2ouTGnbsTAZO7SlSGq39eTFTQqTm9eX++3hsmo/dNt7ZeZbYH5zV9zEx37rQqpuygR766FhxJaJbBhvdyCcxiXtkpIHU7R5nxU+2vLtPN5SrX1aG10+iErhaBfgIl3zX8esUkz5PJJo0cwxy/VbLXZGwttIq0lHI7JrPCQKqBVNGUAgQaXqxA2zHY4kEs2MotpUK9HF1uoLY2izb1ADH+RM6tIRsSX/2qh4mvqlWu1xYrEyuOTQ2xNNZ5lNZjd7MUQ2WAHyyg7eSeOCDGzoJ8MwxDnA6cwIjusWHRWjNcPnVwbZ/EIVQvu+EGSsVxmeSGJFH3hxXNMMltsOR00cyWMjTHaT97kaujEKI4qJ0U3YZT/lgEe0vp+Ab8z9KByvvlpkIShK1b5Et+gO3fZVo+VHdkHxRoLnBls1wTt87BM6kn6RF2wOq6tuiU41BfTWy5i5bHaola1UGAkCiiChDEkPpnXKexdSq/e2AM9Fna+q7ega8oRsN9gq6wdYLKTeEQhoRutkPV6CN4wVJrgh1iBAs0rJKrsk0Bp+5uWGttYZIFYv0219KiEswoOBeDEYnX7tMNAAbOGeT+O7N1IbYJLQxKBNSYYwsbv8yaeTeE/S5Tq9T58GcxZfAwFufFfpOwVKjHhNQ3J15aCCaWF1Zm2zLG5hYFzWej0bjgOYOIGNSn/mmuBN6cvHEoXs72imQRvu33FSR+BEyDvtg4fj1ow8VKohNatWsWc5wcmGiVNGlBgyvhWCYCbOpqh0VZWwJNcQ1enGRMBgPEF7gUgxLgEp4uZBfcamtKOA2DxJugZqNDgPBnrgtqiMcCAeDIWDeDFUDuOToeG739c4jpnUdHbVarkASwdmXmqxdwe0EDMhhGb6Hpu47RXDUIFHPBt7GuRHvtTQnVG8o+lYQliELwzEVwbjG7x7taM/ImWX98uJXoEDRnNhQZvajjLs6/n87ucMB6QfMuhDiur8OlLR0EMFlVRRTcscyhMviW+8GzldMqH9lgPOmX8Ewof/yV6zvBLmoEQoY6xGaW9phbIvgXKt21S82luhkU+SuOPfMg6wkEMsxqdve0yCeL09d0plGWL/4EZT7Ttlq0ZnstWku7JHbo0zBtqHJBCe9U3se8NF6s05oKtZl5hSiPXH0cA7d7c5/fON/Wkc6CzNUTHuAqRSHsF3crGXcQPb50wJtupki0MwLK7J1J10KsitiVjoJFa6iY3a3epNWpXkZz+mwrRBJ62EDST8++HgBguO5lMdYTlbS8C2r+0s4WtIwVDUUZ056Od+C0oId2EBLgzEClwZjE1wg3dfgrVklxJvn1FLqarI4bYZoEFvVHbQckRW0vNl5lkqUWBg2l+gA54GjF8Spa3QgrHpc+87xhb/3Lk1OsLMONB/3/EpmwxmWD+3MAUlRIL3PR7xFK7TSEdboiJhSyFObnN3UIUrMugwk7qpYQjfYsNCuh2QcUinUGBHJlLx0EcHnXTRTc08WqyFjH0Sjo7mv77vZwW2gSvRCiYsBFuMgIsboaCt1rw8zVnFC//WYMFCrFiMTN82mDj9Dh7YxaGzWhUe9D7cXTqIvdQNqxQ+NzmjPmBbMq+JUqtWWYJMsApqVPvZWr9hmcfJtOJBgHXcuDjJuJVNVwicrhI8XZu2D6qw3t+F3QZmgWb1PTfdX0cLZDPjSwqyNAEKrenZbbxuRNO77lrql6k5qW6R3NWX149ZAcvnYI7u1yEw4AqWMOEq1rDENWSfo7HuO3PvybuSuhH+VGym2DOSMUEonmVMXQ7Q+uMbjnc+Co6fj9OqQLakpBNMykNe+Bna9+ifpQFwmwx7Zk+OLyMUC/U00EgTzZR0KrWW21X6eLoec/OakvDLmq3mLKbPCnR+/UXhsDzI8Zett/m0PAPwzdMBKTqUEBbhwUC8GIxOv3aYRPJ585mz1nmGuHg9P12e9MnENDFdIetM5Sr3W+UM0dG/Ruqt/jITZhANMWZn+zJSsdjRQCNNNFPSodS6+5O245lZg22wuhTYMMUsVoYY361lvAKWavWqXw+4osPKhvFQYAkV1sD0ZrKB6abcIPSV514kD28vz4/ZLXuYhuKcftoWwvIvbj7BRP+9YcE9UXn+DJN5yK6Gk1M2Ug3PhX4ffPTJZ09GtULZ4kS1562DsB/fZ3W09N+GkSw5VUVEJ3afCiVpf9woHumKQ16/7A45jsyPdSzgIYt4zJDebTJxK1S/+u73s5OD3XbdfLY5Lm6fHye672xt/Boh9dbxJczuiKWHtIsWcLXFcIpYAQR9OcPJMMEJJ51y2pVxzazDksz+2ilIJ24a3ZxqnSYsz7Z2vDDMY2zty6xnwnL6YQbkam9dbqJ5SqgSRfJ6IFYdSg3LOcFKTrGaL+fL3r7C3Xec34Yecfq8vd3fruf+YXiQdN9IJxPV8co7scQHy4ICe8Nuww9zBq5xwDHzj7//PGLbzDovYQXE+boQIrwwynbLYj7J4SQO34wcXJ9xYOTQpPoJPvL102mxqEIbPxTqAQXUyJUr+vToymwPV5tBLPeMIdZ6zLCYQ6H5yCF/xsKAI0w4g9KLiSaypPVODQGTuJy2q8HM0HyckFj0jqXhqdfFoZjVtPFBsxUe9KR1G2/ppgGk2f/C/PzW4XLqW2eyJH4bIaM1Npr2HM5u2Wnt+Lv5llMHEUQSRTQpnYqtFetcvZ3pUO6n8kSUcnPqVlVSJdTOu0V4MBAvBqPTrx1GVN3S3bMXUhPlk71LOjxucsKFGLgn79AAy1RsPwJvG/ZTlNRVSfWk6/fZ7K4UYndfsu+VXm+3Hzj6sfls8tzISGFollsTsdBJrHQTG7W71NvFaHDSN0Unwv5tO2bzfjYxVnDZiYp5/dk6qnn5QF/A/VXVsVcFdmYJwXAHoZasgvVzcFdWOJMBHIWLDOKoXGZIjsbTvVplH7nYfe9i5tqNu83spJhm41Bwk7X8kiHCOX8yw6t+ZcvYveTItQdlhi0KwhAdxcNUOuiFTrrolW560hu159Jiwq6/peZtriWnVdkUSUSTq7qILu3GKGYzcPYpI0GFtdgMdTXn/S7jZ/Utw+Y2KSjXL7tSFYJhmeg4R8vKCWdygKXwkEMslcccydI4usdXVya3p92p/sx2s16lGBsvVz+pd2NOWd3TR93pu19bb9A+QeZvE6xAqCQUAgmVYEKbttsV2TKKW0M4I1iwn1uikZ02R9raBXUvrb1inpmgqvdvwdW0qEZpBdY+/a2BHW497m9lhNOQYCgcRIqhchiZDA3f/b05Ev02bHxAuBm/6hs/F396SeejU+TTTmj54KAREY/GvnKpUIQ26/qKHW+Kr10grj9uV2dkjTraVbuqdqdTWRERZaNlj+kmQsezvRLOQt9XTAOUhE0yp1jMUjoEOQrKtIPNgyVQcBAqDgPTs/l9A0+qb75qOVK05pVRPXbqOhEyhUXwgD1m80DJXRW29eAxlVmLrIzwZGzG6ROC4bIwR1VmaiYXweb0tTOLzqfUCMO2hLACCQYixWBc+jW9Lxtad+MsYfBFqXiGgpgd5KSX8Sl5rFLrfMXauxkKsMAqYcZAUXG/qhXg8Cv3xQRSgZhNQoohQrOa2JUoWaW7g3V+pfh345QlpCCP3JeX5KXEWfSi+o1sDUkONooJrjHv61VZSiOJn6HDILOqWtbITaAWm7Fv99KR/0IZMJsXLxkwWGIoyMYMVNkYso03dQ9QGDITbGfEcOTkNUZMRnrX8VdR/BjJv5kSKOljq7fQLUcgpMGqZdXMQCd9tN10WZnbJa6lszsi/sV1d0wsEd/4mTyqdFNjI5ElO8IZ3lbE1kWzWpxXSEtfYB/OoClW9zd+48+njh/TGdOXbYr+v3cZl6jk5YBS/sWsqi0UiPWVYRHw1l7Qfsfgbqm3yCIGrruQ62BhYZxlQQiXH1jZSAAwzebUI8WoWMBxKrIs18Fj50B0G1NeKJI05GcwEW8wgNvRS2iaZyZsZdKmHssC0fi9peVPiZz0FGMhi5e4o5khKamRSCKTgBovu6Yot1jRm4FzmIEzoUk6WDR3jLSUqbBT3QSTnkhPhIYY2PaybMpyTU5PjFhJCLGbFB2EI4QJPdEtgYW3iEoSy2WkvJ8QB2IX5IDJr0h4Un5UmX9CtAyazJJNY4TSSBW8m2/kZqFXF0YTtdJPjiKSItae4JrZjhcxMrZoVvHilBH/1QKOEKIcp9ToUGyiKaXxP+iCMR7Ft3sm7V9EXzy+kN1LM1QwMglbw46fPohXIREyNcjOMkTDHwdoIE5S6uMdrQg2GisH6nhi3+k4ymqbCID4AoFBwaTmRiTRUhkE/c0HcXpWFHKiyLu0sMvgyAw1dDlxR7oslOSB8twlNKRlT0MARBkmavLmIDpjYQjfa4XzNjDc0W3BoOmrZlogqsy0sr4PnclTEjFOiURVi0SoQ89jlQDqhunkU7SAYLzpWPLiYJlgR2FuKaK8jqNUMiL3JgvA3JLOka+uWreGCaOS6L7dtV6tFtwQclmcxjedAnljBd+oENQltiXH5IOLTGudSHIgyLxuIZFzlP3luQ9hjRD3pO1Noe4OM6O63VyTfGACqlt5e+6oDxlQavnktGNe1spGV5vU7l026zmrJFJVuqTG66dds2tHpPc7QKRgFSSg7vYVKsy6DMw5V+JGp4M0FCmGMtSYUgURp3a5wxQg8tX/neVinKaSyatISJIDnzeDALvDQaS5/aLuH5vQCsGU59EwbfHd+sT0W/29ZDqDcNF1fBQZpF2SsjDzUy8YwZKdNtz8jbHOuzgSyQA22tXv3Ww9C22d2QIm86bi5ViIsCoOG8JLRWSc7JlJHfJpajabPY4BjwQ3P7NyzxxCPLvDCX5n/RHr30pImlt1E1rLHNBcxtV4hNmOZ2UmENP5JNBqz4DgJjdTW/+eKjds7rL5+pud3QzZqrWx2lRvj8S/DuvB2GfgP5CH67POJrejrPL8bODElrlvYtiYUWcbXVKSbOYJHkNJRLid492eWXkbCpP3dpkuDgjN5J1lV9SYkHNw0thv9q7DPDKjzV47/pKpJqeeXyxuhM8p+Za0yZIeg1D34dk16zO+8oW94MWGMbUbdq6OhViYVtOt2AEaYPGEZ3FqurhybmVPmFhFk3VddrXEMj80PD6R8nehruU0AisF+XiVQbpfDapw7YxFYqXe9KlzsSVfUowSdsyqGY2CU6KMjVGdr8Pi8SYqXhUdEobrtX5N46h9xukcDRHPyPR+4ErnGGu6R3gLDhuWaboYtOz4NxQmDYJkFx1FZAWjfEJV8ioASxF5SQEp9eeiFfVnw4Q9AX9vONM2MzuL4a1y+vqFIH01NktWPS+dwRV/0ySSrulTsuchSYzEvhYRpy4PM1/Sc55L9M1VPLHmn97C95TM9QeEpAW7fWJ5ukoUFA9dnHvl7FqAe4Sva20LQj9NAoqSDLJ3h4SUr55BvQyR7RN/koshSrdC+c63OPRIOkJYTodOEY33hdkOT1o4gBN+VRsD3ZJPwmQuhNWttPS1FPdGMyTWpDeDklMxqpd0lFiT/xIXe+N+Xpv0Ya0U1UwBJWLCEjDQC14vqJwOovjEbpT+nvR9oqUQ4niCszjB3UjcacABF3qdt5NpVVCZEzmIXrPlXqKJhLQ7bO7dOfNZ783b0eoPqXlzgcJi6bBaBOrD82pOmRn1oihVlF0VgA927Exj18TJbYVu6SOE88K+PuwIZt8yL3sLbjeOgTbo1n4ORFmJKLOZT9oIkzPoEZqtnPRgrLdKSJoAqRuHEPVsgIQMrlsrv6On8VvSBN3dV9RFe0hsUoFiSTGNd2sWzb0t5ZUTg5+yiH/+GiqjIEYY6SXXfjyKCDQRqXyVj8w2PypX3N213tbE8v/X4nc/H0xyUGZ5/Svz2f2/raKenx4btttc//eg+NzCfo/k3JzF0CGMl2Pss8lil+OqV+Msl+PZUtlpHzRPzf/Q4j7rP40yx2y+cRKwE2NtPp/tGrP57OLn/fFx8mQYogiBplujyooKVNnpaYlKsUwcyxAxhFw2NgxLJxPBoeAQeBAFF/VRVxUoxVTx8mPRssBjgNCygyVpmp03O7ieudgOQOw8TG2qZzaS3UmCxpHW6ppNL/0T3+DQ03e8z4DHQEkAYcM6/ZPvAM8Bngdirejdf1u1jnWnN+MHwAuAF4HEtpBbfUlZbFW1aT+I84IRo3zjn3PSu/AJG2rr6mn+wWmaDhOnf8ZbwQXaP+vpZXq+XZuxGZzJPqkwS/543nnr+tuBaXqzSsWG74Rf9xao1JJ134+z6I0WiJZ5U0nRHNAEfYOpZhO9emFZFPuJ5ZcB5twK08BtQJhmD9WZCVjM7jBIoZa4b4lyu2Hy1lxwGAf0SukDurIgCukUNE+DpNzwvnsodX5B/1t56Z7bBJIE4o3upO/eE8nKWstpAeQ/dOzNd0Qrn0YWr1LvmsKrP+fRVvdTLIk9KBfIsT9w3z7vtYTAH022Ot1u39JofoKs4Wx5ESAjGfsGc1myXzsJi8hsMruJixPd/KCu7e/1LbyTxZ8BTW2JFelwI6c+c43L9fk8pQslSCfDVLkkjxtCKKcOrkmXQDMCtkSv0bOtV3kzCxhHH/afVpc89ujrJs+aL6TtNOpkQaf2TZnGlPi6QQPrx2m8Q5iGfX28nCskZBswfBjmQZMvwivlqxElF6OtQbA+TXUVhqOaoqn3ywqq+mIrK4JTXEaTBqfeIBhlkEJjFmPOyPnA9UODOVaReznwpyFivGENKf4qdm3JxisOsJTVYidaN0qursSlBS2Tiq8tDUMAkeP4dmPUwSSYGohnbDZXp3rDWy7NpvazCvTmvnzv0wkbUOaXAPzU3zLcAL7+BKSedT+r/PCIS2tr77fhbLK2lwlTuIEW+1CfUp1l179NaYol1vev0pKaZUPLqf/puqdxFTeTxNQVQjvc9GFQNistrz6+O2Z2o+hqsYEFeSwZmBM6WtryXV0A8cxgEvavZhxW/jG5qpZrIOB6jks5zfZJEYyeCQ3NaQor372ks3ETO/LhEIH6oEO6izCXYaGSxBu3EspbFumOHuTmXg+rMOzAUm1kLTkFqaSKHL2ccqh13d66YlLYCYC9hMxB745ZLMCPVytIy2RRyX+nTIjDJmY+V9VspsCyKd9TgN5iC7/xFTvCUFwmknZObYpaZ6wynMPCuJYsnTIWwSqpsKQ2dbH+1lqPsorQ73F+48wliACCg5kCQHDhKFmhYLDgyqBYRSlM/honAVXQ4cFSiZRgsOGpRXvZ84UyaFhipSoZwwdea9WijgLoMLEQA1HwliF/uOqcImaRQxbTSUeEGQyY3IDAYXBCBlPBwcBZQ0MaOCQYSSBokBy13z47dNlog3jo0KHRb5utum2hCAsiFNfvAMgg3M7F0v/HY5HezpVH33reLuPo2zjwYjK+YrPV0nrxbCsfSGfsDvBk7nRAwU7hQEcL8cAsS/yKQFXUdwC0kL7DCelF3uEJlrq9h71f7sGLf45aPCK8qh0OIF1+ih97x82L5et5aXIBxGS1HvsPWvfuMXukRM1GqVTFKlCekpQotsJFFVloBctfvpJKIneJRSICLrtkj916bNZhlUQSmMQEAvHHB2/ccMMaEts5lvUfGqTjCPznnX3WWWaadurJx/ZjCItfOcLXsSkN9WyMFIzLaTKJOVzG545ju9zciM9nRvkWwLGEpVYjEoIlLAlgqsBSi0x+SSIWvfIxscJ6r+6z3VYbrbPGKssstdh885KHOWkAB66zwSZMB+y0Kdl4s0in4e1Txyap3Btur4UBywHegGVkReOQdZr12O64sT6r0QNWcQaNRzZpNn0W4/tWsSi7KscknFW1yDmkKz9djt5jl6y22PTJczTHrZX3OJpl2x3z5dw9FpDN9O8xIr113jmzzTLDNMNUlOiTW4CCb3eObHDZplqa5YyVAyA3F2MX5l8VC4YPoBss/b/ySk8Axvs7tH6w5SMz67/P8SvbbE8OmCxZyx4iqJgoicjKHGFAW8MFW4SG89Xl442Zx/F1o3u9Ep0VtrF7orMSemNNSisO+42cyR4MRY/i4CTaVcrh0EnLOanKTnX9RFvwgucKhLR7AkH+uv/n9+vYOaOaMuVkT/77l8NjYP3XcnWa3w/774qokqKC3Oy01AQZYzPJaP7aGth8tDU5f/tFWrxb3q2nwP5GvdItjyWJT28KSWtyr5BIe9apSatt3KgokYjDodEA8PsKpSJKHiUXRYoiJWKOkCMU8GlsGptMIpJPU0Ui/HxL+1iXpVaCX1rOyHAKyqj9w9u7PpGmHPfkNOGJ2J9dIJiwjy1rRk7UeZ3LesFOuXZCd/Q+sFFPzDmQ2uO4s4G04nRYpvE/Z/lT/rXf3UKfpkM8VYIQ4nRn9tTdRkjlIt/xQVcJyp40doB2UaY0Ko+8yDK2eaSpnqKAzP1R/c1m2J0WqYBwr9GxFs8rXXPyzv19JZmRsUaIJG1Wz3rZdDcGFOh7GeBAoK3oLAsRsUvu7aKA4btSeB2C8IuO9dLyDWa7tnlYlxEPsnZXYEx+SjODLd4ya/IAdoMrJCaNJ4Pe60/66oR1rB0mtt0FxehjoXgn7HLcKXW/E2VQ3XgZd0rdtWLYZ+fRkGdO+DqsuZ61ZueksRPbROFtoUCOWHqvN4diNnQuUWfW3/xYBDGpnMbieG61GSmxQWLt9lA8GB5zb58NtS8zp1+OUq33/Y8+9kOiGLjX31APLrIxPcTeTkjaQLZv7puFLPMfz8MyavRsctrslJvlQF3jKRWzsWLMLvCbqljKo+fJEfFTCZEF6GpCI7ogOT+FK0jrRlRxaf0UgtoehBPPkpGCEYYUoetozrnl46Wfc7pTd5/CjHvkhPhNM0NItRuzBTU+wgF6Q16huUcouQpk0myBCG09SFhneVJ6dedn5V0qrE0G6tPDjEn6W6DTnDXCCVf0uvaNukJXpjgusX1kJMRuKMsiBDQlhdm7Lm3GdnKQT5qnF8va2/QyhgrLjLdp6WI0kiC34++F+XnuzT965d+nZnW7EPrvISnOESb1qXsNuR1HHZo1Tnu9ryuwo/jbXrZn21i2bRD8v2JgtDZlNpld5eLcHMZRC1XW9PwEf1tXEg5Bl3VvLo5H9LGErNd8DCS4px6WROLa6n4S2BwFkPLjHT1AGjQOE4gHpCDWcZRT9quU6p2JVeGuDRLYMSYUCpETfMi8oZwJK6MqmXk8hUIglOaZFsxVn80r2NBmXRt7/0GW/AVgUGr5UJvNTrSmcMDajt5pfU/m6yZz82Lso6FvUKyv78K7ExH8SjjeJqUR1a4KXkBYl9lp1BeBxy6r9+5bAgTzmp2kdTfb4EGl6Z5WarUDOJHc924c3sRK+uKReGS3ZvRCt8ogDq4zu4NrbcCF6GyDoo1CQd/ogdI41QukqG6cj8YYXNlOOpqcYG7ZzhdS5GYhCNqwu0nbPeDizWpx+3jTkkP/5N7gemv3g2IanElmI4ObqeSutLRVyk/yC9iso1iwMfG1FuE7dojJ/aYLyyRZT4/K9PWcyLNcU60/yvc7Aa0/Nqe0llB/IdBPQv0FELB/AfPZDOF/9g0HNWhgIcrekfwEy3uec8hKSf7mZd5399fT+AHx5h+nz7fX8Rvx69s1+Js/N2ZjITUuhQqnm3aLDKQYbH8CWSPRMCrvRghTJPSK3J+/sER4t4gt6EC6g2xoUI+9udtOH6o02H1Lf0W4OrxkeImGVInO2zofd1s8q7LNsnopXIsmM95nHiJ3lEnfLScDuXDzwHY0S6JG7PRiAn57/L3ieDzCTQMeAOsQE15Izl/i/7mY+FNC5tVGAKJ+qfT9iTIKr9Zt66WuW2hRtcd8qs0/Mux0fI3k/qf3t9eX28OV5Wl+45hN4ANdGIxXlU8ZtBBSnzh7+j6Y7LiOfyydDUMnO0+BMuJlvwbXNR6Ou4ex1TK4zNXW59x7Mc8j0Ya62syqbXsRAozUvKgoxmh2to0vg/Gq63PT44xbCa6Dbjt6h1n15zqHL6P/by9oBSsgbR0D3A2+71a0GC6vweIKcLad+WFm27tpk5KOGW3J4etk8e+gMeKUbsx1t3pZiv95AuCV/yw+DrX+yZJGNOX22P/Ai2nYPx+h+2wK4tkf6fnhvvIMcYZtnoAR9MzVFTYWBzp+4rZ79tauyXEcbPjY+6vkVVe2kTLOifdDNZTuycAHDx2grRnX8n0+wOiNI9Xymv+3HjZ8xIXgPxPPGPU8wkG8JqinBnrTRNXQoNykMMC8rfma3FEcdXaT4GQEs1h4Le3vEyhgLrJqdu9UyaZOjKoZ9pneBBgHHM7PsVfNks9NlHPEBbj4wLVRQFmc4HNF6KIEHXw74lRjn70CtGF4v80rDYXu8nQO5YGSeDhRjxFd8lYnTiA0fYbpDrqhkk951fzfh8l0HXmJ/41rMoEXfQz+427zuYnpYj7I86lzTeWxZImFVlHmpX+SqVIl7uirjlkBxrpZQ8CchZJK1HLmzKhj5P7K0i+fux3f21AbLff3SmX2JQW3fq+D6ftuh627X99jNFIzfG3ZgxO2DmcvJ9riAE5/DzKkLWCQrShVlzvoyhWk2ciofvO4lTsagblk2tAigk7pwEHhHzs99xTdVk02c115y8UaWsYwSAf/bAbkREkr0ZhvKoX9kZtzM7q2FmfT7NC1gl4cFFcN9av/6q/TW+849UH6X5xkFiheLX06NWPh1bhJlBgur3FtvkF4YyvuxyJOTpnT8Atx8YMLAym97909CwOiNbKAFRdpBEHJmW27JCo+c1BXhGGR9ch9lihU2i6MK75wdDXp9YBasxM2ygXOcKrWy+356DJDFCU45WWCqhx8ltQlbzDomtIve1Qvkxuhaz5ioiRReuLJYfn5WV1Z4JVtldVE/5PG52esqDI2Zu6mS8nyKmWjeUzVrNbScOuPhyfSmpQvqbpOvqQ152GdB7C/34edaWIYoGSNqwLv+uOQg/poYOnhz/KchE83tkXhf97u+obpqtju+FR0RYsa6tgyd8tXUuO/fpVLtT2hytPWxgcAPVtls7uuhRwl6SspVWWWiYceQO7+J/v+NeL6//jF5AF98uGNs1a7ve9sVxB14sQz6lXMG6f+63I/6XH76wtW3CLyv/wgkvfwoR7KWSdDn6ALP9iJyg4UpWvcGVH9IyE+L9eXZye7DfgP/pl0y0lHGo7VL1tZsLwtCtAMhbgAkulpolVgu0CTzcAuUmSRI42Zf2F/z1sz9bGe1hoXJwZSB7rqoMMiQL2TWosaMuWzIfv91XdBnnGabFHxUJw2wCGwAi7bQ35qIxWoWDKPM9uxxV7Wrn1WIUSnhfXm0Tt7iDrlcWvbgXY78cX92jtdxGs7MZfd6EN+oyLjZmYa8v8wAEvJDc+THt/uaymyKuUMigfOex4I32czWzkr/b18MNdxFIuZy2qCXlcQ7axSUi6dCcs8i/YOT8xifdl4sXliy66f3izkslL1BptwbdCwrOK3VUXgNRrsTFz/Cj1IhftbY/fg577/JDY5J8HjOJZU1QJWsYHnyJWUlce8spq+gmQudJuLbQsxCAZJV1/75lQpdq1qAqjMaaDvtrZHNsgulEednZInV1avByoWUagdz7gE+cexmtmMc7V88+TKfm+EXZ3nE41Fe+PxMjudYMwtc6oDNzGzdkyfYQnW8wOzO0m95DQJWB0DbtpmfOL1PnTcVVcV5BABhCid9XQeO5mnSRwiV3Q8AH3JpVVTM6im9pb0b3yrLW9uWHCiS4nzPswtUK4QQ/Pje1JVZB/1zYEfGdop8gc/D/2JGKMS+zNrLRwOu0/h9DiNbsNJi3O1rzGWWWY/wimaQwQ5alNmk9mZF+DJ0B5a3bC4vI+oFEgVA5s/Hy8na13bJxuC8kk1/5Bm1W8x//w7jmLDswc8q8e3OJY5O/ZyX9nhhXkuy6PpVc3exKNglkVOYxwbBdA256BgF/JHUHBhkbSLo0HlRv0EjO+vPYHRUXjICYE97YnqVHSxhPcWv/vjb775/NPX57sb8q2U9n5Uh76Dq2CoK1WQs4Y3KuaoOTcpH2ct5CJ6P8DtvvK4lZ9V7V7/wl3/a4x9+ABGO9WtnEfrPwMG0deYsIPoH+ZSW9slrd0r8vtTb67A/3BPL9WJUAnlQbD0RkkfTpathdiyJ1grE4XohbES0OPD8U3E9Ip6GtBpui3D+iLDvaanFFi5c3Vvdb7SbfsnD75Y4wgNd0GTEJ3PiCaSUJMGZVu9eTQ79Nvlg88od9Yy8WcGvomJQnYfFndhrH6Xil8nKRQhll6vQNiC+/HbLz57e7m/vQhHfFfn3NxfiM5YRs+bQb4zZMsk4kng9hCZeDMq6rFAcu20C5E9/qbTxHWaYsK4ZRReeWJEvmneS6vSy1q00rSt45FjOC9W12HAsyfBgjHrG5pKqqjbs3fGWKQtre0FgiUV2zjrmoB5aNAyzM+ZlmzBZodGFgqXmdq8FEGXHXXB1GzKEkbQaFZgrVUjmo7CRpWhEQNqyiano1F9VCgiaw324GTGszJRKxRQelEk0WtGrYK0I78m9jMBrUg8mxzYVZFfk8qXgDMuVrWtYSwpEZBE4B81leZk60JcHPrBDZhSwMy7nj8bosS6RIREKD7+ss58soG/CnPAsk9v//GDwGeAwYcmh7sAhFVxcPuJKmzVh3WONYVgtW1VsyWNdgaT9Vzs4LZnZoPLdDUzHqjLPcFJpn7EU+svKki3ZclaaKiaAmjJ6VwZhTWdg0Fd9ONJIYNJuHMMo62ttvE7J1a86PhHqknQTsREflNKbFZ2QYuIULci8NLs6dYlDg5BMhnA1Cdsu2WTTmZoYE/h5iN/dnWJJ6Gs5Brhq8ml19WTIEz9Zja0TgOHMVyUc7UpgQS1tChCYdk1dXzCh0Dt5K8LbkiOFEBZmlOY+iMw5+cx1rQZnXQapew5PLEsqDCzrDcFicFspjnXMhYkkPnYntbsqHnaAPFjfxggDUHX5/IsWnU+aUcJQYb+hm2unVrzNblmn/2NtZ0aRF0eKgxhI0Pg3d16ZSYB7kW1CN5Mr82bzImtpcp5FEd/IqRGs7vcXYPBj1otNy3ORi6LkqYHQmFCL8PX5JrX3OvcVxkcUfWtUtLisqvDAXSgs5P7Lu5ycSAICSVMhMvVXmxeXHoRj06V15dP54J0G9AIrLNG/0fXlLPIQ/evDLx8smSr6B+phVV+2bPu6LtoXf2yK2ujh6Xz8sGLOPs/xmArqQd8d/j549B3arpq5jiYqf26evUTV5w9sNMHsPKcgcSmlidoFrD7y8BZZ8Eudf2ven+6M79PUKP1rd3WbMXU4M5nLFOrAVIN8FdGNS5OO4YP3tt36SwTiImxEoCjjfr/DR/4RdzXsZuBQRy3GRfEq9zmC+qoTck2Rv/b/c2i6hwWGQzQWtC7akulQOSZPkWDqd8aXv9eggAKP/0e0ezINsf8l+5UN/zf6n2Lf5GN2PYl98kAOmBFa3RFwP+AY73QN7IfBwCRj8frPDEABPQw9u9rcMdMxJnO9whq9pIje+xqk4KBVA6Si9ZanG77zkmknkbm0UeFVWUrh2lxOmDohCnekXzaucdoimU/NfTzWr4+4nSUl211wi3aqUMIgSd8M64+5etKUmt615YydtBDpVrLqMDwl/o4kKupiPWWQzSr7cxMbNGQ0/bUlP3qPlgmyj7xp4GoGqh0jQmJjuS0yy6TxbuKmosmkq/UQVeNNnJxILLtTM39du0X9i2Dkv94H/2kDSfdw5P2L6IW/Ah6aE+qg/jSsPkMZRj9vg0nteJJfy3l0v8I4XJrthFzLLynlZH/rD20o4giic7bCmKftUDtvCAklPe8fxFWaKmhT/1+dlBI7lleYzd4LvtdXO0RQ9xp9TBy9Kf+O+0QCH/WZqKf1kbdi9oBgS38lIPxaXvaPo0XnZUafsTF+lyMDbuzzbS7CFiZwmE/zUb+JT7AyC1wB2uzlp3dh38L23P0xp/rfWiDMOvXz7GPR29Wf13yOBPqmuiV9nKB4AMRn7KXllivG87G1mPdQmqYaO81nc3r3SSkpFl9P7O2nxYN45eXibcYe3sC/dFu9GouaOeoWgEfLp7RLhU+uVodh0GDZ9YQqaqQroVVH8NyktVVWjv9sNSbm3pF5lNQLFOitIzqLVJ+ZkFro3FOUmyi91gs0QWNtHCbIdXxZRwylXKgR31GPXvaoXzeCEiU/LzIx+ukRV5uZs5jVjX9pSlh1tMuRwsv9LbvYX+BJx9Se0pg0HbrUj6Ou5avCXVL3XOPOoFsVLhfkpHJD3Z6yHEOrWNprl8HUk6ImZ/z7KWCHGTSlKBNSTu+zNSdWKbH5PkgYWl6YvOcUB9vKhGedGAW4IgUK/RE0QSPYLyJwwcn7JGwgjXYxSlawSumWSNGf5OSzVLWqaM89ZJzK0XRpA6XlnNJtKyPByz+hGAGk/ksVXEZ+aURFgvml6JLw48ZFk80AIA61aktn+3yNgUeHrIfK7XzStzYPqLjYB65r20n587feSzPc5OJh/V2LjNLgnHJx6/OK4VLgOPJOXbmN7eEQGbSmOpjlFQkUoklLCRwmWOrMnjur4PU8sTSggMEeaxuDF7en2UZq2ifKKli/ZzTqjnGM+5F315Xt61bRHDVwMP6GNKl7geCpNxLzh/ZWDVTz5NrNjw/Y3Rxwy3rWqvxR/BebqV+5JDGwEz3QKt3hDn4/sCp/ckH4nvEhveAYaetxM9TzOAxgXXj8t2Beni3h+iSfjiN9+4M4uVxMFZrLfZiD0i9l1YVvLWjfriBH6qFQvIhKaGSWB9cLW3Oxha2tqS35nXe1M/9zwrlsm/eGm6nVe1nOKtwTcK2SftnlXd33j+LYbPfO9fSXC7jvI2vGmi9mI+Nj3G+rWSKT7Fvd/GZNHClttNIydq6m0D5OM1ZwhoYlx+91a3W7s55nUPbgKH5KDGXI+3wD9B7Hts0BNZfROAwBZehshsgL3hGGWNSi0+RF/ggtfDnpX4b8cqzeLGcdo07KwWQzRjufXvmVy7TyTEbGDDncr0Dt3hrbwb8WUm22V/pB/ZBx9xEMBFISPwOWgOcJCm3AE0Ej5VpNuMTL4m5gMa8huQznz3tct5hrtYZ1kyTKmjcNGUrd3j0QDqCWBqbvJ6mScvaZDzwSfFRIyuctOxMKMknOaNdnkfuKY1td9zoGWSGcXBnztjHK17jBuLs7DtpE+KlkChglKNProN4y3p/NA6SAEbtU5Zx5bp2O89It57Be85lLu+kO06pdteFhOF07zPo+SSY7e3jnoM462zLEMniKHgygBUOiaUKs7YhgWjs70lIkAYIqIN6O/atPURa1NHdzgGLZ7HHcRNHYX8cAeOHlZ6i59Jg9nca3w8F7qDcP5BVHntxujzmwkmd6fuf7bn8AczzlBxwDsP4cxYR1dOrzr/5qFGdBc6ErMZZ4V6fx2ifLc1Zvf22ELruDz7Mk9BOyrVlEcCGgP4HUNYy4ODUrQQuFsf5WOaIFPYaW+ics3jV+ioRR3g0pi1/XXtMRDN74u6r9JNyubVDoeX6NQVN27XriJ4K5jIv/ULVhUxbLX5XjI0PBuflRaT0mc1f0cbPv26ieyV4erqkef3rKTCFsONsWtt+X7t5HcqvV/l631+KmH7fftHifHlv5/tsv/3HOvqWgwIGkTAp35BWs47329SWkfbridXHv7VjNoP+3Fhaf3+WU8+JPNgNKHjwbN+50KpeVLLMqDZxGMC7/BrEES/tD8xVpjvzWp8IXH098Zn+yubluy2jwlcgasi/KMOYPIjdS+rWCppfdH3HmsXkI55vWflfT38QLi2hv8KwB/lav/ockNG6+/Pbr9X132SVWfiNtOm0hb9+W68PiZqhA6R7aZhDstHK/6/W51f4S9py/VVo3n7RVBEd6+C9L1uRq9ibj8uxuGt+pYK5PVuxb17S6Ovxl32SyHG2+yjy9N25PHxe13Zbjzy7Fn8V/x2CntdeMumACZMclc+YRinVNz4O2dO/ssnhV0D///K6wAxqYIKpOaxYDOzh8QVwcIB5beKvin7dmO1OQQRX7gxKkzkCzWls54QCR8MScxOq+FmHDgEe2j5y9w3AC18HSbl/sGRUG4UgiwzByLXThcydh4DxnW8EXp1uBtadAA78+laAZd2ugFmtbiqR/woO+R5wUDAAuAUAQiQaDDMFwfFTcgmyCQ2BbiIRahRFvvmiU2SXLoPtKixcgr/YScCRKH5ihl8G4GKRc4cHOzcfCGDOziUIUjtMGHh1mHCQ1d8RIK5z0MChppckPPfSSkFQHuCzn/GR/9Nx6eV2SKEUaG9evPrwuMX7GW0fp2gNaxoe0EIq81prrh+0UkZ0aSIKStrqCe1GpS4sd5n59GzKBQrVaxZST4yYaT2TGYvFSO3CMxFXB28pdIwAYmiQjyQxsGJfoh6SB1rs4DQHwBGNp+uGpqgmCrr5Mf1//28OlqW+PCeAxeVvVYmsxWJlsYeilpLOSPhuRileyiq41bTMeoo2SFqVgnny0mAjHb2fv6+rU40ej7KnYdeX4YxOb9/vdgrkPKaSVKw/OiLCRlfUlGldHEdRGAFmdl6qSJ3mRC3UWhYkdS96ZeCjCtU2iFXTg1Y+cJiAda0+2GjKU/bc4ywIhXWeStS+sGw1iQYUZQCEhIDO5khVEqZIx7JSxDQtz1mOYmXPoAciB/nDXtbqEFTXFeRXMZQTozjWMqPqXpqHHm7VClS9xpEirt5bEqIY/DQGGbI4whp9C8w6GT3oJdUUoFf+n7C2zh5zGB2tceNSB6uljjqo+Fj6k/LUooAlEKwe6FDx9GHtdpqrU029HWmrmWxTK9hLqVZcT5Y/nNDHttuZmNNWXLyI0u65MHmIHyvkFe9Zn03KMtzjrSNR1JPLqYbrnKY1Nh4aQ4nNXvfpp9E47KoszKRrOWoJVaJGPfUDq8i1rgzNKfwUADRUMHAJzECAgRAxOgS7yRwlfFhEjhA8xohvvD69PmlJXKxLUyYSgdOSjYbwSfUcHP+mykINbgv8DKyGc1WGjqXFz3DhOa2HmpAMzaKWKtcGirTFjBVh9lEoDGuRGfQ/TsGSpmWrE02MvRqtj8GTaxB1HlyZ1GfQeVJtl1mGg3yrEMoOJjZKHTvp+3imi4c54gJTH4wBTdlKoWHUZIiURdmZkmncoSoNiJvPmi7Nf1BMPMCtwKlYhZ9WCF/gJYFQHg4qxTxpX3mCJ/DZPjvHWl64O3FEjwpGPwOMKICs3Y/RcfZOW2JLBIy0mCKsaB16Ac6WFuZtGTUYr/xsNHbZnJby3OgoYRcJZXLN0AlLOz2pAuouAMpWOM90hYIO1lNDtFjQkoJXii9XSX0plKfyw7ZsndyWIezQhYjtK4sW9JQj+wMgccFfbeY5+uP4wP8jenr/4bdUb3YZOWBV/7BcOOfS/t9i9aoynD0nsnMziAljUhyRBt9V5kqzOYwbL8m1A12w4yyeQiSRdXatUWluOfng0jaTZd9bkyuukqVKlybDEC/ZsqjkyKWWJ9+fjhQpVKxUiUXlopTRiHFh9vB1fWPYTMtOgNF4e/YL8sKb23ecFEvlSrVWbzRboe5LJE7anW4v7Q+Go/FkmnF/jeaL5Wq9ybcEVoZueuieYb3RbLX9WZ8IekKGmAoXiwGDMRTHrXUk6LsUS8I3RnjgYawlVaSiFK0YxUqmOMVLLoWUSlCikpSsFKUqTenK4GC8lKVsqXjksR5jiFcLVKgiFatEpSrjb0OJ4j//u+Wuf9zxSjh5XD9BbWo00cqTojJrsGDJirXjjdpd3WdtDjw0uPoCrCcKV5/tPoWMio4hHBsXn5BYhEjRYsWRU0qULFW6TNly5MpXqFipcjGQ4iVKgpYqXabsQvdKngKvFCtVXjBlqFarXqNmrdp16tar36Bho8ZNem3GnAVLVqzZsGXHrn2Hjp049d6Zc598duWNdz745As1zQ6LJfBrxdOrd7zP+33ABy2mwcp5qVIjrMBMFaSwUmyqVAwrRadK5bACPlXww0oJqhpHrJShKvXE2htHVaqMlbJUpdpYKU9Vro4VlTTW8bEuny9XAL2qWk6CSus5iD00rgSV23MK97BOTHDWDyPgQ+TF1Tveupvi1elN8rf77B0A6EEwsGA4eIi87M9NUIJSLZF9qlptD0M0AGCymGkAnnpJb7Hdq2F7Pnr9Xqf12G2+QDzg/4cmlkgxmVyhVKk1uFanNxhNZgsYAoXBEUgUGoPF4QlEEjndQyqNzmCy2Bwujy8QisQSqUyuUKrUGq1ObzCazC0sraxtbO3sHRyzAc4urm5QGByBROXN3X9dYCqnxeLwhIJEErl6cgo1Y2YancFksTlcHl8gFIklUplcoVSpNVqd3mBkbGJqZm5haWVtY2tn7+Do5OziCoAQjKAYLA5PIJLIFCqNzmCy2Bwujy8QisQSqUyuUKrUGq1ObzCazBarP/+KSpmmG9wUgGJJJEhRNXTDtITtuJ4vCdY2tnZEEplCpdEZTBYIwQibw+WhfIFQJJZIMZlcoVSpNbhWpzcYTWYLGAKFwRFIFBqDxeEJRBKZQqXRGUwWm8Pl8QVCkVgilckVSpVao9XpDUaTuYWllbWNrZ29g6OTs4urGxQGRyBRaAwWhycQSWQKlUZnMFlsDpfHFwhFYolUJlcoVWqNVqc3GBmbmJrFg+YWllbWNrZ29g6OTs4urgAIwQiKweLwBCKJTKHS6Awmi83h8vgCoUgskcrkCqVKrdHq9AajyWyx+vOvqJRpusFNASi7jfgyySyLkGSVTXY55JRLbnnklY8AlBBjQME+8r8twuZweahS73ohCG6ysW+yaO6bDcvIHJ6VnZObl19QWFRcMkIJN4ga3f8rKhs3vryicsLESZOnTJ02fcbMWbOr5lTPnTd/wcJFi5csXba8JhqLJ5KpdCabyxeKpXKlWqs3mq12p9vrD4aj8WQ6my+Wq/Vmu9sfjo5PTs/OLy6vrm9u7+4fHp+eX16DMIqTNJPN5QvFUrlSrRHyvlmr3en2+oPhaDyZzuaLpadvudkiDQwPx8/ofLm69tWNb7774adbv/z2R4dXd55m899efHyX8fMyaV6MLQxMUbLqtbRujIWQBD2BGSZ4Pu7BG0RxkrIs186FLOdt19/fkHmBERTDCZKiGZYTociq73z3AmDPh/DUCZAgdaE7TVrsymszuCpNUoePSGHxASyxkzV4YwA7xj2s2elj+lclNvvto15mAwzkgpOZxXm0b0DeKHu6Rt84C4ENUiPkA2AlGkip4wwb5IFjTgfKAj5V41GO1EIZ1Qtb6rIH+6HiciyolNuexim4U/m6Kp0EpUektJxhk6IT8cmIaosmnF7xMJkeqIqn6pXKZT8jtF2Yqxr/F3rohvc+A53DsAWkzaIXHIO2NZ7My49m29M8s+HUvHK6FFC5LdVKqU+W4B8ZM6zWB2fXGY8Dno7IE1uVjSxfwf6sdFVuZgK3LRq2kFpXTreZqr6t9EplTrbwOd3Fg1TjXd0kSltzgRYn+4SjUN3hvnVqgR94pANFfkC8Ejl4ZSYSH3dMDxXR4gw7tGKMg179Sqd0r35XLjn9UTlcK9GPfqhc82TQTDlgE4TVG35uT7bfjKU6EIZNScW7zd7ppOLz/pOfwg+vt9N6OZ6rTE3LP5+BPs12fU8Ue5OUcaG0yRU5UrJ4WWMVitYBIkwo40ob65m/5ZHhOFhjfZoROvTKu1SEQiC4uwMBbANqVJAMnFfaGr9ZPghhxYnd+smK0h0YbE4OERvRqsVpOeLLx2g2Gnm5UxcDkBEsC+Rq1snTrCZPP8LWEWbIvtzlafWxkhmsK9A5LJcRDot4WMbDN2KZfwyHNR23pSU7mhY47mFjBVlyXJfq2LOVtag0rvXualIYJ49kuKciqIWLEiz7DuynWd+8JIuWrOkQgjQoSkK0D47hVXAFhiGgsA6bPIefEOKB4+FMzFZtdvQ0594WOZYSIjDCwYhbENvo70pofR3RJhJznTFrszWrM9I9ey9oqowXbIgwoYwLqbSxXq4Pgj2ACBPKuJBKG+ttbxEAiDChjAuptLFerggQYUIZF1JpY71cCSDChDIupNLGerkyQIQJZVxIpY31chWACBPKuJBKG+vlqgARJpRxIZU21svVACJMKONCKm2sl6sDRJhQxkWyUdpYL9cEiDChjAuptLFergUQYUIZF1JpY71cGyDChDIupNLGerkOQIQJZVxIpY31cl2ACBPKuJBKG+vl+gAiTCjjQiptrJfrAUSYUMaFVNpYb3uLAkCECWVcSKWN9XL7Uy+llFJKKaWUUkoppZRSSimllFJq0KdHegGFcn2bL7MKJ1vDNp8JatvSuXm+WTrfblHky16+b1vbI2f2AGxahggTyriQShvr5YoAESZUSKVNtgQQYUIZF1JpY71cGSDChDIupNLGerkKQIQJFVJpk60CRJhQxqW2uRpAhAllXEiljfVydYAIE8q4kEqbbAMgwoQyLqTSxnq5JkCECWVcSKWN9XKtTg+CpGiG5XhBlOSUdqcHQdIMy/GCKMkpnU4PgqQZluMFUZJTup0eBM2wHC9IckpfpwdBUjTDcrwgSnJKD4KkGZbjBVHa5EcAXHzoX8q9+Hkz1AdrosKh/WHp0dtpnfowLhYXUtNBI5RxIZU21ss1ACJMKONCKm3su/ePHld2xkXd7AS13QWBskWmTKrsF5IPCWTsrKkMhDIuJIpG0XJuGT+16s8JDWOw/Vf4OKfH4UTQMQ4uYhf791m/bTgH7+yTxmtgy/K2RiBdEhYABIvB9HdfbJjnt3U0yVEMPcx8SilH2W2AKNx9uT6hjAvZ+GjRQRBfxjSmsqdVUDCEb6OTZ1iY4T0G5vL6rPAwKjSajOI827DT4U/1ZxKHOcyg2Wir1OuVcxdktnEKzCj0G61LiO7o6Do6zLhJIk9VYGcGha4Kpf+iLwk2pgz83zVXxJqUkBtpyBzx4R0Mgm3wZcz72p3Q/8TtFt6pE1J4iXVJezem0i3ChDIupNLGetv7wQBfhJ6xdw0GQl/sz+Nrg35crWfOHxi/eIX0ZTFvdmMMmSQWZVykR/CEeE4w1su1ACJMKONCKm2ynbe9/WvQAAAAAAAAAAAAAAAAAAAMXjsAAAAAAAAAAAAAAAAAAAAAAGDDk1YGiDChjAuptLFergIQYUIZF1JpY71cFSDChDIupNLGerkaQIQJZVxIpY31cnWACBPKuJBKG+ut7pWjmo6de3+pSdd6kHEYZQf+dSXVX/3T5WC9h/tZhN+6UB+Gm9vjx4+nWb18ijFTgDIupNLGeh/uQ5IeH8f1u2cWAsKEMi6kalz3hfJTu9tpZu1qfE+805V/HO5fNla3rd7NUN+seN0Bt7jTdPocP/mNFU/asM9Wh7cLEGHK/vEP8auyuQXaWC/XBxBhQrmQSud6ABEmlG19MQQYGsR7ZoAIE8r4/xLVubRK4xUGTIgfHRZOHCUaio0f8mRtS8TBiCfTbBdCUh8OwyIQJ0bSDzgXT2d74xlpRT0d2cZch6Dqi2QPIMKEMi6k0sZ621salG19eVybfhQAs9lVBhCFWwBDbYAIKsPvKrmUtxdNj+Lv+LrKidsdI0D5iKPWWe9N+8/DebEe9K9vX7Olcy+rvezG//D5kNC/Zh3fb3xB/Il/f8r6DRfqZ+7ci92LjL/ORecnEsMJXiJCxbBnkdo+RdVuoCnxPD9us+4/nS/mFPVbte8/KvrsPK/9NTr9NW+cF48TCOpGig/YIihnkJxPuGU0roTTdY6eo8NcCxpF4vYqPcbZE3rGC3bu8LKdkfaYTM3U68zjH6E/podNBAABJgAGABABBgEmAQCgAYh/kv6oHpsIAAJMAAwAIAIMAkwCAADjzRzPg4blbYZIAmFDifogyTNJMDCQOBb6KgYJSLVJdxZTijZxbDtG6Rx/FfV2UUyfptFZQ74WMykklJKgQu6pySjG5xMF0g+WOxhnzFbt9ber1/ODGm4+/Vle7rxMGZ1GxTddULacO4/d7xeu/pGlHgYMgq5gp7h/w7AsJaPNJF2KmuRJ1bRJmFQm2VCbKO/F5WWdsUv6+JlrOG7FyK8rdsbJtheRY0dxK5mrtxsFLt2/nDf8sthy1ZpVJqKQ0KTOp6Yg1TCHswK6+yonvXzCyK4PrMsN3RPwg/pUNKxaNehjeQHHlqa+rBneIOORHFSUwOEraRmWT4Dw0OAeco9v78M45O6xRu8XoZHBDyuUKmkuBmqWj2BCt6mfSepq9X40VrllRTkqe/lEzbIGSgm6jMbgIzWpmklaOx9b8Vqbyhy62WCQG+j73zfDTrYdspDAOFlzQkAJVS+ocpj6XOlfhPA6KA4ymidb2zaKYxq33q9MPVgFxhy/AnXIwv/oL15lcl1mp5Fy5bVWLgxt1W5t/XYbTrBpnZztGjY1siUdLnMDT0AJ6C4lkAzpntbb/8UCiEQSmZDdQjNejbvBrpOYoWl4tSpUEjbNrozagM6WtUmJKXVqLkxav5R496ElY/fNBpJ2X7fljau2l8oo1oC+TlC6JtLz65+19ma0R8+CBfLyBXo0RUoYuBLF97+eNPNdigQmcuIS139rL6+Jr8qo8LIq2RCUCwxMldyvGXo13V5Msd1dCDBLgohxTZATnCkLAR7+bEJELUZXhXBdwDF7GH5TpIPj6J8nkkDzt2ovvjuJ2yXg3DqFYF9W5/nGOd69lswOxQfUe8EqDY7arXFw8jIBUFovj2dirpICo5gOxexfDRc73heLz6xq/aHL7PU6Vmf97wOc4WD01WCVuseIOjHWr+QEmg3FqqrNbAWs917QzbitC4qcg+x8OK2slbQK0pTD4EqefWObYxsAwOZk2wjj1zB8E9TJaWOsktSTFMxXoS4/8gEc76p451dzbWUlzp0C9E7lSR8JRrPbqhhNIrZrjNL+f8KbFOIbaw6Wr/5+1jIdmN7WTQnlXxsaDmKcnAjYEQAyyvxZG+CfFmxMmbHLzPFPF6L7p8XlUZ+Z4orssMgqreaHQuwc3GNMQ9mosF5B26eeWa2DaUhxLqU2ez683aTftPiGLQnZLBZOITbLMLu8MDqKDr34bfFtKzfsnpjIPezs1/M3Lb5h8qTVetA3BqPPAXiRRcrJ1R8g2hBoxqlH4dbQbfgBbPR2mfxaWDpEXR5jeSedpwhr7Zlak3vp1ySN8xkqY4jihP+bxIdK95yL40Mb5Qd4Rj7/Yerj87AIrwScE+j0rUKYNfsGKK5z9Flf7vAaHmBSfhsVnlH+7VJGZDbY4butgLVY0wd5B+T4h7DyxtE7OCqtIVf2LcNapZ3YHP3ojYm6T2tpx1lHmBiTqbRDl5tby7YNsAdw5mqTIO4BOPuUDCK8tu8D6K9VEmffQaCWvw9gufmmK+DlmMaybFZQAt4Rd2wrjcm2wLMwC01ZOhW2dfbyj1ke491zxt6PlTI0WD7iuSDi1ghxHwQHVrzTFc170w1EzNO5kZ7yyNlHhzAhsOJm9nfOspQdoEeDosaVm+pr+re3EuQYzZDpkYJCM/N6QHfxdxyn/lSp0LtpYAJiVgQA") format("woff2"), url("data:font/woff;charset=utf-8;base64,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") format("woff"); - font-weight: 500; - font-style: normal; - font-display: swap; -} -/*Icon: ITS Icons*/ -@font-face { - font-family: "its"; - src: url("data:application/octet-stream;base64,d09GRgABAAAAAC9QAA8AAAAASkgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABWAAAADsAAABUIIslek9TLzIAAAGUAAAARAAAAGA+LE5zY21hcAAAAdgAAAHiAAAFLlFa0LpjdnQgAAADvAAAAAsAAAAOAAAAAGZwZ20AAAPIAAAG7QAADgxiLvl6Z2FzcAAACrgAAAAIAAAACAAAABBnbHlmAAAKwAAAHwkAACySMa7oLmhlYWQAACnMAAAAMwAAADYi+C0yaGhlYQAAKgAAAAAgAAAAJAgxBHlobXR4AAAqIAAAAEkAAAD88V3/5mxvY2EAACpsAAAAgAAAAIBQh1xFbWF4cAAAKuwAAAAgAAAAIAHyEBJuYW1lAAArDAAAAXIAAAKRd9LnyXBvc3QAACyAAAACUQAAA4Ylh57ucHJlcAAALtQAAAB6AAAAnH62O7Z4nGNgZGBg4GIwYLBjYHJx8wlh4MtJLMljkGJgYYAAkDwymzEnMz2RgQPGA8qxgGkOIGaDiAIAJjsFSAB4nGNgYb7KOIGBlYGBqYppDwMDQw+EZnzAYMjIBBRlYGVmwAoC0lxTGA68YHhjzBz0P4shinkNw3ygMCOKIiYAnEMNIXic5dRbUlNBFIXh/yQhXAQMBEgCiuEOKhqI4p0HyiE4BsfgkPep2gPwDVdn9TMT8Jz6cumupDvVawVYArryVnrQuaPRK5qZRpvFeJe1xXiv0TyHDDSyGWuxEYMYxkEcxjSu227bz9Wc5FXOHx8hiPXF/KjO0y5lk4Oc5qzMP3E1WuOWD4v7e70f+MkvfvNnMd/RDnraeZ9lVljV/p6xzgabPNfutthmyA677DFizIR9DnjBS33vK6YcccwJp5xxzgWXXPGaN/qd17zjPTNutPpca3/kjk985gtf+aY9/OBei/ef3Pv/ca2Xh87f+u6+nLaVxESlUyKqkrCoSsqiKumLSqdJVDpXotIJE5XOmqhKKqPS+StvVnYXG0Z5HpjSQQxNOSFGRpkfm7JDTEwpIvaN8rkDU7KIQ1PGiKkpbcS1KXe0mBJI25iySNsxpZK2a8qn+mFKKm3flFmyMaWX7JhyTHZNiSZ7pmyTS6aUk31T3sllU/LJFVMHyFVTG8iBqRfklqkh5LapK+TQ1Bpyx9QfctfKP0numTpFjkztIsemnpETU+PIqal75JGpheSxqY/kiamZ5Kmpo+SZqa3kuam35IWpweSlqcvklanV5MzUb/LG1HTy1tR5cm7c/wNQSrAGAAB4nGNgQAYAAA4AAQB4nK1Xa1sbxxWe1Q2MAQNC2M267ihjUZcdySRxHGIrDtllURwlqcC43XVuu0i4TZNekt7oNb1flD9zVrRPnW/5aXnPzEoBB9ynz1M+6Lwz886c65xZSGhJ4n4UxlJ2H4n5nS5V7j2I6IZL1+LkoRzej6jQSD+bFtOi31f7br1OIiYRqK2RcESQ+E1yNMnkYZMKWtVVvUlFLQdHxeWa8AOqBjJJ/KywHPhZoxhQIdg7lDSrAIJ0QKXe4ahQKOAYqh9crvPsaL7m+JcloPJHVaeKNUWiFx3EoxWnYBSWNBU9qgUR66OVIMgJrhxI+rxHpdUHo2vOXBD2Q6qEUZ2KjXj3rQhkdxhJ6vUwtQk2bTDaiGOZWTYsuoapfCRpndfXmfl5L5KIxjCVNNOLEsxIXpthdJPRzcRN4jh2ES2aDfokdiMSXSbXMXa7dIXRlW76aEH0mfGoLPbjeJDG5HhxnHsQywH8UX7cpLKWsKDUSOHTVNCLaEr5NK18ZABbkiZVTLgRCTnIpvZ9yYvsrmvN518SSdin8lodi4EcyiF0ZevlBiK0EyU9N92NIxXXY0mb9yKsuRyX3JQmTWk6F3gjUbBpnsZQ+QrlovyUCvsPyenDEJpaa9I5LdnaebhVEvuST6DNJGZKsmWsndGjc/MiCP21+qRwzuuThTRrT3E8mBDA9USGQ5VyUk2whcsJIenCyLGVSK1Kt6yKuTO201XsEu6Xrh3fNK+NQ0dzs6IYQour6vEaiviCzgqFkAbpVpMWNKhS0oXgNT4AABmiBR7tYrRg8rWIgxZMUCRi0IdmWgwSOUwkLSJsTVrS3b0oKw224qs0d6AOm1TV3Z2oe89OunXMV838ss7EUnA/ypaWAnJSnxY9vnIoLT+7wD8L+CFnBbkoNnpRxuGDv/4QGYbahbW6wrYxdu06b8FN5pkYnnRgfwezJ5N1RgozIaoK8UJB3Rk5jmOyVdMiE4VwL6Il5cuQ5lF+c4hw4svkP5cuOWJRVIXv+xyBZaw5abY87dGnnvs0wrUCH2teky7qzGF5CfFm+TWdFVk+pbMSS1dnZZaXdVZh+XWdTbG8orNplt/Q2TmWnlbj+FMlQaSVbJHzDt+WJuljiyuTxY/sYvPY4upk8WO7KLWgC96ZfsKpf1tX2c/j/tXhn4RdT8M/lgr+sbwK/1g24B/LVfjH8pvwj+U1+MfyW/CP5Rr8Y9nSsm0K9rqG2kuJRNNzksCkFJewxTW7rum6R9dxH5/BVejIM7Kp0g3Fjf2JDJe9f3ac4my+EnLF0TNrWdmphRGaInv53LHwnMW5oeXzxvLncZrlhF/ViWt7qi08L1b+Jfhv647ayG44Nfb1JuIBB063H5cl3WjSC7p1sd2kjf9GRWH3QX8RKRIrDdmSHW4JCO3d4bCjOughER4+dF28SBuOU1tGhG+hd63QRdBKaKcNQ8tmhU/nA+9g2FJStoc48/ZJmmzZ86ii/DFbUsI9ZXMnOirJsnSPSqvlp2KfO+0MmrYyO9R2QpXg8euacLezr1IpSAaKynhUsVwKUhc44U73+J4UpqH/q23kWEHDNr9YM4HRgvNOUaJsT62giSAZZRRc+Sun4kQ2osFGFPGbd9IvdaEQ2uNYSMyWV/NYqDbC9NJkiWbM+rbqsFLO4p1JCNkZG2kSe1FLtvGgs/X5pGS78lRQpYHR3ePfLjaJp1V7ni3FJf/yMUuCcboS/sB53OVxijfRP1ocxW26GEQ9F2+qbMetbN1Zxr195cTqrts7seqfuvdJOwJNt7wnKdzSdNsbwjauMTh1JhUJbdE6doTGZa7PVRv5FB9ovnWdC1Th+rRw8+z52zqbwVsz3vI/lnTn/1XF7BP3sbZCqzpWL/U4t7ODBnzLG0flVYxue3WVxyX3ZhKCuwhBzV57fI3ghldbdBO3/LUz5rs4zlmu0gvAr2t6EeINjmKIcMttPLzjaL2puaDpDcBv65EQ2wA9AIfBjh45ZmYXwMzcY04HYI85DO4zh8F3mMPgu/oIvTAAioAcg2J95Ni5B0B27i3mOYzeZp5B7zDPoHeZZ9B7rDMESFgng5R1MthnnQz6zHkVYMAcBgfMYfCQOQy+Z+zaAvq+sYvR+8YuRj8wdjH6wNjF6ENjF6MfGrsY/cjYxejHiHF7ksCfmBFtAn5k4SuAH3PQzcjH6Kd4a3POzyxkzs8Nx8k5v8Dmlyan/tKMzI5DC3nHryxk+q9xTk74jYVM+K2FTPgduHcm5/3ejAz9EwuZ/gcLmf5H7MwJf7KQCX+2kAl/AfflyXl/NSND/5uFTP+7hUz/B3bmhH9ayIShhUz4VI/Omy9bqrijUqEY4p8mtMHY92j6gIpXe4fjx7r5BSXaAUEAAAAAAQAB//8AD3ictXp7mBxXld8999a7u6u7q6q7+v1+Tc+7n6MZaab18EgajTwaSdZIsjSyjJAsyXaEMLYxRmi9kjcY2xivLVgeGyAQm9e3EGdjCYSdYIhNPuM4WTCY/dgQIMSYXYd8MbCraEo5t7pnJLOw35c/Mt1zu+rWqapz7znnd37nVhEg5Moxdi/bTgRidywBgMAsIUDOEoA7gwEqRfohG8wG6aNLP2QBtv1yhDqEC5ArP2Gv0Z8RkSQ7MUIoOcuAAnXPQwGRiMGgwM8u89PhB/ucMyh/832XHXraPR/P+Xt6M2FEeooB1PpVRv/euexcBgEWQeBbKCLhfQ4K42wXaZIz5FlIwgV4hhCz1A7brbZkt1v8Y4ftsCzJ5dIw8G+7VS6VS5Is8V47ZMmlsmRjj4j/KKZDaRKmoNXO53BP8oNUwr0pKEvy8vXqUh6PyLmQHObXtusjze590tDqiTRz/F78ArKUz5V43xTwy6NacqnVbpT5oTbfk/gl2qU2v1T37OIQyCmww3isnCvzHlQNlQyFpd4ghoCPwf2V8K5h+5rGDqPOuIkCrZWLToFUrofbk3geHmjZfIbcT9q9Uhk1nKKtdqjX517JvQM2U9DtTOF4wvVwqNUO6yA3W10VWnw+cSw1G49OoQi/Rruu03KrLZe7uuOou6Ild0bwWu7YW2U+DjnfnbRJsFPQLn2KxqlkrJWBGb5wutx/e8yX9McEgcXyTGUsKjEzNBlKqwCaBFOhmC/kUdmfZoaqBTsn+yVF0jRKRUotyxs1dB/TQKAwn6E00b+mJXoVSWgO75wC8PoU3a8CLTdGN6uGrMpmNmrYIerUE+GckG0YuhGcWhfQ4noEYhEzzKxNLfCgN8RSATmqB0UllVE86I6e3MSGnbMT9QqDWT2r+f2yKdmZAREkhfo0S9AApFTECJ0MhuMqujEV7ZgZEmTFJ/nRvfBPivvbcUtEP6eFtOxnzOOh+vDg6nqWSbQ+IqwdSho++/K3PZmhtKn5snqsqIuKJHqyAlVlEAQQGIiqHcjZaS9u+/LemKlQ5mVMCvn6fYWUgMFnmj7BFw9SQY6oRlClzJctZdVoyMs8miwCqKJXoJmK31aKoEu+VCYRNoZ0j18ttqRIMpY1fbbWGacYxzi5ATMueg1POO5T2a+FWECnHxovJPT54ZDO/DgyWU2cnJguZAWRRnKChwnVgYxpg52rC0K1jCPNTI/VQsnoyzkjyMCD4/CIkkwBmFcx/R5BMRmOqb2bsmwsh8pROVnbDSCoktcngbhrou2nKpOpBzWnIjhfiBgJaTzvEeVbr6uWrAgoimxV05mWcj1VpHJxYFA0lOHM2L0VTQMrHBiIpXVfa3hO2i8IVNKUUCMQFvEkMYowp+AII2WAwGIA501WdCnKGDXNQNoreiSPoXqlmO0dtIMRf87Ktbw0GDYLireTSnq0JFOoNyuWo9O5Nrw9ZFE135eyVX/YJ2iyNx5mUroq+7xUYYLlj0eCaTsRpBLNp322ofhyUdlOxIMVb2YiAUyxpLA5UlEEQzVERE9D1akkCpJU9PhlMS5RL3qTJ+oHvyVSLZAaZNQ3GMZQobaIFlc9YSpQs4bq4plBnCevR/b6VdlbjcRoDvFTcPH9I4jvjMjEQ/xkXWdKQZSXJZCPILzizcQjKMaowI4gihO6QCglBziizxHi131ej6YqMmqFl2BBVbL7TQ7o2Wa2jf/8s41tch66gpj+587N4P7zPMFeWzJOzuHHhXrU4+PsNZbBi6hE+UtJoIRyzBdtFdoivAlvOl7Hy9b9K/7zBGxlGee7zndh4IVDvD30gptS+Fhew7F0R2ISm9zY2U0BByES4TSORkbYOUJA9/iYqoB6RAPFCyJR+BAZExYITt0Bgo43Z1mBgKJYtmWHQwEzYBpBPlTFo3iMYDAY8Evx/nYex5kPZbvDDWXlUL1Zx/8XXmCvvbD05CF4xPHS3biBfzWu/wvYg8rS3ZfO8T7Sm/9b2Otsp6uzSWKk1hmOGpSn2ZifkpmIGQzoPpxiPsOMQgA2r6RfVM2iUhhTqErLchnKYLdtlWJTrMv50CDAXRudl6EPRjb+6mN0w0bnixsvb4QR5/vOy9ix9OwvP7nF+RvIwT0o5XzflYKDG50vbfw8SkGfK/WlT77zuef+sJ6oxuw/VnGGq74Z1YSzOMarenaVAxtQW1dlMd+uN31A33mNWl/fCDtQz6uKr0U9IYearruqlvMvuNTnryre05P9jp7a034fZgdgtd8zS//k9PyTs0Jgxdc8yE9El5/g8EBW8TbQRn/d+oTzlNs4T6G7YoMgde0ubMVdzl9Q6cfpF1bij3vtjs427PUw4jlNQIH7vTIViURFCSNQAEYohqKHaKpHO0JURVEXiKoqB4iiKnNeL59tdNeA1+/1c19Fb/VJyX6zHspDPlTP1pt5dNYm4C8Pzh2XLtFNly4tnb90Ca7nXoq/2IIHf3Ze2rFj6fCOHTvd+OyOVyAKMTsBjHgBI2eG29cADHq0ar4JbVumf/LE0rufoN943xPvox9Z2exxwhPsM2weI1x6SuFzloZisCyWi2Vx6RTtW+NY6+Enm5wBz9n76H8vfnrtB8tnODZcuYSz8X/o00RD3JnqrJ4ERlfX436fCAyTH7BZnBFklmjms9xV7yc8I+5B3xQOEkyN8/v3TqyqVoYKIvJNk/Oqeq3d5XuS7FLDvORyoFa71hxtNRsuK8nnXIo3GuLEkdOjeg0ppUsRl4kT/+GXS1O+MwG1duvP1ZtmZhc2rz/xwFn6760hxVcMeDDfZxvBkE8PB2CIugJjxwfbOQh4au7hSLYeirX798b8auCGRDwUSQeC6xYSY4nWdF0rmXTrKOuE4jC+66FKX2pwbmstMZDLlJIhTH0+QRbEaALm9pnGDXi4kKuuhmR6iB+VfIlIQPQM2dn2fDxkGLbXM1QPpPREyhJw7uziIIErV64cd+0qklDHwLQ8sxK2RpCze9ssAss+97qznRXegKceh0eB7nQOk2WOrrgxMNIZ7MISo+x+iacqCgv8F+gBTj0o5goU87j+KCN4QjMfQm/kkNmEuXMXLpy7QB975pkH8dvLB71re0mU9HcqAvASAlP9iqERAHUfEMv0RfWoLBEveCUOMrUUWDrkhqCBfPLaHRA23jU9fddDd09P3z2dX53Pr57mDdve63vorun7en3YuFiCzRfpF/HOYtfrcYuexeyIk4OsRYpi0GfxC2YWI/785UfgfLd92bmJfnHpEP340iG44Hyz6/v/kv2cRdGHBzp9iojjQOgkODVne86L91ogjPHUysicYRgBQYr1i1mcfWbny3KW/fxyDN79Ev3498//3fj98Op+OgwbnX/35rYXuvh8N/sS20ACJEzyZIjMd66vABFMhIshy0Cz6GgLYbZcKjJhJuCnmEcEIpzlNzvL1bgfTUfZHtSAHnSneT5i9/elknY+ki+GJPSEIkbGEOR0sFKAAWS3BzHcQ5bYnd3uTHP0kzF0sDxg2XR7/4nFdntxbLz2UGfpq873Nj8PlXQjnW6s4c3SmzPwEfizYxu2rLlte2jDyJoxLnxifzv94NT7Xl/1Md9ULV2f7InDg+Mw6XxjR2l4Z6uHJf+cjbIGYkm0E8Z8OeOSEJFs7pqnW5nm23Y+hPD/whN/9VdPQNB5znkOgvS255//sPM/cXMNBF18uXLlB/Qk1qoW6eO+lkKipALOxywRqdi1D4dd1jU9cgLbCktSAq0ftrDUyvE6D5tSow2ITSBZiAY1XjRh02qUoZSDvaDq+oCvrF/8OjYDuo775abzW+zUy76LX8cGO53f+MpwgLdcBEV9g3gARQGOrvRe7J4Dmk56uHyKrSchkuO6L0cIKoshs0IUgCSxqLFzHo2EwFqOkyRYvBzLcXxbw41Yf0v0MCXTygyP7lr828Vdo8O4DdbEofHxQ3fyBtZjR2Vu0+aB4eGBzZvmKrhLCR582/j421Ciy8eOurp50CujqF+LNDs1D8eGXDwaCfiROErIGHzIKGdl0aUMbjxgkHEAatSrfUmGuaWIacWWMXm3y22cbmxc3RGYs/IQWrGB1e0QNLteGLKwpsIhlMrw5rM3Pbv8hcLIsZG3w65IIp8953zyXDafiJxPpN3RpBNqavaGranXrpFfelFVUTxQT1WG9vWdO9e3b6iSbASeTM1W3UmYqM6m1EQ6nfjDNnBRCsFUcL3m99jAzrna8+K3xjNKks99/i02+HHPBH+3v2sC52+vmuDcVQv0z3QtwF691gJdPvQSO0PfwC2u3URnjCAL5nz4KBqIUZEdlYDD9ILE7XKAW2DODotCV1efVwiJVjCg9NZ5ijnuKK6+XRPk2Vs85szlH7PM0ovJvlX1sQfH6qv6kp/JT+TzE9O8oW9c/vGtfUl7eFcskYjtGraTfXRz7xg2y3XAMXYP4v7/D38WM83M8MgN+1/fv3N0KN1KQ7Cxu17ffctCo7EAa7CjPDc9Ux0ers5Mz5Vxl4bwoCuxu95da3qSfZ5ZJIi6DZMO2U5uIYc6BzesopoHwZwr6QNF9IgKEjePJnq0U0TTOIcBZMpHMRESVaLqES8gUkkL+COJB2UQJXF+3drRkSOHbty7dcva7eu2t5sjndFOKBIq9Zk6Ao254tqcq+RxOGK4jixmErqIHLLC8uQ1Yy3XJStscwZTKvPAaIk1vh42iZulfgjz69hu68YJl8Bj9WwtfDG3asOqXBwBNdWfW5WDJyhkqrjhdse+FRjfMJ51t//6CS0aDtTmA5l4odymse5WpV1+whMLH5ErhdzeQ3tzhYrsGU7CWHKYfti9Si7VCNJIbtVa3mzo9RxL5PNj7s6GRHx6bXR8yBdK7qiX219b2Upl8p3Yu/2h+o5kPInfHfWgGctk3DzwBvshfQmxO9mJqXyeZ3sMBvkCAgvCdZhnahHhGdG4lga3CVtYC+Zgt/MtXd+g9+nfg+ex3aDrS/9F72PQ8ffp07r+A3jJ778Ot5e+7e/yHfYa/BINbXcsl+9g5LjLmbz05UjVxFqQvfafIeb83NXtbvZDzMkWiXRCFtC3LJ72FdwUVQw2OLNERENzAF8qbAbpjqWv5SK6l+3WDUO//KRXt/OwOA4nIznJ2akkMgnF2SnlIrBSO59hz7DrMBfGSV+nhB6FaQtL6JXQubpiGwzmzXwd4znVb2aDGL9ZvCGmc8SeLPrJBGAJm23Wq+yxmHn5eTNO/+K8Gbt8a9x8eh+YN8LbnTkrkbDYaML61a+sxE033dS9/zvZAtuMcXELXz9YAwIbyVMqYAJFeGcCPU0ocnY4xSFHQMjhcwMLqBBnO0DmFvdePzu9vlpp1l2igZ7ZD12kQVIdDo2altyW5JDkp5yT53HTkkddmfJoqdychPZoq11vYVseRe4+WpLrJTzDz+ezXC9zKS6BV8vX7HIYv+gBIXrI8J73GYbvvC/4vytgRMwIKHYga4LBVEU/L3moTCFmD07RfCpEqekvDsFQCYbymHs9KpzCVCY19u6/zQedSbq6CaNpyMxc8BqG123gxZkpiFoQCICgq2Y6GgPd41EkzcjnJiONtD8RzxgpJU5pFMoj1CvdpHi82mJrLArhKlRWwdg60uM6d7C/YZswj2Y7KdeWfEGMJ5auhdmd3TqPcxJ3Nb73oX/i/ND5HCxACRacz7FNzueW95f95i72n9Bv4qTC6yoVbaR7uaVmfQCbEW85+hJ6FFMZuNQQDhLkN/PJBJB8LlFJVowAiUO8i788g3FMseqYq5t85hGG3eRmd0ljF67gwjsOLrZXZdPwlx/92o2H3Z1V7cWD75g6Njl57BRv2HVux5oToyhzEYb53k+43AUUOD45eRyluvqfpB9iM1g1p0mhk+XFB4a8+5Dhrf7VbDbrnE3/rmeZyIpdL2Ild5/eEzOeMmOJ4FOBRMiEOO7EwYSY8WMjNvEJIxYzPmHGYvTlpf9hxOMGjWJPV493saNsI8mSMhnvtEt5Kogchhh0w48vQZGzEoiCIGKeFUXhABFEYS6Xy5VzZTOYSgV4TVTMuwvxXTxe5gQu5ruffDNvhuR8uQnfeliO+NOGXKnWazcsfHthZ61erUhG2h+VH178xf6v7l9MZo2sqdTu6hziB+u1nQuHOnfXZCNjZVK/cL46vH//sMsN7mB/jH7Fa6wKmexMKCBQ4ayM/BfnUCQIIuDWB8sFVzzGS65cNlaJV64tvFR0gOK1qfYtO25icvOyu0ufrayvVNZv440z1dzbaOw9zht4ZfO9mzatmXp0as3mzfd+tCeBzTebe4/tbboNvL753kffUygWC+959N7N3bl/if2IrUXsK3DsIyuYJ7p0QeAADSSTDJnIZTD/gsq91awHXaRFKoOUnT/Z8EOWg6Alo0u4oBhsjJ09i9Z2ICEFpVJAF+uQKDbk94u27qSNGPx06ZcxEy4asXGUADHhLVnfbhQX/Ybzr33+mElpsKvfe9iPkH/19HOfoHHdWLdYdlPUP9avmA8iJoeCPCfowB/zTEHW9du22c3UeIx9uaug8zMpIHMFG85PC035AcHW4b8ZsVdpKGY6G1A/FLhGPxO2cv2WnGCvzmav0C8gu/GRfCejUmSBWwQXXjD6kYkzzl6DRjBouPjSrvP1zjp0f/a89IDztpfgEy+93zn0UhA0eMQ54fym+7uMXZ9lrzIbGdOtW76sbdvdKUk9HididIgM6ysmCOwEwXQl7CGCQG8imDm2xTvF3yOI8/U7cns6JieDkbAR9GmSSHKQlVfoYD5oudbkNDuLJMmu17BUaGaDnBuyG/JrCrsLa/JL53CDfiMckIJRgKVJ7GI2NruX3sADuLFnTzBK7YD4FbiAHcvjupPdzqax2kZM9rnPRRmsUAJKgljdkDANC9zbXHuNjFocFIui1HO9z9FzZkLXZNH5vPN5RdD0BJtOmJfv0nThlVcEXWPvNxM9nL6Dfg/jNEAaZFtn6/BQKolZFBEGq1LMtacJE5HcYnalmPlPYfjSM3zugOyROBAe5IRo3ggC6e8r5mORYMNoqDIJANKALnCH+DTlSm0XdliOP/GbBPfxZ9l9NIe+KDMJi/5W23bBiB4fjkfyqwvDNdAD8cynB3UziuiheivVRGz1dWtWtTKlgLUhEPKni7nkqnXt1jDblIz1ZVbl6kPxeMqwLg/kqgf/IR0NGtZAvYLAvHPGuTTpD8Yr49WCFezNcXfNkfK1KRxOt7Z3p4TyBWW0Fj/OnyX0ap0n2XHk536SJIOk1Mkzvmp0P3FXo3A+6EGeHeYpyWY0mfipnxtH7AZ7qxdUkgruY0ws3LGiz7XLpZx/paJvNZhvab7cbpfpX2DrfML5rRcCnn8GqiDcKqjfmcASfdDdFAb13Sj1ZS67tA0Z8pzz2xOeAHhRVEWB8LiuDzKN3cYYlvi9OJygH3bXIDCXpVR3bX05m0FvoQZTfcJOGDyXqdBdc5iCcpfZ2khqi7CsrtzVuY06w791fquX9QGf7+JFn6+3dgBHf6eTr0jAGuc33Z2LF1FssLsi0UBxfUAv6V+/eHXtgq+bLF35CjvAPG6tNtIZlMFd0+ouK0F3WYmvnjC6B+3FDnK8mw/ZtmWJfAXQnV8/XDPBqKztZg3qFjP0O1rdk/D87BQ2dU37j1rKA8Pagyf/w2sv3C7dc/HNr56C8wGt5vH89JTHU9PSKKGhwJZ3ffOOO775Om/c9c0j9A30oQTRnuaLCgm+WC3+wTSrI1eab8zfnBpM89z64sINtXp6MHVwvqGmkvdtueMDwxsPTB7mvfzw4ckD0yMPvGuLT9PQPnivr7BP4XxwLN1IruusQ4JI0hihSIQVWcFsSglfvT+NPoauTGVyBAMX0W8P/jBOCpgwN72hXg6XiqVYyNCkdD+UmnlErmIzb2GJ18ZIpa6aVpgHZajL4DmfQWhruMNibSTy7Tpv3JSGckCqHzxGn/xg39wtm0dm71xjp0KBXLG6DjTFGVG0dX2lXCCUsjsnrx+BTPiTrQKsLTY+Fc7A22+8ozmw+EDzjhsDi+/cWNm2riqkbLM6Ua2VC4qmKYVyrTo+YNgpNtDZXt5op6BZbECr0Mzw+biM8Wuw9Yha15MF/lRjDiR5HfJLOotcE7YQUaKSSE9zHitRdgp5hsSwSpCJJMpSt0rgy/jkIPen+V03bJ/fOnPd+s7k+Fg6ZSnckDgd6C7txiRtt1J4dV2QU+IkKze670YMAX+pgDFu3rzbIMo181cZYNlyX/dIATOmTzz48MO3zgqFdesq/ogYCGRaqYgCNNGYPXzvoW0jGVC8cf9YWjekiL+8oVN4xfIXwvoH9TAU9HA19Uqq2po5PCtsuH2dnB/PGEZmPB8fSFkyDaQiTAx4dYVJhmFoVNfDAZkpkk/WJRZJGky2UgPw6it+C/h/WH8Fv8lq9UJjE509dL20zsW2LhZ2nxNpT3tUSXCfa6ksqNIs5u3e2zGOlz8tvXwPPAp/6ty2/K4MHvW6R7DPuY2IVy7h9X7BdiNzXkNuJO8mf0bWdzrHQWSPIQeky2Wqy2BFzlJEQaTCaUwxgriHIIM9yBns/KOPnD515x23HN6yeXSY85b2aJ4/O3Hf5aiF0B3QU933W/hbNOVc0xxtrrzpEcJj5bzkSuS4tdrF0fryIxXMPLnl10+66cg2R0dGuyEqS6Vh6t7ETU42Ajfwg/mc++SGo2Hv5ZY2L/X5oskQeExJD2aoipwBByh7mOI1mbxNUBncHYomw+s/cr0ooo2FSkyvH6gwhc1heqXXQyQWSI3NBtBTDwsYwbKoSiN7ZJoGVfyNpHq17NH1gka5CwmBrG9LjCk3i5Izk0rlolsfGheE7XgLyxv2Lh5TWZJXBvSRyOrklo9s5A9LJ6giBPqs2pERRRxjSGgQ+kzD8pTSiBHiTQKGBlX6s5SOU01YpxveWOP+WRHRQxQ0Uw9pi2OCug9Ns/RaKp6xp99R4mX3oqBQLe7bfEQBSXROMkGdajJVmMDSLoAuNywp+1ACVtbbZtGv+kmb7OzMF2TMlRrSiCCeyh+sAX+9Au2ODFI6RSQeoRin7IzsEowF2SUYLqudB9JsDA+Vi7GozysJpB+qXX4R5kVXCK2KWMsXzPlC1so6nbv05IYkQpjZKOUkJOHhWqtJzVixGEu33latmvWiOZzJtVv7DvzowL7m2NDAJw6m+dEH46VEohRn2wuN4nplMFc1Cg1jZOTEmtsP7Gu1ufzth3bfcNK/vtgoOO+34nHrkpmIW9e+b2AhL9/QWcuL3RTH5FkNS18ZMVvoej6OG+sg4g6Wk5KD1B1rOJRJJ+OhQjhfzJWQR2Ftma216259KTd7BG8C6yCXU+Dwy1nOMSAHi1QQxquXztUqq1dXnqE3V8fHq7VzzqdXV35F91VWnzu3ugID1fFL41Xnu3wXHqmOu7n2sPATtoMMkVVka2dGBEEsedEcAp3lRZrIiHiaL+yiY8BpzkHPIFSIbtUuHuT0eX5kmHIDrRpZNVBNI4qTITrkGggTBPIFtAlGlh3W+etlOVS5t4l0egiwTOLL6yhpy2gbbiZMSuzKzf3rPcrXCvl7r98u+wsF+UYQYNus7M8X5Rudyx8K1TOyRZ8emhsuXxc5Y8UTpUSchVrV5PCDO7fOHAs/bxR1v/Ff6QWj4PcbPzoRkPvqARpeNTw3lE1+DDNgMmmEYj1ud4z9NfppBGegzVlwF6EkLFUl8bSGoUQoRucRGe0lqKJwzZPxgx5QVAXHT0ijPtweaQ9U+yrlYiqOF7PbuZxXiva7CTQcyrpLg3zdaDmrgpthu0QLOSJfHuNww49ya8O/KUYTRej3aouquqj6lpLRYinChouxpbRP5X0eD1TfB2OxorMpWnxfkVnRYiGm7dei2n61EHtvrLj0nVhB3a/F1P2eqali1NGK0YsXYwWX/34FfdSL3AVrjCAPuFnX+7o1GRA75POQBCRcGpsrY7pjPOvXUtSeZIiKfI0T3tQ9zmf8WjUXe/i9uU2TQ6Y10JnOv/fh085ntTkNtvm1Vmtb8T0PQKSaC1mFSgwe/PVp5yuaGyP/QP8Y+YyMWaLaKYuMckpH+HIePYPFB7iFGK8vBJjPm8WW6ZaIZhYdRAdb5OUrzmMZPd/mfIQTFpzlpyC5886dAC9nwku/QLTPhIOPvXiOIouAz946sZNuW/Mp55kw9odgHXKQWw8/9tjhW1O9d5V4DlRIllTJevLRbkVZ96Dfy7JwUkN+pRCqHFU5KkkEjnqh+wrTUSIzJu8hssxuJkxm2+OdhnuWKMin/x9O29MpDvTncxpKTq6u1/rXD6xH/lrNV8MhNatlRYEooPh4UOUkjmLIyHJuwrLcrFZzU1b3/QLGEY9jY7n3SPXqelm99zD1zVih0CgUYof37/lAqVwufWDP/hevbh7uHa3vqtd2Na5yUtyv76K7ERIR9S797lndzSUDj6HEpdquw7vqK0zX3Vt+bnQbzvUYco0IVlN9nVIyEY8sv1vi15df+sK4i/bqskSCL2ibVx/V2awOK0/uoMiXBf/XhZmZmfsem3nsj2ZmHrhAj89s4Tv3zcwsPU5/fQG+dwFsLvFHj808jhL0+NLjuPO4K06PXzj/va/+X9C4grUAAAB4nGNgZGBgAGK5+o9z4/ltvjLwM78AijDcryk5BaP///qfyPKIOQLI5WBgAokCAIrDDp0AeJxjYGRgYA76n8XAwPLo/6//b1keMQBFUIA9ALQSB7F4nGN+wcDAjIRZUlH5uDCLOoj+/wuI/+NSw1SIW45UzKKMRTwbiiP//2V6B7RrARBH/v8DkQe6LRuq99H/v3A3NSH0AwCVl0XxAAAAAAAAAAAcADwAUALwAzQDVgOwBAQEWASMBLAFBAUmBUIF8AYOBjwGfgakBtQHTAdyB9AIHgiSCOAJOAmGClAKhgqeCtILEgvCC+4MTgySDO4NUA2gDfAOIA6MDsIPPg9WD7QQDhBgEJYRHhHEEewS8BNsE8QURBS+FP4VRhX8FkkAAQAAAD8BvwAGAAAAAAACAB4ARQCNAAABAQ4MAAAAAHicdY/NSsNAFIXP9E9sQUHRjZtZSYuQtgFRurFYbLdSofu0TZOUNFMmU6Eb38CFL+iLuPE0uYgIZjIz3z33njszAM7wCYXyu+UsWaHKqOQKjnAvXOV4EK6RH4XraOFJuEH9WbiJG7wIt3CON+ZU7ZjRGh/Cio4v4QpOlBKuoqFOhWvkC+E6LtWVcIN6X7iJmboTbuFavY/Mdm+TKHa6Pepov+f7er7XhlKSBakOdi42NtdDvTKZC9PUeAuzSVw+DaNdGlgS/1lo88Rkuu/1GE3CLLSBC5eHTvlr5Du30itrNnosPfTWmnW4cF7s3HbQ7f7ujREMttjDIkGEGA4abaod7j56nD5pzgrNyrIqQYYAKZUAOzriIpMzHnKuGGVUQ1akZA8Lrhu6HGum1CO6UnqtaOU6Y8YW0cGv0aezJ7kJc1mRD4rOy5875XhlP5+q48mH021xmsb4zz0033nIraksqHvFax3VAboc/9z7G5egcrIAAHicbVLZdtMwEM2FbE2apCktpexL2RHQtJSd8ic5sjxOdCJLRpKb5O8Z2/DAOehB0miWe+eOWtdazRq0/r8ucQ3X0UYHXfTQxw4GGGIXI4wxwR6m2McNHOAQN3GEWzjGbdzBXdzDfTzAQzzCYzzBCZ7iGZ7jBV7iFV7jDQTe4h3e4xQznOEcH3CBj/iEz/iCr/iG7/iBS/xstTNtqJs5k5LvJqUxFMepkDYVqUg8n6FrXSQx6xq5JR96hdc2ku8nUq2MtqueK2N1tquto4wLtJc5n8sojA5RRNrEfkFWaSNOu4lzK3G2WxhpKYqwlL7YMXqxjFbbxagqITievJWmsWowtrimizWTtdeRg4eGRELSitSmvUDSq+Ws/zdoIu2C/akrEz7KYkcxksiltpP6Jm2UC2eZX+MJOqVBfWN0L+tHqRj5RKt5ZkqycV6QKwzNlcvz0uq4nZ9ezFk8Q+k4k0ItSa1EcEannVzbMhxlJOOSvNDKWVHIgq9V2yMlDdmUoarkaeZsZBpO/CopRO3sYeI2VUrg6DKInFLNGQfEhr4i0biafo+rZCHXFFxO50xdGcm6c5FGUx5nMk3KpNKg6ijWkKO4LPOERamtSWOlbm0bb0Oo4sM6Tqvf8Yf8rPFXE8ylX9XWkIXZFo6nlLn2UpqsRxuZs0z7/wzAV2wGPHmlvWLBBrksRFWEfEeupU+HIXriD3GlaT1qfiH3aEjFTii0nbWjzqnNPcS28m49CHpRCeRC7CxZitg2Tq36W23FloHHYe18WhPkbdNq/Qb9Vxd3AAAAeJxj8N7BcCIoYiMjY1/kBsadHAwcDMkFGxnYnTYyMGhBaC4UeicDAwM3EmsnAzMDg8tGFcaOwIgNDh0RIH6Ky0YNEH8HBwNEgMElUnqjOkhoF0cDAyOLQ0dyCEwCBDYy8GntYPzfuoGldyMTg8tm1hQ2BhcXAJQcKgcAAA==") format("woff"), url("data:application/octet-stream;base64,AAEAAAAPAIAAAwBwR1NVQiCLJXoAAAD8AAAAVE9TLzI+LE5zAAABUAAAAGBjbWFwUVrQugAAAbAAAAUuY3Z0IAAAAAAAADuQAAAADmZwZ21iLvl6AAA7oAAADgxnYXNwAAAAEAAAO4gAAAAIZ2x5ZjGu6C4AAAbgAAAskmhlYWQi+C0yAAAzdAAAADZoaGVhCDEEeQAAM6wAAAAkaG10ePFd/+YAADPQAAAA/GxvY2FQh1xFAAA0zAAAAIBtYXhwAfIQEgAANUwAAAAgbmFtZXfS58kAADVsAAACkXBvc3Qlh57uAAA4AAAAA4ZwcmVwfrY7tgAASawAAACcAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAQD1QGQAAUAAAJ6ArwAAACMAnoCvAAAAeAAMQECAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwOgA7DMDUv9qAFoDrACfAAAAAQAAAAAAAAAAAAAAAAACAAAABQAAAAMAAAAsAAAABAAAAjYAAQAAAAABMAADAAEAAAAsAAMACgAAAjYABAEEAAAAHgAQAAMADugK6A3oEOgT6BvoHugg6C3pA+kG7AnsGewp7DP//wAA6ADoDOgQ6BPoF+ge6CDoLekA6QXsAewQ7CDsMP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAB4AMgA0ADQANAA8ADwAPAA8AEIARABUAGYAeAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAC+AAAAAAAAAA+AADoAAAA6AAAAAABAADoAQAA6AEAAAACAADoAgAA6AIAAAADAADoAwAA6AMAAAAEAADoBAAA6AQAAAAFAADoBQAA6AUAAAAGAADoBgAA6AYAAAAHAADoBwAA6AcAAAAIAADoCAAA6AgAAAAJAADoCQAA6AkAAAAKAADoCgAA6AoAAAALAADoDAAA6AwAAAAMAADoDQAA6A0AAAANAADoEAAA6BAAAAAOAADoEwAA6BMAAAAPAADoFwAA6BcAAAAQAADoGAAA6BgAAAARAADoGQAA6BkAAAASAADoGgAA6BoAAAATAADoGwAA6BsAAAAUAADoHgAA6B4AAAAVAADoIAAA6CAAAAAWAADoLQAA6C0AAAAXAADpAAAA6QAAAAAYAADpAQAA6QEAAAAZAADpAgAA6QIAAAAaAADpAwAA6QMAAAAbAADpBQAA6QUAAAAcAADpBgAA6QYAAAAdAADsAQAA7AEAAAAeAADsAgAA7AIAAAAfAADsAwAA7AMAAAAgAADsBAAA7AQAAAAhAADsBQAA7AUAAAAiAADsBgAA7AYAAAAjAADsBwAA7AcAAAAkAADsCAAA7AgAAAAlAADsCQAA7AkAAAAmAADsEAAA7BAAAAAnAADsEQAA7BEAAAAoAADsEgAA7BIAAAApAADsEwAA7BMAAAAqAADsFAAA7BQAAAArAADsFQAA7BUAAAAsAADsFgAA7BYAAAAtAADsFwAA7BcAAAAuAADsGAAA7BgAAAAvAADsGQAA7BkAAAAwAADsIAAA7CAAAAAxAADsIQAA7CEAAAAyAADsIgAA7CIAAAAzAADsIwAA7CMAAAA0AADsJAAA7CQAAAA1AADsJQAA7CUAAAA2AADsJgAA7CYAAAA3AADsJwAA7CcAAAA4AADsKAAA7CgAAAA5AADsKQAA7CkAAAA6AADsMAAA7DAAAAA7AADsMQAA7DEAAAA8AADsMgAA7DIAAAA9AADsMwAA7DMAAAA+AAAAAQAA/2oDfANSAAQAF0AUBAEBAAFMAAABAIUAAQF2ERACBhgrASERIRECkv3aAxADUvwYAv4AAAABAAD/4gPoAuQABQAdQBoAAAIAhQMBAgEChQABAXYAAAAFAAUREQQGGCsBJyERIREB2Fz+hAPoAmKC/P4CgAAAAQAAAAAC+AJiAAMABrMDAQEyKwkDAvj+/P78AQQBXgEE/vz+/AAAAAYAAP9hBDoDVgA1AIQAvwEdAbkBvgAAEyY3Fhc2NwYXNzY3Njc2FxYXFgcGBycmLwEmLwEmNzYnJicmBgcGFxYHBhcVFAcmJwYXJicmBSYnJgcGBw4BJj4BPwE2NyMiBwYHBg8BBiY/ATY/AScGBxc3Njc2NzYXMwYjBgcGByIVBxYXFhcWFzMwNTc2NzYXFh8BNjc2NzY3Nhc1IgEmLwEHBgcGBwYjIiY3Njc2PwEmBwYHNjcGByY2NzQnBgcGBzc2NwYHBhYXFhc3JjcXFhcWNzY3Njc2JS4BBx4BFxYGBwYnIic3Njc2JicmJwYXFRYGJyYvASYvAS4BJyYnJi8BLgEnBhYfARYXFh8BFhcWHwEWFxYXFg8BBhYfASYnJjY3FxYXFjc2NzY/AQYnMxY3PgEnJgEmJzYXJjcWFxYXFhcWHwEnJicmJyY3Nj8CNjcVFhcWFxYfARYfARYXJicmLwEmJyY/ARcWFxYfAR4BBwYWMxYVNjcWDgEHNTYnJicmLwE2NzYnJgcGBzIXBwYWPwEHBhUWFxY3Mw4CJzY3Byc2NzYmJyYHNjcnJi8BNjcmBwYHBgcWHwEGBzc2NzYnLgEnJgcjNjc2NzY3PgEXHgE3JqECGwIGEkEHAQMSDRYfJytuGg0dDxoEBAMaIwMJAwMZBgMTFT4VHwkBAQoGAT8VGg0VCwkDkyAuKiQXIgcPBggGCgoCAgUCAhQUDBkSDg0DCgEEAgFRIAICHCs9NgUMCAYENS9UPwEBDA0IDg8JAQInNDFJCRIHCQcTIRkSFxUC/jMcFiIEITQSDhIRP0IQChsOGAEaGBMWAxRINgELAQYmGh4QBxkOEQUIHiAICwEEAQsiO0RUTDszKAMBTA4hCg8PBxMGFyAsBQEGCAINChQECgEBBh4YEhVyERYbCQkDAgIFFxoTFQQHCA0GDwYPAQEBAQYbDzcbFAUDAQECJB8HDwMDCwsCDi8tPDMhAwYCMzAEQS4dEg0X/MkLIC4fEwoNIQ4aJQ4FCAYFCyEEAgkHAQQEAQQDAQUJFxAiFx8MAQQDDSMMGhMIAgMMAwMGFQ0rDSQeBAECARMTDQQNGxECBAcYCRIRCQIDDSEmIQkZFQwDCwoHBQEBCQUMBAIgKA8XCCUBDgYNHiAcFhIuDgsPCSU2BhgdGiETDRcKQDoCAwECAgIUEBMbBQwSCxYbDQkD9QQaEA4CkTokHA5RLxUOAw8IDQYHCRxyO0YkIQQFAhgiBAsDBCosIBMXARciMwQEKicDAQEgRjgyFR0Z0CISEQMBCwQCCQsFBgcCAQEDDAgTDwsECBMDBAMBN1gCAyEaIgUBAQIHHTJYAQEECQYMDQYBBVY7Nw8CCQMHAgsHBQECBQH+qxgSHAY6IwsFB2xFKiYUGAEICAcUKh8gNghOAggGJyUsLQUSCC8gOHwoCgoBFBYQLBofDg02L08GXQQEAgYKCBU0EBYFAQgIBRlAFAQIAgICGCcBARBeEAECAQcIDgYZAwMCExMQHwwFCwYLEgkMBhoXDC0XERgPIhQiNgwCERYTJAgMQB4dCwodAwgCDCEFJxlGIjcBZRUUAgkjKR4XCQ8WDQQKBwwbFgMGHyoHDQwCCAMEFA8bGBEfFxwRAgYCIx8NFxIIDSIZBxccGxEoDCA7HAEDCBQGFhMwKAgEEgkSBQIBAhIJDgIGBQQGBiULDwcFGwYCDAMCAgsZDwEPFAUCChAeLQMCDS0WBAQDAhcFBAECCQsWAgQCEzIJDAYSCQ4RAQIFDAsHDA8JBwwqGBoCIgAAAAQAAP9qA5gDUgADAAcACwAPAEJAPwgBAQAHBgEHZwAGAAUEBgVnAAQAAwIEA2cAAgAAAlcAAgIAXwAAAgBPAAAPDg0MCwoJCAcGBQQAAwADEQkGFysTESERASE1ITchNSE1ITUhUANI/o3/AAEAnv5iAZ7+YgGeA1L8GAPo/RJyT3JPcgAAAAACAAD/nAPoAyAAAwAJAAi1BgQCAAIyKwkDBRcJATcFAfQB9P4M/gwDQqb+DP4MpwFNAyD+1P7UASzIZP7UASxkyAAAAAUAAP9qA+gDUgAHAAsADwATABcAW0BYAgEABQQFAASAAAYABwEGB2cAAQ4LDQMJCAEJZwoBCAwBBQAIBWcABAMDBFcABAQDXwADBANPFBQQEAgIFBcUFxYVEBMQExIRDw4NDAgLCAsSEREREA8GGys3IxEhESMVIRMRIREBIRUhBxUzNTMVMzXIyAPoyP2oZAGQ/gwCWP2oZGRkZDIB9P4MyAGQ/tQBLAJY+pZkZGRkAAAAAAQAAP9oA+oDVAAHAAsAEwAaADJALxkSAgEAAUwaDwIAShgTERAODQsKCQcGBQQDAgEQAUkAAAEAhQABAXYXFhUUAgYWKwEnCQInBycBJwEXNxcJAhc3FyUzByMVLQEBd0f+0AEpATBH8JsCREf+rEf8RwEw/tf+0Efwm/2/66BL/t4BIgF6R/7Q/tcBMEfwmwFhR/6tR6pHATABKf7QR/CbraBzw8MAAAQAAP9oA+oDVAAHAAsAEwAaADJALxkSAgABAUwYExEQDg0LCgkHBgUEAwIBEAFKGg8CAEkAAQABhQAAAHYXFhUUAgYWKwEXCQIXNxcBFwEnBycJAicHJwUjNzM1DQECc0cBMP7X/tBH8Jv9vUcBU0f8R/7QASkBMEfwmwJB66BLASL+3gFCRwEwASn+0Efwm/6fRwFTR6pH/tD+1wEwR/CbraBzw8MAAAMAAP9oA+oDVAAHAAsAEwAKtw8NCwkDAQMyKwEnCQInBycBJwEXNxcJAhc3FwF3R/7QASkBMEfwmwJER/6sR/xHATD+1/7QR/CbAXpH/tD+1wEwR/CbAWFH/q1HqkcBMAEp/tBH8JsAAQAA/2oD6ANSAAsABrMFAQEyKwkBFwkBBwkBJwkBNwH0AU2n/rMBTaf+s/6zpwFN/rOnAgUBTaf+s/6zpwFN/rOnAU0BTacABgAAAAADlQKrAAMABwALAA8AEwAXAFNAUAAAAwsDAAuAAAEIAYYMBwIFAAYCBQZnAAIEAQMAAgNnAAsACgkLCmcACQgICVcACQkIXwAICQhPDAwXFhUUExIREAwPDA8SEREREREQDQYdKxMzFSMBIxUzITM1IyEVITUBMzUjNSE1IVP6+gJI+vr9uPr6AU4B9P4M+voB9P4MAQv6AfRU+lNT/WZTU1QAAgAA/2oD6ANSAAQACAATQBAIBwYEAQUASgAAAHYSAQYXKwEXASM1ATcXBwKHp/15pwLCf6d/Apin/XmnAsJ/p38AAAABAAD/cAOkA1EACQAGswgBATIrHwElEScFJyUnBf1+Aik9/hRDAeJI/iwLhYIC5SWiQY8nhAAAAAL/+gAAA/sCtwAKAF8AP0A8PgEDAjwzGw8NBQEDBwEEAQNMAAIDAoUAAwEDhQAABACGAAEEBAFZAAEBBGEABAEEUV1aOzkqKC4kBQYYKxMeARcWMzI3JicmBSYnBgcWFxYHBiMGJyYnJic2NzI1MTY1NCcuAScmIyIGBwYHIjEVBgcnJicmNzYzMhc2NyYnJgcGFxYXFhcWHwEWFxYXHgEXFh8CFh8BFjsBMjc2nglgSkxXSUNwioUCwRQuCA0lEAsCBRchNBEVDQ4WEAEuAglgSkxXOGstNyIBEAsyJRALAgUYITMVGjcrWhoPCRBVHBsVGB8QEUJXHDgcNkYzCiYTAk0xA0AVGwE6Vo0oKR4tT00yHCwiICYdFQcFAQ0EBwQFGRwBT1wTElWNKCkkIio8AR0fLiYdFQcGDRwYEAULLhchN1EbFRISFwwLLjMQHg4cHhQEDQUBFyUtAAH///9rA+gDUgAFABVAEgMBAUoAAQABhQAAAHYSEQIGGCsXEyUBAyHD6v5SAyTuAbOVAZIBAlT+ZgAAAAEAAAAAAggDUgALADBALQAAAQCFAAMCA4YGBQIBAgIBVwYFAgEBAl8EAQIBAk8AAAALAAsREREREQcGGysBNSMVIxUzFTM1MzUBT5a5uZa5ApS+voy+vowAAAAAAgAAAAACCANSAAwAGQArQCgEAQACAIUFAQIDAoUAAwEDhQABAXYODQEAFBMNGQ4ZBwYADAEMBgYWKwEyHgEUDgEiLgE0PgEXMh4BFA4BIi4BND4BAQRHd0ZGd414RkZ4RiM8IyM8RjwjIzwDUkZ3jXhGRniNd0aCIzxGPCMjPEY8IwAAAwAAAAADrAKsAAIABQAIABNAEAACAAKFAQEAAHYSEhEDBhkrCQEhCQEhARMhAfQBuPyQAbgBuPyQAbjQ/mACrP1kApz9ZAG5/sQAAAEAAP+jA+YDGQAKACxAKQgFAgMCAQFMAAECAYUAAgMChQADAAADVwADAwBfAAADAE8SEhIQBAYaKwUhAQMhAxcjJwchA+b8GgF5zgKc17jtOoYB2V0CLwFH/sD0UMgAAAQAAP94A60DRAAQABYAIwAuAFFATigBAAQTAQMALhQSAwIDDgEBAgRMJyYlAwRKEA8CAUkABAAEhQAAAwCFAAECAYYAAwICA1kAAwMCYQUBAgMCURgXKykeHRcjGCMlFQYGGCslNjU0LgEiDgEUHgEzMjcXNy0BNxcVFAUiLgE0PgEyHgEUDgEBJwkBByYjIg4BBwMhHzddcF43N144OjKNQP26/tVJxwEoHzQfHzQ9NB8fNP30SgGYAZlqREs9bVIVRDA9OF43N15wXTcfjD9/6jmbDT8yHzM+NB8fND00HwGMOgE+/sJTJi9UNgAAAAEAAP+IAzEDNAAJABlAFgIBAEoJCAcGBQUASQEBAAB2EhACBhgrASM3FyMVCQMByKfT06cBEf7D/sMBEQJtx8eX/u/+wwE9AREAAAAC////2AJyAuQAFAApACtAKB4BAgUJAQADAkwABQIFhQACAwKFBAEDAAOFAQEAAHYXFBcXFBYGBhwrCQEWFA8BBiIvAQcGIi8BJjQ3AT4BAwEGFB8BFjI/ARcWMj8BNjQnASYiAVoBCQ4OLA0nDry9DScOLA4OAQkOJzX+9w4OLA4nDby9DicNLA4O/vYNJwFf/vYNJw4sDg68vQ0NLQ4nDQEJDgEBaf72DScOLA4OvLwODiwOJw0BCg4AAAIAAP9qA34DQwAVACIAK0AoBQECAwKFAAMAA4UEAQABAIUAAQF2FxYBAB0cFiIXIgsKABUBFAYGFisBMh4BHQEUBwYHBiInJicmPQE0PgEzATIeARQOASIuATQ+AQMIIDYgLzFWXuxeVjEvIDYgARQ7ZDo6ZHZkOjpkAUMgNiAoT0hJLC8vLElITyggNiACADpkdmM6OmN2ZDoAAAUAAP9pA34DQwALABAAGQAiADYANUAyCwECAgEiGxkYEA8KCQgGBAMCDQACAkwHBQIASQABAgGFAAIAAoUAAAB2NDMqKR0DBhcrJTcXBxcHJwcnNyc3AQYiJzcBHgEdARQGBychBy4BPQE0Nj8BLgE1ND4BMh4BFRQGDwEOASImJwH0v2C/v2C/v2C/v2ABJDBqMGUBVhgcIyGW/qCWISMcGLgcHzpkdmQ6HxwJHkxVTR7ov2C/v2C/v2C/v2D9zAkJZQFWEDMeKC5cKZaWKVwuKB00EKgeTCo7ZDo6ZDsqTB4JHB8fHAACAAD/agN+A0MAFQAiACtAKAUBAgMChQADAQOFAAEAAYUEAQAAdhcWAQAdHBYiFyILCgAVARQGBhYrFyIuAT0BNDc2NzYyFxYXFh0BFA4BIwEyHgEUDgEiLgE0PgHgIDYgLzFWXu1dVjEvIDYg/uw7ZDo6ZHZkOjpkliA2IChPSEksLy8rSkhPKCA2IAPZOmR2Yzo6Y3ZkOgAAAAADAAD/zgOEAu4AAwAVACIAO0A4AAAHAQQFAARpAAUAAwIFA2kGAQIBAQJXBgECAgFfAAECAU8XFgUEHRwWIhciDQwEFQUUERAIBhgrASERISUiJj0BNDY3NjIXHgEdARQGIwMyHgEUDgEiLgE0PgEDhPzgAyD9zB0pOTM4jDgzOSkdpCM7IyM7RjsjIzsC7vzgbCkdFy9WGhwcGlYvFx0pAkkjO0Y7IyM7RjsjAAAAAAIAAP9qA3oDUgAVACIAK0AoBQECAwKFAAMAA4UEAQABAIUAAQF2FxYBAB0cFiIXIgsKABUBFAYGFisBMh4BHQEUBwYHBiInJicmPQE0PgEzATIeARQOASIuATQ+AQMFIDUgLzBVXepdVDEuHzYfARE0WDMzWGhXNDRXAT0fNh8nT0ZKKi8vKkpGTycfNh8CFTNYaFgzM1hoWDMAAAYAAP+oA6oDFAARACIALwBAAFIAaABkQGFEOQIKCwFMAAMAA4UNAQgFCwUIC4AACwoFCwp+AAoKhAAAAAECAAFpBAECAAkGAglnDAEGBQUGVwwBBgYFYQcBBQYFUUJBMTBnZFtaTUtBUkJSNzUwQDFAFRgVJikTDgYcKxM0PgEyHgEVFAYHBiMGIyIuAQUWMxYzMj4BNC4BIg4BFRQWBz4BMh4BFA4BIi4BNCczBhQWFyMiBgcmJy4BNTQ2BTIWFzY3PgE1NCYrARYVFAYHFxYVFAYHDgEiJicuATU0Nz4BMyEyFrwiOUQ5IhsWAgEeKyI5IgGnAgEgKiI5IiI5RDkiGsUQOkQ6ISI5RDki26cKGRYQMlEQIBskJzcCGjJRECAbJCg3J6cLGhZnBygkIlpkWiIkKAcLLx0BOB0vApciOSIiOSIeNBECGCI5QQIYIjlEOSIiOSIeNGocIyM4RDkiIjlEHBtGQRk6Lg0VHVMzJze7Oi4NFR1TMyc3HiAjQBp5DxUzUx0bHR0bHVMzERMaICAAAQAA/+4D2gLOABQAHUAaCQECAAFMAAEAAYUAAAIAhQACAnYXFBYDBhkrBQEmND8BNjIfAQE2Mh8BFhQHAQYiAVj+xQ4ORA4pDtUBxw4pDkQODv3SDikDAUAPKQ5GDg7YAc4PD0UPKQ79yQ8AAQAAAAAD6AHrAAMAF0AUAAABAIUCAQEBdgAAAAMAAxEDBhcrNREhEQPo0QEa/uYAAQAA/3gD2gNEABQAGEAVFAECAQABTAAAAQCFAAEBdikkAgYYKwElETQ2MzIXAR4BFAYHAQYjIiY1EQJT/bsiGA4MA1gOEhIO/KgMDhcjAV46AXIYIgb+VAgcIBwI/lQGIhgBcgAAAAACAAD/hAO+A0UACQAbAClAJgcBBQIFhQYEAgIDAoUAAwADhQAAAQCFAAEBdhERESMTIzMQCAYeKxMhERQGIyEiJjUBMzIWHQEhNTQ2OwE1MxUhNTMqA5QaE/zHExsCr7gTGvxsGxO3XAETWwFl/k8UHBwUAzEcFPDwFBxgYGAAAAIAAP9zA1cDSQARAGgAQkA/PQEEAzAjAgIEAkwABAMCAwQCgAACAQMCAX4ABQADBAUDaQABAAABVwABAQBfAAABAE9eWk5MRkMqKDUzBgYYKyUVFAYrASImPQE0NjsBMhYVMRMUBzcGBxUGDwIGBwYHIwYHFRQHMQYrASImJzEmJzU+ATcxNjczNjcxNicxLgEnMSYHMyYHNwYPAQYjIiczJyYnMSY3MTY3NjsBIzIXJxYXJxYfARYVAmQSDLgNEhINuA0R8ygBEhgTGAEIFxAhEwESAwkIDrgGCwIHAgEaFy0/AiMeFQICEw8lLgEuJgEuIwEKDgsJAX4LAQIGNFpdbQ0BQD4CPDUBMR8BIEq5DBISDLkMEhIMAcxKPwEZFAEQEAEEDgkTHxkaAQ4LCwgGChIjIj4YNB8PHBsgEh4IGwICGQEnMAIMBmAICwwKXjY4GQEWKgEoOQE4QgAAAAABAAD/dAPeA0gACwAhQB4AAAEAhQUBAQIBhQQBAgMChQADA3YRERERERAGBhwrASERIREhESERIREhAof+2v6pAVcBJgFX/qkDSP6p/tr+qQFXASYAAAAAAgAA/3cDzwNFABsAKAA/QDwJAQMCDgwCAQMCTA0BAUkEAQAFAQIDAAJpAAMBAQNZAAMDAWEAAQMBUR0cAQAjIhwoHSgSEAAbARsGBhYrATIXFhcWFRQGBxQzFwcnNQYjIicmJyY0NzY3NhciDgEUHgEyPgE0LgEBuXFhXjc5IR8BtZq7W2ZxYV43OTk3XmFxP2o+Pmp+aj4+agNFOTdeYXE9cDEBtZq8AS85N15h4mFeNzm5Pmp+az4+a35qPgAAAgAA/3ICkQNKAA8AHwAkQCEAAwIDhQACAQKFAAEAAAFXAAEBAF8AAAEATzU1NTMEBhorJRUUBisBIiY9ATQ2OwEyFhMDDgErASImJwMmNjsBMhYCehoSsxMaHBGzEBwVEwEbErMTGwETARoS4BIaO50SGhoSnRMaGgLQ/ecSGxsSAhkSGhoAAAIAAP91A2kDRwAhACcAOkA3JiMCBAUBTAABAwGFAAMAA4UCAQAFAIUGAQUEBAVXBgEFBQRfAAQFBE8iIiInIicTER4eEAcGGyslIyYnJicmJy4BNTQ3Njc2MhcWFxYVFAYHBgcGBwYHIzUjExUHIyc1AcWOBxgPHxIHKCozMlVXyVdUMjMqKAYSHw8ZB45e6V26XV4dIRIhEwgyd0BkV1QyMzMyVFdkQHgyBxIgFCAe6f66L11dLwADAAD/dAODA0gADAAZACgAPkA7CAEEAgSFBwECBQKFAAUABYUGAQADAIUAAwEDhQABAXYbGg4NAQAiIRooGygUEw0ZDhkHBgAMAQwJBhYrJTIeARQOASIuATQ+ASUyHgEUDgEiLgE0PgEBMh4BFAYHBiInLgE0PgECvyhDKChDUEMoKEP+PzVaNDRaa1o0NFoB1kl8SEg9P5I/PUlJfJooQ1BDKChDUEMoxDVaalo1NVpqWjUB6kl8knskJSUke5J8SQAAAgAA/84D3QNBAAkAJAApQCYAAgMChQADAAOFBQEAAQCFBAEBAXYBACAdFRMNDAQCAAkBCQYGFisTMxEjIiY1ETQ2NwE+AR8BHgEPASEyFh0BFAcDDgEjISImNRE0OIWFExoa/gEcBhEGJhAOBTMBHCU0B4kFFw7+HxIaAeP96xoTAbwSGjoBHAYBBRwMJhTJNCVeDxL+sg0PGhMCAhEAAAIAAP97A90C7gAJACQAKUAmBAEBAAGFBQEAAwCFAAMCA4UAAgJ2AQAgHRUTDQwEAgAJAQkGBhYrJSMRMzIWFREUBgcBDgEvAS4BPwEhIiY9ATQ3Ez4BMyEyFhURFAOwhYUTGhr+/uQGEAcmEA4FNP7jJDUHigQXDgHhEhrZAhUaE/5EEho6/uQGAQUcDCYUyTQlXg8TAU0NDxoT/f4RAAACAAAAAAPWAqsABgANACNAIAkCAgIBSwQBAQIBhQUBAgAChQMBAAB2ERIRERIQBgYcKzczExEhETMBMxMRIREzWc6K/mPOAZ3Oif5kzhEBCgGQ/nD+9gEKAZD+cAAAAAABAAD/pQPZAxcAIgBsS7AKUFhAJgYBAAEAhQABBQGFAAUDBYUAAwQEA3AABAICBFkABAQCYAACBAJQG0AlBgEAAQCFAAEFAYUABQMFhQADBAOFAAQCAgRZAAQEAmAAAgQCUFlAEwEAHRwYFhIRDQoGBQAiASEHBhYrATIeAR0BIxEUDgEjISIuAT0BIRUUFhczMjY/ATUhETQ+ATMDVSM9JFgkPSP9liM9JALCFhAGERkBAf0+JD0jAxckPSNY/e4jPSQkPSNZWREZAhcQBbEBuSM9JAAAAAABAAD/dgNuA0YAFgAhQB4NAQEAAUwDAQABAIUCAQEBdgIAEQ8KCQAWAhYEBhYrEyEyFhURMDEUBiMiJyUFBiMiJjURNDapApYTHA4KBwX+qv6qCAQKDhwDRhwT/HcKDgTW1gQOCgOJExwAAAACAAD/dALVA0gAEAA0AFBATS8uHh0EBQMBTAAEAQMBBAOAAAMFAQMFfgAFAgEFAn4HAQIChAYBAAEBAFkGAQAAAWEAAQABURIRAQArKSUjGhgRNBI0CQcAEAEQCAYWKwEyFxYVFA4BIyImNzQ3Njc2AyInJj8BPgEjIgcGByc2NzY3NjMyFgcDBjMyNzY3FwYHBgcGAmsvGxgjPCQvMgEOEBsgoi0OExk7CAEJDCgqHBo8RT05NiAmEBREEBUPHyUiHTlCNzYvA0gdGikgOSIzLhsbHhIU/CwiKmH5HxkREhQsMyglFRRUSv76Pg8RGyg6KiQUEQAAAAEAAP9qA+gDUgACABVAEgEBAEkBAQAAdgAAAAIAAgIGFisZAQED6ANS/BgD6AAAAAMAAP+oA2sDFAAPAB0ALQAmQCMDAQACAIYAAQICAVcAAQECYQACAQJRAgAhIAoHAA8CDwQGFisFISImNRE0NjMhMhYVERQGCQEHBhY/AQE2NC8BJiI3JyYiDwEGFB8BFjI/ATY0Aw39USc3NycCryc3N/6d/vcMARALbwEJBARsBAnNOw0nDi0EBGwECQQtDlg3JwKwJzc3J/1QJzcCT/73cAsQAQwBCQQJBGwEFjoODi0DCgNtAwMtDicAAgAAAAADOwKXABQAKQAkQCEeCQIAAQFMAAIBAoUAAQABhQAAAwCFAAMDdhwXHBIEBhorCQEGIi8BJjQ/AScmND8BNjIXARYUJQEmIg8BBhQfAQcGFB8BFjI3ATY0Abb+9w4nDiwNDby8DQ0sDicNAQoOAWn+9w4nDiwNDby8DQ0sDicOAQkOAT3+9g0NLA4nDry8DicNLQ4O/vYNJzQBCg4OLA4mDr28DScOLA4OAQkOJwAAAv/9/7EDXwMLABUAIgAwQC0HAQIBAUwABAAEhQAAAQCFAAECAYUAAgMDAlkAAgIDYQADAgNRFRcXFBQFBhsrATQvASYiDwEnJiIPAQYUHwEWMjcBNhcUDgEiLgI+ATIeAQLNCjMLHAvkfgscCzMKCsoKHgsBLwqMcsboyG4Gerz0un4BuBAKMgsL434LCzIKHwrKCgoBLwpLdcR0dMTqxHR0xAAB////ZwLuA1IAHAAKtwAAAHYcAQYXKwUmJyYnLgE1NDc2NzYyFxYXFhUUBgcGBwYHDgEmAVE0UWIeLR8zMlVXzFdVMjMfLR5hUTQJHh2CS3SLL0dfPmZXVTIzMzJVV2Y+X0YwinVLDQoKAAAD////sQOhAwsABgANAEcARUBCCwECAB8BBAMCTAAIBwiFBgECAAMAAgOACQEHAQEAAgcAZwUBAwQEA1kFAQMDBF8ABAMET0ZEMycWJiUmGhUSCgYfKwEmNSMVFBYlNSMUBz4BNxUUDgIHBgcOARQWMzIWBxUUBiMhIiY9ATQ2MzI2NCYnJicuAzc1NDY3MzU0NjchMhYdATMyFgEAKo9qAqiPKU9oSTBMdj0XHhUQIiUqQgEKCP4wCApCKSYiEBUeF0ByTjABIBagNiQBQSU0oRYgAWVbdDUsXoo1dFsQXnNHKFBCKgQeFxMqOyoyJyQICgoIJCcyKjosEhceAyxAUidHFx4BNSU0ATYkNSAAAAP//P9qAxIDQwA0AE4AVwBTQFBPAQYHQgEDAgJMCQEDAUsABQYCBgUCgAQBAgMGAgN+AAMBBgMBfgAHAAYFBwZpAAEAAAFZAAEBAGEAAAEAUVZVUlFNSkVDQD46OB8eFAgGFysFFA4CIi4CNzQ+Ajc2HgEGBw4EBx4FPgMnNCYvAS4BJy4BPgEXHgMDFRQGByMVFAYHIyImNzUjIiY9ATQ2OwEyFicUDgEmPgEeAQMSRnCMjo5sTAQkQkIoDxgFEBAgNh4YCAECHDRMZnxkUDAgAQgMGw84Hw4SBhgPJ0RAJNYUDyQWDo8OFgEkDhYqHtYeKjZKZkwERG5CByM6IBISIDojGyweFAcCEB4YAwUQDA4IAwYSEhIKAg4OFhAHAwgGDQcOBgMYHRIDBxQeLAHZ1g8UAdYPFAEWDtYWDtYdKiq5NEgCTGROBkIAAwAA/2oD6ANSAAMABwALAAq3CwkGBAMBAzIrCQMRCQIhCQIC+P78/vwBBP4MAfQB9Px6AZIBk/5tAV4BBP78/vwC+P4M/gwB9AGT/m3+bQAF//r/agPpA1gAHwA9AFsAeQCZAENAQGsBBQOUAQQCAkwAAAEAhQABAwGFAAMFA4UAAgUEBQIEgAAFAgQFWQAFBQRhAAQFBFGSkIB+dnRoZktJMS8GBhYrNzEjLgEnJjY3PgEXMhUXHgEHDgEHBhYXFg8BBiYnIjUTMTU2NzY3PgEXHgEVBw4BJyMGBw4BBwYiLwEuATclMTMWFxYXHgEXFgYHJyImJyYvASYnJicmPwE+ARcTMTAxBgcGBw4BBwYmLwImNjc+ATc2NzYzFzIWFQExMDEGIyInLgEnJjQ/ATYWFxYXFhcWNzIfARYGBwYjLgELEwYOESACCQQCUAQCAgcLAwgMEwMHUAQJAwF4FRkdFkOYTgUFIAEIBCgaDjNfKAMIA08EAQMCTgEYGhAeOEwQAgYFZgQGAQIHBQkGMFkHAh8BCQX2BgkMCiFpQwQKAgEeAQMEECENSxoDCGIFBv5KHh4iGU2NOgQEUgQJAxQMFgxeagkDHQIEBQECkBg8HUuYRwQDAgE7AggEECkUMmcwCAU4AwIEAgI+ARMSFAsmHwkBBwVgBAQBAgIIKyECAjoCCgRCDhIMGjSGTAUHAQEFBAoTDhUKXjgECVwEBQL96B4bIBdGcSYCAgQCXgQIAgobDUlnCAEGBf5yAwQJPzUDCQQ7AgEDEAcOBi8GCFwECAIBAAAAAgAA/2oDTANSACsANwBUQFEkBwICAQoBBQIRAQYFA0wAAgEFAQIFgAAFBgEFBn4ABgMBBgN+AAMDhAcBAAEBAFcHAQAAAWEEAQEAAVEBADU0Ly4nJRoZDQwGBAArASoIBhYrATIWFAYrARUeARc3NjIWFA8BHgEVFAcGBwYiJyYnJjU0Nz4BNzUjIiY0NjMTNCYiBh0BFBYyNjUCExolJRofNmMqKhMzJRMvICI3Nlxf3V9cNTguLJ1hHxolJRqMGyYcHCYbA1IkNCVDCC0iKhIkNBIwMHA9bl9cNjc3NlxfbmRYVXIPQyU0JP6JFBsbFPoTHBsUAAACAAD/nAPoAyAAFAAkAERAQQQBAAUeAQEAAkwKAQFJBwEEAwSFAAMFA4UGAQUABYUAAAEBAFcAAAABYQIBAQABURYVIB8dGxUkFiMlIiYQCAYaKyUhMjczFRQGKwEHNSMiJjURNDY7ASUyFhURFAYrARUnIRE0NjMBIgFeAgQEOir6ljIoPDwovgJiKjo6KjKW/qI8KPACXCg8lpY8KAEsKjr6Oir+1Cg8lpYBkCo6AAL//f9mBOIDUwAuADkATUBKBQEEBSYMBgMBBAJMBgEAAwUDAAWABwEEBQEFBAGAAgEBAYQAAwAFA1kAAwMFYQAFAwVRMC8CADU0LzkwOSwqHx4XEwAuAi4IBhYrATMyFh8BBxUUBw4BBxcWDgEmLwEiBisBFxYOASYvASEHBi4BNjcBNTQ+ATMyFhcHMjY1NCYiBhUUFgP/YitDCwi7JCN8TlIHDyQkB1sBBAFQTAcPIyUHW/78kRUzIAcUArcuTy8nRRiEFBscJhwbAxU2Kh0vjFRNSmoWxxIlDg8S3wK5EiQPDxLdcBAHKTMQAhY5L08uIR2bGhUSHR0SFRoAAAADAAD/agPbA1IAGAAuADcAUEBNAAABAIUABgIFAgYFgAoDAgEAAgYBAmcHAQUABAkFBGcACQgICVcACQkIYQsBCAkIUTAvAAA0My83MDcsKikoJyUeGwAYABc3IiIMBhkrATQ2MzIWFSEyHwEWFA8BBiMhIiY9ATQ2MwEUBiMhIi8BJjQ/ATYzITUzFSEyFhUBIiY9ATMVFAYBtCUZHCUBKwwKXgkJXgkN/R0ZJSYYAy8lGv0fDQleCQleCwsBKn8BOBol/kgZJX8lAxQZJSQaCl0KGQpdCSQafRol/c0aJAldChoJXQs/PyUZ/golGby8GiQAAQAA/7ED6AMMABwAIUAeEQEAAQFMAgEBAAGFAwEAAHYBABcVDQsAHAEcBAYWKwUiJwEnLgM1NDY3Mh4CFz4DFzIWFAcBBgH0Dgv+pA8KKiIajn0iSD4uExQsQEYjfY6A/qUKTwoBUA8KNjZQJXuKARgqIhUUJCgaAYz1gP6xCgACAAD/+QKDAwsABwAfACpAJwUDAgABAgEAAoAAAgKEAAQBAQRZAAQEAWEAAQQBUSMTJTYTEAYGHCsTITU0Jg4BFwURFAYHISImJxE0NhczNTQ2MhYHFTMyFrMBHVR2VAEB0CAW/ekXHgEgFhGUzJYCEhceAaVsO1QCUD2h/r4WHgEgFQFCFiABbGaUlGZsHgAEAAD/agPoA1IACAAhACoAQwCaS7AKUFhAMwsBBAUHBwRyCgECAAgAAghpCQEAAAEGAAFpDAEGAAUEBgVpAAcDAwdZAAcHA2IAAwcDUhtANAsBBAUHBQQHgAoBAgAIAAIIaQkBAAABBgABaQwBBgAFBAYFaQAHAwMHWQAHBwNiAAMHA1JZQCUsKyMiCgkBAD48MzIrQyxDJyYiKiMqFhUJIQohBQQACAEIDQYWKwEiBhQWMjY0JiciBw4BBwYUFx4BFxYyNz4BNzY0Jy4BJyYDIiY0NjIWFAYnIg4BFB4BMyInJicmNDc2NzYzMh4BFA4BAfQaJCQ0JCQaZl1ZiyYnJyaLWV3MXVmLJicnJotZXWYaJCQ0JCQaM1YzMlY0ZldVMjMzMlVXZjNWMzNWAlgkNCUlNCT6JyaLWV3MXVmLJicnJotZXcxdWYsmJ/0SJTQkJDQl+jJWZlYzMzJVV8xXVTIzMlZmVjMAAAAAAwAA/20D6AM4AAsAGAAdAClAJh0cGxgXFhUUExIREA8OCwoJCAcGBQQDAgEZAEkBAQAAdhwcAgYYKxMXBxcHJwcnNyc3FwMzATcXBxcHJwcnNwElMxcHJ/G5SkpKgpRKlIFKSoq5AmtKS4KUSpSCSkr9lQL1uQHVuQEXuUpKSoGUSpWBSkoCa/2VSkqBlUqUgUpKAmu5uNW6AAAAAQAAAAEAAB5/8Z1fDzz1AA8D6AAAAADffHTKAAAAAN98dMr/+v9hBOIDWAAAAAgAAgAAAAAAAAABAAADUv9qAAAE4v/6/+0E4gABAAAAAAAAAAAAAAAAAAAAPwPoAAAD6AAAA+gAAAPoAAAEZQAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAABCcAAAPo//oD6P//A+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAAnH//wPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAQjAAAD6AAAA+gAAAPoAAAD6AAAA2sAAANrAAADWf/9Au7//wOg//8DWf/8A+gAAAPo//oDawAAA+gAAATi//0D6AAAA+gAAAKCAAAD6AAAA+gAAAAAAAAAHAA8AFAC8AM0A1YDsAQEBFgEjASwBQQFJgVCBfAGDgY8Bn4GpAbUB0wHcgfQCB4IkgjgCTgJhgpQCoYKngrSCxILwgvuDE4MkgzuDVANoA3wDiAOjA7CDz4PVg+0EA4QYBCWER4RxBHsEvATbBPEFEQUvhT+FUYV/BZJAAEAAAA/Ab8ABgAAAAAAAgAeAEUAjQAAAQEODAAAAAAAAAASAN4AAQAAAAAAAAA1AAAAAQAAAAAAAQADADUAAQAAAAAAAgAHADgAAQAAAAAAAwADAD8AAQAAAAAABAADAEIAAQAAAAAABQALAEUAAQAAAAAABgADAFAAAQAAAAAACgArAFMAAQAAAAAACwATAH4AAwABBAkAAABqAJEAAwABBAkAAQAGAPsAAwABBAkAAgAOAQEAAwABBAkAAwAGAQ8AAwABBAkABAAGARUAAwABBAkABQAWARsAAwABBAkABgAGATEAAwABBAkACgBWATcAAwABBAkACwAmAY1Db3B5cmlnaHQgKEMpIDIwMjIgYnkgb3JpZ2luYWwgYXV0aG9ycyBAIGZvbnRlbGxvLmNvbWl0c1JlZ3VsYXJpdHNpdHNWZXJzaW9uIDEuMGl0c0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMgAyACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBpAHQAcwBSAGUAZwB1AGwAYQByAGkAdABzAGkAdABzAFYAZQByAHMAaQBvAG4AIAAxAC4AMABpAHQAcwBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGAEZARoBGwEcAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErASwBLQEuAS8BMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AT4BPwFAAARmaWxlBmZvbGRlcgZidWxsZXQOZC1hbmQtZC1icmFuZHMGbm90ZS0yBmxheWVycwdwcmludGVyCGJhY2tsaW5rB291dGxpbmsEbGluawVjbG9zZRBmb3JtYXQtbGlzdC10ZXh0CHBlbmNpbC0xBmJvb2stMwxwbGFuZXQtc2hhcnAJbGlnaHRuaW5nDWxpbmstZXh0ZXJuYWwNbGluay1pbnRlcm5hbBBmb290bm90ZS13cml0aW5nC2xlLWJlYW4tZG5kB3NlYXJjaDIIZm9vdG5vdGUPYW5nbGUtZG91YmxlLXVwCWNoYXItbWFpbg9jaGFyLWFudGFnb25pc3QJY2hhci1zaWRlCmNoYXItZXh0cmEJY2hhcmFjdGVyJGljX2ZsdWVudF9wZW9wbGVfY29tbXVuaXR5XzE2X2ZpbGxlZA5mYS1jaGVjay1zb2xpZAVtaW51cxdmZWF0aGVyLWljb24tcGFwZXItcGxhbg1jYWxlbmRhci1maWxsEWZvbnRpc3RvLXF1ZXN0aW9uFWJveGljb25zLXBsdXMtbWVkaWNhbBRlbHVzaXZlLWljb25zLXNlYXJjaBlmb250LWF3ZXNvbWU0LWV4Y2xhbWF0aW9uCWxpZ2h0YnVsYhFidWJibGUtY2hhcnQtZmlsbA10aHVtYi11cC1maWxsD3RodW1iLWRvd24tZmlsbA1mb250aXNvLXF1b3RlEWZpbGUtcGFwZXItMi1maWxsDWJvb2ttYXJrLWZpbGwLZW50eXBvLWluZm8EaGFsZgdleGFtcGxlEmFuZ2xlLWRvdWJsZS1yaWdodApvay1jaXJjbGVkCm1hcC1tYXJrZXIFYXdhcmQLc3RyZWV0LXZpZXcNYnVsbGV0LXNlbGVjdAVzcGluMgR0aW1lBGNoYXQEY3JvdwpzaWducy1wb3N0BWhlYXJ0BGxvY2sIeWluLXlhbmcOc3dvcmQtZmlsbC1maXgAAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAsAAsILAAVVhFWSAgS7gADlFLsAZTWliwNBuwKFlgZiCKVViw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") format("truetype"); -} -body, -.theme-dark, -.theme-light { - --accent-h: 0; - --accent-s: 49%; - --accent-l: 49%; - --background-primary: var(--note); - --background-primary-alt: var(--outer-bar); - --background-secondary: var(--side-bar); - --background-secondary-alt: var(--outer-bar); - --background-modifier-form-field: var(--input-bg); - --background-modifier-message: var(--dark-accent); - --toggle-thumb-color: transparent; - --popover-background: var(--background-primary); - --background-modifier-border: var(--lines); - --background-modifier-border-hover: var(--bg); - --background-modifier-border-focus: var(--accent); - --divider-color: var(--outer-bar); - --divider-color-hover: var(--accent); - --prompt-border-color: var(--outline); - --text-on-accent: var(--text-dl); - --text-normal: var(--text); - --text-accent: var(--accent2-lite); - --text-accent-hover: var(--lite-accent); - --text-muted: var(--soft-text); - --text-faint: var(--faint-text); - --text-highlight-bg: var(--hvr); - --text-highlight-bg-active: var(--hvr-active); - --text-selection: var(--highlight); - --interactive-normal: var(--code-bg); - --interactive-hover: var(--embed-bg); - --interactive-accent: var(--bttn); - --interactive-accent-hover: var(--bg); - --interactive-accent-hsl: var(--accent-h), var(--accent-s), var(accent-l); - --background-modifier-hover: var(--hvr-active); - --background-modifier-success: var(--success-bg); - --background-modifier-error: var(--failure-bg); - --background-modifier-active-hover: var(--dark-accent); - --background-modifier-cover: var(--td); - --icon-opacity: 1; - --icon-color: var(--soft-text); - --icon-color-active: var(--text-dl); - --icon-color-hover: var(--text); - --icon-color-focused: var(--text); - --drag-ghost-background: var(--dark-accent); - --drag-ghost-text-color: var(--text-dl); - --tooltip-color: var(--text-dl); - --italic-color: inherit; - --bold-color: inherit; - --text-dl: #e5ebee; - --accent-text: #dcddde; - --list-color-1: var(--rainbow-1); - --list-color-2: var(--rainbow-2); - --list-color-3: var(--rainbow-3); - --list-color-4: var(--rainbow-4); - --list-color-5: var(--rainbow-5); - --list-color-6: var(--rainbow-6); -} - -.theme-dark { - --deep-dark-accent: #3f1010; - --dark-accent: #652121; - --lite-accent: #c94d4d; - --accent: #863737; - --accent2: #42536e; - --accent2-lite: #61afef; - --accent-color: 134, 55, 55; - --side-bar: var(--note); - --side-bar-bg: var(--outer-bar); - --outer-bar: #0b0f13; - --dark-sidebar: #0d1014; - --bttn: var(--dark-accent); - --input-bg: rgba(0, 0, 0, 0.3); - --hvr: rgba(168, 60, 60, 0.4); - --hvr2: var(--highlight); - --hvr-active: rgba(212, 47, 47, 0.4); - --highlight: #7a141466; - --bg: #252c36; - --fg: #cfd7dd; - --success-bg: #32603e; - --failure-bg: #772d2d; - --inactive: #586477; - --outline: var(--outer-bar); - --folder: var(--accent); - --folder-open: #e05858; - --file-icon-color: #586477; - --file-icon-color: var(--inactive); - --lines: var(--hr); - --note: #1a1e24; - --note-rgb: 26, 30, 36; - --text: #bccad8; - --headers: #c14343; - --soft-text: #97a1b9; - --faint-text: #4e5b6f; - --code-text: #fa4545; - --footnote: #63778f; - --code-bg: #232831; - --embed-bg: var(--dark-sidebar); - --aside-bg: #11151d; - --th: var(--dark-accent); - --th-text: var(--text-dl); - --td: #06080c60; - --drop-shadow: #06080c60; - --tag: var(--dark-accent); - --tag-text: #d04e4e; - --table: #283345; - --hr: #2f3b4d; - --i-at: #bf5e5e; - --progress: var(--accent); - --progress-bg: var(--bg); - --graph-bg: var(--outer-bar); - --graph-lines: var(--dark-accent); - --graph-node: var(--text); - --graph-fill: var(--headers); - --graph-404: #727e93; - --graph-img: #4c78cc; - --graph-tag: var(--headers); - --graph-focused: var(--accent2-lite); - --theme-rainbow-1: #7c2929; - --theme-rainbow-2: #652121; - --theme-rainbow-3: #471d1d; - --theme-rainbow-4: #381919; - --theme-rainbow-5: #424c61; - --theme-rainbow-6: #2e333d; - --rainbow-1: #b03a3a; - --rainbow-2: #d59929; - --rainbow-3: #207a20; - --rainbow-4: #3232c5; - --rainbow-5: #7f307f; - --rainbow-6: #dd4794; -} - -.theme-light { - --deep-dark-accent: #2f1010; - --dark-accent: #c35c5c; - --lite-accent: #cd2626; - --accent: #912e2e; - --accent2: #aac1d3; - --accent2-lite: #5599d0; - --side-bar: var(--note); - --side-bar-bg: var(--outer-bar); - --outer-bar: #eef3fd; - --dark-sidebar: #f1f5ff; - --bttn: var(--headers); - --input-bg: var(--td); - --hvr: rgba(255, 0, 0, 0.212); - --hvr2: var(--highlight); - --hvr-active:rgba(253, 115, 115, 0.4); - --highlight: rgba(229, 149, 149, 0.37); - --bg: #e1e9f6; - --fg: var(--accent); - --success-bg: #599049; - --failure-bg: #772d2d; - --inactive: #a6bbde; - --outline: var(--bg); - --folder: var(--accent); - --file-icon-color: #7e8ea3; - --file-icon-color: var(--inactive); - --folder-open: #ce6d6d; - --lines: #b5c2d8; - --icons: #d04e4e; - --note: #f8fbff; - --note-rgb: 248, 251, 255; - --text: #30353a; - --headers: #c14343; - --faint-text: #4e5b6f; - --soft-text: #697580; - --code-text: #ea4262; - --footnote: #8996a0; - --code-bg: var(--embed-bg); - --embed-bg: var(--dark-sidebar); - --aside-bg: var(--dark-sidebar); - --th: var(--headers); - --th-text: var(--text-dl); - --td: #d0ddef62; - --drop-shadow: #d0ddef62; - --tag: #c65656; - --tag-text: var(--lite-accent); - --table: #ccd6eb; - --hr: #d6deea; - --i-at: var(--folder); - --progress: var(--accent); - --progress-bg: var(--bg); - --graph-bg: var(--note); - --graph-lines: #e4e7f8; - --graph-node: var(--headers); - --graph-fill: var(--folder); - --graph-404: #727e93; - --graph-img: #4c78cc; - --graph-tag: #000000; - --graph-focused: var(--text-highlight-bg-active); - --theme-rainbow-1: #bb5555; - --theme-rainbow-2: #a53f3f; - --theme-rainbow-3: #862c2c; - --theme-rainbow-4: #662828; - --theme-rainbow-5: #697795; - --theme-rainbow-6: #a4aec2; - --rainbow-1: #dd3c3c; - --rainbow-2: #f1ab27; - --rainbow-3: #118811; - --rainbow-4: #3333cc; - --rainbow-5: #a824a8; - --rainbow-6: #e83b94; -} - -body.theme-dark, -body.theme-light { - --font-default: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Microsoft YaHei Light", sans-serif; - --font-monospace: "Fira Code", "Fira Code Medium", "Source Code Pro", monospace; - --font-text: var(--font-text-override), var(--font-default); - --font-monospace-default: var(--font-monospace-default-override), var(--font-monospace); - --font-interface: var(--font-interface-override), var(--font-default); - --rmx: "remixicon"; - --mdi: "Material Icons Sharp"; - --its: "its"; - --fa5: "Font Awesome 5 Free Solid"; - --fa6: "Font Awesome 6 Free Solid"; - --rpg: "rpg-awesome"; - --radius-s: 0; - --radius-m: calc(var(--radius-s) * 1.1); - --radius-l: calc(var(--radius-s) * 1.2); - --radius-xl: calc(var(--radius-s) * 1.5); - --radius-h: calc(var(--radius-s) / .50); - --slider-track-radius: var(--radius-h); - --input-radius: var(--radius-s); - --icon-btn-radius: var(--radius-s); - --tag-radius: var(--radius-l); - --slider-thumb-radius: var(--radius-h); - --status-bar-radius: var(--radius-m) 0 0 0; - --checkbox-radius: var(--radius-m); - --toggle-radius: var(--radius-h); - --toggle-thumb-radius: var(--radius-h); - --clickable-icon-radius: var(--radius-s); - --pill-radius: var(--radius-m); - --bold-weight: 900; - --bold-modifier: 500; - --font-ui-smaller: 13.5px; - --font-ui-small: 14px; - --font-ui-medium: 15px; - --font-ui-large: 20px; - --font-smallest: .85em; - --font-smaller:.90em; - --font-small: .95em; - --icon-xs: 14px; - --icon-s: 16px; - --icon-m: 17px; - --icon-l: 18px; - --line-height-tight: 1.3em; - --scroll-size: 7px; - --divider-width: 2px; - --divider-width-hover: 5px; - --tag-padding-x: 7px; - --tag-padding-y: 3px; - --prompt-border-width: 3px; - --shadow-s: 2px 2px 0 var(--outline); - --shadow-m: 3px 3px 0 var(--outline); - --shadow-ml: 4px 4px 0 var(--outline); - --shadow-l: 5px 5px 0 var(--outline); - --input-shadow: var(--shadow-s); - --input-shadow-hover: var(--shadow-m); - --embed-block-shadow-hover: var(--input-shadow); - --message-color: var(--text-dl); - --message-box-shadow: var(--shadow-s); - --message-border-width: 0px; - --message-border-color: var(--outline); - --toggle-shadow: none; - --box-border-s: 1px solid var(--outline); - --box-border: 2px solid var(--outline); - --box-border-m: 3px solid var(--outline); -} - -.backlink-pane > .tree-item-self.is-collapsed:hover, -.outgoing-link-pane > .tree-item-self.is-collapsed:hover, -.tree-item-self:hover :is(.tree-item-inner-subtext, .tree-item-icon, .tree-item-flair) { - color: var(--nav-item-color-hover); -} - -.tree-item-self:hover .collapse-icon svg.svg-icon { - color: unset; -} - -.nav-file-tag { - background-color: var(--tag); - color: var(--text-on-accent); -} - -.search-result-hover-button, -.nav-folder-title:hover svg.svg-icon, -.search-result-file-title:hover .collapse-icon svg.svg-icon { - color: var(--nav-item-color-hover); -} - -input[type=range] { - border-radius: var(--slider-track-radius); -} - -.notice, -.tooltip { - color: var(--message-color); - box-shadow: var(--message-box-shadow); - border: var(--message-border-width) solid var(--message-border-color); -} - -.tree-item-self { - align-items: center; -} - -.theme-dark, -.theme-light { - --modal-border-color: var(--outline); - --modal-border-width: 3px; - --modal-community-sidebar-width: 310px; - --modal-sidebar-background: var(--dark-sidebar); - --modal-nav-item-background: transparent; - --modal-nav-item-background-hover: var(--td); - --setting-item-padding: 10px 15px; - --setting-item-background: transparent; - --setting-item-alt-background: var(--setting-item-background); - --setting-item-alt-background-hover: var(--td); - --setting-item-heading-background: transparent; - --setting-item-background-hover: var(--hvr); - --setting-item-heading-border: 2px solid var(--headers); - --setting-item-border-color: var(--table); - --toggle-width: 20px; - --toggle-s-width: 20px; - --toggle-border-width: 1px; -} - -.vertical-tab-content { - padding: 35px; -} -.vertical-tab-content .setting-item { - padding-left: 18px; - padding-right: 18px; -} -.vertical-tab-content .installed-plugins-container { - padding: 0; -} -.vertical-tab-content .setting-item { - border: 0; - border-bottom: 1px solid; - padding: var(--setting-item-padding); - background: var(--setting-item-background); - border-color: var(--setting-item-border-color); -} -.vertical-tab-content .setting-item-heading { - background: var(--setting-item-heading-background); - border-bottom: var(--setting-item-heading-border); -} -.vertical-tab-content .setting-item-heading:hover { - background: var(--setting-item-background-hover); -} -.vertical-tab-content .setting-item:nth-child(even):not(.setting-item-heading) { - background-color: var(--setting-item-alt-background); -} -.vertical-tab-content .setting-item:nth-child(even):not(.setting-item-heading):hover { - background-color: var(--setting-item-alt-background-hover); -} - -.setting-item.setting-item:hover { - background-color: var(--modal-nav-item-background-hover); -} - -.vertical-tab-header { - background-color: var(--modal-sidebar-background); -} - -.horizontal-tab-nav-item, -.vertical-tab-nav-item { - background-color: var(--modal-nav-item-background); -} - -.vertical-tab-header-group-title { - color: var(--headers); - font-size: var(--font-ui); -} - -:is(.mod-linux, .mod-windows) .titlebar-button.mod-close:hover { - color: var(--text-dl); -} - -.u-pop { - color: var(--text); -} - -button.mod-cta:hover { - color: var(--text); -} - -.checkbox-container, -.checkbox-container:after { - box-shadow: var(--toggle-shadow); -} - -.checkbox-container.mod-small { - width: var(--toggle-s-width); - height: var(--toggle-s-width); -} - -.checkbox-container.is-enabled { - background-color: var(--accent); -} - -.setting-item:hover .checkbox-container { - box-shadow: 0 0 0 1px var(--background-modifier-border); -} - -.community-item { - border: var(--box-border); - box-shadow: var(--shadow-s); -} - -.community-item:hover { - background-color: var(--modal-nav-item-background-hover); - border-color: var(--outline); -} - -.community-modal-info-name { - font-family: var(--h2-font); - font-weight: var(--h2-weight); -} - -.mod-community-modal .modal-sidebar button.clickable-icon:hover { - color: var(--text-dl); -} - -.community-modal-info { - padding: var(--file-margins); -} - -.community-modal-search-results-wrapper { - overflow-x: hidden; -} - -.menu { - border-width: var(--modal-border-width); - border-color: var(--modal-border-color); -} -.menu .menu-item.selected .menu-item-icon { - color: var(--text-normal); -} - -.setting-hotkey, -.suggestion-hotkey { - border-radius: var(--radius-s); - background-color: var(--code-bg); - color: var(--soft-text); - font-size: 12px; - box-shadow: var(--code-shadow); -} - -.theme-dark, -.theme-light { - --status-bar-text-color: var(--text-muted); - --status-bar-background: var(--outer-bar); - --status-bar-border-color: var(--accent); - --status-bar-gap: var(--size-4-1); - --status-bar-padding: var(--size-4-1); -} - -.status-bar { - gap: var(--status-bar-gap); - padding: var(--status-bar-padding); -} - -.theme-dark, -.theme-light { - --sidebar-markdown-font-size: var(--font-text-size); - --sidebar-tab-text-display: none; - --sidebar-tab-background-color: var(--bttn); - --ribbon-background: var(--outer-bar); - --ribbon-background-collapsed: var(--note); - --ribbon-width: 40px; - --ribbon-border-width: 0; - --ribbon-border-color: var(--outer-bar); - --ribbon-icon-size: var(--icon-l); - --ribbon-icon-stroke: var(--icon-l-stroke-width); - --ribbon-icon-gap: 15px; - --sidebar-icon-color: var(--text); - --sidebar-icon-color-active: var(--text-dl); - --sidebar-tab-icon-size: var(--icon-l); - --sidebar-tab-icon-stroke: var(--icon-l-stroke-width); - --sidebar-tab-background-color-hover: var(--accent); - --sidebar-tab-color-hover: var(--text-on-accent); - --sidebar-tab-border-color: transparent; - --sidebar-tab-border-color-active: var(--bttn); - --sidebar-tab-border-width: 0; - --sidebar-tab-padding: 0 var(--size-4-3); -} - -.workspace-split.workspace-split:is(.mod-right-split.mod-right-split, -.mod-left-split.mod-left-split) .workspace-tab-header-container-inner { - padding: 0; - margin: 0; - gap: 0; -} -.workspace-split.workspace-split.mod-right-split .workspace-tab-header-container { - padding-left: 0; -} -.workspace-split.workspace-split .mod-top .workspace-tab-header-container { - padding: 0; -} - -.mod-right-split .workspace-tab-header-container-inner { - margin-left: 2px; -} - -:is(.mod-left-split, .mod-right-split) .workspace-tab-header-inner { - padding: var(--sidebar-tab-padding); -} - -.sidebar-toggle-button { - padding: 0; - position: relative; - height: var(--header-height); -} -.sidebar-toggle-button.mod-left { - right: var(--divider-width); -} -.sidebar-toggle-button .clickable-icon { - padding: 10px; -} - -:is(.mod-left-split, .mod-right-split) .workspace-tab-header-inner-icon .svg-icon { - --icon-size: var(--sidebar-tab-icon-size); - --icon-stroke: var(--sidebar-tab-icon-stroke); -} - -.workspace-ribbon { - padding: 0; - border-right: var(--ribbon-border-width) solid var(--ribbon-border-color); -} -.workspace-ribbon.mod-left { - margin-top: 0; - gap: 0; -} -.workspace-ribbon .side-dock-settings, -.workspace-ribbon .side-dock-actions { - padding-top: calc(var(--ribbon-icon-gap) / 1.5); - padding-bottom: calc(var(--ribbon-icon-gap) / 1.5); - gap: var(--ribbon-icon-gap); -} -.workspace-ribbon .side-dock-ribbon-action .svg-icon { - --icon-size: var(--ribbon-icon-size); - --icon-stroke: var(--ribbon-icon-stroke); -} -.workspace-ribbon .side-dock-actions { - margin-top: var(--header-height); -} - -:is(.mod-left-split, .mod-right-split) .workspace-tab-header-inner { - background-color: transparent; - border-bottom: var(--sidebar-tab-border-width) solid var(--sidebar-tab-border-color); -} -:is(.mod-left-split, .mod-right-split) .is-active .workspace-tab-header-inner { - border-color: var(--sidebar-tab-border-color-active); -} - -:is(.mod-left-split, .mod-right-split) .workspace-tab-header.is-active, :is(.mod-left-split, .mod-right-split) .workspace-tab-header { - --background-modifier-hover: var(--sidebar-tab-background-color); - --tab-text-color: var(--text); - --tab-text-color-active: var(--text-dl); - --tab-text-color-focused: var(--text); - --tab-text-color-focused-active: var(--text-dl); - --tab-text-color-focused-active-current: var(--sidebar-icon-color-active); -} -:is(.mod-left-split, .mod-right-split) .workspace-tab-header.is-active .workspace-tab-header-inner-icon, :is(.mod-left-split, .mod-right-split) .workspace-tab-header .workspace-tab-header-inner-icon { - --icon-color-focused: var(--sidebar-icon-color-active); -} - -.is-focused .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-icon, -.workspace-tab-header-inner:hover .workspace-tab-header-inner-icon, -.mod-top-left-space.mod-active .workspace-tab-header.is-active { - --titlebar-text-color-focused: var(--sidebar-icon-color-active); - --tab-text-color-hover: var(--sidebar-icon-color-active); - --icon-color-hover: var(--sidebar-icon-color-active); -} - -:is(.mod-left-split, .mod-right-split) .is-active:hover .workspace-tab-header-inner, -:is(.workspace-tab-header-inner-icon):hover, -.workspace-tab-header-container .clickable-icon:hover, -.workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner, -.side-dock-ribbon .clickable-icon:hover, -.workspace-tab-header:hover .workspace-tab-header-inner .workspace-tab-header-inner-icon { - color: var(--sidebar-tab-color-hover); -} - -.side-dock-actions { - margin-top: var(--header-height); -} - -.workspace-tab-header-inner .workspace-tab-header-inner-icon { - color: var(--sidebar-icon-color); -} - -.workspace-tab-header:hover .workspace-tab-header-inner-icon { - color: var(--sidebar-icon-color-hover); -} - -.tree-item-self .tree-item-icon { - position: relative; - margin-inline-start: -3px; -} - -body { - --search-border: var(--box-border); - --search-box-shadow: var(--shadow-s); -} - -/*Search Styling*/ -.search-results-children .search-result { - margin-right: 0px; - margin-bottom: 10px; - background: var(--note); - border: var(--search-border); - box-shadow: var(--search-box-shadow); -} - -.search-result-container { - padding-left: var(--size-4-3); - padding-right: var(--size-4-2); -} - -.search-result-file-title { - background: var(--code-bg); - box-shadow: 0 2px 0 var(--td); - padding: 5px 10px; - margin-bottom: 0; -} - -.search-result:not(.is-collapsed) .search-result-file-title:not(:hover) { - color: var(--text); -} - -.search-result-file-matches { - margin: 0; - padding: 0; - border: 0; - box-shadow: unset; -} - -.search-result-file-match { - margin: auto; - width: auto; - z-index: 0; - padding: 8px 10px; - color: var(--text); - left: 0; -} - -.search-result-file-match:hover { - padding-right: var(--size-4-5); -} - -.search-result-file-title:hover .search-result-file-matched-text { - color: var(--text-on-accent); - border-bottom: 2px solid var(--text-on-accent); -} - -.search-result-hover-button:not(:hover) { - color: var(--text); -} -.search-result-hover-button:hover { - background-color: var(--bttn); -} - -.cm-s-obsidian span.obsidian-search-match-highlight { - box-shadow: 0 0 0 2px var(--accent); - border-radius: var(--radius-s); - background-color: var(--text-highlight-bg-active); -} - -.search-results-info .dropdown:hover { - color: var(--lite-accent); - font-weight: 900; -} - -.search-results-result-count:hover { - color: var(--text-dl); -} -.search-results-result-count:hover .more-options-icon { - background-color: var(--text-dl); -} -.search-results-result-count:hover .more-options-icon svg { - fill: var var(--sidebar-tab-background-color-hover); -} - -.document-search-container.document-search-container { - padding: var(--size-4-2); - background-color: transparent; -} -.document-search-container.document-search-container .document-search, .document-search-container.document-search-container .document-replace { - flex-wrap: wrap; - justify-content: center; -} - -.input-right-decorator.clickable-icon.is-active { - background-color: var(--sidebar-tab-border-color-active); -} - -body { - --tab-curve: var(--radius-s); - --tab-radius: var(--radius-s); - --tab-radius-active: var(--radius-s); - --tab-font-size: var(--font-size); - --tab-font-weight: 500; - --tab-font-weight-active: 900; - --tab-width: 200px; - --tab-max-width: 320px; - --tab-outline-width: 2px; - --tab-top-outline-width: 0; - --tab-outline-color: var(--accent); - --tab-divider-color: var(--hr); - --tab-background: var(--outer-bar); - --tab-background-active: var(--note); - --tab-container-background: var(--tab-background); - --tab-text-color: var(--inactive); - --tab-text-color-active: var(--text); - --tab-text-color-focused: var(--inactive); - --tab-text-color-focused-active: var(--text); - --tab-text-color-focused-active-current: var(--text); - --tab-text-color-hover: var(--text); - --tab-stacked-font-weight: 700; - --tab-stacked-font-size: 15px; - --tab-stacked-shadow: -10px 0 10px var(--tab-stacked-shadow-color); - --tab-stacked-shadow-color: var(--drop-shadow); - --tab-switcher-preview-background-shadow: var(--shadow-m); - --tab-switcher-preview-shadow: var(--shadow-s); - --tab-switcher-preview-shadow-active: 0 0 0 2px var(--lite-accent), var(--shadow-l); -} - -.view-header-title-container:not(.mod-at-end):after { - display: none; -} - -.workspace-tab-header.workspace-tab-header:hover { - color: var(--tab-text-color-hover); -} - -.workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner-close-button, -body.is-focused :is(.mod-left-split, .mod-right-split) .workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner-title { - color: var(--text-dl); -} - -.is-active .workspace-tab-header-inner-title { - font-weight: var(--tab-font-weight-active); -} - -.workspace .mod-root .workspace-tab-header-inner-title { - padding-right: 10px; -} - -.mod-root .workspace-tab-header-container-inner { - padding-top: 2px; -} - -.mod-root .mod-stacked .workspace-tab-header:hover .workspace-tab-header-inner { - color: var(--tab-text-color-hover); -} - -.workspace-tab-header-container { - border-top: var(--tab-top-outline-width) solid var(--tab-outline-color); -} - -.empty-state .empty-state-title { - font-family: var(--h2-font); -} - -body, -body.mod-rtl { - --vault-name-font-size: 20px; - --vault-name-font-weight: var(--font-bold); - --vault-name-color: var(--headers); - --vault-font: var(--font); - --nav-item-color: var(--text); - --nav-item-color-hover: var(--text-dl); - --nav-item-color-active: var(--text-dl); - --nav-item-color-highlighted: var(--text-dl); - --folder-open-text-color: var(--text); - --nav-item-background-hover: var(--dark-accent); - --nav-item-background-active: var(--dark-accent); - --nav-item-background-selected: var(--hvr); - --nav-item-border-width: 0px; - --nav-item-border-color: var(--lite-accent); - --nav-item-background-border-color-hover: var(--dark-accent); - --nav-item-padding: 4px 8px; - --explorer-padding: 4px 4px 4px 3px; - --explorer-item-padding: 2px 8px; - --nav-item-children-padding-left: 8px; - --nav-item-children-margin-left: 15px; - --folder-text-color: var(--nav-item-color); - --file-text-color: var(--nav-item-color); - --nav-item-size: var(--font-ui-small); - --nav-item-weight: 500; - --nav-item-weight-hover: 700; - --nav-item-weight-active: 700; - --nav-item-white-space: wrap; - --nav-indentation-guide-width: 2px; - --nav-indentation-guide-color: var(--lines); - --folder-weight: 700; - --folder-weight-hover: var(--folder-weight); -} - -body:not(.folder-arrow-display) .nav-folder .tree-item-icon.collapse-icon, -.nav-folder-collapse-indicator, -.tree-item-icon.nav-folder-collapse-indicator { - display: none; -} - -.nav-folder-title { - --nav-item-weight: var(--folder-weight); -} - -.nav-folder-title:hover { - --nav-item-weight-hover: var(--folder-weight-hover); -} - -.nav-folder.mod-root > .nav-folder-title:hover { - color: var(--dark-accent); -} - -.nav-files-container { - padding: var(--explorer-padding); -} - -.nav-folder.is-collapsed .nav-folder-title:not(.is-being-dragged) { - color: var(--folder-text-color); -} - -.nav-folder:not(.mod-root) > .nav-folder-title:not(.is-being-dragged) { - color: var(--folder-open-text-color); -} - -.nav-folder-title.nav-folder-title.is-active.is-active { - color: var(--text-dl); -} -.nav-folder-title.nav-folder-title.is-active.is-active .nav-folder-title-content::before { - color: var(--text-dl); -} - -.nav-file-title { - color: var(--file-text-color); -} - -.nav-file-tag { - margin-left: auto; -} - -.nav-folder.mod-root > .nav-folder-children .nav-folder > .nav-folder-title, .nav-folder.mod-root > .nav-folder-children .nav-file > .nav-file-title { - border: 2px solid transparent; - margin-bottom: 0; - padding: var(--explorer-item-padding); -} -.nav-folder.mod-root > .nav-folder-children .nav-folder > .nav-folder-title:hover, .nav-folder.mod-root > .nav-folder-children .nav-file > .nav-file-title:hover { - border-color: var(--nav-item-background-border-color-hover); -} - -body { - --titlebar-background: var(--note); - --titlebar-background-focused: var(--outer-bar); - --titlebar-text-color: var(--text-normal); -} - -.is-hidden-frameless:not(.is-fullscreen).is-focused .titlebar-button-container.mod-right, .is-hidden-frameless:not(.is-fullscreen) .titlebar-button-container.mod-right { - background: transparent; -} - -.workspace-tab-header.is-active .workspace-tab-header-inner-close-button { - color: var(--tab-text-color-focused-active-current); -} - -body { - --file-header-font-size: var(--font-ui-medium); - --file-header-font-weight: 600; - --file-header-parent-font-weight: 600; - --file-header-breadcrumb-font-size: var(--font-ui-smaller); - --file-header-breadcrumb-color: var(--inactive); - --file-header-color: var(--inactive); - --file-header-color-active: var(--text); - --file-header-background: var(--note); - --file-header-left-color: var(--dark-accent); - --file-header-right-color: var(--outer-bar); -} - -.is-focused .workspace-leaf.mod-active .view-header, -.workspace-leaf .view-header { - gap: 0; - margin: 0; - padding: 0 var(--size-4-3); - background: var(--file-header-background); -} - -.view-header-title-parent { - font-weight: var(--file-header-parent-font-weight); -} - -.view-header-title { - color: var(--file-header-color); -} - -.mod-active { - color: var(--file-header-color-active); -} - -.view-header-title-container, -.view-header-title-parent { - align-content: center; - align-items: center; -} - -.view-header-breadcrumb { - font-size: var(--file-header-breadcrumb-font-size); - color: var(--file-header-breadcrumb-color); -} - -.clickable-icon[aria-disabled=true]:hover { - color: var(--inactive); -} - -.popover.hover-popover { - min-height: auto; - background-color: var(--popover-background); -} -.popover.hover-popover > .markdown-embed > .markdown-embed-content { - padding: 0; -} -.popover.hover-popover .markdown-preview-view { - background-color: var(--popover-background); -} - -@media (max-width: 500px) { - .theme-dark, .theme-light { - /*Mobile Sizes*/ - --radius: 0px; - --micro: 70px; - --tiny: 100px; - --small: 150px; - --small-med: 200px; - --med-small: 250px; - --medium: 300px; - --med-tall: 450px; - --tall: 500px; - } -} -.is-mobile.is-mobile { - --interactive-accent: var(--lite-accent); - --caret-color: var(--text-normal); - --tag-background: var(--tag); - --modal-background: var(--background-primary); - --settings-home-background: var(--background-primary); - --search-result-background: var(--background-secondary); - --background-modifier-form-field: var(--td); - --background-modifier-cover: var(--outer-bar); - --background-modifier-hover: var(--hvr-active); - --toggle-width: 22px; -} -.is-mobile.is-mobile .prompt { - border: var(--prompt-border-width) solid var(--prompt-border-color); -} -.is-mobile.is-mobile .menu { - border: var(--prompt-border-width) solid var(--modal-border-color); -} -.is-mobile.is-mobile .vertical-tab-nav-item.is-active, .is-mobile.is-mobile button.mod-cta:not(:hover) { - background-color: var(--dark-accent); -} -.is-mobile.is-mobile .checkbox-container { - height: var(--toggle-width); -} -.is-mobile.is-mobile .side-dock-ribbon { - background-color: var(--ribbon-background); -} -.is-mobile.is-mobile.is-tablet .sidebar-toggle-button { - padding-left: unset; -} -.is-mobile.is-mobile .pull-down-action, .is-mobile.is-mobile .pull-out-action { - border-radius: var(--radius-h); -} -.is-mobile.is-mobile .notice { - border-radius: var(--radius-s); -} -.is-mobile.is-mobile.is-phone { - --metadata-divider-width: 0; -} -.is-mobile.is-mobile.is-phone .vertical-tab-header-group-title, .is-mobile.is-mobile.is-phone .setting-item-heading .setting-item-name { - font-size: var(--font-ui-medium); -} -.is-mobile.is-mobile.is-phone .setting-item { - gap: unset; - padding: var(--setting-item-padding); -} -.is-mobile.is-mobile.is-phone .setting-item-heading { - margin: 0; -} -.is-mobile.is-mobile.is-phone .mod-sync-log { - --modal-top: 0; -} -.is-mobile.is-mobile .view-header-title { - padding: 0 var(--size-4-1); -} - -.is-mobile { - --mobile-toolbar-background: var(--deep-dark-accent); -} -.is-mobile .workspace-drawer .nav-buttons-container { - --icon-color-active: var(--interactive-accent-hover); -} -.is-mobile .workspace-drawer-backdrop { - opacity: 0.9 !important; -} -.is-mobile .workspace-drawer:is(.mod-left, .mod-right) { - border: none; - box-shadow: 0 0 5px var(--outline), 0 0 5px var(--outline), 0 0 5px var(--outline); -} -.is-mobile .workspace-drawer-active-tab-container.is-fullscreen .workspace-drawer-active-tab-title { - text-align: center; -} -.is-mobile .modal.mod-settings .vertical-tab-content { - padding: var(--size-4-2) max(var(--size-4-2), var(--safe-area-inset-right)) 100px max(var(--size-4-2), var(--safe-area-inset-left)); -} -.is-mobile .mobile-toolbar { - background-color: var(--mobile-toolbar-background); -} -.is-mobile .mobile-toolbar-option { - color: var(--text-dl); -} -.is-mobile .mobile-toolbar-options-container::before, .is-mobile .mobile-toolbar-options-container::after { - display: none; -} -.is-mobile .view-header-title-container { - padding-left: 0; -} -.is-mobile .empty-state-action:not(:hover) { - color: var(--text-dl); - background-color: var(--bttn); -} -.is-mobile .empty-state-action:hover { - background-color: var(--outer-bar); -} -.is-mobile .tree-item .tree-item-self { - --nav-item-parent-padding: 4px 10px; - padding: var(--nav-item-parent-padding); -} - -.is-mobile .markdown-rendered .list-collapse-indicator { - margin-left: -2.3em; - padding-right: 0em; -} - -body { - --scrollbar-track-bg: var(--note); - --scrollbar-thumb-bg: var(--accent); - --scrollbar-active-thumb-bg: var(--lite-accent); - --scrollbar-border-width: 0; - --scrollbar-width: 12px; -} - -body:not(.native-scrollbars) ::-webkit-scrollbar { - background-color: var(--scrollbar-track-bg); - width: var(--scrollbar-width); - height: calc(var(--scrollbar-width) + 1px); -} - -body { - --latex-color: var(--lite-accent); - --latex-format-color: var(--inactive); - --latex-syntax-color: var(--soft-text); -} - -.mjx-math { - font-style: normal; -} - -.MJX-TEX { - font-size: 130%; - color: var(--latex-color); -} - -/*Math Block Margin Reduction*/ -.mjx-container[jax=CHTML][display=true] { - margin: 3% 0 !important; -} - -/*Math Editor*/ -.cm-s-obsidian span.cm-math:not(.cm-formatting-math-begin):not(.cm-formatting-math-end) { - color: var(--latex-syntax-color); -} - -.cm-s-obsidian span.cm-math, -.cm-s-obsidian span.hmd-fold-math-placeholder { - color: var(--latex-format-color); - font-style: normal; -} - -body { - --inline-title-position: left; -} - -.inline-title { - text-align: var(--inline-title-position); - padding-bottom: 0; - z-index: 2; -} - -body { - --font-frontmatter: var(--font-small); -} - -.cm-hmd-frontmatter { - font-size: var(--font-frontmatter); -} - -.frontmatter-container:not(.is-collapsed) { - border-bottom: 2px solid var(--hr); -} -.frontmatter-container:not(.is-collapsed) .frontmatter-container-header { - border-bottom: 0; - margin-bottom: 0; - border-top: 2px solid var(--hr); - padding-top: var(--size-4-2); -} - -.frontmatter-container .frontmatter-container-header { - justify-content: center; - font-weight: 600; - content: "/ec10"; -} -.frontmatter-container .frontmatter-section-data-item { - color: var(--text); -} -.frontmatter-container .frontmatter-section-label { - text-transform: unset; -} - -.is-rtl.is-rtl, .rtl { - --header-text-align: end; - --h1-text-align: var(--header-text-align); - --h2-text-align: var(--header-text-align); - --h3-text-align: var(--header-text-align); - --h4-text-align: var(--header-text-align); - --h5-text-align: var(--header-text-align); - --h6-text-align: var(--header-text-align); - --header-border-line-align: auto 0 auto auto; -} - -body { - --h1-size: 34px; - --h2-size: calc(var(--h1-size) - 4px); - --h3-size: calc(var(--h1-size) - 8px); - --h4-size: calc(var(--h1-size) - 12px); - --h5-size: calc(var(--h1-size) - 14px); - --h6-size: calc(var(--h1-size) - 16px); - --header-weight: 700; - --h1-weight: var(--header-weight); - --h2-weight: var(--header-weight); - --h3-weight: var(--header-weight); - --h4-weight: var(--header-weight); - --h5-weight: var(--header-weight); - --h6-weight: var(--header-weight); - --font: "Calisto MT", "Palatino Black", "Book Antiqua", "Georgia", "Suez One", serif; - --h1-font: var(--font); - --h2-font: var(--font); - --h3-font: var(--font); - --h4-font: var(--font); - --h5-font: var(--font); - --h6-font: var(--font); - --heading-formatting: var(--inactive); - --h1-color: var(--headers); - --h2-color: var(--headers); - --h3-color: var(--headers); - --h4-color: var(--headers); - --h5-color: var(--headers); - --h6-color: var(--headers); - --header-text-align: start; - --h1-text-align: var(--header-text-align); - --h2-text-align: var(--header-text-align); - --h3-text-align: var(--header-text-align); - --h4-text-align: var(--header-text-align); - --h5-text-align: var(--header-text-align); - --h6-text-align: var(--header-text-align); - --header-padding: 0; - --h1-padding: var(--header-padding); - --h2-padding: var(--header-padding); - --h3-padding: var(--header-padding); - --h4-padding: var(--header-padding); - --h5-padding: var(--header-padding); - --h6-padding: var(--header-padding); - --heading-spacing: 10px; - --heading-spacing-top: var(--heading-spacing); - --heading-spacing-bottom: var(--heading-spacing); - --header-background: transparent; - --h1-background: var(--header-background); - --h2-background: var(--header-background); - --h3-background: var(--header-background); - --h4-background: var(--header-background); - --h5-background: var(--header-background); - --h6-background: var(--header-background); - --h1-border-color: var(--theme-rainbow-1); - --h2-border-color: var(--theme-rainbow-2); - --h3-border-color: var(--theme-rainbow-3); - --h4-border-color: var(--theme-rainbow-4); - --h5-border-color: var(--theme-rainbow-5); - --h6-border-color: var(--theme-rainbow-6); - --h1-border-width: 0; - --h2-border-width: 0; - --h3-border-width: 0; - --h4-border-width: 0; - --h5-border-width: 0; - --h6-border-width: 0; - --header-border-line-color: var(--table); - --h1-border-line-color: var(--header-border-line-color); - --h2-border-line-color: var(--header-border-line-color); - --h3-border-line-color: var(--header-border-line-color); - --h4-border-line-color: var(--header-border-line-color); - --h5-border-line-color: var(--header-border-line-color); - --h6-border-line-color: var(--header-border-line-color); - --h1-border-left-color: var(--h1-border-line-color); - --h2-border-left-color: var(--h2-border-line-color); - --h3-border-left-color: var(--h3-border-line-color); - --h4-border-left-color: var(--h4-border-line-color); - --h5-border-left-color: var(--h5-border-line-color); - --h6-border-left-color: var(--h6-border-line-color); - --h1-border-right-color: var(--h1-border-line-color); - --h2-border-right-color: var(--h2-border-line-color); - --h3-border-right-color: var(--h3-border-line-color); - --h4-border-right-color: var(--h4-border-line-color); - --h5-border-right-color: var(--h5-border-line-color); - --h6-border-right-color: var(--h6-border-line-color); - --header-shadow: transparent; - --h1-shadow: var(--header-shadow); - --h2-shadow: var(--header-shadow); - --h3-shadow: var(--header-shadow); - --h4-shadow: var(--header-shadow); - --h5-shadow: var(--header-shadow); - --h6-shadow: var(--header-shadow); - --header-border-line-width: 100%; - --h1-border-line-width: 100%; - --h2-border-line-width: 85%; - --h3-border-line-width: 65%; - --h4-border-line-width: 44%; - --h5-border-line-width: 25%; - --h6-border-line-width: 0; - --header-border-line-left: none; - --header-border-line-height: 4px; - --h1-border-line-height: var(--header-border-line-height); - --h2-border-line-height: var(--header-border-line-height); - --h3-border-line-height: var(--header-border-line-height); - --h4-border-line-height: var(--header-border-line-height); - --h5-border-line-height: var(--header-border-line-height); - --h6-border-line-height: var(--header-border-line-height); - --header-border-line-align: none; - --header-arrow-icon-size: 10px; - --header-arrow-icon-color: var(--collapse-icon-color); -} - -h1, .is-live-preview .HyperMD-header-1 { - box-shadow: var(--h1-shadow); -} -h1::before, h1::after, .is-live-preview .HyperMD-header-1::before, .is-live-preview .HyperMD-header-1::after { - content: ""; - display: block; - background: var(--h1-border-right-color); - width: var(--h1-border-line-width); - height: var(--h1-border-line-height); - margin: var(--header-border-line-align); -} -h1::before, .is-live-preview .HyperMD-header-1::before { - display: var(--header-border-line-left); - background: var(--h1-border-left-color); -} -h1 .heading-collapse-indicator, h1 .cm-fold-indicator.cm-fold-indicator, .is-live-preview .HyperMD-header-1 .heading-collapse-indicator, .is-live-preview .HyperMD-header-1 .cm-fold-indicator.cm-fold-indicator { - position: absolute; -} - -h2, .is-live-preview .HyperMD-header-2 { - box-shadow: var(--h2-shadow); -} -h2::before, h2::after, .is-live-preview .HyperMD-header-2::before, .is-live-preview .HyperMD-header-2::after { - content: ""; - display: block; - background: var(--h2-border-right-color); - width: var(--h2-border-line-width); - height: var(--h2-border-line-height); - margin: var(--header-border-line-align); -} -h2::before, .is-live-preview .HyperMD-header-2::before { - display: var(--header-border-line-left); - background: var(--h2-border-left-color); -} -h2 .heading-collapse-indicator, h2 .cm-fold-indicator.cm-fold-indicator, .is-live-preview .HyperMD-header-2 .heading-collapse-indicator, .is-live-preview .HyperMD-header-2 .cm-fold-indicator.cm-fold-indicator { - position: absolute; -} - -h3, .is-live-preview .HyperMD-header-3 { - box-shadow: var(--h3-shadow); -} -h3::before, h3::after, .is-live-preview .HyperMD-header-3::before, .is-live-preview .HyperMD-header-3::after { - content: ""; - display: block; - background: var(--h3-border-right-color); - width: var(--h3-border-line-width); - height: var(--h3-border-line-height); - margin: var(--header-border-line-align); -} -h3::before, .is-live-preview .HyperMD-header-3::before { - display: var(--header-border-line-left); - background: var(--h3-border-left-color); -} -h3 .heading-collapse-indicator, h3 .cm-fold-indicator.cm-fold-indicator, .is-live-preview .HyperMD-header-3 .heading-collapse-indicator, .is-live-preview .HyperMD-header-3 .cm-fold-indicator.cm-fold-indicator { - position: absolute; -} - -h4, .is-live-preview .HyperMD-header-4 { - box-shadow: var(--h4-shadow); -} -h4::before, h4::after, .is-live-preview .HyperMD-header-4::before, .is-live-preview .HyperMD-header-4::after { - content: ""; - display: block; - background: var(--h4-border-right-color); - width: var(--h4-border-line-width); - height: var(--h4-border-line-height); - margin: var(--header-border-line-align); -} -h4::before, .is-live-preview .HyperMD-header-4::before { - display: var(--header-border-line-left); - background: var(--h4-border-left-color); -} -h4 .heading-collapse-indicator, h4 .cm-fold-indicator.cm-fold-indicator, .is-live-preview .HyperMD-header-4 .heading-collapse-indicator, .is-live-preview .HyperMD-header-4 .cm-fold-indicator.cm-fold-indicator { - position: absolute; -} - -h5, .is-live-preview .HyperMD-header-5 { - box-shadow: var(--h5-shadow); -} -h5::before, h5::after, .is-live-preview .HyperMD-header-5::before, .is-live-preview .HyperMD-header-5::after { - content: ""; - display: block; - background: var(--h5-border-right-color); - width: var(--h5-border-line-width); - height: var(--h5-border-line-height); - margin: var(--header-border-line-align); -} -h5::before, .is-live-preview .HyperMD-header-5::before { - display: var(--header-border-line-left); - background: var(--h5-border-left-color); -} -h5 .heading-collapse-indicator, h5 .cm-fold-indicator.cm-fold-indicator, .is-live-preview .HyperMD-header-5 .heading-collapse-indicator, .is-live-preview .HyperMD-header-5 .cm-fold-indicator.cm-fold-indicator { - position: absolute; -} - -h6, .is-live-preview .HyperMD-header-6 { - box-shadow: var(--h6-shadow); -} -h6::before, h6::after, .is-live-preview .HyperMD-header-6::before, .is-live-preview .HyperMD-header-6::after { - content: ""; - display: block; - background: var(--h6-border-right-color); - width: var(--h6-border-line-width); - height: var(--h6-border-line-height); - margin: var(--header-border-line-align); -} -h6::before, .is-live-preview .HyperMD-header-6::before { - display: var(--header-border-line-left); - background: var(--h6-border-left-color); -} -h6 .heading-collapse-indicator, h6 .cm-fold-indicator.cm-fold-indicator, .is-live-preview .HyperMD-header-6 .heading-collapse-indicator, .is-live-preview .HyperMD-header-6 .cm-fold-indicator.cm-fold-indicator { - position: absolute; -} - -.HyperMD-header.HyperMD-header .cm-fold-indicator .collapse-indicator { - padding-right: 5px; -} - -.HyperMD-header.HyperMD-header .collapse-indicator.collapse-indicator svg, -.view-content :is(h1, h2, h3, h4, h5, h6) .collapse-indicator.collapse-indicator svg { - width: var(--header-arrow-icon-size); - height: var(--header-arrow-icon-size); - color: var(--header-arrow-icon-color); -} - -h1, -.markdown-rendered h1, -.is-live-preview .HyperMD-header-1.cm-line { - display: flow-root; - background: var(--h1-background); - text-align: var(--h1-text-align); - padding: var(--h1-padding); - border: var(--h1-border-width) solid; - border-radius: var(--radius-m); - margin-top: var(--heading-spacing-top); - margin-block-start: var(--heading-spacing-top); - margin-block-end: var(--heading-spacing-bottom); - word-wrap: normal; - word-break: keep-all; -} -h1 > .markdown-embed .markdown-rendered, -.markdown-rendered h1 > .markdown-embed .markdown-rendered, -.is-live-preview .HyperMD-header-1.cm-line > .markdown-embed .markdown-rendered { - font-weight: 400; - font-family: var(--font-text); -} - -h2, -.markdown-rendered h2, -.is-live-preview .HyperMD-header-2.cm-line { - display: flow-root; - background: var(--h2-background); - text-align: var(--h2-text-align); - padding: var(--h2-padding); - border: var(--h2-border-width) solid; - border-radius: var(--radius-m); - margin-top: var(--heading-spacing-top); - margin-block-start: var(--heading-spacing-top); - margin-block-end: var(--heading-spacing-bottom); - word-wrap: normal; - word-break: keep-all; -} -h2 > .markdown-embed .markdown-rendered, -.markdown-rendered h2 > .markdown-embed .markdown-rendered, -.is-live-preview .HyperMD-header-2.cm-line > .markdown-embed .markdown-rendered { - font-weight: 400; - font-family: var(--font-text); -} - -h3, -.markdown-rendered h3, -.is-live-preview .HyperMD-header-3.cm-line { - display: flow-root; - background: var(--h3-background); - text-align: var(--h3-text-align); - padding: var(--h3-padding); - border: var(--h3-border-width) solid; - border-radius: var(--radius-m); - margin-top: var(--heading-spacing-top); - margin-block-start: var(--heading-spacing-top); - margin-block-end: var(--heading-spacing-bottom); - word-wrap: normal; - word-break: keep-all; -} -h3 > .markdown-embed .markdown-rendered, -.markdown-rendered h3 > .markdown-embed .markdown-rendered, -.is-live-preview .HyperMD-header-3.cm-line > .markdown-embed .markdown-rendered { - font-weight: 400; - font-family: var(--font-text); -} - -h4, -.markdown-rendered h4, -.is-live-preview .HyperMD-header-4.cm-line { - display: flow-root; - background: var(--h4-background); - text-align: var(--h4-text-align); - padding: var(--h4-padding); - border: var(--h4-border-width) solid; - border-radius: var(--radius-m); - margin-top: var(--heading-spacing-top); - margin-block-start: var(--heading-spacing-top); - margin-block-end: var(--heading-spacing-bottom); - word-wrap: normal; - word-break: keep-all; -} -h4 > .markdown-embed .markdown-rendered, -.markdown-rendered h4 > .markdown-embed .markdown-rendered, -.is-live-preview .HyperMD-header-4.cm-line > .markdown-embed .markdown-rendered { - font-weight: 400; - font-family: var(--font-text); -} - -h5, -.markdown-rendered h5, -.is-live-preview .HyperMD-header-5.cm-line { - display: flow-root; - background: var(--h5-background); - text-align: var(--h5-text-align); - padding: var(--h5-padding); - border: var(--h5-border-width) solid; - border-radius: var(--radius-m); - margin-top: var(--heading-spacing-top); - margin-block-start: var(--heading-spacing-top); - margin-block-end: var(--heading-spacing-bottom); - word-wrap: normal; - word-break: keep-all; -} -h5 > .markdown-embed .markdown-rendered, -.markdown-rendered h5 > .markdown-embed .markdown-rendered, -.is-live-preview .HyperMD-header-5.cm-line > .markdown-embed .markdown-rendered { - font-weight: 400; - font-family: var(--font-text); -} - -h6, -.markdown-rendered h6, -.is-live-preview .HyperMD-header-6.cm-line { - display: flow-root; - background: var(--h6-background); - text-align: var(--h6-text-align); - padding: var(--h6-padding); - border: var(--h6-border-width) solid; - border-radius: var(--radius-m); - margin-top: var(--heading-spacing-top); - margin-block-start: var(--heading-spacing-top); - margin-block-end: var(--heading-spacing-bottom); - word-wrap: normal; - word-break: keep-all; -} -h6 > .markdown-embed .markdown-rendered, -.markdown-rendered h6 > .markdown-embed .markdown-rendered, -.is-live-preview .HyperMD-header-6.cm-line > .markdown-embed .markdown-rendered { - font-weight: 400; - font-family: var(--font-text); -} - -.markdown-preview-view .heading-collapse-indicator { - z-index: 2; -} - -body { - --pane-background: var(--note); - --font-ligatures: none; -} - -.cm-s-obsidian .CodeMirror-line, -.cm-s-obsidian .cm-line, -.markdown-preview-section { - text-rendering: optimizeLegibility; - font-variant-ligatures: var(--font-ligatures); -} - -.workspace-split.mod-root .view-content { - background-color: var(--pane-background); -} - -body:not(.disable-source-styling) .cm-s-obsidian.markdown-source-view:not(.is-live-preview) { - --tag-background: transparent; - --tag-color: var(--tag-text); - --tag-padding-x: 0; - --tag-size: var(--font-size); - --h1-font: var(--font-default); - --h2-font: var(--font-default); - --h3-font: var(--font-default); - --h4-font: var(--font-default); - --h5-font: var(--font-default); - --h6-font: var(--font-default); - --header-weight: 900; - --h1-weight: var(--header-weight); - --h2-weight: var(--header-weight); - --h3-weight: var(--header-weight); - --h4-weight: var(--header-weight); - --h5-weight: var(--header-weight); - --h6-weight: var(--header-weight); - --h1-size: var(--font-text); - --h2-size: var(--font-text); - --h3-size: var(--font-text); - --h4-size: var(--font-text); - --h5-size: var(--font-text); - --h6-size: var(--font-text); - --p-spacing: 0.25em; - --list-marker-color-collapsed: var(--list-marker-color); - --tag-radius: 0; - --tag-border-radius: 0; - --tag-border-width: 0; -} -body:not(.disable-source-styling) .cm-s-obsidian.markdown-source-view:not(.is-live-preview) .cm-line.HyperMD-codeblock { - padding-left: 5px; -} - -body, -.theme-dark, -.theme-light { - --link-decoration: none; - --link-decoration-hover: none; - --link-external-decoration: none; - --link-unresolved-opacity: 1; - --link-unresolved-color: var(--inactive); - --link-color-hover: var(--lite-accent); - --link-external-color-hover: var(--text-accent-hover); - --link-font: inherit; - --link-external-font: var(--link-font); - --link-weight: inherit; - --link-border: none; - --link-transform: none; - --link-background: transparent; - --link-background-hover: var(--link-background); -} - -.is-live-preview .cm-hmd-internal-link, -.internal-link { - font-family: var(--link-font); -} - -.is-live-preview .cm-underline, -.external-link { - font-family: var(--link-external-font); -} - -a[href^=https], -.internal-link, -.external-link, -.cm-underline { - font-weight: var(--link-weight); - border-bottom: var(--link-border); - text-transform: var(--link-transform); - background-color: var(--link-background); -} -a[href^=https]:hover, -.internal-link:hover, -.external-link:hover, -.cm-underline:hover { - background-color: var(--link-background-hover); -} - -.cm-s-obsidian:not(.is-live-preview) .cm-link, .cm-s-obsidian .cm-line.cm-active .cm-formatting-link + .cm-link.cm-link, .cm-s-obsidian .cm-image-alt-text.cm-link:not(.cm-formatting), .cm-s-obsidian .cm-formatting-link-string.cm-string { - color: var(--text-muted); -} - -/*-External Links-*/ -.external-link { - background-image: url(); - padding-right: unset; -} - -/*Change External Link Symbol*/ -.external-link:after { - content: "\e809"; - font-family: var(--its); - padding-left: 2px; - display: inline-block; - font-size: inherit; - opacity: 0.5; - font-weight: 100 !important; - font-style: normal !important; -} - -.theme-dark, -.theme-light { - --checkbox-size: var(--font-text-size); - --checkbox-color: var(--accent); - --checkbox-color-hover: var(--dark-accent); - --checkbox-border-color: var(--accent); - --checkbox-border-color-hover: var(--dark-accent); - --checklist-done-color: var(--inactive); - --checklist-done-decoration: none; - --checklist-done-weight: 900; - --bullet: ""; - --bullet-font: var(--its); - --list-indent: 25px; - --list-spacing: 1px; - --root-list-spacing: 10px; - --root-list-bullet-spacing: 0; - --list-marker-min-width: 0; - --list-marker-color: var(--accent); - --list-marker-color-other: var(--accent2); - --list-marker-color-collapsed: var(--inactive); - --list-numbered-color: var(--headers); - --list-bullet-size: calc(var(--font-text-size) / 2.5); - --list-bullet-transform: rotate(45deg); - --list-bullet-radius: var(--radius-h); - --list-bullet-box-shadow-color: var(--table); - --collapse-icon-color-collapsed: var(--inactive); - --indentation-guide-color: var(--lines); - --indentation-guide-width: 2px; - --indentation-guide-width-active: var(--indentation-guide-width); - --indentation-guide-color-active: var(--accent); - --indentation-guide-source-indent: calc(var(--checkbox-size) / 3 * -1 + (var(--checkbox-size) / 2.5)); - --indentation-guide-editing-indent: calc(var(--checkbox-size) / 3); - --indentation-guide-reading-indent: calc(var(--checkbox-size) * -1 + 2px); - --list-color-1: var(--indentation-guide-color); - --list-color-2: var(--indentation-guide-color); - --list-color-3: var(--indentation-guide-color); - --list-color-4: var(--indentation-guide-color); - --list-color-5: var(--indentation-guide-color); - --list-color-6: var(--indentation-guide-color); -} - -ul, ol { - display: flow-root; -} - -.markdown-rendered ul, .markdown-rendered ol { - margin-block-start: var(--root-list-spacing); - margin-block-end: var(--root-list-spacing); -} -.markdown-rendered ul ul, .markdown-rendered ul ol, .markdown-rendered ol ul, .markdown-rendered ol ol { - margin-block-start: 0; - margin-block-end: 0; -} - -body:not(.list-default-bullet) .list-bullet::after, body:not(.list-default-bullet) .list-bullet::before { - display: none; -} -body:not(.list-default-bullet) ul > li:not(.task-list-item)::marker { - margin-right: -10px; -} -body:not(.list-default-bullet) .is-live-preview .cm-formatting-list-ul::before, body:not(.list-default-bullet) ul > li:not(.task-list-item)::before { - content: var(--bullet); - font-family: var(--bullet-font); - font-size: var(--font-text-size); - font-weight: 100; - color: var(--list-marker-color); - background-color: transparent; - transform: unset; - position: unset; - height: unset; -} -body:not(.list-default-bullet) ul > li:not(.task-list-item)::marker, body:not(.list-default-bullet) .is-live-preview .cm-formatting-list-ul { - color: transparent; -} - -ul > li:not(.task-list-item)::before { - float: inline-start; - margin-inline-start: -21px; - margin-inline-end: 7px; -} - -.markdown-preview-view .task-list-item-checkbox { - margin-right: 8px; -} - -ul > li.task-list-item.task-list-item .task-list-item-checkbox { - margin-inline-start: calc(var(--checkbox-size) * -1.4); -} - -.cm-formatting-list-ol, -.cm-formatting-list-ul { - padding-inline-start: var(--root-list-bullet-spacing); -} - -.is-live-preview.markdown-source-view.mod-cm6 .cm-formatting-list-ul { - font-family: var(--font-monospace); -} -.is-live-preview.markdown-source-view.mod-cm6 .cm-formatting-list-ul::before { - margin-inline-end: -16px; -} -.is-live-preview.markdown-source-view.mod-cm6 .task-list-label { - margin-inline-start: 0; -} -.is-live-preview.markdown-source-view.mod-cm6 .task-list-label .task-list-item-checkbox { - margin: 0; -} - -ol > li::marker, -.cm-line .cm-formatting-list-ol { - color: var(--list-numbered-color); -} - -:is(ul, ol) > li, -.cm-hmd-list-indent .cm-indent:nth-child(1)::before { - --indentation-guide-color: var(--list-color-1); -} - -:is(ul ul, ol ol) > li, -.cm-hmd-list-indent .cm-indent:nth-child(2)::before { - --indentation-guide-color: var(--list-color-2); -} - -:is(ul ul ul, ol ol ol) > li, -.cm-hmd-list-indent .cm-indent:nth-child(3)::before { - --indentation-guide-color: var(--list-color-3); -} - -:is(ul ul ul ul, ol ol ol ol) > li, -.cm-hmd-list-indent .cm-indent:nth-child(4)::before { - --indentation-guide-color: var(--list-color-4); -} - -:is(ul ul ul ul ul, ol ol ol ol ol) > li, -.cm-hmd-list-indent .cm-indent:nth-child(5)::before { - --indentation-guide-color: var(--list-color-5); -} - -:is(ul ul ul ul ul ul, ol ol ol ol ol ol) > li, -.cm-hmd-list-indent .cm-indent:nth-child(6)::before { - --indentation-guide-color: var(--list-color-6); -} - -body:not(.disable-spaced-lists) :is(ul, ol) li:not(:first-of-type) p:first-of-type { - margin-block-start: var(--p-spacing); -} - -:is(.markdown-source-view, .markdown-rendered) :is(ul, ol) li { - padding-top: unset; - padding-bottom: var(--list-spacing); - margin-block-start: var(--list-spacing); -} - -li.is-collapsed .list-bullet:after, -.is-collapsed ~ .cm-formatting-list .list-bullet:after { - box-shadow: 0 0 0 4px var(--list-bullet-box-shadow-color); -} - -/*List Arrows*/ -.markdown-rendered .list-collapse-indicator { - margin-inline-start: -2.2em; - padding-inline-end: 0; -} - -.theme-dark, -.theme-light { - --table-header-weight: var(--font-bold); - --table-header-size: var(--font-text); - --table-header-color: var(--th-text); - --table-header-text-color: var(--lite-accent); - --table-header-background: var(--th); - --table-header-background-hover: var(--accent); - --table-border-color: var(--note); - --table-column-alt-background: var(--td); - --table-row-alt-background: var(--td); - --table-row-background-hover: var(--highlight); - --table-row-alt-background-hover: var(--highlight); - --table-row-edit-font-size: var(--font-small); - --table-add-button-background: var(--bttn); - --table-add-button-color: var(--text-dl); - --table-add-button-size: var(--size-4-6); - --table-add-button-col-width: var(--table-add-button-size); - --table-add-button-row-height: var(--table-add-button-size); - --table-add-button-border-color: var(--note); - --table-cell-padding-x: var(--size-4-2); - --table-cell-padding-y: var(--size-2-2); - --table-header-padding-x: var(--size-4-2); - --table-header-padding-y: var(--size-2-2); - --table-column-min-width: 3ch; - --table-selection-border-radius: var(--radius-s); -} - -.cm-s-obsidian .HyperMD-table-row-0 { - color: var(--table-header-text-color); -} - -body:not(.table-unwrap) .cm-s-obsidian .HyperMD-table-row.HyperMD-table-row { - min-width: min-content; - white-space: pre-wrap; -} - -.markdown-rendered table td { - word-break: normal; -} - -.is-live-preview .cm-table-widget table { - margin-block-start: 0; - margin-block-end: 0; -} - -.cm-s-obsidian .HyperMD-table-row { - font-size: var(--table-row-edit-font-size); -} - -.markdown-rendered th { - padding: var(--table-header-padding-y) var(--table-header-padding-x); -} -.markdown-rendered td { - padding: var(--table-cell-padding-y) var(--table-cell-padding-x); -} -.markdown-rendered table th { - --latex-color: var(--table-header-color); -} - -.markdown-source-view.mod-cm6 .cm-table-widget { - padding: var(--table-add-button-size); - padding-top: var(--size-4-4); -} -.markdown-source-view.mod-cm6 .cm-table-widget .table-col-btn, .markdown-source-view.mod-cm6 .cm-table-widget .table-row-btn { - color: var(--table-add-button-color); -} -.markdown-source-view.mod-cm6 .cm-table-widget .table-col-btn { - width: var(--table-add-button-col-width); -} -.markdown-source-view.mod-cm6 .cm-table-widget .table-row-btn { - height: var(--table-add-button-row-height); -} - -.markdown-rendered table thead tr > th:first-child { - border-top-left-radius: var(--radius-s); -} -.markdown-rendered table thead tr > th:last-child { - border-top-right-radius: var(--radius-s); -} -.markdown-rendered table tbody tr:last-child > td:last-child { - border-bottom-right-radius: var(--radius-s); -} -.markdown-rendered table tbody tr:last-child > td:first-child { - border-bottom-left-radius: var(--radius-s); -} - -.theme-dark, -.theme-light { - --tag-color: var(--text-dl); - --tag-color-hover: var(--text-dl); - --tag-background: var(--tag); - --tag-background-hover: var(--accent); - --tag-border-color: var(--tag); - --tag-border-color-hover: var(--accent); - --tag-decoration-hover: underline; - --tag-font: var(--font-default); - --tag-font-weight: inherit; -} - -a.tag, -.cm-hashtag { - font-family: var(--tag-font); - font-weight: var(--tag-font-weight); -} - -body { - --embed-block-shadow-hover: inset 0 0 0 2px var(--outline); - --embed-padding: 0 10px 0 24px; - --embed-header-size: 18px; - --embed-title-padding: 5px 24px; - --embed-title-align: center; - --embed-title-white-space: wrap; - --embed-title-overflow: unset; - --embed-thickness: 2px; - --embed-border-type: solid; - --embed-border: var(--embed-thickness) var(--embed-border-type) var(--embed-border-color); - --embed-border-color: transparent; - --embed-border-left-color: var(--headers); - --embed-border-right-color: var(--embed-border-color); - --embed-border-top-color: var(--embed-border-color); - --embed-border-bottom-color: var(--embed-border-color); - --embed-border-left: 2px solid var(--embed-border-left-color); - --embed-border-right: 2px solid var(--embed-border-right-color); - --embed-border-top: 2px solid var(--embed-border-top-color); - --embed-border-bottom: 2px solid var(--embed-border-bottom-color); - --embed-border-color-hover: var(--outline); - --embed-border-left-color-hover: var(--embed-border-left-color); - --embed-border-right-color-hover: var(--embed-border-color-hover); - --embed-border-top-color-hover: var(--embed-border-color-hover); - --embed-border-bottom-color-hover: var(--embed-border-color-hover); -} - -.markdown-embed, -.internal-embed:not(.image-embed) { - display: flow-root; -} - -.markdown-embed.markdown-embed:hover { - --embed-border-left: var(--embed-thickness) var(--embed-border-type) var(--embed-border-left-color-hover); - --embed-border-right: var(--embed-thickness) var(--embed-border-type) var(--embed-border-right-color-hover); - --embed-border-top: var(--embed-thickness) var(--embed-border-type) var(--embed-border-top-color-hover); - --embed-border-bottom: var(--embed-thickness) var(--embed-border-type) var(--embed-border-bottom-color-hover); -} - -.markdown-embed-title { - padding: var(--embed-title-padding); - text-align: var(--embed-title-align); - white-space: var(--embed-title-white-space); - text-overflow: var(--embed-title-overflow); -} - -.markdown-embed:not(.canvas-node-content) { - padding: 0; -} -.markdown-embed:not(.canvas-node-content) .markdown-embed-content { - padding: var(--embed-padding); -} - -.markdown-embed-content > .markdown-preview-view > .markdown-preview-sizer { - min-height: unset !important; -} - -.markdown-embed.markdown-embed hr { - margin: 1.5em 0; -} - -.markdown-embed-link { - top: 8px; - right: var(--scrollbar-width); -} - -.markdown-embed .markdown-rendered ol:has(li:nth-child(10)) { - --list-indent: 30px; -} -.markdown-embed .markdown-rendered ol:has(li:nth-child(100)) { - --list-indent: 40px; -} - -.file-embed { - background-color: var(--outer-bar); -} - -body { - --code-background: var(--code-bg); - --code-normal: var(--code-text); - --code-shadow: 0 2px 0 var(--outline); -} - -.cm-s-obsidian div.HyperMD-codeblock.HyperMD-codeblock-begin-bg { - padding-top: 6px; -} - -.cm-s-obsidian span.cm-inline-code, -.markdown-rendered pre { - box-shadow: var(--code-shadow); -} - -.cm-s-obsidian div.HyperMD-codeblock-begin-bg { - border-top-left-radius: var(--radius-s); - border-top-right-radius: var(--radius-s); -} - -.cm-s-obsidian div.HyperMD-codeblock-end-bg { - border-bottom-left-radius: var(--radius-s); - border-bottom-right-radius: var(--radius-s); -} - -body { - --comment-font: var(--font-monospace); - --code-comment: var(--text-faint); -} - -.cm-s-obsidian span.cm-comment { - font-family: var(--comment-font); -} - -body { - --hr-icon-symbol: ""; - --hr-icon-font: var(--its); - --hr-icon-background: var(--note); - --hr-icon-padding-x: 4px; - --hr-icon-color: var(--headers); - --hr-color: var(--hr); - --hr-thickness: 2px; - --hr-width: auto; - --hr-alignment: -50%, -50%; - --hr-text-offset: 12px; -} - -/*Stylized HR/Horizontal Line*/ -.hr.cm-line:not(.cm-active), -.markdown-rendered hr { - margin-left: auto; - margin-right: auto; - width: var(--hr-width); -} -.hr.cm-line:not(.cm-active)::after, -.markdown-rendered hr::after { - content: var(--hr-icon-symbol); - font-family: var(--hr-icon-font); - font-size: var(--font-text-size); - display: inline-block; - position: absolute; - left: 50%; - transform: translate(var(--hr-alignment)) rotate(0deg); - transform-origin: 50% 50%; - color: transparent; - text-shadow: 0 0 0 var(--hr-icon-color); - padding: 0 var(--hr-icon-padding-x); - background-color: var(--hr-icon-background); -} - -.hr.cm-line { - border-top: var(--hr-thickness) solid var(--hr); - --hr-color: transparent; -} - -.markdown-source-view.mod-cm6 .cm-content :is(.hr, .HyperMD-hr) { - contain: style !important; -} - -:is(.mod-left-split, .mod-right-split) { - --hr-icon-background: var(--side-bar); -} - -.community-modal-readme hr::after { - display: none; -} - -body { - --blockquote-border-thickness: 7px; - --blockquote-border-color: var(--bg); - --blockquote-font-style: var(--font-default); - --blockquote-color: var(--text-normal); - --blockquote-padding: var(--size-4-3) var(--size-4-6); - --blockquote-padding-lp: 7px 0; - --blockquote-background-color: var(--embed-bg); -} - -.markdown-rendered blockquote { - background: var(--blockquote-background-color); - display: flow-root; -} - -.is-live-preview .HyperMD-quote.HyperMD-quote.HyperMD-quote { - border-left: var(--blockquote-border-thickness) solid var(--blockquote-border-color); - padding: var(--blockquote-padding-lp); -} -.is-live-preview .HyperMD-quote.HyperMD-quote.HyperMD-quote::before { - display: none; -} -.is-live-preview .HyperMD-quote.HyperMD-quote.HyperMD-quote + .HyperMD-quote { - padding-top: 0; -} - -.markdown-rendered blockquote, -.markdown-rendered div div > blockquote { - padding: var(--blockquote-padding); -} - -.is-live-preview .cm-line.cm-line.HyperMD-header + .HyperMD-quote.HyperMD-quote.HyperMD-quote { - padding: var(--blockquote-padding-lp); -} - -.markdown-rendered blockquote blockquote { - padding: 0 0 0 var(--size-4-3); -} - -.markdown-rendered blockquote blockquote, -.cm-blockquote-border.cm-transparent::before { - --blockquote-border-thickness: 2px; - --blockquote-border-color: var(--accent); -} - -.markdown-rendered blockquote { - border-top-right-radius: var(--radius-s); - border-bottom-right-radius: var(--radius-s); -} - -body { - --callout-margin: 5px 0; - --callout-padding: var(--size-4-3) var(--size-4-4); -} - -.callout.callout.callout { - --callout-blend-mode: normal; - margin: var(--callout-margin); -} - -.callout > .callout-content > .callout { - --callout-margin: 0; -} - -.callout-icon { - align-self: center; -} - -body { - --strikethrough-color: inherit; - --strikethrough-line-color: inherit; - --strikethrough-line-thickness: 1px; -} - -del, -.cm-strikethrough { - color: var(--strikethrough-color); - text-decoration-thickness: var(--strikethrough-line-thickness); - text-decoration-color: var(--strikethrough-line-color); -} - -.cm-s-obsidian .cm-tag { - font-family: var(--font-monospace); -} - -:is(.markdown-preview-view, -.markdown-rendered, -.markdown-source-view.is-live-preview.is-live-preview) progress::-webkit-progress-bar { - background-color: var(--progress-bg); - box-shadow: none; - border-radius: var(--radius-s); -} -:is(.markdown-preview-view, -.markdown-rendered, -.markdown-source-view.is-live-preview.is-live-preview) progress::-webkit-progress-value { - background-color: var(--progress); -} - -/* Tag Pane */ -.tag-container { - padding: 0; - --nav-item-children-margin-left: 12px; -} -.tag-container .tree-item-self { - align-items: center; -} -.tag-container .tree-item-children { - padding: 0; -} - -.tag-pane-tag .tree-item-inner > .tree-item-inner-text::before, -.tag-pane-tag-text:before { - content: "#"; - padding-inline-end: 5px; - margin-inline-start: 1px; - position: relative; - color: var(--tag-text); - width: var(--size-4-4); -} - -.tag-pane-tag.tag-pane-tag:hover .tree-item-inner-text::before, -.tag-container .tree-item-self:hover .tag-pane-tag-text:before { - color: var(--text-dl); -} - -.tag-pane-tag .collapse-icon + .tree-item-inner > .tree-item-inner-text:before { - content: none; - padding-left: 2px; - color: var(--tag-text); -} - -body { - --outline-symbol: "H"; - --outline-symbol-padding-right: 4px; - --outline-arrow-visibility: hidden; - --outline-arrow-display: none; - --outline-arrow-margin: -16px; -} - -body .outline, -body [data-type=outline] { - --nav-item-children-margin-left: 12px; -} -body .outline .tree-item-children, -body [data-type=outline] .tree-item-children { - transition: all 0.3s ease-in-out; -} -body .outline .collapse-icon svg, -body [data-type=outline] .collapse-icon svg { - visibility: var(--outline-arrow-visibility); -} -body .outline .tree-item:not(.is-collapsed) > .mod-collapsible .tree-item-icon.collapse-icon, -body [data-type=outline] .tree-item:not(.is-collapsed) > .mod-collapsible .tree-item-icon.collapse-icon { - margin-inline-start: var(--outline-arrow-margin); -} -body .outline .tree-item-self::before, -body [data-type=outline] .tree-item-self::before { - content: var(--outline-symbol); - font-family: var(--font-default); - font-weight: 900; - color: var(--headers); - padding-inline-end: var(--outline-symbol-padding-right); -} -body .outline .tree-item-self.is-active::before, body .outline .tree-item-self:hover::before, -body [data-type=outline] .tree-item-self.is-active::before, -body [data-type=outline] .tree-item-self:hover::before { - color: var(--text-dl); -} -body .outline .tree-item.is-collapsed .collapse-icon svg, -body [data-type=outline] .tree-item.is-collapsed .collapse-icon svg { - visibility: visible; -} -body .outline .tree-item.is-collapsed .tree-item-self::before, -body [data-type=outline] .tree-item.is-collapsed .tree-item-self::before { - display: none; -} - -.is-mobile .outline, -.is-mobile [data-type=outline] { - --nav-item-children-margin-left: 28px; - --nav-item-children-padding-left: 0; -} - -.hide-outline-heading [data-type=outline] { - --outline-symbol: ""; - --outline-arrow-visibility: visible; - --outline-arrow-margin: -3px; - --outline-symbol-padding-right: 0; -} - -body { - --popover-width: 650px; - --popover-font-size: var(--font-size); - --popover-max-height: 600px; - --popover-border: 3px solid var(--outline); -} - -.popover.hover-popover { - border: var(--popover-border); - box-shadow: var(--shadow-l); -} - -.backlink-pane, -.outgoing-link-pane { - padding: var(--size-4-3); -} -.backlink-pane > .tree-item-self, -.outgoing-link-pane > .tree-item-self { - text-align: center; - background-color: var(--code-bg); - margin-bottom: 10px; - padding: 4px 6px; - box-shadow: 0 4px 0 var(--outline); -} - -.embedded-backlinks { - clear: both; -} - -.outgoing-link-item { - align-items: center; - gap: 4px; -} -.outgoing-link-item .tree-item-inner-subtext { - margin-top: 2px; -} -.outgoing-link-item .tree-item-inner { - font-size: var(--font-ui-medium); -} -.outgoing-link-item .tree-item-inner-subtext { - font-size: var(--font-ui-smaller); -} -.outgoing-link-item:nth-child(odd):not(:hover) { - background-color: var(--td); -} - -body { - --graph-controls-section-header-padding: var(--nav-item-parent-padding); - --graph-background: var(--graph-bg); - --graph-text: var(--text-normal); - --graph-arrow: var(--soft-text); - --graph-line: var(--graph-lines); - --graph-line-hover: var(--accent); - --graph-node: var(--headers); - --graph-node-focused: var(--graph-focused); - --graph-node-hover-outline: var(--text-dl); - --graph-node-hover-fill: var(--graph-fill); - --graph-node-tag: var(--graph-tag); - --graph-node-attachment: var(--graph-img); - --graph-node-unresolved: var(--graph-404); -} - -.workspace-leaf-content[data-type=graph] .view-content { - background-color: var(--graph-background); -} - -.graph-view.color-circle { - color: var(--graph-node-hover-outline); -} -.graph-view.color-line-highlight { - color: var(--graph-line-hover); -} -.graph-view.color-fill-highlight { - color: var(--graph-node-hover-fill); -} -.graph-view.color-arrow { - color: var(--graph-arrow); -} - -.graph-controls { - --nav-item-color-hover: var(--text); -} - -.graph-control-section { - padding: 0; - border-bottom-color: var(--table); -} -.graph-control-section > .tree-item-self { - padding: var(--size-4-2) var(--size-4-2); -} -.graph-control-section:not(.is-collapsed) > .tree-item-self { - font-weight: 900; - border-bottom: 2px solid var(--accent); -} -.graph-control-section .graph-control-section-header { - font-size: var(--font-ui-medium); -} -.graph-control-section .setting-item:not(.setting-item-heading) { - padding: 0.5em 0.8em; -} -.graph-control-section .graph-color-groups-container { - padding: 8px 12px; -} -.graph-control-section .graph-color-button-container { - padding: 0 12px; -} -.graph-control-section .graph-color-button-container button { - margin-top: 0; -} - -.mermaid .nodeLabel { - font-size: var(--font-ui-medium); -} -.mermaid rect:not([style]) { - fill: var(--embed-bg) !important; - stroke: var(--inactive) !important; - stroke-width: 1px; -} -.mermaid .classLabel .label { - fill: var(--inactive) !important; -} -.mermaid g.classGroup line { - stroke: var(--table) !important; -} -.mermaid .active0 { - fill: var(--accent2) !important; -} -.mermaid .done0 { - fill: var(--accent2-lite) !important; - stroke: var(--inactive) !important; -} -.mermaid .doneText, .mermaid .taskTextOutside0 { - fill: var(--text) !important; -} -.mermaid .exclude-range { - fill: var(--inactive) !important; -} -.mermaid line { - stroke: var(--text-faint) !important; -} -.mermaid .noteText > tspan { - fill: var(--footnote) !important; -} -.mermaid .entityBox { - fill: var(--bg) !important; - stroke: var(--table) !important; -} -.mermaid .attributeBoxEven { - fill: var(--note) !important; -} -.mermaid .attributeBoxOdd { - fill: var(--dark-accent) !important; -} -.mermaid .node-label { - stroke: white !important; -} -.mermaid .face { - stroke: var(--text) !important; -} - -/*-- Publish Settings --*/ -.publish-upload-item .flair { - background-color: var(--interactive-normal); - color: var(--text); -} - -.publish-upload-item-title { - color: var(--text); - font-weight: 600; -} - -.publish-change-list .tree-item-children { - --nav-item-children-margin-left: 12px; -} -.publish-change-list .file-tree-item-checkbox { - --checkbox-border-color-hover: var(--text); -} -.publish-change-list .tree-item-self.mod-file { - margin-left: 16px; -} - -.internal-query { - background: var(--note); - border: 3px solid var(--outline); -} -.internal-query .internal-query-header { - background-color: var(--code-bg); - box-shadow: 0 2px 0 var(--td); - padding: 5px; -} -.internal-query .internal-query-header-title { - font-size: var(--font-smallest); - font-weight: 600; - line-height: 18px; - color: var(--soft-text); -} -.internal-query .search-result-container { - padding: 0 7px; - border: 0; -} -.internal-query .search-results-children .tree-item { - background: var(--note); - margin: 10px 0; -} -.internal-query .search-result-file-match { - width: 100%; -} -.internal-query .search-empty-state { - color: var(--text-error); - font-family: var(--font-monospace); - text-align: center; - margin: 10px; -} - -body { - --slide-background: var(--note); - --r-heading-color: var(--headers); - --r-heading-font: var(--font); - --r-heading-text-transform: capitalize; - --r-heading-font-weight: var(--header-weight); - --r-main-font: var(--font-default); - --r-progress-color: var(--lite-accent); -} - -.reveal { - --h1-border-line-width: 100%; - --h2-border-line-width: 100%; - --h3-border-line-width: 100%; - --h4-border-line-width: 100%; - --h5-border-line-width: 100%; - --h6-border-line-width: 100%; -} - -.slides-container, -.reveal-viewport { - background-color: var(--slide-background); -} - -.reveal { - color: var(--text); - font-size: calc(var(--font-text-size) + 0.7em); -} -.reveal code { - color: var(--code-text); - background: var(--code-bg); - padding: 4px; - font-family: var(--font-monospace); - box-shadow: var(--code-shadow); -} -.reveal button { - --input-shadow: none; - --input-shadow-hover: none; -} -.reveal .progress { - color: var(--r-progress-color); -} -.reveal img { - margin: 5px; -} -.reveal table :is(td, th) { - border-color: var(--table); -} -.reveal li::marker { - --list-marker-color: transparent; -} - -.bookmark + .tree-item-children { - --nav-item-children-margin-left: 12px; - --nav-item-children-padding-left: 4px; -} -.bookmark.tree-item-self.mod-collapsible { - --nav-item-weight: 900; -} -.bookmark.tree-item-self { - gap: 2px; - padding: var(--explorer-item-padding); -} -.bookmark .tree-item-icon { - margin-left: -5px; -} - -.workspace-leaf-content[data-type=bookmarks] .view-content { - padding: 0 var(--size-4-2); - --bookmark-group-weight: 900; -} -.workspace-leaf-content[data-type=bookmarks] .view-content .collapse-icon + .tree-item-inner { - font-weight: var(--bookmark-group-weight); -} - -.is-mobile .bookmark + .tree-item-children { - --nav-item-children-margin-left: 8px; - --nav-item-children-padding-left: 10px; -} - -body { - --canvas-node-padding: 0 7px; - --canvas-color-opacity: 0.07; -} - -body.theme-dark { - --canvas-color: 88, 100, 159; -} - -body.theme-light { - --canvas-color: 166, 180, 204; -} - -.canvas-control-group, -.canvas-control-item { - border-width: 2px; - border-color: var(--outline); -} - -.canvas-control-item { - background-color: var(--note); -} - -.canvas-card-menu { - border: var(--box-border); -} - -.canvas-node.is-themed .canvas-node-content { - background-color: rgba(var(--canvas-color), var(--canvas-color-opacity)); -} - -.theme-dark .canvas-minimap rect.is-themed, .theme-dark .canvas-minimap rect { - fill-opacity: var(--canvas-color-opacity); -} -.theme-dark .canvas-minimap path, .theme-dark .canvas-minimap path.is-themed { - stroke: rgba(var(--canvas-color), calc(var(--canvas-color-opacity) + 0.5)); -} - -.canvas-node-placeholder { - line-height: var(--line-height-tight); -} - -.canvas-node-connection-point::after { - border-color: rgb(var(--canvas-color)); -} - -.canvas-path-label { - background-color: var(--canvas-background); -} - -body { - --metadata-property-radius: var(--radius-s); - --metadata-property-radius-hover: var(--radius-s); - --metadata-property-radius-focus: var(--radius-s); - --metadata-title-align: center; - --metadata-title-size: var(--font-text-size); - --metadata-title-color: var(--text-muted); - --metadata-title-weight: 900; - --metadata-title-icon: ""; - --metadata-title-icon-font: var(--its); - --metadata-title-icon-padding: 5px; - --metadata-remove-color: var(--accent-text); - --metadata-remove-color-hover: var(--text-dl); - --metadata-icon-color: var(--icon-color); - --metadata-button-text-color: var(--inactive); - --metadata-input-background: transparent; - --metadata-label-background-active: var(--td); - --metadata-input-background-active: var(--td); -} - -.metadata-container { - transform: unset; -} - -.metadata-properties-heading { - display: block; - margin-bottom: 0; -} - -.metadata-properties-title { - font-size: var(--metadata-title-size); - color: var(--metadata-title-color); - text-align: var(--metadata-title-align); - font-weight: var(--metadata-title-weight); - margin-bottom: 5px; -} -.metadata-properties-title::before { - content: var(--metadata-title-icon); - font-family: var(--metadata-title-icon-font); - margin-right: var(--metadata-title-icon-padding); - font-weight: 100; -} - -.metadata-property-icon { - color: var(--metadata-icon-color); -} - -.metadata-add-button:not(:hover) { - color: var(--metadata-button-text-color); -} -.metadata-add-button.metadata-add-button { - margin-top: 0; -} - -.metadata-property:focus-within { - --metadata-property-background-hover: var(--td); -} - -.metadata-property[data-property-key=tags] .multi-select-pill { - padding: var(--tag-padding-y) var(--tag-padding-x); - gap: 0; -} - -.metadata-property[data-property-key=tags] .multi-select-pill-remove-button { - color: var(--metadata-remove-color); - margin-right: 0; -} -.metadata-property[data-property-key=tags] .multi-select-pill-remove-button:hover { - color: var(--metadata-remove-color-hover); -} - -.multi-select-pill-content { - margin-left: 0; -} - -.metadata-property:not([data-property-key=tags]) .multi-select-container .multi-select-pill:not(:nth-last-child(2))::after { - content: ","; -} - -.multi-select-container { - vertical-align: unset; -} - -@container (width < 380px) { - .metadata-property[data-property-type=multitext] { - flex-wrap: unset; - } -} -@container (width < 280px) { - .metadata-property { - border-bottom: var(--metadata-divider-width) solid var(--metadata-divider-color); - } - .metadata-property > * { - --metadata-divider-width: 0; - } -} -.workspace-split:not(.mod-root) .metadata-container { - --metadata-divider-width: 0; -} - -body { - --style-settings-heading-border-top-color: transparent; - --style-settings-heading-border-bottom-color: transparent; - --style-settings-border-top-color: transparent; - --style-settings-border-bottom-color: transparent; - --style-settings-background-color: transparent; - --style-settings-heading-background-hover: var(--dark-accent); - --style-settings-heading-color: var(--text-dl); - --style-settings-heading-color-hover: var(--text-dl); -} - -.style-settings-heading .setting-item-name { - font-weight: 900; - font-size: var(--font-ui-medium); -} - -.style-settings-container, -[data-type=style-settings] { - --setting-item-heading-border: transparent; -} -.style-settings-container .setting-item.setting-item, -[data-type=style-settings] .setting-item.setting-item { - padding: 8px 15px; - margin-top: 0; -} -.style-settings-container .setting-item-heading.setting-item-heading:not(.is-collapsed), -[data-type=style-settings] .setting-item-heading.setting-item-heading:not(.is-collapsed) { - --icon-color: var(--text-dl); -} -.style-settings-container .setting-item-heading.setting-item-heading:not(.is-collapsed):not(:hover) .setting-item-name, .style-settings-container .setting-item-heading.setting-item-heading:not(.is-collapsed):not(:hover) .style-settings-collapse-indicator, -[data-type=style-settings] .setting-item-heading.setting-item-heading:not(.is-collapsed):not(:hover) .setting-item-name, -[data-type=style-settings] .setting-item-heading.setting-item-heading:not(.is-collapsed):not(:hover) .style-settings-collapse-indicator { - color: var(--text-dl); -} -.style-settings-container .setting-item-heading.setting-item-heading:not(.is-collapsed):hover, -[data-type=style-settings] .setting-item-heading.setting-item-heading:not(.is-collapsed):hover { - background-color: var(--style-settings-heading-background-hover); - --style-settings-heading-border-bottom-color: var(--style-settings-heading-border-top-color); -} -.style-settings-container .setting-item-heading.setting-item-heading:not(.is-collapsed):hover .setting-item-description, .style-settings-container .setting-item-heading.setting-item-heading:not(.is-collapsed):hover .setting-item-name, .style-settings-container .setting-item-heading.setting-item-heading:not(.is-collapsed):hover .style-settings-collapse-indicator, .style-settings-container .setting-item-heading.setting-item-heading:not(.is-collapsed):hover .clickable-icon, -[data-type=style-settings] .setting-item-heading.setting-item-heading:not(.is-collapsed):hover .setting-item-description, -[data-type=style-settings] .setting-item-heading.setting-item-heading:not(.is-collapsed):hover .setting-item-name, -[data-type=style-settings] .setting-item-heading.setting-item-heading:not(.is-collapsed):hover .style-settings-collapse-indicator, -[data-type=style-settings] .setting-item-heading.setting-item-heading:not(.is-collapsed):hover .clickable-icon { - color: var(--text-dl); -} - -.view-content .style-settings-container .setting-item:not(.setting-item-heading) { - flex-direction: row; - align-items: center; -} -.view-content .style-settings-container .setting-item:not(.setting-item-heading) .setting-item-control { - padding-top: 0; -} - -.workspace-leaf-content[data-type=style-settings] .view-content { - padding: 20px; -} - -.themed-color-wrapper > div { - border-radius: var(--radius-s); -} - -.style-settings-filter-result-count { - color: var(--text); - opacity: 0.7; - font-weight: 500; -} - -.style-settings-container .style-settings-heading { - background-color: var(--style-settings-background-color); - border-top: 2px solid var(--style-settings-heading-border-top-color); - border-bottom: 2px solid var(--style-settings-heading-border-bottom-color); - margin-bottom: 0; -} -.style-settings-container .style-settings-heading:not(.is-collapsed) .setting-item-description { - color: var(--text-dl); -} - -.style-settings-container { - border: 2px solid var(--style-settings-border-bottom-color); - border-top: 0; - padding: 0; - padding-bottom: 10px; -} - -.style-settings-heading.style-settings-heading[data-level="0"] { - --setting-item-heading-border: 2px solid var(--table); - margin-bottom: 0; - padding: 12px 15px; - margin-top: 0; -} - -.style-settings-heading[data-level="0"]:not(.is-collapsed) { - --setting-item-heading-border: 2px solid var(--accent); - background-color: var(--deep-dark-accent); -} -.style-settings-heading[data-level="0"]:not(.is-collapsed) .setting-item-name, .style-settings-heading[data-level="0"]:not(.is-collapsed) .style-settings-collapse-indicator { - color: var(--text-dl); -} - -.style-settings-heading[data-level="0"] + .style-settings-container { - border: 2px solid var(--outline); - border-top: 0; -} - -.style-settings-heading[data-level="0"] + .style-settings-container { - padding-left: 0; -} -.style-settings-heading[data-level="0"] + .style-settings-container .style-settings-collapse-indicator { - margin: 0; -} - -.setting-item-heading[data-level="1"]:not(.is-collapsed) { - --style-settings-heading-border-top-color: var(--theme-rainbow-1); - --style-settings-background-color: var(--theme-rainbow-1); - --setting-item-heading-background: var(--theme-rainbow-1); -} - -.style-settings-heading[data-level="1"] + .style-settings-container { - --style-settings-border-bottom-color: var(--theme-rainbow-1); -} - -.setting-item-heading[data-level="2"]:not(.is-collapsed) { - --style-settings-heading-border-top-color: var(--theme-rainbow-2); - --style-settings-background-color: var(--theme-rainbow-2); - --setting-item-heading-background: var(--theme-rainbow-2); -} - -.style-settings-heading[data-level="2"] + .style-settings-container { - --style-settings-border-bottom-color: var(--theme-rainbow-2); -} - -.setting-item-heading[data-level="3"]:not(.is-collapsed) { - --style-settings-heading-border-top-color: var(--theme-rainbow-3); - --style-settings-background-color: var(--theme-rainbow-3); - --setting-item-heading-background: var(--theme-rainbow-3); -} - -.style-settings-heading[data-level="3"] + .style-settings-container { - --style-settings-border-bottom-color: var(--theme-rainbow-3); -} - -.setting-item-heading[data-level="4"]:not(.is-collapsed) { - --style-settings-heading-border-top-color: var(--theme-rainbow-4); - --style-settings-background-color: var(--theme-rainbow-4); - --setting-item-heading-background: var(--theme-rainbow-4); -} - -.style-settings-heading[data-level="4"] + .style-settings-container { - --style-settings-border-bottom-color: var(--theme-rainbow-4); -} - -.setting-item-heading[data-level="5"]:not(.is-collapsed) { - --style-settings-heading-border-top-color: var(--theme-rainbow-5); - --style-settings-background-color: var(--theme-rainbow-5); - --setting-item-heading-background: var(--theme-rainbow-5); -} - -.style-settings-heading[data-level="5"] + .style-settings-container { - --style-settings-border-bottom-color: var(--theme-rainbow-5); -} - -.setting-item-heading[data-level="6"]:not(.is-collapsed) { - --style-settings-heading-border-top-color: var(--theme-rainbow-6); - --style-settings-background-color: var(--theme-rainbow-6); - --setting-item-heading-background: var(--theme-rainbow-6); -} - -.style-settings-heading[data-level="6"] + .style-settings-container { - --style-settings-border-bottom-color: var(--theme-rainbow-6); -} - -.style-settings-heading .style-settings-collapse-indicator::after { - font-family: var(--its); - padding-left: 10px; - font-weight: 100; -} - -.style-settings-heading:not([data-level="0"]) .style-settings-collapse-indicator { - padding-right: 7px; -} - -.style-settings-heading[data-id=ITS] .style-settings-collapse-indicator::after { - content: "\e817"; -} - -.style-settings-heading[data-id=Text-CSS] .style-settings-collapse-indicator::after { - content: "\e80d"; -} - -.style-settings-heading[data-id=ITS-Workspace] .style-settings-collapse-indicator::after { - content: "\e805"; -} - -.style-settings-heading[data-id=ITS-Note] .style-settings-collapse-indicator::after { - content: "\e804"; -} - -.style-settings-heading[data-id=ITS-Colors] .style-settings-collapse-indicator::after { - content: "\ec10"; -} - -.style-settings-heading[data-id=ITS-Plugins] .style-settings-collapse-indicator::after { - content: "\ec06"; -} - -.style-settings-heading[data-id=ITS-Alt-Color-Scheme] .style-settings-collapse-indicator::after { - content: "\ec24"; -} - -.style-settings-info-text[data-id^=info-text-SlRvb] { - text-align: center; - justify-content: center; -} -.style-settings-info-text[data-id^=info-text-SlRvb] .setting-item-control { - display: none; -} -.style-settings-info-text[data-id^=info-text-SlRvb] .link-favicon { - display: none !important; - vertical-align: unset; -} - -.setting-item[data-id=its-theme] { - display: none; -} - -body { - --dataview-th-border-bottom: 2px solid var(--headers); - --dataview-th-background: var(--outer-bar); - --dataview-th-alt-color: rgba(var(--accent-color), 10%); - --dataview-th-color: var(--headers); - --dataview-th-font: var(--font); - --dataview-th-font-size: larger; - --dataview-th-font-weight: var(--header-weight); - --dataview-th-count-font-size: var(--font-text-size); - --dataview-th-count-color: var(--dataview-th-color); - --dataview-table-width: 100%; -} - -.dataview.dataview { - --root-list-spacing: 0; -} - -.table-view-table { - width: var(--dataview-table-width); -} -.table-view-table > thead > tr { - --table-header-background: var(--dataview-th-background); -} -.table-view-table > thead > tr > th { - --table-header-color: var(--dataview-th-color); - --table-header-font: var(--dataview-th-font); - font-size: var(--dataview-th-font-size); - font-weight: var(--dataview-th-font-weight); - border-bottom: var(--dataview-th-border-bottom); -} -.table-view-table > thead > tr > th:nth-child(2n+2) { - --table-column-alt-background: var(--dataview-th-alt-color); -} -.table-view-table > thead > tr:hover { - --dataview-th-count-color: var(--text-dl); -} -.table-view-table > thead > tr:hover > th { - --table-header-color: var(--text-dl); -} - -.dataview.small-text { - font-size: var(--dataview-th-count-font-size); - color: var(--dataview-th-count-color); -} - -.dataview.result-group { - padding-left: 0; -} - -.is-live-preview .block-language-dataviewjs > :is(p, span) { - line-height: var(--lh); -} - -.dataview.dataview.inline-field-standalone-value { - padding-left: 0; - padding-right: 0; - display: inline; - border-radius: 0; - font-family: inherit; - background-color: transparent; -} -.dataview.dataview.inline-field-key, .dataview.dataview.inline-field-value { - border-radius: var(--radius); - font-family: inherit; - font-weight: bold; - padding: 0 10px; -} -.dataview.dataview.inline-field-key { - background-color: var(--bttn); - color: var(--text-dl); -} -.dataview.dataview.inline-field-value { - background-color: var(--td); -} -.dataview.dataview.inline-field-value a.tag:first-child:empty { - display: none; -} - -.dataview .inline-field-standalone-value span > a.tag:empty { - display: none; -} - -body:not(.list-default-bullet) .dataview.dataview div div > ul { - padding-inline-start: 0; -} -body:not(.list-default-bullet) .dataview.dataview.table-view-table ul { - padding-inline-start: 0; -} - -/* Hover Editor */ -body:is(.theme-dark, .theme-light) { - --he-title-bar-active-fg: var(--text); - --he-title-bar-active-pinned-bg: var(--note); - --he-title-bar-active-action: var(--lite-accent); - --he-title-bar-active-bg: var(--embed-bg); - --he-title-bar-inactive-fg: var(--inactive); - --he-title-bar-inactive-bg: var(--note); - --he-title-bar-inactive-pinned-bg: var(--note); - --he-title-bar-inactive-action: var(--soft-text); - --he-popover-border-radius: var(--radius-s); - --he-text-on-accent-inactive: var(--text); - --he-text-on-accent-active: var(--headers); -} - -.popover.hover-editor:not(.show-navbar) .view-header { - padding: 0; -} - -.popover.hover-editor .markdown-source-view { - --file-margins: var(--size-4-3); -} - -.obsidian-icon-folder-icon, -.iconize-icon.iconize-icon.iconize-icon { - margin-right: var(--file-icon-margin) !important; - border: 0; - padding: 0 !important; - width: var(--nav-item-size); -} -.obsidian-icon-folder-icon svg, -.iconize-icon.iconize-icon.iconize-icon svg { - width: var(--nav-item-size); - color: var(--folder-open); -} -.obsidian-icon-folder-icon + .nav-folder-title-content, .obsidian-icon-folder-icon + .nav-file-title-content, -.iconize-icon.iconize-icon.iconize-icon + .nav-folder-title-content, -.iconize-icon.iconize-icon.iconize-icon + .nav-file-title-content { - --folder-icon: ; - --file-icon: ; -} -.obsidian-icon-folder-icon + .nav-folder-title-content::before, .obsidian-icon-folder-icon + .nav-file-title-content::before, -.iconize-icon.iconize-icon.iconize-icon + .nav-folder-title-content::before, -.iconize-icon.iconize-icon.iconize-icon + .nav-file-title-content::before { - content: ""; - width: unset; - margin-right: unset; -} - -.is-collapsed + div.iconize-icon.iconize-icon > svg { - color: var(--folder); -} - -body { - --kanban-lane-background: var(--code-bg); - --kanban-lane-border: var(--box-border-m); - --kanban-lane-box-shadow: var(--shadow-s); - --kanban-lane-padding: 0 4px; - --kanban-card-title-background: var(--note); - --kanban-card-title-border: 0px 2px 0 var(--outline); - --kanban-card-metadata-background: var(--note); - --kanban-card-border: var(--box-border); - --kanban-card-margin: 2px 0; - --kanban-link-color: var(--accent2-lite); - --kanban-link-font-weight: inherit; - --kanban-link-symbol: ; - --kanban-tag-background: var(--tag-background); - --tag-background-color: var(--tag-background); - --kanban-button-background: var(--code-bg); - --kanban-button-shadow: var(--input-shadow); - --kanban-card-text-color: var(--text-normal); -} - -.kanban-plugin__lane.kanban-plugin__lane { - background-color: var(--kanban-lane-background); - border-radius: var(--radius-m); - border: var(--kanban-lane-border); - box-shadow: var(--kanban-lane-box-shadow); -} -.kanban-plugin__lane.kanban-plugin__lane .kanban-plugin__lane-items { - margin: 0; - padding: var(--kanban-lane-padding); -} - -.kanban-plugin__lane-header-wrapper { - border: none; - padding: 5px 10px; - padding-bottom: 0; -} - -.kanban-plugin__item-content-wrapper.kanban-plugin__item-content-wrapper { - border-radius: var(--radius-m); -} - -.kanban-plugin__item.kanban-plugin__item { - border: var(--kanban-card-border); - margin: var(--kanban-card-margin); -} - -.kanban-plugin__item-title-wrapper { - padding: 2px 8px; - background: var(--kanban-card-title-background); - align-self: center; - align-items: center; -} -.kanban-plugin__item-title-wrapper:not(:only-child) { - border: none; - box-shadow: var(--kanban-card-title-border); -} - -.kanban-plugin__item.kanban-plugin__item .markdown-preview-view a.internal-link, -.kanban-plugin__item-title .markdown-preview-view a.internal-link { - color: var(--kanban-link-color); - font-weight: var(--kanban-link-font-weight); -} -.kanban-plugin__item.kanban-plugin__item .markdown-preview-view a.internal-link.is-unresolved, -.kanban-plugin__item-title .markdown-preview-view a.internal-link.is-unresolved { - color: var(--link-unresolved-color); - opacity: var(--link-unresolved-opacity); - filter: var(--link-unresolved-filter); - text-decoration-style: var(--link-unresolved-decoration-style); - text-decoration-color: var(--link-unresolved-decoration-color); -} -.kanban-plugin__item.kanban-plugin__item .markdown-preview-view a.tag, -.kanban-plugin__item-title .markdown-preview-view a.tag { - background: var(--kanban-tag-background); -} - -.kanban-plugin__item-title .markdown-preview-view a.internal-link:after { - content: var(--kanban-link-symbol); - font-family: var(--its); - color: var(--accent); -} - -.kanban-plugin__item-content-wrapper { - background: var(--kanban-card-metadata-background); - background-color: var(--kanban-card-metadata-background); -} - -.kanban-plugin__item-metadata-wrapper:not(:empty) { - padding: 2px 6px; - z-index: 0; - background: transparent; -} - -.kanban-plugin__meta-table td { - padding: 0; -} -.kanban-plugin__meta-table td.kanban-plugin__meta-key { - color: var(--footnote); - font-weight: 600; -} -.kanban-plugin__meta-table td .kanban-plugin__meta-value { - display: block; -} - -.kanban-plugin__item-button-wrapper.kanban-plugin__item-button-wrapper { - border: 0; - background-color: var(--kanban-button-background); - padding: 0; -} -.kanban-plugin__item-button-wrapper.kanban-plugin__item-button-wrapper button { - box-shadow: var(--kanban-button-shadow); -} - -.kanban-plugin__item-postfix-button { - padding-left: 0; - padding-right: 0; - margin-right: -7px; -} - -.kanban-plugin__item-form .kanban-plugin__item-input-wrapper textarea { - background: transparent; -} - -.kanban-plugin__item-prefix-button-wrapper input[type=checkbox] { - filter: none; -} - -.kanban-plugin__item hr { - --hr-icon-background: var(--kanban-card-title-background); -} - -.kanban-plugin__meta-value.kanban-plugin__meta-value .markdown-preview-view, -.kanban-plugin__markdown-preview-wrapper.kanban-plugin__markdown-preview-wrapper .markdown-preview-view { - color: var(--kanban-card-text-color); -} - -.internal-link.BC-Link, -button[class^=BC] { - cursor: pointer; -} - -.BC-trail { - border: 0; - z-index: 10; - margin-bottom: 0 !important; -} -.BC-trail .BC-trail-path-container.BC-trail-path-container { - font-weight: var(--bold-weight); - display: flex; - justify-content: center; - align-items: center; -} -.BC-trail .BC-trail-sep { - color: var(--inactive); - font-weight: 900; -} - -.BC-trail.is-readable-line-width { - width: auto !important; -} - -[data-type=BC-matrix] div.view-content.view-content { - padding: 0; -} -[data-type=BC-matrix] div.view-content.view-content .BC-matrix-buttons { - padding: var(--size-4-2) var(--size-4-4) var(--size-4-1); -} - -.BC-Matrix.BC-Matrix.BC-Matrix > .BC-matrix-hier { - border: 0; -} -.BC-Matrix.BC-Matrix.BC-Matrix > .BC-matrix-hier .BC-Matrix-square { - border: 2px solid var(--outline); - border-radius: var(--radius-s); - box-shadow: var(--shadow-m); -} -.BC-Matrix.BC-Matrix.BC-Matrix > .BC-matrix-hier .BC-Matrix-header { - --h4-border-line-height: 0; - --h6-border-line-height: 0; -} -.BC-Matrix.BC-Matrix.BC-Matrix > .BC-matrix-hier ol { - --list-numbered-color: transparent; - padding-left: 10px; -} - -.markdown-rendered.BC-matrix-view .BC-matrix-view-field { - padding: var(--size-4-1) var(--size-4-1) var(--size-4-3) var(--size-4-1); - border: 2px solid var(--outline); - border-radius: var(--radius-s); - box-shadow: var(--shadow-m); -} -.markdown-rendered.BC-matrix-view .BC-matrix-view-field .text-lg { - font-family: var(--h1-font); - color: var(--h1-color); -} -.markdown-rendered.BC-matrix-view .font-mono { - font-family: var(--font-monospace); -} - -/* .BC-Matrix .BC-Matrix-square li::before { - content: var(--bullet); - font-family: var(--its); - color: var(--bullet-icon-color); - visibility: visible; - margin-top: -2px; - margin-left: -5px; -} */ -.breadcrumbs-block .BC-trail { - background-color: var(--note); - padding: var(--size-4-1); - border: var(--box-border); - box-shadow: var(--shadow-m); - border-radius: var(--radius); - justify-content: center; - text-align: center; -} -.breadcrumbs-block .BC-trail .BC-trail-grid-item { - box-shadow: var(--shadow-s); - background-color: var(--outer-bar); -} - -.BC-grid-wrapper.BC-grid-wrapper { - display: flex; - flex-direction: row; - align-items: center; - justify-content: center; -} -.BC-grid-wrapper.BC-grid-wrapper .BC-grid-options.BC-grid-options { - position: relative; - width: unset; - height: unset; - border: 0; -} -.BC-grid-wrapper.BC-grid-wrapper .BC-grid-options.BC-grid-options:hover .BC-grid-options-options.BC-grid-options-options { - display: flex; - flex-direction: row; - flex-wrap: nowrap; - align-items: center; -} -.BC-grid-wrapper.BC-grid-wrapper .BC-grid-options.BC-grid-options:hover .BC-grid-options-options.BC-grid-options-options .tree-item-flair { - margin: 0 10px; -} -.BC-grid-wrapper.BC-grid-wrapper .BC-trail-grid.BC-trail-grid, .BC-grid-wrapper.BC-grid-wrapper .BC-trail-grid-item.BC-trail-grid-item { - border: 0; - font-size: var(--font-ui-small); - font-weight: bold; -} -.BC-grid-wrapper.BC-grid-wrapper .BC-trail-grid-item.BC-trail-grid-item { - padding: 5px 10px; - margin: 5px; - text-align: center; - border: var(--box-border); - border-radius: var(--radius); -} - -/*--Plugin: 5e Statblock--*/ -body:not(.default-statblock) { - --statblock-primary-color: var(--text); - --statblock-background-color: var(--note); - --statblock-bar-color: var(--accent); - --statblock-rule-color: var(--accent); - --statblock-alt: var(--td); - --statblock-alt-padding: 0.25em 0.3em; - --statblock-image-border-color: var(--hr); - --statblock-border-size: 0; - --statblock-border-color: var(--lines); - --statblock-bar-border-size: 0; - --statblock-bar-border-color: var(--statblock-bar-color); - --statblock-box-shadow-color: var(--outline); - --statblock-box-shadow-x-offset: 0; - --statblock-box-shadow-y-offset: 0; - --statblock-box-shadow-blur: 20px; - --statblock-heading-font: var(--font); - --statblock-heading-font-color: var(--headers); - --statblock-heading-font-variant: normal; - --statblock-heading-font-weight: var(--header-weight); - --statblock-heading-line-height: 28px; - --statblock-subheading-font-size: var(--font-small); - --statblock-subheading-font-style: italic; - --statblock-subheading-font-weight: normal; - --statblock-font-color: var(--text); - --statblock-content-font: var(--font-default); - --statblock-content-font-size: var(--font-text-size); - --statblock-property-name-font-color: var(--headers); - --statblock-property-font-color: var(--text); - --statblock-section-heading-border-size: 4px; - --statblock-section-heading-border-color: var(--table); - --statblock-section-heading-font-color: var(--footnote); - --statblock-section-heading-font-size: var(--h3-size); - --statblock-section-heading-font-variant: normal; - --statblock-section-heading-font-weight: var(--header-weight); - --statblock-section-heading-font: var(--h3-font); - --statblock-traits-font-style: normal; -} - -body:not(.default-statblock) .obsidian-statblock-plugin { - --header-border-line-width: 0; - --h1-border-line-width: var(--header-border-line-width); - --h2-border-line-width: var(--header-border-line-width); - --h3-border-line-width: var(--header-border-line-width); - --h4-border-line-width: var(--header-border-line-width); - --h5-border-line-width: var(--header-border-line-width); - --h6-border-line-width: var(--header-border-line-width); -} -body:not(.default-statblock) .obsidian-statblock-plugin .statblock-content { - padding: 0.45em; -} -body:not(.default-statblock) .obsidian-statblock-plugin .statblock-content .statblock-item-container { - margin-bottom: 0.2rem; -} -body:not(.default-statblock) .obsidian-statblock-plugin .statblock-content > div > .statblock-item-container:not(.group-container):not(.inline-container):not(.rule-container) { - padding: var(--statblock-alt-padding); -} -body:not(.default-statblock) .obsidian-statblock-plugin .statblock-inline-item { - padding: var(--statblock-alt-padding); -} -body:not(.default-statblock) .obsidian-statblock-plugin .column > .statblock-item-container:nth-child(odd):not(.rule-container, -.table-container, -.traits-container, -.heading-container) { - background: var(--statblock-alt); -} -body:not(.default-statblock) .obsidian-statblock-plugin .spell-list .spell-level .property-text, body:not(.default-statblock) .obsidian-statblock-plugin .property-name { - color: var(--statblock-property-name-font-color); -} -body:not(.default-statblock) .obsidian-statblock-plugin .spell-list .spell-level .property-text { - font-weight: 600; -} -body:not(.default-statblock) .obsidian-statblock-plugin .spell-list .spells .property-text { - font-style: normal; -} -body:not(.default-statblock) .obsidian-statblock-plugin li::marker { - --list-marker-color: transparent; -} - -.obsidian-statblock-plugin :is(.statblock-heading.heading, .section-header)::before, .obsidian-statblock-plugin :is(.statblock-heading.heading, .section-header)::after { - display: none; -} -.obsidian-statblock-plugin :is(.statblock-heading.heading, .section-header) > :not(.collapse-indicator) { - margin: 0; -} - -.excalidraw.excalidraw.excalidraw { - --default-bg-color: var(--note); - --input-bg-color: var(--note); - --input-border-color: var(--bg); - --island-bg-color: var(--note); - --button-gray-1: var(--bg); - --button-gray-2: var(--bttn); - --popup-bg-color: var(--code-bg); - --popup-secondary-bg-color: var(--dark-sidebar); - --overlay-bg-color: var(--embed-bg); - --keybinding-color: var(--soft-text); - --input-label-color: var(--text); - --icon-fill-color: var(--text); - --text-primary-color: var(--text); - --color-primary: var(--accent); - --color-primary-darker: var(--text-dl); - --color-primary-darkest: var(--deep-dark-accent); - --color-primary-light: var(--accent); - --color-selection: var(--lite-accent); - --color-promo: var(--accent2-lite); - --link-color: var(--accent2-lite); - --select-highlight-color: var(--accent); - --shadow-island: - 0 0 0 1px var(--outline), - 2px 2px 0 var(--outline); - --dialog-border-color: var(--hr); - --default-border-color: var(--hr); - --input-hover-bg-color: var(--td); - --button-hover: var(--dark-accent); - --sidebar-bg-color: var(--dark-sidebar); - --sidebar-border-color: var(--hr); - --border-radius-md: var(--radius-m); - --border-radius-lg: var(--radius-l); -} - -.excalidraw .menu-item.menu-item { - color: var(--text); -} - -.excalidraw .ToolIcon .ToolIcon__icon:hover, -.excalidraw .menu-item:hover { - color: var(--text-dl); - --icon-fill-color: var(--text-dl); -} - -.excalidraw .context-menu { - max-height: var(--popover-max-height); - overflow-y: auto; - border-radius: var(--radius-s); - box-shadow: var(--shadow-m); -} -.excalidraw .context-menu li::before { - display: none; -} - -/*Plugin: Fantasy Calendar*/ -.workspace-leaf-content[data-type=FANTASY_CALENDAR] .view-content { - padding: 0 10px; -} - -body .fantasy-calendar .weekdays.weekdays, body .fantasy-calendar .weeks { - font-weight: 900; - background-color: var(--th); - color: var(--th-text); - border-radius: var(--radius-s); -} - -body .fantasy-calendar .weekdays .weekday, body .fantasy-calendar .weeks .week-num { - padding: 0px; - border-radius: var(--radius-s); -} -body .fantasy-calendar .weeks .week-num-container { - padding: 0px 5px; - color: var(--text); - background-color: var(--outer-bar); -} - -textarea, -body .fantasy-calendar-element details[open], -body .fantasy-calendar-create-calendar details[open], -body .fantasy-day.day { - border-radius: var(--radius-s); -} - -.fantasy-day.day.active { - background-color: var(--bttn); - color: var(--text-dl); -} -.fantasy-day.day.viewing { - border: none; - background-color: var(--lite-accent); - color: var(--text-dl); -} -.fantasy-day.day.viewing .dots-container { - padding: 2px; -} - -:not(.dnd):not(.wotc) h3.fantasy-title::after { - display: none; -} - -.fantasy-calendar-create-calendar .modal { - padding: 20px; - min-width: 70vw; -} -.fantasy-calendar-create-calendar .modal-content { - padding: 0 30px; -} -.fantasy-calendar-create-calendar h3 { - font-size: var(--h3-size); - text-align: center; - margin: 10px 0; -} -.fantasy-calendar-create-calendar h3::after { - width: 100%; - margin-top: 10px; -} - -body .fantasy-calendar-date-fields { - flex-wrap: wrap; - flex-direction: column; - padding: 30px; -} - -body .fantasy-calendar-element details[open], -body .fantasy-calendar-create-calendar details[open] { - margin: 10px 0; - border: 2px solid var(--outline); - box-shadow: 4px 4px 0 var(--outline); -} - -.fantasy-calendar-container .event { - padding: 10px; -} -.fantasy-calendar-container .event:nth-child(even) { - box-shadow: 0 0 10px var(--outline); -} - -.fantasy-calendar.full-view .fantasy-day.day:nth-child(even):not(.viewing, .active) { - background-color: var(--td); -} - -.fantasy-calendar.full-view .flag.flag { - padding: 2px 10px; -} - -.dice-roller-view .dice-button .clickable-icon { - margin: 0 7px; - --sidebar-tab-background-color-hover: transparent; -} -.dice-roller-view .dice-button .clickable-icon .cls-1 { - fill: var(--interactive-accent); - stroke: var(--interactive-accent); -} -.dice-roller-view .dice-button:hover .cls-1 { - fill: var(--accent); - stroke: var(--accent); -} -.dice-roller-view .dice-button svg g { - color: var(--text-dl); - fill: var(--text-dl); -} -.dice-roller-view .advantage-disadvantage button { - background: var(--success-bg); - color: var(--text-dl); -} -.dice-roller-view .advantage-disadvantage button:hover { - background-color: var(--dark-accent); -} -.dice-roller-view .advantage-disadvantage button + button { - background: var(--failure-bg); -} - -.dice-roller.markdown-embed .dice-roller-result ul { - margin: 0; -} - -.dice-roller.has-embed .internal-embed *:last-child:not(svg):not(.dice-content-copy):not(.markdown-embed .dice-roller):not(.dice-roller-result > .embedded-table-result *) { - margin: unset; -} - -/*Button Plugin*/ -body { - --button-border-radius: var(--radius-m); - --button-background: var(--bttn); - --button-text: var(--text-dl); - --button-border: var(--bttn); - --button-background-hover: var(--interactive-accent-hover); -} - -body .button-default.button-default { - box-shadow: var(--shadow-s); -} - -body .button-default.button-default:hover { - --button-background: var(--button-background-hover); - --button-border: var(--button-background-hover); - box-shadow: var(--shadow-l); -} - -.modal-content.button-maker { - width: auto; -} - -body { - --initiative-xp: sandybrown; - --initiative-tracker-border: var(--lines); -} - -.obsidian-initiative-tracker.obsidian-initiative-tracker.obsidian-initiative-tracker { - margin: 0; -} -.obsidian-initiative-tracker.obsidian-initiative-tracker.obsidian-initiative-tracker .initiative-tracker-table { - width: auto; - border-spacing: 0; -} -.obsidian-initiative-tracker.obsidian-initiative-tracker.obsidian-initiative-tracker .initiative-tracker-creature:hover td { - border-top: 1px solid var(--initiative-tracker-border); - border-bottom: 1px solid var(--initiative-tracker-border); -} -.obsidian-initiative-tracker.obsidian-initiative-tracker.obsidian-initiative-tracker .initiative-tracker-creature:hover td:first-child { - border-left: 1px solid var(--initiative-tracker-border); -} -.obsidian-initiative-tracker.obsidian-initiative-tracker.obsidian-initiative-tracker .initiative-container { - border-top-left-radius: var(--radius-s); - border-bottom-left-radius: var(--radius-s); -} -.obsidian-initiative-tracker.obsidian-initiative-tracker.obsidian-initiative-tracker .initiative-container .tree-item-flair-outer { - margin: 0; - padding-left: 0; -} -.obsidian-initiative-tracker.obsidian-initiative-tracker.obsidian-initiative-tracker .controls-container { - border-top-right-radius: var(--radius-s); - border-bottom-right-radius: var(--radius-s); -} -.obsidian-initiative-tracker.obsidian-initiative-tracker.obsidian-initiative-tracker .editable.initiative.tree-item-flair { - background: var(--td); -} - -.encounter-container > .encounter-instance { - margin: 5px; - padding: 15px; - border: var(--box-border); - box-shadow: var(--shadow-s); - border-radius: var(--radius-m, 0.5em); -} - -.block-language-encounter { - --header-border-height: 0; - --h4-border-line-height: var(--header-border-height); -} -.block-language-encounter .encounter-container { - grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); -} -.block-language-encounter .encounter-name.encounter-name { - display: block; -} - -.encounter-instance.encounter-instance.encounter-instance .creature-li strong { - font-family: var(--font-monospace); - font-size: calc(var(--font-text-size) - 2px); -} -.encounter-instance.encounter-instance.encounter-instance .encounter-name.encounter-name h3 { - font-size: 20px; - font-weight: 900; - margin-top: -5px; -} -.encounter-instance.encounter-instance.encounter-instance .encounter-creatures.encounter-creatures.encounter-creatures.encounter-creatures h4 { - font-size: 16px; - margin-top: 6px; - margin-bottom: 2px; - color: var(--text); - font-family: var(--font-default); - font-weight: bold; -} -.encounter-instance.encounter-instance.encounter-instance .encounter-name { - justify-content: space-between; -} -.encounter-instance.encounter-instance.encounter-instance ul li.creature-li.creature-li { - width: unset; -} -.encounter-instance.encounter-instance.encounter-instance li::marker { - --list-marker-color: transparent; -} -.encounter-instance.encounter-instance.encounter-instance .dice-roller-result { - font-family: var(--font-monospace); - color: var(--lite-accent); -} -.encounter-instance.encounter-instance.encounter-instance .dice-roller-button { - color: var(--text-faint); - vertical-align: -2px; - margin-right: -5px; -} -.encounter-instance.encounter-instance.encounter-instance .encounter-xp, .encounter-instance.encounter-instance.encounter-instance .xp-parent { - color: var(--initiative-xp); - font-weight: bold; - margin: 0; -} -.encounter-instance.encounter-instance.encounter-instance .xp-parent:after { - content: "\f102"; - /*"\e4fb" f753*/ - font-family: var(--fa5); - color: var(--initiative-xp); - font-weight: 10 !important; - padding-left: 5px; -} -.encounter-instance.encounter-instance.encounter-instance .xp-parent .paren.left, .encounter-instance.encounter-instance.encounter-instance .xp-parent .paren.right, .encounter-instance.encounter-instance.encounter-instance .xp.text { - display: none; -} -.encounter-instance.encounter-instance.encounter-instance ul li:not(:hover) .xp-parent.xp-parent.xp-parent { - display: none; -} - -.block-language-leaflet .leaflet-distance-control, -.leaflet-container .leaflet-control-attribution { - background-color: var(--note) !important; - color: var(--text) !important; -} - -.leaflet-container.leaflet-container { - background-color: var(--outer-bar); -} - -.leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar, .leaflet-touch .leaflet-bar a:first-child { - border: none; - border-radius: var(--radius-s); -} -.leaflet-touch .leaflet-control-expandable, .leaflet-touch .leaflet-bar.leaflet-bar a { - background-color: var(--note); - border-color: var(--table); - color: var(--text); -} - -.leaflet-container .leaflet-control-attribution a { - color: var(--accent2-lite) !important; -} - -.longform-explorer.longform-explorer ul li::before { - display: none; -} -.longform-explorer.longform-explorer button { - cursor: pointer; -} -.longform-explorer.longform-explorer .new-scene-container, .longform-explorer.longform-explorer .tab-list, .longform-explorer.longform-explorer .new-draft-container, .longform-explorer.longform-explorer .compile-container { - border-color: var(--hr); -} -.longform-explorer.longform-explorer #project-picker { - justify-content: space-between; -} -.longform-explorer.longform-explorer #project-picker select { - width: 100%; - text-overflow: ellipsis; -} -.longform-explorer.longform-explorer .tab-list button { - color: var(--headers); -} -.longform-explorer.longform-explorer .tab-list .selected { - border-color: var(--accent); - background-color: var(--outer-bar); - color: var(--text); -} -.longform-explorer.longform-explorer .draft-container.draft-container { - white-space: pre-wrap; -} -.longform-explorer.longform-explorer .drafts-title-container.drafts-title-container button { - color: var(--text); - background-color: var(--interactive-normal); -} -.longform-explorer.longform-explorer .drafts-title-container.drafts-title-container button:hover { - background-color: var(--interactive-accent-hover); -} -.longform-explorer.longform-explorer .longform-compile-container .longform-compile-step { - background: var(--note); - border: var(--box-border); - box-shadow: var(--shadow-s); - padding: 5px 10px; -} -.longform-explorer.longform-explorer .longform-compile-container .longform-step-kind-pill.longform-step-kind-pill { - background-color: var(--tag-background); -} -.longform-explorer.longform-explorer .longform-compile-container .longform-compile-step-options > div { - border-color: var(--lite-accent); -} - -.auto-class-settings__match-list li { - border-radius: var(--radius-s); - --list-marker-color: transparent; -} - -.auto-class-settings__match-group-header:hover, -li.auto-class-settings__match-list-item:hover { - background-color: var(--td); -} - -ul.auto-class-settings__match-group-list { - margin-left: 16px; - border-left: 2px solid var(--accent); -} - -.auto-class-manage-match__class-list-item { - justify-content: start; - flex-direction: row-reverse; - --list-marker-color: transparent; -} -.auto-class-manage-match__class-list-item span { - margin-right: 10px; -} -.auto-class-manage-match__class-list-item .auto-class-manage-match__class-list-control { - margin-bottom: -4px; -} - -.qe-popup-menu .menu-item { - --interactive-accent-hover: var(--dark-accent); -} - -.menu-item.is-qe-folder { - font-weight: var(--folder-weight); -} - -object.link-favicon { - height: inherit !important; - margin-right: 5px; -} - -/* Heatmap Calendar Fix */ -.heatmap-calendar-graph { - --heatmap-background: var(--outer-bar); - --heatmap-today-border-color: var(--accent); - --heatmap-today-border-width: 1px; - --root-list-spacing: 0; - --list-indent: 0; -} -.heatmap-calendar-graph ul li { - border: 0; -} -.heatmap-calendar-graph ul li::before { - display: none; -} -.heatmap-calendar-graph .heatmap-calendar-boxes .isEmpty { - background-color: var(--heatmap-background); -} -.heatmap-calendar-graph .heatmap-calendar-boxes .today { - border-color: var(--heatmap-today-border-color); - border-width: var(--heatmap-today-border-width); -} - -/*Emoji Toolbar*/ -img.emoji.emoji { - object-fit: cover; -} - -.folder-note-underline .has-folder-note .nav-folder-title-content, -.alx-folder-with-note.nav-folder > .nav-folder-title > .nav-folder-title-content { - text-decoration-color: var(--lite-accent); -} - -.folder-note-underline .has-folder-note .nav-folder-title-content.nav-folder-title.is-active, -.alx-folder-with-note.nav-folder .nav-folder-title.is-active { - color: var(--text-dl); -} - -.fn-whitespace-stop-collapsing .nav-folder-title, .fn-whitespace-stop-collapsing .nav-folder-title-content { - padding: var(--explorer-item-padding) !important; -} -.fn-whitespace-stop-collapsing .nav-folder-title-content { - padding-left: 0 !important; -} - -.settings-search-input { - padding: 8px 6px; - border: 0; -} - -/* MAKE.md */ -.mk-sidebar { - --nav-item-background-selected: var(--nav-item-background-active); - --file-header-color-active: var(--text-dl); - --nav-item-color-selected: var(--text-dl); -} -.mk-sidebar .mk-main-menu-button:hover { - color: var(--text-dl); -} -.mk-sidebar .mk-tree-text::before { - display: none; -} -.mk-sidebar .mk-tree-item { - --vertical-padding: unset; -} -.mk-sidebar .mk-tree-item.is-selected, .mk-sidebar .mk-tree-item.is-active, .mk-sidebar .mk-tree-item:hover { - --folder-open-text-color: var(--text-dl); -} -.mk-sidebar .mk-tree-item.is-selected svg, .mk-sidebar .mk-tree-item.is-active svg, .mk-sidebar .mk-tree-item:hover svg { - --icon-color: var(--text-dl); - color: var(--text-dl); -} -.mk-sidebar .mk-tree-item.tree-item-self { - gap: 1px; -} - -.cm-s-obsidian .templater-command-bg, .cm-s-obsidian .templater-inline .cm-templater-command { - background-color: var(--code-bg); - box-shadow: var(--code-shadow); -} - -.oit li::before { - --bullet: ""; - --list-marker-color: transparent; -} - -.oit .oit-img-toolbar li::before { - margin-left: 0; -} - -.oit-normal .oit-img-footer .oit-img-toolbar > li[class]::before { - margin-inline: revert; -} - -/* Vault Icon */ -.vault-icon { - --vault-icon-image: ""; - --vault-icon-width: 32px; - --vault-icon-height: 28px; - --vault-icon-padding: 10px; -} - -.vault-icon .mod-left .workspace-drawer-header::before, .vault-icon .workspace-sidedock-vault-profile::before { - content: ""; - background-image: var(--vault-icon-image); - background-size: contain; - background-repeat: no-repeat; - width: var(--vault-icon-width); - height: var(--vault-icon-height); -} -.vault-icon .mod-left .workspace-drawer-header::before { - margin-right: var(--vault-icon-padding); -} - -.vault-title-none .nav-folder.mod-root > .nav-folder-title { - display: none; -} - -body { - --folder-icon: ""; - --folder-font: var(--its); - --file-icon: ""; - --file-font: var(--its); - --file-icon-margin: 6px; - --nav-item-children-padding-left: 2px; - --folder-icon-open-color: var(--folder-open); - --folder-icon-color: var(--folder); -} - -/*Nav Folder/File Icons*/ -.nav-folder-children .nav-folder-title .nav-folder-title-content::before, -.nav-folder-title .nav-folder-title-content::before, -.nav-file-title .nav-file-title-content::before { - margin-inline-end: var(--file-icon-margin); - float: inline-start; - font-size: var(--nav-item-size); - font-weight: 10; - width: var(--nav-item-size); - height: var(--nav-item-size); -} - -.nav-folder-children .nav-folder-title-content::before, -.nav-folder-title-content::before { - content: var(--folder-icon); - font-family: var(--folder-font); - color: var(--folder-icon-color); - text-align: center; -} - -.nav-folder-children .nav-folder:not(.is-collapsed) > .nav-folder-title .nav-folder-title-content::before, -.nav-folder:not(.is-collapsed) > .nav-folder-title .nav-folder-title-content::before { - color: var(--folder-icon-open-color); -} -.nav-folder-children .nav-folder:not(.is-collapsed) > .nav-folder-title .nav-folder-title-content:hover::before, -.nav-folder:not(.is-collapsed) > .nav-folder-title .nav-folder-title-content:hover::before { - color: var(--nav-item-color-active); -} - -.nav-file-title .nav-file-title-content::before { - content: var(--file-icon); - font-family: var(--file-font); - text-align: center; - color: var(--file-icon-color); -} - -.nav-folder-title:is(.is-active, :hover) .nav-folder-title-content::before, -.nav-file-title:is(.is-active, :hover) .nav-file-title-content::before, -.nav-file-title:is(.is-active, :hover) .nav-file-icon { - color: var(--nav-item-color-active); -} - -.file-explorer-flat { - --explorer-root-folder-margin: 0 0 7px 0; - --explorer-root-folder-padding: 0; - --explorer-root-folder-indentation-width: 0; - --explorer-root-folder-background: var(--folder); - --explorer-root-background: hsla(var(--color-accent-hsl), 0.3); - --explorer-root-folder-color: var(--text, var(--nav-item-color)); - --explorer-root-folder-open-background: var(--folder); - --explorer-root-folder-open-color: var(--text-on-accent); - --explorer-folder-open-background: var(--td, var(--background-modifier-cover)); - --explorer-folder-icon-color: var(--explorer-root-folder-background); - --explorer-root-collapsed-background: transparent; - --explorer-root-folder-indentation-color: var(--explorer-root-folder-background); -} -.file-explorer-flat .nav-folder.mod-root > .nav-folder-children > .nav-folder > .nav-folder-children, .file-explorer-flat .nav-files-container > div > .nav-folder > .nav-folder-children { - margin: var(--explorer-root-folder-margin); - padding-left: var(--explorer-root-folder-padding); - border-width: var(--explorer-root-folder-indentation-width); - border-color: var(--explorer-root-folder-indentation-color); - border-bottom: 2px solid var(--explorer-root-folder-background); - background-color: var(--explorer-root-background); - --nav-indentation-guide-color: var(--explorer-root-folder-indentation-color); -} -.file-explorer-flat .nav-folder.mod-root > .nav-folder-children > .nav-folder.is-collapsed > .nav-folder-title:not(:hover), .file-explorer-flat .nav-files-container > div > .nav-folder.is-collapsed > .nav-folder-title:not(:hover) { - background-color: var(--explorer-root-collapsed-background); - color: var(--explorer-root-folder-color); -} -.file-explorer-flat .nav-folder.mod-root > .nav-folder-children > .nav-folder:not(.is-collapsed) > .nav-folder-title:not(:hover), .file-explorer-flat .nav-files-container > div > .nav-folder:not(.is-collapsed) > .nav-folder-title:not(:hover) { - background-color: var(--explorer-root-folder-open-background); - border-bottom-color: var(--explorer-root-folder-background); - color: var(--explorer-root-folder-open-color); - --folder-icon-open-color: var(--explorer-root-folder-open-color); -} -.file-explorer-flat .nav-folder.mod-root > .nav-folder-children > .nav-folder:not(.is-collapsed) > .nav-folder-title:not(:hover) .collapse-icon, .file-explorer-flat .nav-files-container > div > .nav-folder:not(.is-collapsed) > .nav-folder-title:not(:hover) .collapse-icon { - --nav-collapse-icon-color: var(--explorer-root-folder-open-color); -} -.file-explorer-flat .nav-folder.mod-root > .nav-folder-children > .nav-folder .nav-folder-title, .file-explorer-flat .nav-files-container > div > .nav-folder .nav-folder-title { - align-items: center; -} -.file-explorer-flat .nav-folder.mod-root > .nav-folder-children > .nav-folder .nav-folder-collapse-indicator, .file-explorer-flat .nav-files-container > div > .nav-folder .nav-folder-collapse-indicator { - --nav-collapse-icon-color: var(--nav-item-color); -} -.file-explorer-flat .mod-root .nav-folder-children > .nav-folder:not(.is-collapsed) > .nav-folder-title > .nav-folder-title-content, .file-explorer-flat .nav-folder:not(.is-collapsed) > .nav-folder-title > .nav-folder-title-content { - text-align: center; - transition: cubic-bezier(1, 0, 0, 1); - text-transform: uppercase; - letter-spacing: 0.25em; - padding: 3px 0; - width: 100%; -} -.file-explorer-flat .mod-root .nav-folder-children > .nav-folder:not(.is-collapsed) > .nav-folder-title > .nav-folder-title-content::before, .file-explorer-flat .nav-folder:not(.is-collapsed) > .nav-folder-title > .nav-folder-title-content::before { - float: left; -} -.file-explorer-flat .mod-root .nav-folder-children > .nav-folder:not(.is-collapsed) > .nav-folder-children > .nav-folder:not(.is-collapsed) > .nav-folder-title:not(:hover), .file-explorer-flat .nav-folder .nav-folder:not(.is-collapsed) > .nav-folder-title:not(:hover) { - background-color: var(--explorer-folder-open-background); - border-bottom-color: var(--explorer-root-folder-background); -} -.file-explorer-flat .mod-root .nav-folder-children > .nav-folder:not(.is-collapsed) > .nav-folder-children > .nav-folder:not(.is-collapsed) > .nav-folder-title:not(:hover) > .nav-folder-title-content::before, .file-explorer-flat .nav-folder .nav-folder:not(.is-collapsed) > .nav-folder-title:not(:hover) > .nav-folder-title-content::before { - color: var(--folder-open-text-color); -} - -body.folder-arrow .nav-files-container .nav-folder-title:hover .tree-item-icon.collapse-icon, body.folder-arrow .nav-files-container .nav-folder-title:hover .nav-folder-collapse-indicator, body.folder-arrow .nav-files-container .nav-folder-title:hover .tree-item-icon.nav-folder-collapse-indicator { - display: flex; - margin-left: -2px; -} -body.folder-arrow .nav-files-container .tree-item-self.is-active .collapse-icon svg { - color: var(--text-dl); -} -body.folder-arrow .nav-files-container .nav-folder-children .nav-folder-title:hover .nav-folder-title-content::before { - margin-left: var(--file-icon-margin); -} - -body.folder-arrow-display .nav-folder .tree-item-icon.collapse-icon { - margin-right: 4px; -} - -.file-explorer-boldless { - --folder-weight: 500; - --nav-item-weight-hover: 500; -} - -.file-explorer-boldless-hover { - --nav-item-weight-hover: inherit; -} - -body { - --image-border-color: var(--background-modifier-border); - --image-border-width: 1px; - --image-border-padding: 8px; - --image-border-background: var(--td); -} - -/*----Image Positions/Adjustments----*/ -body { - --micro: 70px; - --tiny: 100px; - --small: 200px; - --small-med: 300px; - --med-small: 400px; - --medium: 500px; - --med-tall: 600px; - --tall: 700px; -} - -.popover.hover-popover { - --micro: 70px; - --tiny: 100px; - --small: 150px; - --small-med: 200px; - --med-small: 250px; - --medium: 300px; - --med-tall: 450px; - --tall: 500px; -} - -/*----Mobile----*/ -@media (max-width: 500px) { - .theme-dark, .theme-light { - /*Mobile Sizes*/ - --radius: 0px; - --micro: 70px; - --tiny: 100px; - --small: 150px; - --small-med: 200px; - --med-small: 250px; - --medium: 300px; - --med-tall: 450px; - --tall: 500px; - } -} -/*-Image Sizing-*/ -/*Fit image within bounds WITHOUT stretching*/ -img:is([alt*=cover], [alt*=cvr]), -.image-embed:is([src*="#cover"], [src*="#cvr"]), -span.image-embed:is([src*="#cover"], [src*="#cvr"]) img { - object-fit: cover; -} - -img[alt][alt]:not([alt*=relative])[alt*=hmicro] { - height: var(--micro); -} -img[alt][alt]:not([alt*=relative])[alt*=htiny] { - height: var(--tiny); -} -img[alt][alt]:not([alt*=relative])[alt*=hsmall] { - height: var(--small); -} -img[alt][alt]:not([alt*=relative])[alt*=hs-med] { - height: var(--small-med); -} -img[alt][alt]:not([alt*=relative])[alt*=hm-sm] { - height: var(--med-small); -} -img[alt][alt]:not([alt*=relative])[alt*=hmed] { - height: var(--medium); -} -img[alt][alt]:not([alt*=relative])[alt*=hm-tl] { - height: var(--med-tall); -} -img[alt][alt]:not([alt*=relative])[alt*=htall] { - height: var(--tall); -} -img[alt][alt]:not([alt*=relative])[alt*=hfull] { - height: 100%; -} -img[alt][alt]:not([alt*=relative])[alt*=wmicro] { - width: var(--micro); -} -img[alt][alt]:not([alt*=relative])[alt*=wtiny] { - width: var(--tiny); -} -img[alt][alt]:not([alt*=relative])[alt*=wsmall] { - width: var(--small); -} -img[alt][alt]:not([alt*=relative])[alt*=ws-med] { - width: var(--small-med); -} -img[alt][alt]:not([alt*=relative])[alt*=wm-sm] { - width: var(--med-small); -} -img[alt][alt]:not([alt*=relative])[alt*=wmed] { - width: var(--medium); -} -img[alt][alt]:not([alt*=relative])[alt*=wm-tl] { - width: var(--med-tall); -} -img[alt][alt]:not([alt*=relative])[alt*=wtall] { - width: var(--tall); -} -img[alt][alt]:not([alt*=relative])[alt*=wfull] { - width: 100%; -} - -.image-embed[alt][alt*=relative], -div:not(.image-embed) > img[alt][alt*=relative] { - --micro: 10%; - --tiny: 20%; - --small: 30%; - --small-med: 40%; - --med-small: 50%; - --medium: 60%; - --med-tall: 70%; - --tall: 85%; -} -.image-embed[alt][alt*=relative][alt*=wmicro], -div:not(.image-embed) > img[alt][alt*=relative][alt*=wmicro] { - width: var(--micro); -} -.image-embed[alt][alt*=relative][alt*=wtiny], -div:not(.image-embed) > img[alt][alt*=relative][alt*=wtiny] { - width: var(--tiny); -} -.image-embed[alt][alt*=relative][alt*=wsmall], -div:not(.image-embed) > img[alt][alt*=relative][alt*=wsmall] { - width: var(--small); -} -.image-embed[alt][alt*=relative][alt*=ws-med], -div:not(.image-embed) > img[alt][alt*=relative][alt*=ws-med] { - width: var(--small-med); -} -.image-embed[alt][alt*=relative][alt*=wm-sm], -div:not(.image-embed) > img[alt][alt*=relative][alt*=wm-sm] { - width: var(--med-small); -} -.image-embed[alt][alt*=relative][alt*=wmed], -div:not(.image-embed) > img[alt][alt*=relative][alt*=wmed] { - width: var(--medium); -} -.image-embed[alt][alt*=relative][alt*=wm-tl], -div:not(.image-embed) > img[alt][alt*=relative][alt*=wm-tl] { - width: var(--med-tall); -} -.image-embed[alt][alt*=relative][alt*=wtall], -div:not(.image-embed) > img[alt][alt*=relative][alt*=wtall] { - width: var(--tall); -} -.image-embed[alt][alt*=relative][alt*=hmicro], -div:not(.image-embed) > img[alt][alt*=relative][alt*=hmicro] { - width: var(--micro); -} -.image-embed[alt][alt*=relative][alt*=htiny], -div:not(.image-embed) > img[alt][alt*=relative][alt*=htiny] { - width: var(--tiny); -} -.image-embed[alt][alt*=relative][alt*=hsmall], -div:not(.image-embed) > img[alt][alt*=relative][alt*=hsmall] { - width: var(--small); -} -.image-embed[alt][alt*=relative][alt*=hs-med], -div:not(.image-embed) > img[alt][alt*=relative][alt*=hs-med] { - width: var(--small-med); -} -.image-embed[alt][alt*=relative][alt*=hm-sm], -div:not(.image-embed) > img[alt][alt*=relative][alt*=hm-sm] { - width: var(--med-small); -} -.image-embed[alt][alt*=relative][alt*=hmed], -div:not(.image-embed) > img[alt][alt*=relative][alt*=hmed] { - width: var(--medium); -} -.image-embed[alt][alt*=relative][alt*=hm-tl], -div:not(.image-embed) > img[alt][alt*=relative][alt*=hm-tl] { - width: var(--med-tall); -} -.image-embed[alt][alt*=relative][alt*=htall], -div:not(.image-embed) > img[alt][alt*=relative][alt*=htall] { - width: var(--tall); -} -.image-embed[alt][alt*=relative][alt*=hfull], -div:not(.image-embed) > img[alt][alt*=relative][alt*=hfull] { - width: 100%; -} - -.image-embed[alt][alt*=relative], -div:not(.image-embed) > img[alt][alt*=relative] { - display: block; - margin: auto; - max-height: 100%; - object-fit: cover; -} - -/*Height*/ -/*Image Locations*/ -/*Center Image*/ -.img-adj-center.img-adj-center img, -img:is([alt*=ctr], [alt*=center]) { - display: block; - margin-left: auto; - margin-right: auto; -} - -.img-adj-center.img-adj-center .is-live-preview img { - margin-left: auto !important; - margin-right: auto !important; -} - -/*Left & Right*/ -.markdown-rendered img:is([alt*=left], [alt*=locl]), .markdown-rendered img:is([src*="#left"], [src*="#locl"]), .markdown-rendered .image-embed:is([alt*=left], [alt*=locl]), .markdown-rendered .image-embed:is([src*="#left"], [src*="#locl"]) { - float: left; - margin-right: 2%; - margin-top: 0px; - margin-bottom: 0px; -} -.markdown-rendered img:is([alt*=right], [alt*=locr]), .markdown-rendered img:is([src*="#right"], [src*="#locr"]), .markdown-rendered .image-embed:is([alt*=right], [alt*=locr]), .markdown-rendered .image-embed:is([src*="#right"], [src*="#locr"]) { - float: right; - margin-left: 2%; - margin-bottom: 0px; -} - -/*--Image Position--*/ -img[alt*="p+"], .image-embed[src*="#p+"] img { - object-fit: cover; -} - -/*Inner Image*/ -img[alt*="p+c"], .image-embed[src*="#p+c"] img { - object-position: center; -} - -img[alt*="p+t"], .image-embed[src*="#p+t"] img { - object-position: top; -} - -img[alt*="p+b"], .image-embed[src*="#p+b"] img { - object-position: bottom; -} - -img[alt*="p+l"], .image-embed[src*="#p+l"] img { - object-position: left; -} - -img[alt*="p+r"], .image-embed[src*="#p+r"] img { - object-position: right; -} - -img[alt*="p+cl"], .image-embed[src*="#p+cl"] img { - object-position: 15%; -} - -img[alt*="p+ccl"], .image-embed[src*="#p+ccl"] img { - object-position: 25%; -} - -img[alt*="p+cr"], .image-embed[src*="#p+cr"] img { - object-position: 60%; -} - -img[alt*="p+ccr"], .image-embed[src*="#p+ccr"] img { - object-position: 75%; -} - -img[alt*="p+tc"], .image-embed[src*="#p+tc"] img { - object-position: 50% 10%; -} - -img[alt*="p+tcc"], .image-embed[src*="#p+tcc"] img { - object-position: 50% 20%; -} - -img[alt*="p+cct"], .image-embed[src*="#p+cct"] img { - object-position: 50% 30%; -} - -img[alt*="p+ct"], .image-embed[src*="#p+ct"] img { - object-position: 50% 40%; -} - -img[alt*="p+cb"], .image-embed[src*="#p+cb"] img { - object-position: 50% 60%; -} - -img[alt*="p+ccb"], .image-embed[src*="#p+ccb"] img { - object-position: 50% 70%; -} - -img[alt*="p+bc"], .image-embed[src*="#p+bc"] img { - object-position: 50% 80%; -} - -img[alt*="p+bcc"], .image-embed[src*="#p+bcc"] img { - object-position: 50% 90%; -} - -/*Invert Colors*/ -.theme-dark img[alt*=invertb], .theme-dark .image-embed[src*="#invertb"] { - filter: invert(1) hue-rotate(180deg); -} -.theme-dark img[alt*=invertbc], -.theme-dark .image-embed[src*="#invertbc"] { - filter: invert(1) hue-rotate(180deg) contrast(1.5); -} - -.theme-light img[alt*=invertw], .theme-light .image-embed[src*="#invertw"] { - filter: invert(1) hue-rotate(180deg); -} -.theme-light img[alt*=invertwc], .theme-light .image-embed[src*="#invertwc"] { - filter: invert(1) hue-rotate(180deg) contrast(1.45); -} - -img:is([alt*=flip-x], -[alt*=flip-horizontal]) { - transform: scale(-1, 1); -} -img:is([alt*=flip-y], -[alt*=flip-vertical]) { - transform: scale(1, -1); -} -img:is([alt*=flip-xy], -[alt*=flip-vertical-horizontal]) { - transform: scale(-1, -1); -} - -/*Fit image within bounds WITHOUT stretching*/ -img[alt*=cover], -img:is([alt*=cover], [alt*=cvr]), -.image-embed:is([src*="#cover"], [src*="#cvr"]), -span.image-embed:is([src*="#cover"], [src*="#cvr"]) img { - object-fit: cover; -} - -/*Fix Float Issues*/ -:is(img, .image-embed)[alt*=clear], -.image-embed[src*="#clear"] { - clear: both; -} - -img[alt*=unclr], -.image-embed[src*="#unclr"] { - clear: none !important; -} - -img:is([alt~=lp], [alt~=live-preview]):is([alt*=right], [alt*=locr]), -.image-embed:is([alt~=lp], [alt~=live-preview]):is([alt*=right], [alt*=locr]) { - float: right !important; -} -img:is([alt~=lp], [alt~=live-preview]):is([alt*=left], [alt*=locl]), -.image-embed:is([alt~=lp], [alt~=live-preview]):is([alt*=left], [alt*=locl]) { - float: left !important; -} - -.clear-hr { - --hr-width: 100%; -} - -.clear-headings :is(h1, h2, h3, h4, h5, h6), -.clear-heading-1 h1, -.clear-heading-2 h2, -.clear-heading-3 h3, -.clear-heading-4 h4, -.clear-heading-5 h5, -.clear-heading-6 h6 { - clear: both; -} - -/*Banners*/ -img[alt*=banner]:not([width]), -.image-embed[alt*=banner]:not([width]) img { - display: block; - object-fit: cover; - width: 100%; - margin-bottom: 0px; - clear: both; -} - -img[alt~=banner], -.image-embed[alt~=banner] img, -.image-embed[src*="#banner"] { - height: var(--small); -} - -img[alt~="banner+small"], -.image-embed[alt~="banner+small"] img, -.image-embed[src*="#banner+small"] { - height: var(--tiny); -} - -img[alt~="banner+tall"], -.image-embed[alt~="banner+tall"] img, -.image-embed[src*="#banner+tall"] { - height: var(--medium); -} - -:is(img, .internal-embed)[alt*=sban], -:is(img, .internal-embed)[alt~=sban], -.internal-embed[src*="#sban"] img { - object-fit: cover; - width: 100%; -} - -/*Portait*/ -img[alt*=portrait], -.image-embed[alt*=portrait] img { - object-fit: cover; -} - -.image-embed[src~="#portrait"] { - height: var(--small-med); - width: 40%; -} - -.image-embed[src~="#portrait+small"] { - height: var(--small); - width: 25%; -} - -.image-embed[src~="#portrait+tall"] { - height: 500px; - width: 50%; -} - -img:is([alt~=portrait], -[alt*="portrait+"]), -.image-embed:is([alt~=portrait], -[alt*="portrait+"]) img { - --img-adj-portrait-size: var(--med-small); - height: var(--img-adj-portrait-size); - width: calc(var(--img-adj-portrait-size) / 1.7); -} - -img[alt~="portrait+small"], -.image-embed[alt~="portrait+small"] img { - --img-adj-portrait-size: var(--small-med); -} - -img[alt~="portrait+tall"], -.image-embed[alt~="portrait+tall"] img { - --img-adj-portrait-size: var(--medium); -} - -/*Profile*/ -img[alt*=profile], -.image-embed[alt*=profile] img { - object-fit: cover; - border-radius: 50%; -} - -img[alt~=profile], -.image-embed[alt~=profile] img, -.image-embed[src*="#profile"] { - height: var(--tiny); - width: var(--tiny); -} - -img[alt~="profile+medium"], -.image-embed[alt~="profile+medium"] img, -.image-embed[src*="#profile+medium"] { - height: var(--small); - width: var(--small); -} - -img[alt~="profile+tall"], -.image-embed[alt~="profile+tall"] img, -.image-embed[src*="#profile+tall"] { - height: var(--medium); - width: var(--medium); -} - -img[alt~=sprf] { - object-fit: cover; - border-radius: 100%; -} - -/*Image Shapes*/ -img[alt][alt*=circle] { - border-radius: 50%; -} - -img[alt~=square], -.image-embed[alt~=square] img { - border-radius: 0; -} - -img[alt~=border], -.internal-embed[alt~=border] img { - border: var(--image-border-width) solid var(--image-border-color); - padding: var(--image-border-padding); - background: var(--image-border-background); -} - -.image-captions .image-embed::after, -.image-embed[src*="#cap"]::after { - content: attr(alt); - color: var(--inactive, var(--faint-text)); - display: block; - text-align: center; -} - -.image-embed[src*="#cap"] { - display: inline-block; -} -.image-embed[src*="#cap"] img { - float: unset !important; - object-fit: cover; -} -.image-embed[src*="#cap"][src*="#hmicro"] img { - height: var(--micro); -} -.image-embed[src*="#cap"][src*="#htiny"] img { - height: var(--tiny); -} -.image-embed[src*="#cap"][src*="#hsmall"] img { - height: var(--small); -} -.image-embed[src*="#cap"][src*="#hs-med"] img { - height: var(--small-med); -} -.image-embed[src*="#cap"][src*="#hm-sm"] img { - height: var(--med-small); -} -.image-embed[src*="#cap"][src*="#hmed"] img { - height: var(--medium); -} -.image-embed[src*="#cap"][src*="#hm-tl"] img { - height: var(--med-tall); -} -.image-embed[src*="#cap"][src*="#htall"] img { - height: var(--tall); -} -.image-embed[src*="#cap"][src*="#hfull"] img { - height: 100%; -} -.image-embed[src*="#cap"][src*="#wmicro"], .image-embed[src*="#cap"][src*="#wmicro"] img { - width: var(--micro); -} -.image-embed[src*="#cap"][src*="#wtiny"], .image-embed[src*="#cap"][src*="#wtiny"] img { - width: var(--tiny); -} -.image-embed[src*="#cap"][src*="#wsmall"], .image-embed[src*="#cap"][src*="#wsmall"] img { - width: var(--small); -} -.image-embed[src*="#cap"][src*="#ws-med"], .image-embed[src*="#cap"][src*="#ws-med"] img { - width: var(--small-med); -} -.image-embed[src*="#cap"][src*="#wm-sm"], .image-embed[src*="#cap"][src*="#wm-sm"] img { - width: var(--med-small); -} -.image-embed[src*="#cap"][src*="#wmed"], .image-embed[src*="#cap"][src*="#wmed"] img { - width: var(--medium); -} -.image-embed[src*="#cap"][src*="#wm-tl"], .image-embed[src*="#cap"][src*="#wm-tl"] img { - width: var(--med-tall); -} -.image-embed[src*="#cap"][src*="#wtall"], .image-embed[src*="#cap"][src*="#wtall"] img { - width: var(--tall); -} -.image-embed[src*="#cap"][src*="#wfull"], .image-embed[src*="#cap"][src*="#wfull"] img { - width: 100%; -} - -.mobile-image-viewer img[alt][alt][alt] { - height: 100%; - width: 100%; - object-fit: contain; -} - -.internal-embed:not(.image-embed)[alt*=htiny] .markdown-embed-content { - height: var(--tiny); -} -.internal-embed:not(.image-embed)[alt*=hsmall] .markdown-embed-content { - height: var(--small); -} -.internal-embed:not(.image-embed)[alt*=hs-med] .markdown-embed-content { - height: var(--small-med); -} -.internal-embed:not(.image-embed)[alt*=hm-sm] .markdown-embed-content { - height: var(--med-small); -} -.internal-embed:not(.image-embed)[alt*=hmed] .markdown-embed-content { - height: var(--medium); -} -.internal-embed:not(.image-embed)[alt*=hm-tl] .markdown-embed-content { - height: var(--med-tall); -} -.internal-embed:not(.image-embed)[alt*=htall] .markdown-embed-content { - height: var(--tall); -} -.internal-embed:not(.image-embed)[alt*=full] .markdown-embed-content, .internal-embed:not(.image-embed)[alt*=full] .markdown-embed-content > .markdown-preview-view { - max-height: unset; -} -.internal-embed:not(.image-embed)[alt*=wtiny] { - width: 20%; -} -.internal-embed:not(.image-embed)[alt*=wsmall] { - width: 30%; -} -.internal-embed:not(.image-embed)[alt*=ws-med] { - width: 40%; -} -.internal-embed:not(.image-embed)[alt*=wm-small] { - width: 50%; -} -.internal-embed:not(.image-embed)[alt*=wmed] { - width: 60%; -} -.internal-embed:not(.image-embed)[alt*=wm-tl] { - width: 80%; -} -.internal-embed:not(.image-embed)[alt*=wtall] { - width: 95%; -} - -.internal-embed[alt*=right] { - float: right; - margin-left: 0.5em; -} - -.internal-embed[alt*=left] { - float: left; - margin-right: 0.5em; -} - -.internal-embed[alt*=center] { - margin: auto; -} - -:not(.lp-embed-float) .is-live-preview .internal-embed:is([alt*=right], [alt*=left]) { - float: unset; -} - -/*Embed Link Hide/Move*/ -.internal-embed:is([alt~=lk-hvr], [alt~=link-hover]):not(:hover) .markdown-embed-link, -.internal-embed:is([alt~=nlk], [alt~=no-link]) .markdown-embed-link { - display: none; -} - -.internal-embed:is([alt*=lk-l], [alt~=link-left]) .markdown-embed-link { - left: 10px; - right: unset; -} - -.internal-embed:is([alt*=lk-clear], [alt~=link-clear]) .markdown-embed-link { - background-color: transparent; -} - -/*Title Hide/Show*/ -.internal-embed:is([alt~=no-t], -[alt~=no-title]) .markdown-embed-title, -.file-embed-title { - display: none; -} - -.internal-embed:is([alt~=no-inline-title], -[alt~=no-it]) .inline-title, -.file-embed-title { - display: none; -} - -.internal-embed:is([alt~=ttl], -[alt~=title]) .markdown-embed-title, -.file-embed-title { - display: block; -} - -/*Hide Headings*/ -.internal-embed[alt~=no-h] .markdown-embed :is(h1, -h2, -h3, -h4, -h5, -h6), -.internal-embed[alt~=no-h].markdown-embed :is(h1, -h2, -h3, -h4, -h5, -h6) { - display: none; -} - -/*Hide Specific Headings*/ -.internal-embed[alt~=no-h1] .markdown-embed h1, -.internal-embed[alt~=no-h2] .markdown-embed h2, -.internal-embed[alt~=no-h3] .markdown-embed h3, -.internal-embed[alt~=no-h4] .markdown-embed h4, -.internal-embed[alt~=no-h5] .markdown-embed h5, -.internal-embed[alt~=no-h6] .markdown-embed h6, -.internal-embed[alt~=no-h1].markdown-embed h1, -.internal-embed[alt~=no-h2].markdown-embed h2, -.internal-embed[alt~=no-h3].markdown-embed h3, -.internal-embed[alt~=no-h4].markdown-embed h4, -.internal-embed[alt~=no-h5].markdown-embed h5, -.internal-embed[alt~=no-h6].markdown-embed h6 { - display: none; -} - -.internal-embed:is([alt~=no-margin], [alt~=nmg]) { - --embed-padding: 0; - --embed-title-padding: 0; -} - -.internal-embed[alt~=collapse] { - --embed-padding:0; - --embed-title-padding: 0; - --p-spacing: 0; -} -.internal-embed[alt~=collapse] *:not(.tag, .callout) { - margin-block-start: 0; - margin-block-end: 0; -} - -body.embed-mini-headers .markdown-embed { - --h1-size: var(--embed-header-size); - --h2-size: var(--embed-header-size); - --h3-size: var(--embed-header-size); - --h4-size: var(--embed-header-size); - --h5-size: var(--embed-header-size); - --h6-size: var(--embed-header-size); -} - -/*Clean Embeds*/ -.embed-clean .internal-embed > .markdown-embed, .embed-clean .internal-embed.is-loaded:not(.image-embed), -.internal-embed[alt*=clean] > .markdown-embed, -.internal-embed[alt*=clean].is-loaded:not(.image-embed) { - --embed-padding: 0; - border: none; - box-shadow: none; -} -.embed-clean .internal-embed > .markdown-embed:not(:hover), .embed-clean .internal-embed.is-loaded:not(.image-embed):not(:hover), -.internal-embed[alt*=clean] > .markdown-embed:not(:hover), -.internal-embed[alt*=clean].is-loaded:not(.image-embed):not(:hover) { - --embed-border-color: transparent; - --embed-border-left-color: var(--embed-border-color); - --embed-border-right-color: var(--embed-border-color); - --embed-border-top-color: var(--embed-border-color); - --embed-border-bottom-color: var(--embed-border-color); - --embed-border-left: var(--embed-thickness) var(--embed-border-type) var(--embed-border-left-color); - --embed-border-right: var(--embed-thickness) var(--embed-border-type) var(--embed-border-right-color); - --embed-border-top: var(--embed-thickness) var(--embed-border-type) var(--embed-border-top-color); - --embed-border-bottom: var(--embed-thickness) var(--embed-border-type) var(--embed-border-bottom-color); -} -.embed-clean .internal-embed.inline-embed, -.internal-embed[alt*=clean].inline-embed { - --embed-title-padding: 0; -} - -.embed-dark-background { - --embed-background: var(--embed-bg); - --embed-border-left-color: transparent; - --embed-border-color-hover: var(--accent); - --embed-border-left-color-hover: var(--embed-border-color-hover); - --embed-border-right-color-hover: var(--embed-border-color-hover); - --embed-border-top-color-hover: var(--embed-border-color-hover); - --embed-border-bottom-color-hover: var(--embed-border-color-hover); - --hr-icon-background: var(--embed-bg); - --blockquote-background-color: linear-gradient(to right, var(--note), transparent); - --table-border-color: var(--embed-bg); -} - -.theme-dark { - --chbx-q: 253, 175, 0; - --chbx-h: 92, 118, 153; - --chbx-d: 62, 69, 82; - --chbx-i: 194, 42, 42; - --chbx-a: 248, 114, 181; - --chbx-R: 170, 179, 202; - --chbx-id:231, 231, 171; - --chbx-B: 136, 94, 233; - --chbx-P: 79, 165, 79; - --chbx-C: 207, 67, 67; - --chbx-N: 133, 91, 65; - --chbx-b: 230, 129, 63; - --chbx-I: 82, 139, 212; - --chbx-c: 149, 233, 238; - --chbx-r: 249, 190, 123; -} - -.theme-light { - --chbx-q: 253, 175, 0; - --chbx-h: 168, 177, 189; - --chbx-d: 203, 212, 235; - --chbx-i: 219, 1, 1; - --chbx-a: 248, 114, 181; - --chbx-R: 159, 186, 223; - --chbx-id:202, 199, 0; - --chbx-B: 182, 118, 255; - --chbx-P: 79, 165, 79; - --chbx-C: 214, 108, 108; - --chbx-N: 161, 106, 73; - --chbx-b: 251, 146, 76; - --chbx-I: 82, 139, 212; - --chbx-c: 149, 217, 238; - --chbx-r: 249, 190, 123; -} - -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task]:is([data-task=X], -[data-task=">"], -[data-task="-"], -[data-task=D], -[data-task="?"], -[data-task="/"], -[data-task="+"], -[data-task=R], -[data-task="!"], -[data-task=i], -[data-task=B], -[data-task=P], -[data-task=C], -[data-task=Q], -[data-task=N], -[data-task=b], -[data-task=I], -[data-task=p], -[data-task=L], -[data-task=E], -[data-task=A], -[data-task=r], -[data-task=c], -[data-task=o], -[data-task=d], -[data-task=T], -[data-task=t], -[data-task=O], -[data-task=F], -[data-task=W], -[data-task="~"], -[data-task="@"], -[data-task=f], -[data-task=a], -[data-task="&"], -[data-task=s], -[data-task=H], -[data-task="<"]) :is(.task-list-label, p) > input:is([type=checkbox], [type=checkbox i]):checked, body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task]:is([data-task=X], -[data-task=">"], -[data-task="-"], -[data-task=D], -[data-task="?"], -[data-task="/"], -[data-task="+"], -[data-task=R], -[data-task="!"], -[data-task=i], -[data-task=B], -[data-task=P], -[data-task=C], -[data-task=Q], -[data-task=N], -[data-task=b], -[data-task=I], -[data-task=p], -[data-task=L], -[data-task=E], -[data-task=A], -[data-task=r], -[data-task=c], -[data-task=o], -[data-task=d], -[data-task=T], -[data-task=t], -[data-task=O], -[data-task=F], -[data-task=W], -[data-task="~"], -[data-task="@"], -[data-task=f], -[data-task=a], -[data-task="&"], -[data-task=s], -[data-task=H], -[data-task="<"]) > input:is([type=checkbox], [type=checkbox i]):checked, body:not(.alt-chkbx-off) .task-list-item.is-checked:is([data-task=X], -[data-task=">"], -[data-task="-"], -[data-task=D], -[data-task="?"], -[data-task="/"], -[data-task="+"], -[data-task=R], -[data-task="!"], -[data-task=i], -[data-task=B], -[data-task=P], -[data-task=C], -[data-task=Q], -[data-task=N], -[data-task=b], -[data-task=I], -[data-task=p], -[data-task=L], -[data-task=E], -[data-task=A], -[data-task=r], -[data-task=c], -[data-task=o], -[data-task=d], -[data-task=T], -[data-task=t], -[data-task=O], -[data-task=F], -[data-task=W], -[data-task="~"], -[data-task="@"], -[data-task=f], -[data-task=a], -[data-task="&"], -[data-task=s], -[data-task=H], -[data-task="<"]) :is(.task-list-label, p) > input:is([type=checkbox], [type=checkbox i]):checked, body:not(.alt-chkbx-off) .task-list-item.is-checked:is([data-task=X], -[data-task=">"], -[data-task="-"], -[data-task=D], -[data-task="?"], -[data-task="/"], -[data-task="+"], -[data-task=R], -[data-task="!"], -[data-task=i], -[data-task=B], -[data-task=P], -[data-task=C], -[data-task=Q], -[data-task=N], -[data-task=b], -[data-task=I], -[data-task=p], -[data-task=L], -[data-task=E], -[data-task=A], -[data-task=r], -[data-task=c], -[data-task=o], -[data-task=d], -[data-task=T], -[data-task=t], -[data-task=O], -[data-task=F], -[data-task=W], -[data-task="~"], -[data-task="@"], -[data-task=f], -[data-task=a], -[data-task="&"], -[data-task=s], -[data-task=H], -[data-task="<"]) > input:is([type=checkbox], [type=checkbox i]):checked { - background-color: transparent; - font: var(--its); - font-family: var(--its); - font-size: inherit; - font-weight: 10; - text-align: center; - border: 0; - cursor: pointer; - -webkit-mask-image: unset; -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task]:is([data-task=X], -[data-task=">"], -[data-task="-"], -[data-task=D], -[data-task="?"], -[data-task="/"], -[data-task="+"], -[data-task=R], -[data-task="!"], -[data-task=i], -[data-task=B], -[data-task=P], -[data-task=C], -[data-task=Q], -[data-task=N], -[data-task=b], -[data-task=I], -[data-task=p], -[data-task=L], -[data-task=E], -[data-task=A], -[data-task=r], -[data-task=c], -[data-task=o], -[data-task=d], -[data-task=T], -[data-task=t], -[data-task=O], -[data-task=F], -[data-task=W], -[data-task="~"], -[data-task="@"], -[data-task=f], -[data-task=a], -[data-task="&"], -[data-task=s], -[data-task=H], -[data-task="<"]) :is(.task-list-label, p) > input:is([type=checkbox], [type=checkbox i]):checked::after, body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task]:is([data-task=X], -[data-task=">"], -[data-task="-"], -[data-task=D], -[data-task="?"], -[data-task="/"], -[data-task="+"], -[data-task=R], -[data-task="!"], -[data-task=i], -[data-task=B], -[data-task=P], -[data-task=C], -[data-task=Q], -[data-task=N], -[data-task=b], -[data-task=I], -[data-task=p], -[data-task=L], -[data-task=E], -[data-task=A], -[data-task=r], -[data-task=c], -[data-task=o], -[data-task=d], -[data-task=T], -[data-task=t], -[data-task=O], -[data-task=F], -[data-task=W], -[data-task="~"], -[data-task="@"], -[data-task=f], -[data-task=a], -[data-task="&"], -[data-task=s], -[data-task=H], -[data-task="<"]) > input:is([type=checkbox], [type=checkbox i]):checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked:is([data-task=X], -[data-task=">"], -[data-task="-"], -[data-task=D], -[data-task="?"], -[data-task="/"], -[data-task="+"], -[data-task=R], -[data-task="!"], -[data-task=i], -[data-task=B], -[data-task=P], -[data-task=C], -[data-task=Q], -[data-task=N], -[data-task=b], -[data-task=I], -[data-task=p], -[data-task=L], -[data-task=E], -[data-task=A], -[data-task=r], -[data-task=c], -[data-task=o], -[data-task=d], -[data-task=T], -[data-task=t], -[data-task=O], -[data-task=F], -[data-task=W], -[data-task="~"], -[data-task="@"], -[data-task=f], -[data-task=a], -[data-task="&"], -[data-task=s], -[data-task=H], -[data-task="<"]) :is(.task-list-label, p) > input:is([type=checkbox], [type=checkbox i]):checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked:is([data-task=X], -[data-task=">"], -[data-task="-"], -[data-task=D], -[data-task="?"], -[data-task="/"], -[data-task="+"], -[data-task=R], -[data-task="!"], -[data-task=i], -[data-task=B], -[data-task=P], -[data-task=C], -[data-task=Q], -[data-task=N], -[data-task=b], -[data-task=I], -[data-task=p], -[data-task=L], -[data-task=E], -[data-task=A], -[data-task=r], -[data-task=c], -[data-task=o], -[data-task=d], -[data-task=T], -[data-task=t], -[data-task=O], -[data-task=F], -[data-task=W], -[data-task="~"], -[data-task="@"], -[data-task=f], -[data-task=a], -[data-task="&"], -[data-task=s], -[data-task=H], -[data-task="<"]) > input:is([type=checkbox], [type=checkbox i]):checked::after { - background-color: transparent; - top: -4px; - left: 0px; - -webkit-mask-image: unset; -} - -ul > li.task-list-item[data-task=x] > ul li:not([data-task=x]) { - color: var(--text-normal); -} - -/*--Checkbox Type Icons--*/ -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=X]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=X] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=X] p > input[type=checkbox]:checked::after { - content: "\ec01"; - color: var(--accent2-lite, var(--text-accent)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=">"]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=">"] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=">"] p > input[type=checkbox]:checked::after { - content: "\ec03"; - color: var(--text-normal); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task="<"]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="<"] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="<"] p > input[type=checkbox]:checked::after { - content: "\ec03"; - color: var(--text-faint); - transform: scale(-1, 1); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=D]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=D] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=D] p > input[type=checkbox]:checked::after { - content: "\ec04"; - color: rgb(var(--chbx-h)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task="-"]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="-"] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="-"] p > input[type=checkbox]:checked::after { - content: "\ec02"; - color: rgb(var(--chbx-d)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task="?"]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="?"] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="?"] p > input[type=checkbox]:checked::after { - content: "\ec05"; - color: rgb(var(--chbx-q)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task="!"]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="!"] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="!"] p > input[type=checkbox]:checked::after { - content: "\ec08"; - color: rgb(var(--chbx-i)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task="+"]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="+"] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="+"] p > input[type=checkbox]:checked::after { - content: "\ec06"; - color: rgb(var(--chbx-a)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task="/"]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="/"] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="/"] p > input[type=checkbox]:checked::after { - content: "\ec17"; - color: var(--accent, var(--interactive-accent)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=R]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=R] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=R] p > input[type=checkbox]:checked::after { - content: "\ec07"; - color: rgb(var(--chbx-R)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=i]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=i] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=i] p > input[type=checkbox]:checked::after { - content: "\ec09"; - color: rgb(var(--chbx-id)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=B]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=B] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=B] p > input[type=checkbox]:checked::after { - content: "\ec10"; - color: rgb(var(--chbx-B)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=P]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=P] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=P] p > input[type=checkbox]:checked::after { - content: "\ec11"; - color: rgb(var(--chbx-P)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=C]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=C] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=C] p > input[type=checkbox]:checked::after { - content: "\ec12"; - color: rgb(var(--chbx-C)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=I]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=I] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=I] p > input[type=checkbox]:checked::after { - content: "\ec16"; - color: rgb(var(--chbx-I)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=Q]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=Q] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=Q] p > input[type=checkbox]:checked::after { - content: "\ec13"; - color: rgb(var(--chbx-R)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=N]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=N] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=N] p > input[type=checkbox]:checked::after { - content: "\ec14"; - color: rgb(var(--chbx-N)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=b]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=b] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=b] p > input[type=checkbox]:checked::after { - content: "\ec15"; - color: rgb(var(--chbx-b)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=p]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=p] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=p] p > input[type=checkbox]:checked::after { - content: "\ec19"; - color: rgb(var(--chbx-R)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=E]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=E] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=E] p > input[type=checkbox]:checked::after { - content: "\ec18"; - color: rgb(var(--chbx-I)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=L]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=L] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=L] p > input[type=checkbox]:checked::after { - content: "\ec21"; - color: rgb(var(--chbx-N)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=A]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=A] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=A] p > input[type=checkbox]:checked::after { - content: "\ec20"; - color: rgb(var(--chbx-P)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=r]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=r] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=r] p > input[type=checkbox]:checked::after { - content: "\ec22"; - color: rgb(var(--chbx-r)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=c]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=c] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=c] p > input[type=checkbox]:checked::after { - content: "\ec29"; - color: rgb(var(--chbx-c)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=o]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=o] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=o] p > input[type=checkbox]:checked::after { - content: "\ec24"; - color: rgb(var(--chbx-b)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=d]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=d] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=d] p > input[type=checkbox]:checked::after { - content: "\ec25"; - color: rgb(var(--chbx-I)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=T]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=T] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=T] p > input[type=checkbox]:checked::after { - content: "\ec26"; - color: rgb(var(--chbx-R)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=t]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=t] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=t] p > input[type=checkbox]:checked::after { - content: "\ec27"; - color: rgb(var(--chbx-R)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=O]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=O] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=O] p > input[type=checkbox]:checked::after { - content: "\e805"; - color: hsl(var(--interactive-accent-hsl)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=F]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=F] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=F] p > input[type=checkbox]:checked::after { - content: "\ec28"; - color: rgb(var(--chbx-h)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=W]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=W] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=W] p > input[type=checkbox]:checked::after { - content: "\e813"; - color: rgb(var(--chbx-P)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task="~"]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="~"] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="~"] p > input[type=checkbox]:checked::after { - content: "\ec33"; - color: rgb(var(--chbx-C)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task="@"]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="@"] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="@"] p > input[type=checkbox]:checked::after { - content: "\e900"; - color: rgb(var(--chbx-b)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=f]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=f] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=f] p > input[type=checkbox]:checked::after { - content: "\e81e"; - color: rgb(var(--chbx-N)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=H]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=H] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=H] p > input[type=checkbox]:checked::after { - content: "\ec30"; - color: rgb(var(--chbx-a)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task="&"]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="&"] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task="&"] p > input[type=checkbox]:checked::after { - content: "\ec32"; - color: rgb(var(--chbx-B)); -} -body:not(.alt-chkbx-off) .markdown-source-view.mod-cm6 .task-list-item-checkbox[data-task=s]::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=s] > input[type=checkbox]:checked::after, body:not(.alt-chkbx-off) .task-list-item.is-checked[data-task=s] p > input[type=checkbox]:checked::after { - content: "\ec31"; - color: rgb(var(--chbx-d)); -} - -/*Restore Strike Throughs*/ -.check-strike .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task]:not([data-task=" "]), .check-strike .markdown-preview-view ul > li.task-list-item.is-checked, .check-strike .markdown-preview-view ol > li.task-list-item.is-checked { - --checklist-done-decoration: line-through 2px; - text-decoration: var(--checklist-done-decoration); -} - -.checkbox-strike-regular .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=x], .checkbox-strike-regular ul li[data-task=x].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-checked .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=X], .checkbox-strike-checked ul li[data-task=X].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-frwd .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=">"], .checkbox-strike-frwd ul li[data-task=">"].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-bkwd .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="<"], .checkbox-strike-bkwd ul li[data-task="<"].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-date .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=D], .checkbox-strike-date ul li[data-task=D].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-dropped .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="-"], .checkbox-strike-dropped ul li[data-task="-"].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-q .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="?"], .checkbox-strike-q ul li[data-task="?"].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-imp .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="!"], .checkbox-strike-imp ul li[data-task="!"].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-add .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="+"], .checkbox-strike-add ul li[data-task="+"].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-half .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="/"], .checkbox-strike-half ul li[data-task="/"].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-rsrch .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=R], .checkbox-strike-rsrch ul li[data-task=R].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-idea .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=i], .checkbox-strike-idea ul li[data-task=i].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-brn .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=B], .checkbox-strike-brn ul li[data-task=B].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-pro .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=P], .checkbox-strike-pro ul li[data-task=P].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-con .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=C], .checkbox-strike-con ul li[data-task=C].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-info .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=I], .checkbox-strike-info ul li[data-task=I].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-quot .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=Q], .checkbox-strike-quot ul li[data-task=Q].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-note .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=N], .checkbox-strike-note ul li[data-task=N].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-book .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=b], .checkbox-strike-book ul li[data-task=b].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-para .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=p], .checkbox-strike-para ul li[data-task=p].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-ex .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=E], .checkbox-strike-ex ul li[data-task=E].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-loc .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=L], .checkbox-strike-loc ul li[data-task=L].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-ans .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=A], .checkbox-strike-ans ul li[data-task=A].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-rwd .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=r], .checkbox-strike-rwd ul li[data-task=r].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-choice .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=c], .checkbox-strike-choice ul li[data-task=c].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-option .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=o], .checkbox-strike-option ul li[data-task=o].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-do .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=d], .checkbox-strike-do ul li[data-task=d].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-time .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=T], .checkbox-strike-time ul li[data-task=T].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-talk .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=t], .checkbox-strike-talk ul li[data-task=t].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-plot .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=O], .checkbox-strike-plot ul li[data-task=O].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-fore .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=F], .checkbox-strike-fore ul li[data-task=F].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-world .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=W], .checkbox-strike-world ul li[data-task=W].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-conf .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="~"], .checkbox-strike-conf ul li[data-task="~"].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-char .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="@"], .checkbox-strike-char ul li[data-task="@"].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-clue .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=f], .checkbox-strike-clue ul li[data-task=f].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-heal .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=H], .checkbox-strike-heal ul li[data-task=H].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-symb .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="&"], .checkbox-strike-symb ul li[data-task="&"].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -.checkbox-strike-lock .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=s], .checkbox-strike-lock ul li[data-task=s].task-list-item.is-checked { - text-decoration: line-through 2px; -} - -/*----Checked Bg----*/ -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=X], -.check-bg :is(ul, ol) > li[data-task=X].task-list-item.is-checked { - background: rgba(var(--chbx-R), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=">"], -.check-bg :is(ul, ol) > li[data-task=">"].task-list-item.is-checked { - background: rgba(var(--chbx-h), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="<"], -.check-bg :is(ul, ol) > li[data-task="<"].task-list-item.is-checked { - background: rgba(var(--chbx-h), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=D], -.check-bg :is(ul, ol) > li[data-task=D].task-list-item.is-checked { - background: rgba(var(--chbx-h), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="-"], -.check-bg :is(ul, ol) > li[data-task="-"].task-list-item.is-checked { - background: rgba(var(--chbx-d), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="?"], -.check-bg :is(ul, ol) > li[data-task="?"].task-list-item.is-checked { - background: rgba(var(--chbx-q), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="!"], -.check-bg :is(ul, ol) > li[data-task="!"].task-list-item.is-checked { - background: rgba(var(--chbx-i), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="+"], -.check-bg :is(ul, ol) > li[data-task="+"].task-list-item.is-checked { - background: rgba(var(--chbx-a), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="/"], -.check-bg :is(ul, ol) > li[data-task="/"].task-list-item.is-checked { - background: linear-gradient(to left, var(--accent, var(--interactive-accent)) 0%, transparent 1%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=R], -.check-bg :is(ul, ol) > li[data-task=R].task-list-item.is-checked { - background: rgba(var(--chbx-R), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=i], -.check-bg :is(ul, ol) > li[data-task=i].task-list-item.is-checked { - background: rgba(var(--chbx-id), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=B], -.check-bg :is(ul, ol) > li[data-task=B].task-list-item.is-checked { - background: rgba(var(--chbx-B), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=P], -.check-bg :is(ul, ol) > li[data-task=P].task-list-item.is-checked { - background: rgba(var(--chbx-P), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=C], -.check-bg :is(ul, ol) > li[data-task=C].task-list-item.is-checked { - background: rgba(var(--chbx-C), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=I], -.check-bg :is(ul, ol) > li[data-task=I].task-list-item.is-checked { - background: rgba(var(--chbx-I), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=Q], -.check-bg :is(ul, ol) > li[data-task=Q].task-list-item.is-checked { - background: rgba(var(--chbx-R), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=N], -.check-bg :is(ul, ol) > li[data-task=N].task-list-item.is-checked { - background: rgba(var(--chbx-N), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=b], -.check-bg :is(ul, ol) > li[data-task=b].task-list-item.is-checked { - background: rgba(var(--chbx-b), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=p], -.check-bg :is(ul, ol) > li[data-task=p].task-list-item.is-checked { - background: rgba(var(--chbx-R), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=E], -.check-bg :is(ul, ol) > li[data-task=E].task-list-item.is-checked { - background: rgba(var(--chbx-I), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=L], -.check-bg :is(ul, ol) > li[data-task=L].task-list-item.is-checked { - background: rgba(var(--chbx-N), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=A], -.check-bg :is(ul, ol) > li[data-task=A].task-list-item.is-checked { - background: rgba(var(--chbx-P), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=r], -.check-bg :is(ul, ol) > li[data-task=r].task-list-item.is-checked { - background: rgba(var(--chbx-r), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=c], -.check-bg :is(ul, ol) > li[data-task=c].task-list-item.is-checked { - background: rgba(var(--chbx-c), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=o], -.check-bg :is(ul, ol) > li[data-task=o].task-list-item.is-checked { - background: rgba(var(--chbx-b), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=d], -.check-bg :is(ul, ol) > li[data-task=d].task-list-item.is-checked { - background: rgba(var(--chbx-I), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=T], -.check-bg :is(ul, ol) > li[data-task=T].task-list-item.is-checked { - background: rgba(var(--chbx-R), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=t], -.check-bg :is(ul, ol) > li[data-task=t].task-list-item.is-checked { - background: rgba(var(--chbx-R), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=O], -.check-bg :is(ul, ol) > li[data-task=O].task-list-item.is-checked { - background: hsla(var(--interactive-accent-hsl), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=F], -.check-bg :is(ul, ol) > li[data-task=F].task-list-item.is-checked { - background: rgba(var(--chbx-h), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=W], -.check-bg :is(ul, ol) > li[data-task=W].task-list-item.is-checked { - background: rgba(var(--chbx-P), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="~"], -.check-bg :is(ul, ol) > li[data-task="~"].task-list-item.is-checked { - background: rgba(var(--chbx-C), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="@"], -.check-bg :is(ul, ol) > li[data-task="@"].task-list-item.is-checked { - background: rgba(var(--chbx-b), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=f], -.check-bg :is(ul, ol) > li[data-task=f].task-list-item.is-checked { - background: rgba(var(--chbx-N), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=H], -.check-bg :is(ul, ol) > li[data-task=H].task-list-item.is-checked { - background: rgba(var(--chbx-a), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="&"], -.check-bg :is(ul, ol) > li[data-task="&"].task-list-item.is-checked { - background: rgba(var(--chbx-B), 20%); -} -.check-bg .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=s], -.check-bg :is(ul, ol) > li[data-task=s].task-list-item.is-checked { - background: rgba(var(--chbx-d), 20%); -} - -/*----Checked Text----*/ -body ul > li.task-list-item[data-task][data-task=x] > span > *, body .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=x] span:not([class^=cm-list]) { - opacity: 70%; -} - -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=x] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=x] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=X] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=X] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=">"] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=">"] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task="<"] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="<"] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=D] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=D] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task="-"] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="-"] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task="?"] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="?"] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task="!"] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="!"] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task="+"] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="+"] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task="/"] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="/"] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=R] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=R] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=i] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=i] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=B] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=B] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=P] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=P] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=C] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=C] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=I] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=I] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=Q] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=Q] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=N] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=N] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=b] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=b] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=p] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=p] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=E] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=E] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=L] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=L] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=A] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=A] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=r] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=r] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=c] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=c] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=o] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=o] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=d] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=d] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=T] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=T] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=t] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=t] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=O] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=O] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=F] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=F] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=W] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=W] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task="~"] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="~"] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task="@"] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="@"] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=f] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=f] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=H] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=H] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task="&"] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task="&"] span:not([class^=cm-list]) { - opacity: 70%; -} -body:not(.check-color, .check-text) ul > li.task-list-item[data-task][data-task=s] > span > *, body:not(.check-color, .check-text) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task][data-task=s] span:not([class^=cm-list]) { - opacity: 70%; -} - -/* Checkbox Text Normal */ -/*--Checkbox Text Colors--*/ -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=X] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=X].task-list-item.is-checked { - color: var(--text-faint); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=">"] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=">"].task-list-item.is-checked { - color: var(--text-normal); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="<"] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task="<"].task-list-item.is-checked { - color: var(--text-faint); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=D] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=D].task-list-item.is-checked { - color: rgb(var(--chbx-h)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="-"] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task="-"].task-list-item.is-checked { - color: rgb(var(--chbx-d)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="?"] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task="?"].task-list-item.is-checked { - color: rgb(var(--chbx-q)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="!"] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task="!"].task-list-item.is-checked { - color: rgb(var(--chbx-i)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="+"] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task="+"].task-list-item.is-checked { - color: rgb(var(--chbx-a)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="/"] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task="/"].task-list-item.is-checked { - color: var(--text-muted); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=R] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=R].task-list-item.is-checked { - color: rgb(var(--chbx-R)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=i] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=i].task-list-item.is-checked { - color: rgb(var(--chbx-id)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=B] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=B].task-list-item.is-checked { - color: rgb(var(--chbx-B)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=P] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=P].task-list-item.is-checked { - color: rgb(var(--chbx-P)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=C] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=C].task-list-item.is-checked { - color: rgb(var(--chbx-C)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=I] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=I].task-list-item.is-checked { - color: rgb(var(--chbx-I)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=Q] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=Q].task-list-item.is-checked { - color: rgb(var(--chbx-R)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=N] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=N].task-list-item.is-checked { - color: rgb(var(--chbx-N)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=b] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=b].task-list-item.is-checked { - color: rgb(var(--chbx-b)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=p] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=p].task-list-item.is-checked { - color: rgb(var(--chbx-R)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=E] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=E].task-list-item.is-checked { - color: rgb(var(--chbx-I)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=L] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=L].task-list-item.is-checked { - color: rgb(var(--chbx-N)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=A] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=A].task-list-item.is-checked { - color: rgb(var(--chbx-P)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=r] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=r].task-list-item.is-checked { - color: rgb(var(--chbx-r)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=c] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=c].task-list-item.is-checked { - color: rgb(var(--chbx-c)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=o] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=o].task-list-item.is-checked { - color: rgb(var(--chbx-b)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=d] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=d].task-list-item.is-checked { - color: rgb(var(--chbx-I)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=T] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=T].task-list-item.is-checked { - color: rgb(var(--chbx-R)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=t] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=t].task-list-item.is-checked { - color: rgb(var(--chbx-R)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=O] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=O].task-list-item.is-checked { - color: hsl(var(--interactive-accent-hsl)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=F] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=F].task-list-item.is-checked { - color: rgb(var(--chbx-h)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=W] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=W].task-list-item.is-checked { - color: rgb(var(--chbx-R)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="~"] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task="~"].task-list-item.is-checked { - color: rgb(var(--chbx-C)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="@"] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task="@"].task-list-item.is-checked { - color: rgb(var(--chbx-b)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=f] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=f].task-list-item.is-checked { - color: rgb(var(--chbx-N)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=H] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=H].task-list-item.is-checked { - color: rgb(var(--chbx-a)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="&"] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task="&"].task-list-item.is-checked { - color: rgb(var(--chbx-B)); -} -.check-color.check-color .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task=s] [class^=cm-list]:not(.cm-formatting-task), .check-color.check-color.check-color ul > li[data-task=s].task-list-item.is-checked { - color: rgb(var(--chbx-d)); -} - -/*Callout Positioning*/ -:not(.is-live-preview) .callout.callout.callout:is([data-callout-metadata~="p+l"], -[data-callout-metadata~=left]) { - float: left; - margin: unset; - margin-right: 8px; -} - -:not(.is-live-preview) .callout.callout:is([data-callout-metadata~="p+r"], -[data-callout-metadata~=right]) { - float: right; - margin: unset; - margin-left: 8px; -} - -.callout.callout.callout:is([data-callout-metadata~=ctr], -[data-callout-metadata~=center]) { - display: block; - margin: auto; - float: unset; -} - -.callout.callout.callout.callout:is([data-callout-metadata~=no-t], -[data-callout-metadata~=no-title]) > .callout-title { - display: none; -} - -.callout.callout.callout.callout:is([data-callout-metadata~=s-t], -[data-callout-metadata~=show-title]) > .callout-title { - display: flex; -} -.callout.callout.callout.callout:is([data-callout-metadata~=s-t], -[data-callout-metadata~=show-title]) > .callout-content > p { - margin-top: 0; -} - -.callout.callout.callout.callout:is([data-callout-metadata~=subtitle], -[data-callout-metadata~=subt]) .callout-title { - align-content: center; - align-items: center; -} -.callout.callout.callout.callout:is([data-callout-metadata~=subtitle], -[data-callout-metadata~=subt]) .callout-title em { - display: block; - font-style: normal; - font-size: var(--font-small); - line-height: 12px; - font-weight: normal; -} -.callout.callout.callout.callout:is([data-callout-metadata~=subtitle], -[data-callout-metadata~=subt]) .callout-title em em { - font-style: italic; - display: inline-block; -} - -.callout.callout:is([data-callout-metadata~=no-i], -[data-callout-metadata~=no-icon]) > .callout-title > .callout-icon { - width: 0; - height: 0; - --icon-size: 0; -} - -.callout:is([data-callout-metadata~=n-th], -[data-callout-metadata~=no-table-header]) > .callout-content table { - margin-bottom: 5px; -} -.callout:is([data-callout-metadata~=n-th], -[data-callout-metadata~=no-table-header]) > .callout-content table thead, .callout:is([data-callout-metadata~=n-th], -[data-callout-metadata~=no-table-header]) > .callout-content table th { - display: none; -} - -.callout:is([data-callout-metadata~=t-w], -[data-callout-metadata~=table-wide]) table { - width: 100%; -} -.callout:is([data-callout-metadata~=t-w], -[data-callout-metadata~=table-wide]) table td { - width: calc(var(--tbl-w) / 2); -} - -.callout[data-callout-metadata~=table-cell-top] table td { - vertical-align: top; -} - -.callout.callout:is([data-callout-metadata~=t-nmg], -[data-callout-metadata~=table-no-margin]) table { - margin-block-start: 0; - margin-block-end: 0; -} - -.callout[data-callout-metadata~=embed] .callout-content, .callout[data-callout-metadata~=embed] > .callout-content > p { - margin: 0; - padding: 0; -} - -.callout[data-callout-metadata~=collapse] * { - margin: 0 !important; - padding: 0 !important; - grid-gap: 0 !important; -} - -.callout.callout.callout:is([data-callout-metadata~=nbrd], -[data-callout-metadata~=no-border]) { - border: 0; -} - -.callout.callout.callout[data-callout-metadata~=clean], -.callout.callout.callout[data-callout-metadata~=clean] > .callout-content { - border: 0; - box-shadow: none; - --callout-color: transparent; - --callout-padding: 0; -} -.callout.callout.callout[data-callout-metadata~=clean] .callout-content, -.callout.callout.callout[data-callout-metadata~=clean] > .callout-content .callout-content { - padding: 0; -} - -.callout[data-callout-metadata~=clear] { - clear: both; -} - -.callout.callout.callout[data-callout-metadata~=block] { - display: block; - float: unset; -} -.callout.callout.callout[data-callout-metadata~=block][data-callout-metadata~=right] { - margin-left: auto; -} -.callout.callout.callout[data-callout-metadata~=block][data-callout-metadata~=left] { - margin-right: auto; -} - -.callout #vid { - text-align: left; -} - -.callout:is([data-callout-metadata~=dim-hvr], -[data-callout-metadata~=dim-hover], -[data-callout-metadata~=dim-closed].is-collapsed, -[data-callout-metadata~=dim]):not(:hover) { - filter: brightness(50%); - transition: filter 300ms; -} - -/*--Callout Coloring--*/ -.callout.callout.callout { - --callout-color-opacity: 20%; - --callout-blue: 82, 139, 212; - --callout-green: 86, 179, 117; - --callout-orange: 230, 129, 63; - --callout-red: 193, 67, 67; - --callout-purple: 153, 97, 218; - --callout-gray: 166, 189, 197; - --callout-yellow: 208, 181, 48; - --callout-pink: 227, 107, 167; - --callout-brown: 161, 106, 73; - --callout-black: 0, 0, 0; - --callout-white: 256, 256, 256; - --callout-plain: transparent; -} -.callout.callout.callout:is([data-callout-metadata~=color-blue], -[data-callout-metadata~=c-blue], -[data-callout-metadata~=background-color-blue], -[data-callout-metadata~=bg-c-blue]) > .callout-title { - --callout-color: var(--callout-blue); -} -.callout.callout.callout:is([data-callout-metadata~=background-blue], -[data-callout-metadata~=bg-blue], -[data-callout-metadata~=background-color-blue], -[data-callout-metadata~=bg-c-blue]) { - --callout-background: rgba(var(--callout-blue), var(--callout-color-opacity)); - background-color: var(--callout-background); -} -.callout.callout.callout:is([data-callout-metadata~=background-color-blue], -[data-callout-metadata~=bg-c-blue]) { - --callout-color: var(--callout-blue); -} -.callout.callout.callout:is([data-callout-metadata~=color-green], -[data-callout-metadata~=c-green], -[data-callout-metadata~=background-color-green], -[data-callout-metadata~=bg-c-green]) > .callout-title { - --callout-color: var(--callout-green); -} -.callout.callout.callout:is([data-callout-metadata~=background-green], -[data-callout-metadata~=bg-green], -[data-callout-metadata~=background-color-green], -[data-callout-metadata~=bg-c-green]) { - --callout-background: rgba(var(--callout-green), var(--callout-color-opacity)); - background-color: var(--callout-background); -} -.callout.callout.callout:is([data-callout-metadata~=background-color-green], -[data-callout-metadata~=bg-c-green]) { - --callout-color: var(--callout-green); -} -.callout.callout.callout:is([data-callout-metadata~=color-orange], -[data-callout-metadata~=c-orange], -[data-callout-metadata~=background-color-orange], -[data-callout-metadata~=bg-c-orange]) > .callout-title { - --callout-color: var(--callout-orange); -} -.callout.callout.callout:is([data-callout-metadata~=background-orange], -[data-callout-metadata~=bg-orange], -[data-callout-metadata~=background-color-orange], -[data-callout-metadata~=bg-c-orange]) { - --callout-background: rgba(var(--callout-orange), var(--callout-color-opacity)); - background-color: var(--callout-background); -} -.callout.callout.callout:is([data-callout-metadata~=background-color-orange], -[data-callout-metadata~=bg-c-orange]) { - --callout-color: var(--callout-orange); -} -.callout.callout.callout:is([data-callout-metadata~=color-red], -[data-callout-metadata~=c-red], -[data-callout-metadata~=background-color-red], -[data-callout-metadata~=bg-c-red]) > .callout-title { - --callout-color: var(--callout-red); -} -.callout.callout.callout:is([data-callout-metadata~=background-red], -[data-callout-metadata~=bg-red], -[data-callout-metadata~=background-color-red], -[data-callout-metadata~=bg-c-red]) { - --callout-background: rgba(var(--callout-red), var(--callout-color-opacity)); - background-color: var(--callout-background); -} -.callout.callout.callout:is([data-callout-metadata~=background-color-red], -[data-callout-metadata~=bg-c-red]) { - --callout-color: var(--callout-red); -} -.callout.callout.callout:is([data-callout-metadata~=color-purple], -[data-callout-metadata~=c-purple], -[data-callout-metadata~=background-color-purple], -[data-callout-metadata~=bg-c-purple]) > .callout-title { - --callout-color: var(--callout-purple); -} -.callout.callout.callout:is([data-callout-metadata~=background-purple], -[data-callout-metadata~=bg-purple], -[data-callout-metadata~=background-color-purple], -[data-callout-metadata~=bg-c-purple]) { - --callout-background: rgba(var(--callout-purple), var(--callout-color-opacity)); - background-color: var(--callout-background); -} -.callout.callout.callout:is([data-callout-metadata~=background-color-purple], -[data-callout-metadata~=bg-c-purple]) { - --callout-color: var(--callout-purple); -} -.callout.callout.callout:is([data-callout-metadata~=color-gray], -[data-callout-metadata~=c-gray], -[data-callout-metadata~=background-color-gray], -[data-callout-metadata~=bg-c-gray]) > .callout-title { - --callout-color: var(--callout-gray); -} -.callout.callout.callout:is([data-callout-metadata~=background-gray], -[data-callout-metadata~=bg-gray], -[data-callout-metadata~=background-color-gray], -[data-callout-metadata~=bg-c-gray]) { - --callout-background: rgba(var(--callout-gray), var(--callout-color-opacity)); - background-color: var(--callout-background); -} -.callout.callout.callout:is([data-callout-metadata~=background-color-gray], -[data-callout-metadata~=bg-c-gray]) { - --callout-color: var(--callout-gray); -} -.callout.callout.callout:is([data-callout-metadata~=color-yellow], -[data-callout-metadata~=c-yellow], -[data-callout-metadata~=background-color-yellow], -[data-callout-metadata~=bg-c-yellow]) > .callout-title { - --callout-color: var(--callout-yellow); -} -.callout.callout.callout:is([data-callout-metadata~=background-yellow], -[data-callout-metadata~=bg-yellow], -[data-callout-metadata~=background-color-yellow], -[data-callout-metadata~=bg-c-yellow]) { - --callout-background: rgba(var(--callout-yellow), var(--callout-color-opacity)); - background-color: var(--callout-background); -} -.callout.callout.callout:is([data-callout-metadata~=background-color-yellow], -[data-callout-metadata~=bg-c-yellow]) { - --callout-color: var(--callout-yellow); -} -.callout.callout.callout:is([data-callout-metadata~=color-pink], -[data-callout-metadata~=c-pink], -[data-callout-metadata~=background-color-pink], -[data-callout-metadata~=bg-c-pink]) > .callout-title { - --callout-color: var(--callout-pink); -} -.callout.callout.callout:is([data-callout-metadata~=background-pink], -[data-callout-metadata~=bg-pink], -[data-callout-metadata~=background-color-pink], -[data-callout-metadata~=bg-c-pink]) { - --callout-background: rgba(var(--callout-pink), var(--callout-color-opacity)); - background-color: var(--callout-background); -} -.callout.callout.callout:is([data-callout-metadata~=background-color-pink], -[data-callout-metadata~=bg-c-pink]) { - --callout-color: var(--callout-pink); -} -.callout.callout.callout:is([data-callout-metadata~=color-brown], -[data-callout-metadata~=c-brown], -[data-callout-metadata~=background-color-brown], -[data-callout-metadata~=bg-c-brown]) > .callout-title { - --callout-color: var(--callout-brown); -} -.callout.callout.callout:is([data-callout-metadata~=background-brown], -[data-callout-metadata~=bg-brown], -[data-callout-metadata~=background-color-brown], -[data-callout-metadata~=bg-c-brown]) { - --callout-background: rgba(var(--callout-brown), var(--callout-color-opacity)); - background-color: var(--callout-background); -} -.callout.callout.callout:is([data-callout-metadata~=background-color-brown], -[data-callout-metadata~=bg-c-brown]) { - --callout-color: var(--callout-brown); -} -.callout.callout.callout:is([data-callout-metadata~=color-black], -[data-callout-metadata~=c-black], -[data-callout-metadata~=background-color-black], -[data-callout-metadata~=bg-c-black]) > .callout-title { - --callout-color: var(--callout-black); -} -.callout.callout.callout:is([data-callout-metadata~=background-black], -[data-callout-metadata~=bg-black], -[data-callout-metadata~=background-color-black], -[data-callout-metadata~=bg-c-black]) { - --callout-background: rgba(var(--callout-black), var(--callout-color-opacity)); - background-color: var(--callout-background); -} -.callout.callout.callout:is([data-callout-metadata~=background-color-black], -[data-callout-metadata~=bg-c-black]) { - --callout-color: var(--callout-black); -} -.callout.callout.callout:is([data-callout-metadata~=color-white], -[data-callout-metadata~=c-white], -[data-callout-metadata~=background-color-white], -[data-callout-metadata~=bg-c-white]) > .callout-title { - --callout-color: var(--callout-white); -} -.callout.callout.callout:is([data-callout-metadata~=background-white], -[data-callout-metadata~=bg-white], -[data-callout-metadata~=background-color-white], -[data-callout-metadata~=bg-c-white]) { - --callout-background: rgba(var(--callout-white), var(--callout-color-opacity)); - background-color: var(--callout-background); -} -.callout.callout.callout:is([data-callout-metadata~=background-color-white], -[data-callout-metadata~=bg-c-white]) { - --callout-color: var(--callout-white); -} -.callout.callout.callout:is([data-callout-metadata~=color-plain], -[data-callout-metadata~=c-plain], -[data-callout-metadata~=background-color-plain], -[data-callout-metadata~=bg-c-plain]) > .callout-title { - --callout-color: var(--callout-plain); -} -.callout.callout.callout:is([data-callout-metadata~=background-plain], -[data-callout-metadata~=bg-plain], -[data-callout-metadata~=background-color-plain], -[data-callout-metadata~=bg-c-plain]) { - --callout-background: rgba(var(--callout-plain), var(--callout-color-opacity)); - background-color: var(--callout-background); -} -.callout.callout.callout:is([data-callout-metadata~=background-color-plain], -[data-callout-metadata~=bg-c-plain]) { - --callout-color: var(--callout-plain); -} - -.callout.callout.callout { - --callout-micro: 10%; - --callout-tiny: 20%; - --callout-small: 30%; - --callout-small-med: 40%; - --callout-med-small: 50%; - --callout-medium: 60%; - --callout-med-tall: 80%; - --callout-tall: 95%; -} -.callout.callout.callout[data-callout-metadata~=wmicro] { - max-width: unset; - width: var(--callout-micro); -} -.callout.callout.callout[data-callout-metadata~=wtiny] { - max-width: unset; - width: var(--callout-tiny); -} -.callout.callout.callout[data-callout-metadata~=wsmall] { - max-width: unset; - width: var(--callout-small); -} -.callout.callout.callout[data-callout-metadata~=ws-med] { - max-width: unset; - width: var(--callout-small-med); -} -.callout.callout.callout[data-callout-metadata~=wm-sm] { - max-width: unset; - width: var(--callout-med-small); -} -.callout.callout.callout[data-callout-metadata~=wmed] { - max-width: unset; - width: var(--callout-medium); -} -.callout.callout.callout[data-callout-metadata~=wm-tl] { - max-width: unset; - width: var(--callout-med-tall); -} -.callout.callout.callout[data-callout-metadata~=wtall] { - max-width: unset; - width: var(--callout-tall); -} -.callout.callout.callout[data-callout-metadata~=sban], .callout.callout.callout[data-callout-metadata~=wfull] { - width: 100%; - float: unset; - max-width: 100%; -} -.callout.callout.callout[data-callout-metadata~=wtiny-c] { - width: 19%; -} -.callout.callout.callout[data-callout-metadata~=wsmall-c] { - width: 32.4%; -} -.callout.callout.callout[data-callout-metadata~=ws-med-c] { - width: 39%; -} -.callout.callout.callout[data-callout-metadata~=wm-sm-c] { - width: 49%; -} -.callout.callout.callout[data-callout-metadata~=wmed-c] { - width: 59%; -} -.callout.callout.callout[data-callout-metadata~=wm-tl-c] { - width: 79%; -} -.callout.callout.callout[data-callout-metadata~=wfit] { - width: fit-content; - max-width: min-content; -} - -.callout.callout[data-callout-metadata~=static] { - --callout-micro: 50px; - --callout-tiny: 100px; - --callout-small: 200px; - --callout-small-med: 300px; - --callout-med-small: 400px; - --callout-medium: 500px; - --callout-med-tall: 600px; - --callout-tall: 700px; -} - -.callout.callout:is([data-callout-metadata~=content-padding-small], -[data-callout-metadata~=c-p-sm]) { - --callout-content-padding: 6px; -} - -.callout.callout:is([data-callout-metadata~=content-padding-medium], -[data-callout-metadata~=c-p-med]) { - --callout-content-padding: 12px; -} - -.callout.callout:is([data-callout-metadata~=content-padding-large], -[data-callout-metadata~=c-p-lg]) { - --callout-content-padding: 24px; -} - -.callout.callout:is([data-callout-metadata~=txt-l], -[data-callout-metadata~=text-left]) > .callout-content > * { - text-align: left; -} - -.callout.callout:is([data-callout-metadata~=txt-r], -[data-callout-metadata~=text-right]) > .callout-content { - text-align: right; -} - -.callout.callout:is([data-callout-metadata~=txt-c], -[data-callout-metadata~=text-center]) > .callout-content { - text-align: center; -} - -.callout.callout:is([data-callout-metadata~=ttl-c], -[data-callout-metadata~=title-center]) .callout-title { - justify-content: center; -} -.callout.callout:is([data-callout-metadata~=ttl-c], -[data-callout-metadata~=title-center]) .callout-title-inner { - display: block; - flex: unset; -} - -.callout.callout:is([data-callout-metadata~=text-small], -[data-callout-metadata~=txt-s]) > .callout-content > * { - --font-text-size: var(--font-smallest); - --tag-size: var(--font-smallest); - --table-text-size: var(--font-smallest); - font-size: var(--font-text-size); -} - -/*Infobox*/ -:is(.is-mobile:not(.is-tablet), -.is-mobile .is-live-preview, -.is-live-preview :not(.markdown-rendered)) .callout[data-callout~=infobox]:not([data-callout-metadata~=mobile]) { - float: unset !important; - max-width: 100%; - margin: 0 !important; - width: auto; -} - -.callout.callout[data-callout~=infobox] { - --callout-color: var(--note, var(--background-primary)); - --callout-padding: 0; - --callout-content-padding: 5px; - --callout-margin: 0 0 0 5px; - background: var(--note, var(--background-primary)); - --h1-border-line-height: 0; - --h2-border-line-height: 0; - --h3-border-line-height: 0; - --h4-border-line-height: 0; - --h5-border-line-height: 0; - --h6-border-line-height: 0; - border: 0; - box-shadow: none; - width: auto; - max-width: 300px; - float: right; - border-radius: var(--radius-s); -} -.callout.callout[data-callout~=infobox] > .callout-title { - justify-content: center; - align-items: center; - align-self: center; -} -.callout.callout[data-callout~=infobox] > .callout-title > .callout-icon { - align-self: center; -} -.callout.callout[data-callout~=infobox]:not(.is-collapsed) > .callout-title { - padding: 0; -} -.callout.callout[data-callout~=infobox] .callout-fold { - padding-right: 0; -} -.callout.callout[data-callout~=infobox].is-collapsed .callout-fold { - border: 1px solid var(--hr, var(--background-modifier-border)); - border-radius: var(--radius-m); -} -.callout.callout[data-callout~=infobox] > .callout-title .callout-title-inner { - display: none; -} -.callout.callout[data-callout~=infobox] > .callout-title .callout-icon { - height: 0; -} -.callout.callout[data-callout~=infobox]:not([data-callout-metadata~=show-title], -[data-callout-metadata~=s-t], -[data-callout-metadata~=show-icon], -[data-callout-metadata~=s-i]) .callout-icon svg { - width: 0; - height: 0; -} -.callout.callout[data-callout~=infobox]:not(:hover):not(.is-collapsed) .callout-title { - background-color: transparent; -} -.callout.callout[data-callout~=infobox] > .callout-content > .callout[data-callout~=infobox]:not([data-callout-metadata~=no-t]):not(.is-collapsed) > .callout-title, .callout.callout[data-callout~=infobox]:is([data-callout-metadata~=show-title], [data-callout-metadata~=s-t]):not(.is-collapsed) > .callout-title { - display: flex; - gap: 0; -} -.callout.callout[data-callout~=infobox] > .callout-content > .callout[data-callout~=infobox]:not([data-callout-metadata~=no-t]).is-collapsed > .callout-title, .callout.callout[data-callout~=infobox]:is([data-callout-metadata~=show-title], [data-callout-metadata~=s-t]).is-collapsed > .callout-title { - border: 1px solid var(--hr, var(--background-modifier-border)); - display: flex; - align-items: center; - align-content: center; -} -.callout.callout[data-callout~=infobox] > .callout-content > .callout[data-callout~=infobox]:not([data-callout-metadata~=no-t]) .callout-title .callout-title-inner, .callout.callout[data-callout~=infobox]:is([data-callout-metadata~=show-title], [data-callout-metadata~=s-t]) .callout-title .callout-title-inner { - display: unset; - align-items: center; - align-content: center; - padding: 5px 10px; -} -.callout.callout[data-callout~=infobox] > .callout-content > .callout[data-callout~=infobox]:not([data-callout-metadata~=no-t]) .callout-fold, .callout.callout[data-callout~=infobox]:is([data-callout-metadata~=show-title], [data-callout-metadata~=s-t]) .callout-fold { - margin-top: auto; - margin-bottom: auto; -} -.callout.callout[data-callout~=infobox] > .callout-content > .callout[data-callout~=infobox]:not([data-callout-metadata~=no-t]).is-collapsed .callout-fold, .callout.callout[data-callout~=infobox]:is([data-callout-metadata~=show-title], [data-callout-metadata~=s-t]).is-collapsed .callout-fold { - border: 0; -} -.callout.callout[data-callout~=infobox] > .callout-content { - border: 1px solid var(--table, var(--background-modifier-border)); - margin: 0; - border-radius: var(--radius-s); -} -.callout.callout[data-callout~=infobox] table { - width: 100%; -} -.callout.callout[data-callout~=infobox] table td { - white-space: pre-wrap; - word-wrap: normal; - word-break: normal; -} -.callout.callout[data-callout~=infobox] :is(p, table) { - margin-block-start: 0; - margin-block-end: 0; - margin: 0; -} -.callout.callout[data-callout~=infobox] .callout-content > :is(h1, h2, h3, h4, h5, h6) { - font-size: 20px; - text-align: center; - margin: 0; - padding: 2px; - color: var(--text-normal); - background: var(--outer-bar, var(--background-secondary)); -} -.callout.callout[data-callout~=infobox] .internal-embed, .callout.callout[data-callout~=infobox] img { - display: block; - margin: auto; - padding: auto; - text-align: center; -} -.callout.callout[data-callout~=infobox][data-callout-metadata][data-callout-metadata][data-callout-metadata~=left] { - --callout-margin: 0 5px 0 0; -} -.callout.callout[data-callout~=infobox] .callout-content > .callout[data-callout~=infobox] { - max-width: unset; - float: unset; - --callout-margin: 5px 0 0 0; -} -.callout.callout[data-callout~=infobox] .callout-content > .callout[data-callout~=infobox] > .callout-title { - color: var(--text-normal); - background: var(--outer-bar, var(--background-secondary)); - border: 1px solid var(--table, var(--background-modifier-border)); - border-bottom: none; -} -.callout.callout[data-callout~=infobox] .callout-content > .callout[data-callout~=infobox]:not([data-callout-metadata~=no-t]) > .callout-content { - border-top: none; -} - -.callout.callout[data-callout~=infobox][data-callout-metadata~=wikipedia] table { - --table-header-color: var(--text, var(--text-normal)); - --table-header-background: transparent; - --table-header-background-hover: var(--td, var(--table-background)); - --table-row-background-hover: var(--td, var(--table-background)); - --table-row-alt-background: transparent; - --table-column-alt-background: transparent; - --table-border-color: transparent; - --table-header-border-color: transparent; -} -.callout.callout[data-callout~=infobox][data-callout-metadata~=wikipedia] table tr:last-child { - margin-bottom: 2px; -} - -@media print { - .callout[data-callout~=infobox] { - max-width: 400px; - } -} -.theme-light .callout[data-callout~=infobox][data-callout-metadata~=wikipedia] { - --th-text: var(--th); -} - -.illusion.illusion .callout[data-callout~=infobox].is-collapsed.is-collapsed[data-callout-metadata~=left] { - margin-left: -30px; -} -.illusion.illusion .callout[data-callout~=infobox].is-collapsed.is-collapsed[data-callout-metadata~=right] { - margin-right: -30px; -} -.illusion.illusion .callout[data-callout~=infobox] [data-heading] { - --illusion-box-shadow: none; - --header-shadow: var(--illusion-box-shadow); - --h1-shadow: var(--header-shadow); - --h2-shadow: var(--header-shadow); - --h3-shadow: var(--header-shadow); - --h4-shadow: var(--header-shadow); - --h5-shadow: var(--header-shadow); - --h6-shadow: var(--header-shadow); -} - -.callout.callout[data-callout=statblocks] { - --callout-color: var(--accent-rgb); - --callout-icon: swords; - --callout-padding: 12px 15px; - --callout-margin: 10px auto; - --callout-border-color: var(--hr, var(--hr-color)); - border-width: 5px 0 5px 0; - border-style: solid; - margin: var(--callout-margin); - min-width: 10ch; - max-width: 42ch; - background: transparent; - box-shadow: var(--shadow-l), 0 0 20px var(--outline, var(--hr-color)); -} -.callout.callout[data-callout=statblocks] > .callout-content { - --heading-spacing-top: 0; - --heading-spacing-bottom: 0; - --p-spacing: 7px; - --bold-color: var(--headers, var(--h1-color)); - --hr-icon-symbol: ""; -} -.callout.callout[data-callout=statblocks] h1 { - width: auto; -} -.callout.callout[data-callout=statblocks] img:not([class], [width]) { - box-shadow: 0 0 0 4px var(--headers, var(--background-modifier-border)); - margin-right: 4px; - margin-bottom: 4px; -} -.callout.callout[data-callout=statblocks] h1::after, .callout.callout[data-callout=statblocks] h1::before, .callout.callout[data-callout=statblocks] > .callout-title { - display: none; -} -.callout.callout[data-callout=statblocks] blockquote { - --blockquote-border-thickness: 0; - --blockquote-padding: 5px 0px 2px 0; - --blockquote-color: var(--soft-text, var(--text-faint)); - --blockquote-background-color: transparent; - margin-block-start: 0; - margin-block-end: 0; -} -.callout.callout[data-callout=statblocks] hr { - margin: 12px auto; -} -.callout.callout[data-callout=statblocks] table { - --table-header-background: transparent; - --table-header-background-hover: var(--table-header-background); - --table-header-color: var(--headers, var(--text-faint)); - --table-header-border-color: transparent; - --table-row-alt-background: transparent; - --table-row-alt-background-hover: var(--table-row-alt-background); - --table-row-background-hover: var(--table-row-alt-background); - --table-column-alt-background: transparent; - --table-border-color: transparent; - --table-cell-padding-y: 1px; - --table-cell-padding-x: 4px; - --table-header-padding-y: 1px; - --table-header-padding-x: 4px; - --table-style-column-header-background: transparent; - --table-style-column-header-bold-weight: var(--text-weight); - --table-style-column-header-bold-color: var(--text, var(--text-normal)); - margin: 12px auto; - width: unset; -} -.callout.callout[data-callout=statblocks][data-callout-metadata~=full] { - max-width: 100%; -} -.callout.callout[data-callout=statblocks][data-callout-metadata~=columns] { - max-width: 100%; - --columns: 2; -} -.callout.callout[data-callout=statblocks][data-callout-metadata~=columns][data-callout-metadata~="1"] { - --columns: 1; -} -.callout.callout[data-callout=statblocks][data-callout-metadata~=columns][data-callout-metadata~="2"] { - --columns: 2; -} -.callout.callout[data-callout=statblocks][data-callout-metadata~=columns][data-callout-metadata~="3"] { - --columns: 3; -} -.callout.callout[data-callout=statblocks][data-callout-metadata~=columns][data-callout-metadata~="4"] { - --columns: 4; -} -.callout.callout[data-callout=statblocks][data-callout-metadata~=columns][data-callout-metadata~="5"] { - --columns: 5; -} -.callout.callout[data-callout=statblocks][data-callout-metadata~=columns][data-callout-metadata~="6"] { - --columns: 6; -} -.callout.callout[data-callout=statblocks][data-callout-metadata~=columns][data-callout-metadata~="7"] { - --columns: 7; -} -.callout.callout[data-callout=statblocks][data-callout-metadata~=columns][data-callout-metadata~="8"] { - --columns: 8; -} -.callout.callout[data-callout=statblocks][data-callout-metadata~=columns][data-callout-metadata~="9"] { - --columns: 9; -} -.callout.callout[data-callout=statblocks][data-callout-metadata~=columns] > .callout-content { - display: grid; - grid-template-columns: repeat(var(--columns), 1fr); - gap: 15px; -} - -/*Image Grid*/ -.callout.callout[data-callout=grid] { - --callout-padding: 0; - --callout-content-padding: 0; - background: transparent; - border: 0; - margin: 0; - box-shadow: none; -} -.callout.callout[data-callout=grid] .callout-content { - display: block; - width: 100%; - border: 0; - box-shadow: unset; - padding: 0; -} -.callout.callout[data-callout=grid] .callout-title { - display: none; -} -.callout.callout[data-callout=grid] .callout-content p { - display: flex; - margin-block-start: 0; - margin-block-end: 0; - justify-content: center; -} -.callout.callout[data-callout=grid] .callout-content img { - display: table-cell; - vertical-align: middle; - padding: 3px; - max-height: 35vh; -} -.callout.callout[data-callout=grid] .callout-content img[alt=wfull] { - max-height: unset; -} -.callout.callout[data-callout=grid][data-callout-metadata~=masonry] .callout-content p { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(0, auto)); - grid-gap: 0; - margin: 0; - margin-top: 1px; -} -.callout.callout[data-callout=grid][data-callout-metadata~=masonry] .callout-content img { - display: flex; - flex: 1; - align-self: stretch; - object-fit: cover; - max-height: unset; -} - -/* Cards */ -.callout[data-callout~=cards] { - --callout-color: transparent; - --callout-icon: layout-dashboard; - --callout-padding: 0; - --callout-content-padding: 0px; - --callout-blend-mode: normal; - --callout-cards-columns: 3; - --callout-cards-gap: 5px; - box-shadow: none; - border: 0; - width: auto; -} -.callout[data-callout~=cards][data-callout-metadata~="1"] .callout-content { - --callout-cards-columns: 1; -} -.callout[data-callout~=cards][data-callout-metadata~="2"] .callout-content { - --callout-cards-columns: 2; -} -.callout[data-callout~=cards][data-callout-metadata~="3"] .callout-content { - --callout-cards-columns: 3; -} -.callout[data-callout~=cards][data-callout-metadata~="4"] .callout-content { - --callout-cards-columns: 4; -} -.callout[data-callout~=cards][data-callout-metadata~="5"] .callout-content { - --callout-cards-columns: 5; -} -.callout[data-callout~=cards][data-callout-metadata~="6"] .callout-content { - --callout-cards-columns: 6; -} -.callout[data-callout~=cards][data-callout-metadata~="7"] .callout-content { - --callout-cards-columns: 7; -} -.callout[data-callout~=cards][data-callout-metadata~="8"] .callout-content { - --callout-cards-columns: 8; -} -.callout[data-callout~=cards][data-callout-metadata~="9"] .callout-content { - --callout-cards-columns: 9; -} -.callout[data-callout~=cards] > .callout-title { - display: none; -} -.callout[data-callout~=cards] > .callout-content { - display: grid; - grid-template-columns: repeat(var(--callout-cards-columns), 1fr); - grid-gap: var(--callout-cards-gap); - border-radius: 0; - padding-inline-start: 0px; - padding: 0; -} -.callout[data-callout~=cards] p { - margin-block-start: 0; - margin-block-end: 0; - padding: 0; -} -.callout[data-callout~=cards]:not([data-callout-metadata~=nstr], [data-callout-metadata~=no-strong]) strong { - display: block; - text-align: center; - margin: auto; - background-color: var(--outer-bar, var(--background-secondary)); -} -.callout[data-callout~=cards] br { - display: none; -} -.callout[data-callout~=cards][data-callout-metadata~=flex] > .callout-content, .callout[data-callout~=cards][data-callout-metadata~=flex] .dataview.table-view-table tbody { - gap: unset; - grid-template-columns: none; - display: flex; - flex-direction: row; - flex-wrap: wrap; -} -.callout[data-callout~=cards][data-callout-metadata~=flex] > .callout-content .callout, .callout[data-callout~=cards][data-callout-metadata~=flex] .dataview.table-view-table tbody .callout { - flex: 1 1 250px; - margin: var(--callout-cards-gap); -} -.callout[data-callout~=cards][data-callout-metadata~=dataview] { - --callout-content-padding: 0; -} -.callout[data-callout~=cards][data-callout-metadata~=dataview] .callout-content { - display: unset; - grid-template-columns: unset; -} -.callout[data-callout~=cards][data-callout-metadata~=dataview] br { - display: block; -} -.callout[data-callout~=cards][data-callout-metadata~=dataview] .block-language-dataview { - padding: 5px; -} -.callout[data-callout~=cards][data-callout-metadata~=dataview] .dataview.table-view-table { - display: grid; - margin-block-start: 0; -} -.callout[data-callout~=cards][data-callout-metadata~=dataview] .dataview.table-view-table :is(td, tr) { - border: 0; - background: transparent; - padding: 0; -} -.callout[data-callout~=cards][data-callout-metadata~=dataview] .dataview.table-view-table strong { - background: transparent; -} -.callout[data-callout~=cards][data-callout-metadata~=dataview] .table-view-thead th { - border: 0; - background-color: transparent; -} -.callout[data-callout~=cards][data-callout-metadata~=dataview] .table-view-thead tr { - display: none; -} -.callout[data-callout~=cards][data-callout-metadata~=dataview] .dataview.table-view-table tbody { - display: grid; - grid-template-columns: repeat(var(--callout-cards-columns), 1fr); - grid-gap: calc(var(--callout-cards-gap) * 2); -} -.callout[data-callout~=cards][data-callout-metadata~=dataview] .dataview.table-view-table tbody tr { - display: grid; - align-content: flex-start; - margin: 0; - padding: 10px; - border: 2px solid var(--outline, var(--background-modifier-box-shadow)); - box-shadow: var(--shadow-ml, var(--input-shadow)); -} -.callout[data-callout~=cards][data-callout-metadata~=dataview][data-callout-metadata~=txt-c] .dataview td { - text-align: center; -} -.callout[data-callout~=cards][data-callout-metadata~=dataview] img:not(.link-favicon) { - width: 100%; - object-fit: cover; -} -.callout[data-callout~=cards][data-callout-metadata~=dataview][data-callout-metadata~=img-micro] img { - height: var(--micro); -} -.callout[data-callout~=cards][data-callout-metadata~=dataview][data-callout-metadata~=img-tiny] img { - height: var(--tiny); -} -.callout[data-callout~=cards][data-callout-metadata~=dataview][data-callout-metadata~=img-small] img { - height: var(--small); -} -.callout[data-callout~=cards][data-callout-metadata~=dataview][data-callout-metadata~=img-small-med] img { - height: var(--small-med); -} -.callout[data-callout~=cards][data-callout-metadata~=dataview][data-callout-metadata~=img-med-small] img { - height: var(--med-small); -} -.callout[data-callout~=cards][data-callout-metadata~=dataview][data-callout-metadata~=img-medium] img { - height: var(--medium); -} -.callout[data-callout~=cards][data-callout-metadata~=dataview][data-callout-metadata~=img-med-tall] img { - height: var(--med-tall); -} -.callout[data-callout~=cards][data-callout-metadata~=dataview][data-callout-metadata~=img-tall] img { - height: var(--tall); -} -.callout[data-callout~=cards][data-callout-metadata~=dvl] .callout-content { - display: block; -} -.callout[data-callout~=cards][data-callout-metadata~=dvl] br { - display: unset; -} -.callout[data-callout~=cards][data-callout-metadata~=dvl] .block-language-dataviewjs .dataview-result-list-li, .callout[data-callout~=cards][data-callout-metadata~=dvl] .list-view-ul li { - padding: 10px; - background-color: var(--outer-bar, var(--background-secondary)); - box-shadow: var(--shadow-s, var(--input-shadow)); - margin-bottom: 5px; - --list-indent: 0; -} -.callout[data-callout~=cards][data-callout-metadata~=dvl] .dataview.list-view-ul li::before { - --bullet: ""; -} -.callout[data-callout~=cards][data-callout-metadata~=dvl] ul { - padding-inline-start: unset; -} -.callout[data-callout~=cards][data-callout-metadata~=list] { - --list-indent: 0; -} -.callout[data-callout~=cards][data-callout-metadata~=list] > .callout-content { - display: block; -} -.callout[data-callout~=cards][data-callout-metadata~=list] ul li::before, .callout[data-callout~=cards][data-callout-metadata~=list] .list-collapse-indicator { - display: none; -} -.callout[data-callout~=cards][data-callout-metadata~=list] ul { - display: grid; - grid-template-columns: repeat(var(--callout-cards-columns), 1fr); - grid-gap: 5px; - border-radius: 0; - padding-inline-start: 0px; - margin-right: 3px; - margin-bottom: 5px; -} -.callout[data-callout~=cards][data-callout-metadata~=list] ul > li { - padding: 5px 10px; - box-shadow: 0 0 0 2px var(--outline) inset, var(--shadow-s, var(--input-shadow)); -} -.callout[data-callout~=cards][data-callout-metadata~=notion] { - --callout-cards-notion-padding: 10px; - --callout-cards-notion-shadow: 0 0 5px var(--outline), 0 0 6px var(--outline); - --callout-cards-notion-radius: var(--radius-s); - --callout-content-padding: 15px; -} -.callout[data-callout~=cards][data-callout-metadata~=notion]:is([data-callout-metadata~=round], [data-callout-metadata~=rounded]) { - --callout-cards-notion-radius: 5px; -} -.callout[data-callout~=cards][data-callout-metadata~=notion] .dataview.table-view-table tbody tr { - padding: 0; - box-shadow: var(--callout-cards-notion-shadow); - border: 0; - border-radius: var(--callout-cards-notion-radius); -} -.callout[data-callout~=cards][data-callout-metadata~=notion] .dataview.table-view-table tbody tr td > :last-of-type { - padding-bottom: 5px; -} -.callout[data-callout~=cards][data-callout-metadata~=notion] .dataview.table-view-table tbody tr td > :first-child { - padding-top: 5px; -} -.callout[data-callout~=cards][data-callout-metadata~=notion] .dataview.table-view-table tbody tr td > ul, .callout[data-callout~=cards][data-callout-metadata~=notion] .dataview.table-view-table tbody tr td > span:not(:has(strong, span)) { - margin-left: var(--callout-cards-notion-padding); - margin-right: var(--callout-cards-notion-padding); - display: inline-block; -} -.callout[data-callout~=cards][data-callout-metadata~=notion] .dataview.table-view-table tbody tr td:first-of-type strong::after { - content: ""; - display: block; - height: 1px; - background-color: var(--outline); - margin-top: 5px; -} -.callout[data-callout~=cards][data-callout-metadata~=notion] .dataview.table-view-table tbody strong { - margin-top: 5px; - margin-bottom: 5px; -} -.callout[data-callout~=cards][data-callout-metadata~=notion] .block-language-dataview { - margin: -25px 0 -25px 0; -} -.callout[data-callout~=cards][data-callout-metadata~=notion] > .callout-content { - padding: calc(var(--callout-cards-notion-padding) / 2); - gap: calc(var(--callout-cards-notion-padding) - 3px); -} -.callout[data-callout~=cards][data-callout-metadata~=notion] > .callout-content > p { - box-shadow: var(--callout-cards-notion-shadow); -} -.callout[data-callout~=cards][data-callout-metadata~=notion] > .callout-content > p strong { - background-color: transparent; - text-align: unset; - padding: 0 var(--callout-cards-notion-padding); -} -.callout[data-callout~=cards][data-callout-metadata~=notion] > .callout-content > p > :not(img, .internal-embed, strong, br) { - display: inline-block; - padding-left: var(--callout-cards-notion-padding); - padding-right: var(--callout-cards-notion-padding); -} -.callout[data-callout~=cards][data-callout-metadata~=notion] > .callout-content > p, .callout[data-callout~=cards][data-callout-metadata~=notion] > .callout-content > p img { - border-radius: var(--callout-cards-notion-radius); -} -.callout[data-callout~=cards][data-callout-metadata~=notion] > .callout-content > p > img:first-child, .callout[data-callout~=cards][data-callout-metadata~=notion] > .callout-content > p > .internal-embed:first-child img { - margin-bottom: 5px; -} -.callout[data-callout~=cards][data-callout-metadata~=notion] > .callout-content > p:has(> :is(img, .internal-embed):first-child) { - padding-bottom: 7px; -} -.callout[data-callout~=cards][data-callout-metadata~=notion] > .callout-content > p > img:last-child, .callout[data-callout~=cards][data-callout-metadata~=notion] > .callout-content > p > .internal-embed:last-child img { - margin-top: 5px; -} -.callout[data-callout~=cards][data-callout-metadata~=notion] > .callout-content > p:has(> :is(img, .internal-embed):last-child) { - padding-top: 7px; -} - -.view-content > div:is(.markdown-source-view, .markdown-reading-view) > div { - container: note/inline-size; -} - -@container note (max-width: 500px) { - .callout[data-callout~=cards] .callout-content { - --callout-cards-columns: 2; - } -} -@container note (max-width: 300px) { - .callout[data-callout~=cards] .callout-content { - --callout-cards-columns: 1; - } -} -/*Captions*/ -.callout.callout[data-callout~=caption] { - background: transparent; - text-align: center; - box-shadow: none; - border: 0; - padding: 0; - margin: 0; - --callout-content-padding: 0; - max-width: 30vh; -} -.callout.callout[data-callout~=caption] > .callout-content { - overflow: hidden; -} -.callout.callout[data-callout~=caption] > .callout-content > p :is(.image-embed, img) + br { - display: none; -} -.callout.callout[data-callout~=caption] > .callout-content img { - display: block; - margin: auto; -} -.callout.callout[data-callout~=caption] > .callout-title { - display: none; -} -.callout.callout[data-callout~=caption] p { - margin-block-start: 0; - margin-block-end: 0; - color: var(--text-faint); -} -.callout.callout[data-callout~=caption]:is([data-callout-metadata~=sban], [data-callout-metadata~=banner]) .image-embed img { - width: 100%; -} - -/* Recite */ -.callout.callout[data-callout=recite] { - --callout-color: 193, 67, 67; - --callout-icon: ''; - --callout-margin: 10px; - --callout-padding: 5px 10px 10px 10px; - border-style: solid; - border-width: 11px; - border-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA8CAYAAADxJz2MAAAFWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgZXhpZjpQaXhlbFhEaW1lbnNpb249IjgwIgogICBleGlmOlBpeGVsWURpbWVuc2lvbj0iNjAiCiAgIGV4aWY6Q29sb3JTcGFjZT0iMSIKICAgdGlmZjpJbWFnZVdpZHRoPSI4MCIKICAgdGlmZjpJbWFnZUxlbmd0aD0iNjAiCiAgIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiCiAgIHRpZmY6WFJlc29sdXRpb249IjMwMC8xIgogICB0aWZmOllSZXNvbHV0aW9uPSIzMDAvMSIKICAgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIKICAgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIgogICB4bXA6TW9kaWZ5RGF0ZT0iMjAyMi0wMS0wMlQxNjowNTo0MS0wODowMCIKICAgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMi0wMS0wMlQxNjowNTo0MS0wODowMCI+CiAgIDxkYzp0aXRsZT4KICAgIDxyZGY6QWx0PgogICAgIDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+RCZhbXA7RCBCb3JkZXI8L3JkZjpsaT4KICAgIDwvcmRmOkFsdD4KICAgPC9kYzp0aXRsZT4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0icHJvZHVjZWQiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFmZmluaXR5IERlc2lnbmVyIDEuMTAuNCIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMi0wMS0wMlQxNjowNTo0MS0wODowMCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+SLcLyAAAAYFpQ0NQc1JHQiBJRUM2MTk2Ni0yLjEAACiRdZHPK0RRFMc/8xD50SiUhcVLWA35UWJjMZNfhcXMKIPNm2fejJo3Xu+NJFtlO0WJjV8L/gK2ylopIiVLWRMbpuc8o0Yy53bP/dzvPed077mgRNO66ZR3g5nJ2uHRoDoTm1Urn/Ch0EQdqqY71mRkJEpJe7+VaLHrTq9W6bh/rWYh4ejgqxIe0i07KzwmPLGStTzeEm7UU9qC8IlwwJYLCt94erzAzx4nC/zpsR0Nh0CpF1aTvzj+i/WUbQrLy2kz08v6z328l9QmMtMRWVtltuAQZpQgKuMME6KfHgbF99NJL12yo0R+93f+FEuSq4u3WMVmkSQpsgREXZbqCVkN0RMy0qx6/f/bV8fo6y1Urw1CxaPrvrZD5Sbkc677ceC6+UMoe4DzTDF/aR8G3kTPFbW2PfCvw+lFUYtvw9kGNN9bmq19S2UyFcOAl2Ooi0HDFVTPFXr2c87RHUTX5KsuYWcXOiTeP/8FK5Jny8RYHqYAAAAJcEhZcwAALiMAAC4jAXilP3YAAAG5SURBVHic7dyxSiNRFMbxv0OwEkvZfrEWleWAvbA+giB5ANtgcx/gFJK0+wAbwUdYV7bZRjiIirXYL1tbiajFXHV3Y5KBbIyTfL8yOQxfPu5kprkXKnCzRTfrVpmdBm7WdbPFKrNFhYt9As6BnVGD1cgOcJ5/+0CNfl+4WQG0AB80N8U+AiduloBOirh/bejVFehmH4AjYJ/ZLO9Jg7KDo9xJj54C3ewzcAlsjjdbrWwCl7mbvzyvLjebp7xdW28YrE6WgG9u1gFSiriFvALdbBk4QeVV0aL8b1wGKNysCVwA6xONVS/rwIWbNefc7GHSaeps6HugiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIyCzQTqURaafSiBpAE/gCLAwbThFzY0/0DlS8K2+A3SJFdIE14Gy8sabKGbCWIroFQIq4AjaA9kRj1UMb2MidvexYzzuw99zsB/CVcoe2vPgNNFPE9z8/7HmI5IEV4PiNgtXBMbDyb3nQ5ymcIn4BW8AecDfebO/aHWUHW7mTHn2PNMnnpLTd7CdwSHmOyiy5BrZTxOmgoaHvgfkCq8DBfwpWBwfA6rDyAB4BTjVxWZByO0gAAAAASUVORK5CYII=") 11; - border-image-outset: 9px 0px; - box-shadow: 0px 0px 10px var(--outline, var(--background-modifier-box-shadow)); - background: var(--note, var(--background-primary)); - text-align: justify; -} -.callout.callout[data-callout=recite] .callout-title { - padding: 0; - background: transparent; - color: rgba(var(--callout-color), 1); - justify-content: center; -} -.callout.callout[data-callout=recite][data-callout-metadata*=bg-]:not([data-callout-metadata*=bg-c]) .callout-title { - color: var(--text-normal); -} -.callout.callout[data-callout=recite] .callout-title-inner { - flex: unset; -} -.callout.callout[data-callout=recite] .callout-content { - padding: 0; - padding-top: 10px; -} - -/* Unwrapped Table */ -.callout.callout[data-callout-metadata~=table] { - border: 0; - background-color: transparent; - --callout-padding: 0; -} -.callout.callout[data-callout-metadata~=table] .callout-content { - padding: 0; - border: 0; - background-color: transparent; - box-shadow: none; -} -.callout.callout[data-callout-metadata~=table]:not([data-callout-metadata~=show-title], -[data-callout-metadata~=s-t]) .callout-title { - display: none; -} -.callout.callout[data-callout-metadata~=table] table { - white-space: nowrap; - margin: 0; - margin: auto; - overflow-x: scroll; -} -.callout.callout[data-callout-metadata~=table] table th, .callout.callout[data-callout-metadata~=table] table td { - white-space: nowrap; -} -.callout.callout:is([data-callout-metadata~=table-unwrap-column-1], [data-callout-metadata~=tbl-u-1]) table tr td:nth-child(1) { - --table-white-space: nowrap; -} -.callout.callout:is([data-callout-metadata~=table-unwrap-column-2], [data-callout-metadata~=tbl-u-2]) table tr td:nth-child(2) { - --table-white-space: nowrap; -} -.callout.callout:is([data-callout-metadata~=table-unwrap-column-3], [data-callout-metadata~=tbl-u-3]) table tr td:nth-child(3) { - --table-white-space: nowrap; -} -.callout.callout:is([data-callout-metadata~=table-unwrap-column-4], [data-callout-metadata~=tbl-u-4]) table tr td:nth-child(4) { - --table-white-space: nowrap; -} -.callout.callout:is([data-callout-metadata~=table-unwrap-column-5], [data-callout-metadata~=tbl-u-5]) table tr td:nth-child(5) { - --table-white-space: nowrap; -} -.callout.callout:is([data-callout-metadata~=table-unwrap-column-6], [data-callout-metadata~=tbl-u-6]) table tr td:nth-child(6) { - --table-white-space: nowrap; -} -.callout.callout:is([data-callout-metadata~=table-unwrap-column-7], [data-callout-metadata~=tbl-u-7]) table tr td:nth-child(7) { - --table-white-space: nowrap; -} - -.callout[data-callout=blank] { - --callout-color: transparent; - margin: 0; - padding: 0; - --callout-border-width: 0; -} -.callout[data-callout=blank] .callout-content { - padding: 0; -} -.callout[data-callout=blank] > .callout-title { - display: none; -} - -/* Metadata */ -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i] { - --callout-icon: layers; - --callout-border-width: 2px; - --callout-title-padding: 5px; - --callout-content-padding: 0px 10px 10px; - --callout-shadow: 0px 0px 0px 1px var(--outline); -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i]:not([data-callout-metadata*=bg-], -[data-callout-metadata*=bg-c-], -[data-callout-metadata*=c-], -[data-callout-metadata*=color-]) { - --callout-color: 82, 139, 212; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i] .callout-title { - background-color: transparent; - justify-content: center; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i] .callout-title-inner { - flex: unset; - color: rgb(var(--callout-color)); -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i]:not([data-callout-metadata~=no-strong], [data-callout-metadata~=no-str]) { - --bold-color: rgb(var(--callout-color)) ; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i] .dataview.inline-field-key { - background: rgb(var(--callout-color)); - color: var(--text-on-accent); - font-weight: 900; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i] .dataview.inline-field-value { - font-weight: unset; - background: transparent; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i] table th { - background-color: var(--aside-bg, rgba(var(--callout-color), 0.5)); -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i] table { - --tbl-td-h: 0; - --tbl-td-w: 5px; - white-space: nowrap; - margin: 0; - width: 100%; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i] .callout-content p:last-child { - margin-bottom: 0; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i] .callout-content p:first-child { - margin-top: 0; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i] .callout-content, body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i] ul { - margin: 0; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i][data-callout-metadata~=i-at] { - background: var(--outer-bar, var(--background-secondary-alt)); - border: 0; - text-align: center; - padding: 0; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i][data-callout-metadata~=i-at]:is([data-callout-metadata*=bg-], -[data-callout-metadata*=bg-c-], -[data-callout-metadata*=c-], -[data-callout-metadata*=color-]) { - background: rgba(var(--callout-color), var(--callout-color-opacity)); -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i][data-callout-metadata~=i-at].is-collapsible:not(.is-collapsed) { - display: flex; - flex-direction: row-reverse; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i][data-callout-metadata~=i-at]:not(.is-collapsible) .callout-title, body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i][data-callout-metadata~=i-at] .callout-title-inner, body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i][data-callout-metadata~=i-at]:not(.is-collapsed) .callout-icon { - display: none; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i][data-callout-metadata~=i-at] .callout-fold { - display: flex; - align-content: center; - align-items: center; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i][data-callout-metadata~=i-at] .callout-fold svg { - margin-bottom: unset; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i][data-callout-metadata~=i-at] .callout-content { - padding: 0px; - margin: auto; - overflow-y: hidden; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i]:is([data-callout-metadata~=tbl-cln], [data-callout-metadata~=table-clean]) table :is(td, tr, th) { - background-color: transparent; - border-color: transparent; -} -body:not(.callout-no-metadata) .callout.callout[data-callout~=Metadata i][data-callout-metadata*=bg-] { - --callout-border-color: var(--callout-background); - border-color: var(--callout-border-color); -} - -/* Columns */ -.callout[data-callout*=column] { - --callout-color: var(--text-normal); - --callout-icon: layout-dashboard; - --columns: 2; - --callout-column-gap: 10px; - background: transparent; - box-shadow: none; - border: 0; - width: auto; - padding: 0; -} -.callout[data-callout*=column] > .callout-content > .callout { - margin: 0; -} -.callout[data-callout*=column] > .callout-content .callout-content { - border: 0; -} -.callout[data-callout*=column] > .callout-content { - display: grid; - grid-template-columns: repeat(var(--columns), 1fr); - gap: var(--callout-column-gap); - background: transparent; - box-shadow: none; - border: 0; - padding: 0; -} -.callout[data-callout*=column][data-callout-metadata~="3"] .callout-content { - --columns: 3; -} -.callout[data-callout*=column][data-callout-metadata~="4"] .callout-content { - --columns: 4; -} -.callout[data-callout*=column][data-callout-metadata~="5"] .callout-content { - --columns: 5; -} -.callout[data-callout*=column][data-callout-metadata~="6"] .callout-content { - --columns: 6; -} -.callout[data-callout*=column][data-callout-metadata~="7"] .callout-content { - --columns: 7; -} -.callout[data-callout*=column][data-callout-metadata~="8"] .callout-content { - --columns: 8; -} -.callout[data-callout*=column][data-callout-metadata~="9"] .callout-content { - --columns: 9; -} -.callout[data-callout*=column]:is([data-callout-metadata~=slim-margins], -[data-callout-metadata~=s-mg]) > .callout-content { - --callout-column-gap: 2px; -} -.callout[data-callout*=column][data-callout-metadata~=flex] > .callout-content { - gap: var(--callout-column-gap); - grid-template-columns: none; - display: flex; - flex-direction: row; - flex-wrap: wrap; -} -.callout[data-callout*=column][data-callout-metadata~=flex] > .callout-content .callout { - flex: 1 1 calc(var(--file-line-width) / 2.5); -} -.callout[data-callout*=column][data-callout-metadata~=flex][data-callout-metadata~="3"] > .callout-content .callout { - flex: 1 1 calc(var(--file-line-width) / 3.5); -} -.callout[data-callout*=column][data-callout-metadata~=flex][data-callout-metadata~=resize] .callout { - flex: 1 1 auto; -} -.callout[data-callout*=column][data-callout-metadata~=flex][data-callout-metadata~=resize] .callout[data-callout-metadata~=wmicro] { - width: 5%; -} -.callout[data-callout*=column][data-callout-metadata~=flex][data-callout-metadata~=resize] .callout[data-callout-metadata~=wtiny] { - width: 10%; -} -.callout[data-callout*=column][data-callout-metadata~=flex][data-callout-metadata~=resize] .callout[data-callout-metadata~=wsmall] { - width: 20%; -} -.callout[data-callout*=column][data-callout-metadata~=flex][data-callout-metadata~=resize] .callout[data-callout-metadata~=ws-med] { - width: 30%; -} -.callout[data-callout*=column][data-callout-metadata~=flex][data-callout-metadata~=resize] .callout[data-callout-metadata~=wmed] { - width: 40%; -} -.callout[data-callout*=column][data-callout-metadata~=dataview] > .callout-content { - grid-template-columns: unset; - gap: unset; -} -.callout[data-callout*=column][data-callout-metadata~=dataview] > .callout-content .dataview.list-view-ul { - columns: var(--columns); -} -.callout[data-callout*=column][data-callout-metadata~=dataview] > .callout-content .dataview li { - break-inside: avoid; -} -.callout[data-callout*=column][data-callout-metadata~=list-global] .callout > .callout-content, .callout[data-callout*=column][data-callout-metadata~=list] > .callout-content { - grid-template-columns: unset; -} -.callout[data-callout*=column][data-callout-metadata~=list-global] .callout > .callout-content ul, .callout[data-callout*=column][data-callout-metadata~=list-global] .callout > .callout-content > ul, .callout[data-callout*=column][data-callout-metadata~=list] > .callout-content ul, .callout[data-callout*=column][data-callout-metadata~=list] > .callout-content > ul { - columns: var(--columns); -} -.callout[data-callout*=column][data-callout-metadata~=list-global] .callout > .callout-content ul > li, .callout[data-callout*=column][data-callout-metadata~=list-global] .callout > .callout-content > ul > li, .callout[data-callout*=column][data-callout-metadata~=list] > .callout-content ul > li, .callout[data-callout*=column][data-callout-metadata~=list] > .callout-content > ul > li { - break-inside: avoid; -} -.callout[data-callout*=column][data-callout-metadata~=list-global] .callout > .callout-content ul .list-bullet::after, .callout[data-callout*=column][data-callout-metadata~=list-global] .callout > .callout-content > ul .list-bullet::after, .callout[data-callout*=column][data-callout-metadata~=list] > .callout-content ul .list-bullet::after, .callout[data-callout*=column][data-callout-metadata~=list] > .callout-content > ul .list-bullet::after { - position: relative; -} -.callout[data-callout*=column][data-callout-metadata~=list-x] > .callout-content { - grid-template-columns: unset; -} -.callout[data-callout*=column][data-callout-metadata~=list-x] > .callout-content > ul { - display: grid; - grid-template-columns: repeat(var(--columns), 1fr); -} - -/*Kanban*/ -.callout.callout[data-callout~=kanban] { - --callout-color: unset; - --callout-icon: layout-dashboard; - --callout-padding: 0; - --item-outline: 0 0 0 1px var(--outline, var(--background-modifier-border)); - --lane-width: 250px; - background: transparent; - box-shadow: none; - border: 0; - width: auto; -} -.callout.callout[data-callout~=kanban] .callout-title { - justify-content: center; - background: var(--code-bg, var(--background-primary)); - padding: 5px; - border-radius: var(--radius-s); -} -.callout.callout[data-callout~=kanban] .callout-title-inner { - flex: unset; -} -.callout.callout[data-callout~=kanban] .callout-content { - padding: 0; -} -.callout.callout[data-callout~=kanban] ul li::marker, .callout.callout[data-callout~=kanban] ul li::before, .callout.callout[data-callout~=kanban] .list-bullet, .callout.callout[data-callout~=kanban] ul::before, .callout.callout[data-callout~=kanban] :is(ul, ul ul) .list-collapse-indicator { - list-style-type: none; - color: transparent; - display: none !important; -} -.callout.callout[data-callout~=kanban] ul { - display: flex; - margin-block-start: 5px; - padding-inline-start: 0; - text-align: center; - overflow: auto; -} -.callout.callout[data-callout~=kanban] ul.list-view-ul { - margin-inline-start: unset; -} -.callout.callout[data-callout~=kanban] ul li { - min-width: var(--lane-width); - border: 0; - padding: 5px; - margin: 5px 1px; - padding-top: 4px; - background: var(--note, var(--background-primary-alt)); - border-radius: var(--radius-s); - box-shadow: var(--item-outline), var(--shadow-s); -} -.callout.callout[data-callout~=kanban] ul ul { - flex-direction: column; - text-align: left; - overflow: unset; -} -.callout.callout[data-callout~=kanban] ul ul li { - min-width: calc(var(--lane-width) / 2); - padding: 5px; - box-shadow: var(--item-outline), var(--shadow-s); - background: var(--code-bg, var(--background-primary)); -} -.callout.callout[data-callout~=kanban] ul ul li :is(img, .internal-embed) { - margin-bottom: -6px; -} -.callout.callout[data-callout~=kanban] ul.contains-task-list .task-list-item-checkbox { - margin-inline-start: 0; -} -.callout.callout[data-callout~=kanban] .task-list-item-checkbox { - cursor: default; -} -.callout.callout[data-callout~=kanban] :is(ul, ol) > li p:first-of-type { - margin-block-start: 0; -} - -/* Timeline */ -.callout.callout[data-callout~=timeline] { - --callout-icon: "clock-12"; - --callout-padding: 0; - --callout-title-padding: 10px; - --callout-content-padding: 10px; - --callout-margin: 0; - --timeline-shadow: var(--outline, var(--background-modifier-box-shadow)); - --micro: 50px; - --tiny: 100px; - --small: 200px; - --small-med: 300px; - --med-small: 400px; - --medium: 500px; - --med-tall: 600px; - --tall: 700px; - --c-timeline: calc(50% - 2px); - background-color: transparent; - margin: 0; - border: 0; - clear: both; - position: unset !important; -} -.callout.callout[data-callout~=timeline] .callout-title { - background: rgba(var(--callout-color), 0.35); - align-content: center; - align-items: center; -} -.callout.callout[data-callout~=timeline] .callout-title em { - font-style: normal; - display: block; - font-size: 14px; - line-height: 12px; - color: rgb(var(--callout-color)); -} -.callout.callout[data-callout~=timeline] .callout-icon { - background-color: var(--note, var(--background-primary)); - transform: scale(1.2); - border-radius: 20px; - height: var(--icon-size); - width: var(--icon-size); -} -.callout.callout[data-callout~=timeline] .callout-content { - background-color: rgb(var(--callout-color), 0.1); -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-l] { - border-right: 4px solid rgb(var(--callout-color)); - margin-right: var(--c-timeline); - z-index: 0; -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-l] > .callout-title, .callout.callout[data-callout~=timeline][data-callout-metadata~=t-l] > .callout-content { - box-shadow: -4px 4px 0 var(--timeline-shadow); -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-r] { - border-left: 4px solid rgb(var(--callout-color)); - margin-left: var(--c-timeline); -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-r] > .callout-title, .callout.callout[data-callout~=timeline][data-callout-metadata~=t-r] > .callout-content { - box-shadow: 4px 4px 0 var(--timeline-shadow); -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-l] > .callout-title { - flex-direction: row-reverse; - text-align: right; -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-l] > .callout-title .callout-icon { - float: right; - position: absolute; - margin-right: -20px; -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-r] > .callout-title .callout-icon { - float: left; - position: absolute; - margin-left: -20px; -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-1] .callout-title { - margin-top: var(--micro); -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-2] .callout-title { - margin-top: var(--tiny); -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-3] .callout-title { - margin-top: var(--small); -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-4] .callout-title { - margin-top: var(--small-med); -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-5] .callout-title { - margin-top: var(--med-small); -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-6] .callout-title { - margin-top: var(--medium); -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-7] .callout-title { - margin-top: 350px; -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-8] .callout-title { - margin-top: var(--med-tall); -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-9] .callout-title { - margin-top: var(--tall); -} -.callout.callout[data-callout~=timeline][data-callout-metadata~=t-10] .callout-title { - margin-top: 750px; -} - -.callout[data-callout=kith] { - --callout-icon: user; - --callout-color: 115, 167, 202; - border-color: rgba(var(--callout-color), 0.7); -} -.callout[data-callout=kith] .callout-title-inner { - font-weight: unset; - color: rgb(var(--callout-color)); -} -.callout[data-callout=kith] .callout-title-inner em { - display: block; - font-style: normal; - font-size: var(--font-small); - line-height: 12px; - font-weight: normal; -} -.callout[data-callout=kith] .callout-title-inner em em { - font-style: italic; - display: inline-block; -} -.callout[data-callout=kith][data-callout-metadata=family] { - --callout-icon: users; -} -.callout[data-callout=kith][data-callout-metadata=friend] { - --callout-icon: user-check; - --callout-color: 115, 202, 144; -} -.callout[data-callout=kith][data-callout-metadata=romantic] { - --callout-icon: user-plus; - --callout-color: 202, 115, 180; -} -.callout[data-callout=kith][data-callout-metadata=antagonist] { - --callout-icon: user-x; - --callout-color: 241, 74, 74; -} - -.callout[data-callout=checks] { - --callout-color: unset; - --callout-icon: "check-square"; - --callout-padding: 0px; - --root-list-spacing: 0; - --list-indent: 0; -} -.callout[data-callout=checks] ul.contains-task-list { - display: flex; - flex-direction: row; - padding-inline-start: 0; -} -.callout[data-callout=checks] ul.contains-task-list li.task-list-item { - margin-right: 5px; -} -.callout[data-callout=checks] ul.contains-task-list li p { - margin-block-start: 0; -} -.callout[data-callout=checks] > .callout-content > ul:not(.contains-task-list) { - padding-inline-start: 0; -} -.callout[data-callout=checks] ul:not(.contains-task-list) li { - --bullet: 0; - --indentation-guide-color: transparent; - margin-right: 10px; -} -.callout[data-callout=checks] ul:not(.contains-task-list) li > .list-bullet { - display: none; -} -.callout[data-callout=checks] ul > li .task-list-item-checkbox { - margin-inline-start: 0 !important; -} - -/* Asides */ -.callout[data-callout~=aside] { - --callout-icon: message-square; - --callout-color: ""; - --callout-margin: 0 -1.2em 0 5px; - background-color: var(--aside-bg, var(--background-secondary)); - box-shadow: 0.3em 0.3em 0 var(--accent, var(--background-modifier-box-shadow)), 0 0 0 1px var(--accent, var(--background-modifier-box-shadow)); - float: right; - position: relative; - max-width: 400px; -} -.callout[data-callout~=aside]:not([data-callout-metadata~=no-t]) .callout-content { - padding: 5px 10px; -} -.callout[data-callout~=aside]:not([data-callout-metadata~=no-t]) .callout-content p:first-child { - margin-top: 0; -} -.callout[data-callout~=aside]:not([data-callout-metadata~=show-title], [data-callout-metadata~=s-t]) .callout-title-inner { - display: none; -} -.callout[data-callout~=aside]:not([data-callout-metadata~=show-title], [data-callout-metadata~=s-t]) .callout-title { - justify-content: space-between; -} -.callout[data-callout~=aside].is-collapsed { - background-color: transparent; - box-shadow: none; - --callout-border-width: 0; - --callout-padding: 0px 4px; -} -.callout[data-callout~=aside].is-collapsed .callout-title-inner { - display: none; -} -.callout[data-callout~=aside].is-collapsed .callout-title { - justify-content: space-between; - --callout-title-padding: 0px; -} -.callout[data-callout~=aside].is-collapsed .callout-fold { - margin: 0; - padding: 0; - margin-left: -25px; - visibility: hidden; -} - -.callout[data-callout~=aside][data-callout-metadata~=clean] { - background: transparent; - box-shadow: none; -} - -.callout[data-callout~=aside][data-callout-metadata~=tufte] { - background: transparent; - box-shadow: none; - float: right; - position: relative; -} -.callout[data-callout~=aside][data-callout-metadata~=tufte]:not(.is-collapsed) { - width: 400px; - margin-right: -25.3em; -} -.callout[data-callout~=aside][data-callout-metadata~=tufte] .callout-title { - padding-top: 0; -} -.callout[data-callout~=aside][data-callout-metadata~=tufte].is-collapsed .callout-title { - justify-content: unset; -} -.callout[data-callout~=aside][data-callout-metadata~=tufte].is-collapsed .callout-content { - display: none; -} - -.callout.callout.callout[data-callout~=aside]:is([data-callout-metadata~=left], [data-callout-metadata~="p+l"]) { - margin-left: -1.6em; -} -.callout.callout.callout[data-callout~=aside]:is([data-callout-metadata~=left], [data-callout-metadata~="p+l"]):not(.is-collapsed) { - margin-right: 10px; -} -.callout.callout.callout[data-callout~=aside]:is([data-callout-metadata~=left], [data-callout-metadata~="p+l"])[data-callout-metadata~=tufte]:not(.is-collapsed) { - margin: unset; - margin-left: -25em !important; -} -.callout.callout.callout[data-callout~=aside]:is([data-callout-metadata~=left], [data-callout-metadata~="p+l"])[data-callout-metadata~=tufte]:not(.is-collapsed) .callout-title { - padding-top: 5px; - flex-direction: row-reverse; -} - -.is-mobile.is-mobile .callout[data-callout~=aside]:is([data-callout-metadata~=left], [data-callout-metadata~="p+l"]) { - margin-left: 0; -} - -.is-live-preview .callout[data-callout~=aside] { - float: unset; -} - -.is-live-preview.is-live-preview .callout.callout[data-callout~=aside] { - margin: 5px; -} - -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote] { - --callout-icon: ""; - --callout-color: var(--color-accent); - --callout-padding: 20px 30px; - --callout-border-width: 0 0 0 4px; - --callout-border-opacity: .7; - display: flex; - flex-direction: column-reverse; - box-shadow: var(--shadow-l); -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote] > .callout-content { - overflow: hidden; -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote] > .callout-content p:first-child { - margin-block-start: 0; -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote] > .callout-content p:last-child { - margin-block-end: 0; -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote] > .callout-title { - background: transparent; - text-align: right; - padding-top: 5px; - padding-right: 0; - justify-content: flex-end; -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote] > .callout-title > .callout-fold { - padding-inline-end: 0; -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote] > .callout-title > .callout-icon { - height: 0; - width: 0; -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote] > .callout-title > .callout-title-inner::before { - content: "~ "; -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote][data-callout-metadata~=author] { - --callout-icon: ""; - --callout-color: var(--color-accent); - --callout-padding: 20px 30px; - --callout-border-width: 0 0 0 4px; - --callout-border-opacity: .7; - display: flex; - flex-direction: column-reverse; - box-shadow: var(--shadow-l); -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote][data-callout-metadata~=author] .callout-content { - overflow: hidden; -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote][data-callout-metadata~=author] .callout-content p:first-child { - margin-block-start: 0; -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote][data-callout-metadata~=author] .callout-content p:last-child { - margin-block-end: 0; -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote][data-callout-metadata~=author] .callout-icon { - height: 0; - width: 0; -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote][data-callout-metadata~=author] .callout-title { - background: transparent; - text-align: right; - padding-top: 5px; - padding-right: 0; - display: block; -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote][data-callout-metadata~=author] .callout-title-inner::before { - content: "~ "; -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote][data-callout-metadata~=mark] { - --callout-content-padding: 0 30px 0 0; -} -body:not(.default-callout-quote, .callout-no-quote) .callout.callout[data-callout=quote][data-callout-metadata~=mark] .callout-content::before { - display: block; - float: right; - content: "”"; - font-family: var(--font); - color: var(--headers); - transform: scale(4); - position: absolute; - right: 40px; - margin-top: 20px; -} - -.published-container .callout.callout[data-callout=quote][data-callout-metadata~=mark] .callout-content::before { - right: 65px; -} - -.callout-original .callout, -.callout:is([data-callout-metadata~=callout-original], -[data-callout-metadata~=co-o]) { - --callout-padding: 0; - --callout-title-padding: 10px 15px; - --callout-content-padding: 5px 15px; - --callout-border-opacity: 1; - --callout-margin: 5px 5px 5px 0; - --callout-border-width: 0 0 0 3px; - background-color: var(--note, var(--background-primary)); - box-shadow: var(--shadow-m); - margin: var(--callout-margin); -} -.callout-original .callout .callout-title, -.callout:is([data-callout-metadata~=callout-original], -[data-callout-metadata~=co-o]) .callout-title { - background: rgba(var(--callout-color), 0.1); -} - -.callout-block .callout, -.callout:is([data-callout-metadata~=callout-block], -[data-callout-metadata~=co-block]) { - --callout-padding: 0; - --callout-content-padding: 0 10px; - --callout-title-padding: 6px 10px; - --callout-title-background: var(--callout-color); - --callout-border-opacity: .5; -} -.callout-block .callout .callout-title, -.callout:is([data-callout-metadata~=callout-block], -[data-callout-metadata~=co-block]) .callout-title { - background-color: rgba(var(--callout-title-background, var(--callout-color)), 0.2); -} -.callout-block .callout.is-collapsible:not(.is-collapsed) > .callout-content, -.callout:is([data-callout-metadata~=callout-block], -[data-callout-metadata~=co-block]).is-collapsible:not(.is-collapsed) > .callout-content { - border-bottom: 1px solid rgba(var(--callout-color), var(--callout-border-opacity)); -} - -.callout-alternate-line .callout, -.callout.callout[data-callout-metadata~=alt-line] { - border: 0; - background-color: transparent; - --callout-padding: 0; - --callout-title-padding: 5px 10px; - --callout-content-padding: 0px 10px 10px; -} -.callout-alternate-line .callout .callout-title, -.callout.callout[data-callout-metadata~=alt-line] .callout-title { - background: transparent; - border-bottom: 2px solid var(--table, var(--background-modifier-border)); -} -.callout-alternate-line .callout .callout-fold, -.callout.callout[data-callout-metadata~=alt-line] .callout-fold { - color: rgb(var(--callout-color)); -} -.callout-alternate-line .callout .callout-content.callout-content, -.callout.callout[data-callout-metadata~=alt-line] .callout-content.callout-content { - border: 0; - border-bottom: 1px solid rgba(var(--callout-color), 0.5); -} - -.callout-bordered .callout:not([data-callout-metadata~=callout-block], -[data-callout-metadata~=co-block], -[data-callout-metadata~=callout-original], -[data-callout-metadata~=co-o], -[data-callout-metadata~=alt-line]):not([data-callout=aside], -[data-callout=blank], -[data-callout=captions], -[data-callout=cards], -[data-callout=checks], -[data-callout=column], -[data-callout=grid], -[data-callout=infobox], -[data-callout=kanban], -[data-callout=metadata], -[data-callout=quotes], -[data-callout=recite], -[data-callout=statblocks], -[data-callout=timeline]), -.callout[data-callout-metadata~=callout-bordered] { - --callout-border-width: 2px; - --callout-title-padding: 5px; - --callout-content-padding: 0px 10px 10px; - --callout-shadow: 0px 0px 0px 1px var(--outline); -} -.callout-bordered .callout:not([data-callout-metadata~=callout-block], -[data-callout-metadata~=co-block], -[data-callout-metadata~=callout-original], -[data-callout-metadata~=co-o], -[data-callout-metadata~=alt-line]):not([data-callout=aside], -[data-callout=blank], -[data-callout=captions], -[data-callout=cards], -[data-callout=checks], -[data-callout=column], -[data-callout=grid], -[data-callout=infobox], -[data-callout=kanban], -[data-callout=metadata], -[data-callout=quotes], -[data-callout=recite], -[data-callout=statblocks], -[data-callout=timeline])[data-callout-metadata*=bg-], -.callout[data-callout-metadata~=callout-bordered][data-callout-metadata*=bg-] { - --callout-border-color: var(--callout-background); - border-color: var(--callout-border-color); -} - -@media print { - .print.print .markdown-preview-view .callout:is([data-callout*=cards], -[data-callout*=column]) .callout-content { - display: grid !important; - } - .print.print .markdown-preview-view .callout:is([data-callout*=column][data-callout-metadata*=flex]) .callout-content { - display: flex !important; - } -} -.markdown-rendered table tr { - height: unset; -} - -.callout.callout.callout { - --callout-blend-mode: normal; - margin: var(--callout-margin); - z-index: 1; - position: relative; -} - -.canvas-cards .canvas-node.is-themed { - --shadow-border-themed-inset: none; - --shadow-border-themed: none; -} -.canvas-cards .canvas-node.is-themed .canvas-node-container { - border-color: var(--outline); - box-shadow: inset 0 0 0 2px var(--outline), var(--shadow-m); -} -.canvas-cards .canvas-node.is-themed .canvas-node-container:hover .canvas-node-content { - background-color: rgba(var(--canvas-color), 0.2); -} - -body.canvas-milanote.canvas-milanote { - --canvas-background: var(--outer-bar); - --canvas-dot-pattern: var(--inactive); - --canvas-color-opacity: 0; - --canvas-card-shadow-size: 2px 3px 0; - --canvas-card-shadow-color: var(--outline); -} - -.canvas-milanote .canvas-node.canvas-node-group .canvas-node-content { - --canvas-color-opacity: 15%; -} -.canvas-milanote .canvas-node .canvas-node-content.markdown-embed:not(.is-loaded) { - --milanote-serif-font: "Harding", "Ranille Normal", "Georgia", "Calibri"; - --h1-size: calc(var(--font-text-size) * 1.55); - --h2-size: calc(var(--font-text-size) * 1.45); - --h3-size: calc(var(--font-text-size) * 1.35); - --h4-size: calc(var(--font-text-size) * 1.2); - --h5-size: calc(var(--font-text-size) * 1.1); - --h6-size: calc(var(--font-text-size)); - --h1-color: var(--text); - --h2-color: var(--text); - --h3-color: var(--text); - --h4-color: var(--text); - --h5-color: var(--text); - --h6-color: var(--text); -} -.canvas-milanote .canvas-node .canvas-node-content.markdown-embed:not(.is-loaded) :is(h1, h2, h3, h4, h5, h6)::after { - display: none; -} -.canvas-milanote .canvas-node .canvas-node-content.markdown-embed:not(.is-loaded) :is(h1, h2, h3, h4, h5, h6) { - font-family: var(--milanote-serif-font); - margin-block-end: 0; - font-weight: var(--header-weight); -} -.canvas-milanote .canvas-node .canvas-node-content.markdown-embed:not(.is-loaded) p { - margin-block-start: 5px; -} -.canvas-milanote .canvas-node .canvas-node-content.markdown-embed:not(.is-loaded) .markdown-preview-view { - padding: 0 var(--size-4-4); -} -.canvas-milanote .canvas-node.canvas-node:not(.canvas-node-group, .is-focused) > .canvas-node-container { - border-color: transparent; - box-shadow: var(--canvas-card-shadow-size) var(--canvas-card-shadow-color); -} -.canvas-milanote .canvas-node.is-themed:not(.canvas-node-group) > .canvas-node-container { - border-color: transparent; - box-shadow: 0 -4px 0 -0.4px rgb(var(--canvas-color)), var(--canvas-card-shadow-size) var(--canvas-card-shadow-color); -} - -.canvas-arrow-text-color .canvas-path-label { - color: rgb(var(--canvas-color)); -} - -.sizing-readable.sizing-readable { - --font-ui-smaller: 13.5px; - --font-ui-small: 14px; - --font-ui-medium: 15px; - --font-ui-large: 20px; - --font-smallest:.88em; - --font-smaller:.9em; - --font-small: .95em; - --icon-xs: 14px; - --icon-s: 16px; - --icon-m: 17px; - --icon-l: 18px; - --header-height: 40px; - --ribbon-width: 40px; -} - -.sizing-mini.sizing-mini { - --font-ui-smaller: 11px; - --font-ui-small: 12px; - --font-ui-medium: 14px; - --font-ui-large: 20px; - --font-smallest: .70em; - --font-smaller: .88em; - --font-small: .95em; - --icon-xs: 12px; - --icon-s: 13px; - --icon-m: 14px; - --icon-l: 15px; - --vault-name-font-size: 14px; - --header-height: 35px; - --ribbon-width: 30px; - --inline-title-size: 20px; - --scrollbar-width: 8px; - --scrollbar-height: 8px; -} - -.sizing-large.sizing-large, -.sizing-large.sizing-large div { - --font-ui-smaller: 16px; - --font-ui-small: 18px; - --font-ui-medium: 20px; - --font-ui-large: 24px; - --font-smallest: 1em; - --font-smaller: 1.2em; - --font-small: 1.5em; - --table-row-edit-font-size: var(--font-text-size); - --font-frontmatter: var(--font-text-size); - --code-size: var(--font-text-size); - --icon-xs: 16px; - --icon-s: 18px; - --icon-m: 20px; - --icon-l: 24px; - --header-height: 50px; - --ribbon-width: 50px; - --inline-title-size: 40px; - --scrollbar-width: 15px; -} - -iframe { - border-width: var(--radius-m); - border-style: none; - border-color: initial; - border-image: initial; -} - -/* Video w/ Aspect Ratio:
*/ -#vid { - position: relative; - padding-bottom: 56.25%; -} - -#vid iframe { - position: absolute; - width: 100%; - height: 100%; -} - -.textLayer ::selection, -.xfaLayer .highlight { - background-color: var(--highlight); -} - -.dataview-table-auto { - --dataview-table-width: auto; -} - -.dataview-regular-table .dataview { - --dataview-th-background: var(--th); - --dataview-th-color: var(--th-text); - --dataview-th-font: var(--table-header-font); - --dataview-th-font-size: var(--table-header-size); - --dataview-th-font-weight: var(--table-header-weight); - --dataview-th-border-bottom: var(--table-border-width) solid var(--table-border-color); - --dataview-th-alt-color: var(--table-column-alt-background); - --dataview-th-count-color: var(--dataview-th-color); -} - -.dataview-cards, -.dvl-c { - --dataview-th-color: var(--text); - --dataview-th-font: var(--font-default); - --dataview-th-font-size: var(--font-text-size); - --dataview-th-count-color: var(--text); - --dataview-th-background: var(--note); - --dataview-th-border-bottom: none; -} -.dataview-cards .table-view-table > thead::before, -.dvl-c .table-view-table > thead::before { - content: "\e805"; - font-family: var(--its); - float: left; - padding: 5px 10px 5px 10px; -} -.dataview-cards .table-view-table > thead > tr, -.dvl-c .table-view-table > thead > tr { - display: flex; - flex-direction: column; - border: var(--box-border-s); - box-shadow: var(--shadow-m); - margin: 0; - flex-wrap: wrap; - float: left; - position: absolute; - margin-top: 30px; -} -.dataview-cards .table-view-table > thead > tr:hover, -.dvl-c .table-view-table > thead > tr:hover { - --text-selection: var(--td); -} -.dataview-cards table .table-view-table > thead > tr, -.dvl-c table .table-view-table > thead > tr { - position: absolute; - right: 0; -} -.dataview-cards .table-view-table > thead:not(:hover) > *, -.dvl-c .table-view-table > thead:not(:hover) > * { - display: none; -} -.dataview-cards .dataview th:hover, -.dvl-c .dataview th:hover { - background: var(--td); -} -.dataview-cards .dataview strong, -.dvl-c .dataview strong { - display: block; - text-align: center; - margin: auto; - background-color: var(--outer-bar, var(--background-secondary)); -} -.dataview-cards .list-view-ul li, .dataview-cards .dataview.table-view-table > tbody > tr, -.dvl-c .list-view-ul li, -.dvl-c .dataview.table-view-table > tbody > tr { - display: flex; - flex-direction: column; - background-color: var(--note); - border: var(--box-border-m); - box-shadow: var(--shadow-m); - margin: 5px 0; - padding: 10px; -} -.dataview-cards .list-view-ul li:hover, .dataview-cards .dataview.table-view-table > tbody > tr:hover, -.dvl-c .list-view-ul li:hover, -.dvl-c .dataview.table-view-table > tbody > tr:hover { - --text-selection: var(--td); - background-color: var(--text-selection); -} -.dataview-cards .list-view-ul, .dataview-cards .dataview.table-view-table > tbody.table-view-tbody, -.dvl-c .list-view-ul, -.dvl-c .dataview.table-view-table > tbody.table-view-tbody { - display: flex; - flex-direction: row; - flex-wrap: wrap; - padding-inline-start: 0; -} -.dataview-cards .block-language-dataviewjs .dataview-result-list-li, .dataview-cards .list-view-ul li, .dataview-cards .dataview.table-view-table > tbody > tr, -.dvl-c .block-language-dataviewjs .dataview-result-list-li, -.dvl-c .list-view-ul li, -.dvl-c .dataview.table-view-table > tbody > tr { - flex: 1 0 200px; - margin: 5px; -} -.dataview-cards .dataview.table-view-table td, -.dvl-c .dataview.table-view-table td { - padding: 0; - background-color: transparent; - border: 0; -} -.dataview-cards .list-view-ul li::before, -.dvl-c .list-view-ul li::before { - display: none; -} -.dataview-cards .dataview.table-view-table li, -.dvl-c .dataview.table-view-table li { - box-shadow: none; - border: 0; - padding: 0; -} - -/*Dataview*/ -.dataview-list .block-language-dataviewjs .dataview-result-list-li, .dataview-list .list-view-ul li, -.dvl .block-language-dataviewjs .dataview-result-list-li, -.dvl .list-view-ul li { - background-color: var(--note); - border: var(--box-border-m); - box-shadow: var(--shadow-m); - margin-bottom: 8px; - padding: 10px; - margin-left: -25px; -} -.dataview-list .block-language-dataviewjs .dataview-result-list-li::before, .dataview-list .list-view-ul li::before, -.dvl .block-language-dataviewjs .dataview-result-list-li::before, -.dvl .list-view-ul li::before { - margin-left: -27px; - display: none; -} -.dataview-list .block-language-dataviewjs .dataview-result-list-li:nth-child(even), .dataview-list .list-view-ul li:nth-child(even), -.dvl .block-language-dataviewjs .dataview-result-list-li:nth-child(even), -.dvl .list-view-ul li:nth-child(even) { - border: var(--box-border-m); -} -.dataview-list.kanban .block-language-dataviewjs .dataview-result-list-li, .dataview-list.kanban .list-view-ul li, -.dvl.kanban .block-language-dataviewjs .dataview-result-list-li, -.dvl.kanban .list-view-ul li { - background-color: var(--aside-bg); -} -.dataview-list.kanban .block-language-dataviewjs .dataview-result-list-li, .dataview-list.kanban .list-view-ul li, -.dvl.kanban .block-language-dataviewjs .dataview-result-list-li, -.dvl.kanban .list-view-ul li { - flex: 1 1 200px; - box-shadow: 4px 4px 0 var(--outline); - border: 1px solid var(--outline); - margin-bottom: 10px; -} -.dataview-list.kanban table td > .dataview-ul, -.dvl.kanban table td > .dataview-ul { - display: block; - padding-inline-start: 1em; -} - -.kanban-title-center .kanban-plugin__item-title-wrapper { - text-align: center; -} - -.kanban-boxed .kanban-plugin__lane { - --kanban-lane-border: var(--box-border-m); - --kanban-lane-box-shadow: var(--shadow-m); -} - -.kanban-boxed .kanban-plugin__item.kanban-plugin__item { - border: 0; - border-left: 3px solid var(--accent); - border-radius: var(--radius); -} - -.kanban-minimal, -.kbn { - --kanban-lane-background: transparent; - --kanban-lane-border: none; - --kanban-lane-box-shadow: none; - --kanban-card-title-background: var(--code-bg); - --kanban-card-title-border: 0 1px 0 var(--outline); - --kanban-card-metadata-background: var(--code-bg); - --kanban-card-margin: 0; - --kanban-link-color: var(--text); - --kanban-link-font-weight: 600; - --kanban-link-symbol: ""; - --kanban-button-background: transparent; - --kanban-button-shadow: transparent; -} - -.metadata-label-text-color .metadata-property { - --metadata-label-background: transparent; - --metadata-label-text-color: var(--headers); - --metadata-icon-color: var(--headers); -} - -.metadata-label-background .metadata-property { - --metadata-label-background: var(--tag); - --metadata-label-text-color: var(--text-dl); - --metadata-icon-color: var(--text-dl); -} - -.metadata-value-background .metadata-property { - --metadata-input-background: var(--td); -} - -.metadata-title-no-icon { - --metadata-title-icon: ""; - --metadata-title-icon-padding: 0; -} - -/*Table Centered*/ -.tables-center .cm-table-widget.cm-table-widget .table-wrapper, .tables-center table, -.t-c .cm-table-widget.cm-table-widget .table-wrapper, -.t-c table { - margin-left: auto; - margin-right: auto; -} - -.tables-wide table, .tables-wide .cm-table-widget.markdown-rendered .table-wrapper, -.t-w table, -.t-w .cm-table-widget.markdown-rendered .table-wrapper { - min-width: 100%; -} - -.tables-no-alt-background.tables-no-alt-background, -.table-nalt.table-nalt { - --table-column-alt-background: transparent; - --table-row-alt-background: transparent; - --table-row-background-hover: transparent; - --table-column-background-hover: transparent; -} - -.tables-no-alt-column-background.tables-no-alt-column-background { - --table-column-alt-background: transparent; - --table-column-background-hover: transparent; -} - -.tables-no-alt-row-background.tables-no-alt-row-background { - --table-row-alt-background: transparent; - --table-row-background-hover: transparent; -} - -:is(.table-alto, .tables-alt-original) .markdown-rendered tbody tr > td:nth-child(2n+2), :is(.table-alto, .tables-alt-original) .markdown-rendered tbody tr:nth-child(odd) { - background-color: transparent; -} -:is(.table-alto, .tables-alt-original) .markdown-rendered tbody tr > td:nth-child(odd) { - background-color: var(--table-column-alt-background); -} -:is(.table-alto, .tables-alt-original) .markdown-rendered tbody tr:nth-child(even) { - background-color: var(--table-row-alt-background); -} - -.tables-no-hover { - --table-header-background-hover: var(--table-header-background); -} -.tables-no-hover tbody tr:nth-child(odd):hover { - --table-row-alt-background-hover: var(--table-row-alt-background); -} -.tables-no-hover tbody tr:nth-child(even):hover { - --table-row-background-hover: var(--table-row-background); -} - -.tables-borders { - --table-border-color: var(--hr); -} - -/*Bolded Right Side Table*/ -.table.table { - --table-style-column-header-background: var(--outer-bar); - --table-style-column-header-bold-weight: var(--bold-weight); - --table-style-column-header-bold-color: var(--bold-color); -} -.table.table td:nth-child(1) { - font-weight: var(--table-style-column-header-bold-weight); - color: var(--table-style-column-header-bold-color); -} -.table.table tr td:nth-child(1) { - background-color: var(--table-style-column-header-background); -} -.table.table tr:hover td:nth-child(1) { - background-color: var(--table-row-alt-background-hover); -} - -.table-column-header tr td:nth-child(1) { - background-color: var(--table-header-background); -} -.table-column-header tr td:nth-child(1):hover { - background-color: var(--table-header-background-hover); -} - -.tables-styling-wikipedia, -.table-wikipedia { - --table-header-color: var(--text); - --table-header-background: transparent; - --table-header-background-hover: var(--td); - --table-row-background-hover: var(--td); - --table-row-alt-background: transparent; - --table-column-alt-background: transparent; -} -.tables-styling-wikipedia tr:last-child, -.table-wikipedia tr:last-child { - margin-bottom: 2px; -} - -.lig, -.ligatures { - --font-ligatures: normal; -} - -/*Justify text*/ -.justify .markdown-preview-section, .justify.markdown-preview-view > *, .justify .cm-line:not(.HyperMD-header, .HyperMD-list-line), .justify .cm-line:not(.HyperMD-header) [class*=cm-list], -.justified .markdown-preview-section, -.justified.markdown-preview-view > *, -.justified .cm-line:not(.HyperMD-header, .HyperMD-list-line), -.justified .cm-line:not(.HyperMD-header) [class*=cm-list] { - text-align: justify; - word-spacing: -0.05em; - text-justify: distribute; -} - -.poem p, -.poem-lp .cm-line { - text-align: center; -} - -.writing.writing { - --file-line-width: 600px; - --link-color: var(--text); - --link-color-hover: var(--soft-text); - --link-background-hover: var(--highlight); - --link-external-color: var(--text); - --link-external-color-hover: var(--soft-text); - --highlight: var(--td) !important; - --text-highlight-bg: var(--highlight); - --hr-icon-symbol: !important; - --header-text-align: center; - --h1-text-align: var(--header-text-align); - --h2-text-align: var(--header-text-align); - --h3-text-align: var(--header-text-align); - --h4-text-align: var(--header-text-align); - --h5-text-align: var(--header-text-align); - --h6-text-align: var(--header-text-align); - --blockquote-background-color: transparent; - --blockquote-border-thickness: 3px; - --blockquote-border-color: var(--accent); - --code-normal: var(--text); - --code-background: var(--td); -} -.writing.writing.markdown-source-view.mod-cm6 .cm-sizer, .writing.writing .markdown-source-view.mod-cm6 .cm-scroller .cm-sizer, .writing.writing .markdown-preview-sizer { - max-width: var(--file-line-width); - margin: auto; -} -.writing.writing .internal-link::after, .writing.writing .cm-underline::after, .writing.writing .external-link::after { - font-family: var(--its); - font-size: calc(var(--font-text-size) - 2px); - font-style: normal !important; - font-weight: 100 !important; - vertical-align: 2px; - color: var(--accent); - opacity: unset; - margin-right: -8px; -} -.writing.writing .internal-link::after, .writing.writing span:not(.cm-link) .cm-underline::after { - content: "\e819"; -} -.writing.writing .external-link::after { - content: "\e818"; -} -.writing.writing, .writing.writing.hcl, .writing.writing .hcl { - --header-border-line-height: 0; - --h1-border-line-height: var(--header-border-line-height); - --h2-border-line-height: var(--header-border-line-height); - --h3-border-line-height: var(--header-border-line-height); - --h4-border-line-height: var(--header-border-line-height); - --h5-border-line-height: var(--header-border-line-height); - --h6-border-line-height: var(--header-border-line-height); -} -.writing.writing .markdown-preview-section, .writing.writing .cm-s-obsidian, .writing.writing.markdown-preview-view, .writing.writing.cm-s-obsidian { - text-align: justify; -} -.writing.writing .markdown-preview-view pre, .writing.writing.markdown-preview-view pre, .writing.writing .HyperMD-codeblock:not(.cm-formatting-code-block) { - border-left: 5px solid var(--code-bg); - border-right: 5px solid var(--code-text); - filter: saturate(70%); -} -.writing.writing .footnote-link, .writing.writing .cm-inline-footnote, .writing.writing .cm-inline-footnote-end, .writing.writing .cm-inline-footnote-end + .cm-link { - color: var(--inactive); -} -.writing.writing .footnote-link:hover, .writing.writing .cm-inline-footnote:hover, .writing.writing .cm-inline-footnote-end:hover, .writing.writing .cm-inline-footnote-end + .cm-link:hover { - background-color: var(--link-background-hover); -} - -.writing-document:not(.is-mobile), -.writing-document.is-tablet.is-tablet { - /* Fix embeds */ - /* Embed */ - /* .markdown-preview-section { min-height: 100% !important; } */ -} -.writing-document:not(.is-mobile) .markdown-source-view.mod-cm6 .cm-scroller, -.writing-document.is-tablet.is-tablet .markdown-source-view.mod-cm6 .cm-scroller { - padding: 0; -} -.writing-document:not(.is-mobile) .is-live-preview .HyperMD-header::before, -.writing-document.is-tablet.is-tablet .is-live-preview .HyperMD-header::before { - margin-left: -10px; - margin-right: 15px; -} -.writing-document:not(.is-mobile) div:not(.workspace-tabs):not(.markdown-embed-content) > :is(.markdown-preview-view, .cm-editor):not(.kanban-plugin__markdown-preview-view):not(.BC-Matrix):not(.community-plugin-readme), -.writing-document.is-tablet.is-tablet div:not(.workspace-tabs):not(.markdown-embed-content) > :is(.markdown-preview-view, .cm-editor):not(.kanban-plugin__markdown-preview-view):not(.BC-Matrix):not(.community-plugin-readme) { - background: var(--td); - padding: 0; -} -.writing-document:not(.is-mobile) :not(.markdown-embed-content) .markdown-preview-section:not(.kanban-plugin__markdown-preview-view), -.writing-document:not(.is-mobile) .view-content .cm-s-obsidian > .cm-editor .cm-contentContainer, -.writing-document.is-tablet.is-tablet :not(.markdown-embed-content) .markdown-preview-section:not(.kanban-plugin__markdown-preview-view), -.writing-document.is-tablet.is-tablet .view-content .cm-s-obsidian > .cm-editor .cm-contentContainer { - --padding: 10px; - background: var(--note, var(--background-primary)); - box-shadow: 0 0 20px var(--outline, var(--background-box-shadow)); - max-width: calc(var(--file-line-width) + var(--padding)); - height: auto; - padding: 0 var(--padding); - border-radius: var(--radius-l); -} -.writing-document:not(.is-mobile) .markdown-embed.markdown-embed.markdown-embed .markdown-preview-section, -.writing-document.is-tablet.is-tablet .markdown-embed.markdown-embed.markdown-embed .markdown-preview-section { - padding: unset; - box-shadow: unset; -} - -.paper { - --paper-edges-note: 0 0 60px var(--outline) inset; - --paper-edges-ui: 0 0 25px var(--outline) inset; - --file-header-background: transparent; - --pane-background: transparent; -} -.paper, .paper .modal.mod-settings .vertical-tab-content-container, .paper .workspace-split:not(.mod-left-split, .mod-right-split) .workspace-leaf-content[data-type=markdown], .paper .workspace-leaf-content[data-type=graph] > canvas, .paper .workspace-drawer-inner, .paper .modal, .paper .community-plugin-search, .paper .prompt, .paper .kanban-plugin__lane.kanban-plugin__lane { - box-shadow: var(--paper-edges-note); -} -.paper .workspace-tabs, .paper .modal.mod-settings .vertical-tab-header, .paper .workspace-tabs .workspace-leaf { - box-shadow: var(--paper-edges-ui); -} -.paper .CodeMirror-gutter.CodeMirror-linenumbers, .paper .CodeMirror-gutter.CodeMirror-foldgutter, .paper .markdown-source-view.mod-cm6 .cm-gutters, .paper .workspace-leaf:not(.mod-active) .workspace-tab-header-container, .paper .horizontal-tab-content, .paper .vertical-tab-content, .paper .horizontal-tab-nav-item:not(.is-active), .paper .vertical-tab-nav-item:not(.is-active) { - background: transparent; -} - -.wide, -.note-width-wide { - --file-line-width: 100%; -} - -.readable, -.note-width-readable { - --file-line-width: 700px; - --page-width: 700px; -} -.readable.markdown-source-view.mod-cm6 .cm-sizer, .readable .markdown-source-view.mod-cm6 .cm-scroller .cm-sizer, .readable .markdown-preview-sizer, -.note-width-readable.markdown-source-view.mod-cm6 .cm-sizer, -.note-width-readable .markdown-source-view.mod-cm6 .cm-scroller .cm-sizer, -.note-width-readable .markdown-preview-sizer { - max-width: var(--file-line-width); - margin: auto; -} - -.hide-outline-symbol { - --outline-symbol: ""; - --outline-arrow-visibility: visible; - --outline-symbol-padding-right: 0; - --outline-arrow-margin: 0; -} - -.titlebar-colors.titlebar-colors.titlebar-colors { - --titlebar-text-color: var(--inactive); - --titlebar-text-color-focused: var(--text-dl); - --titlebar-background: var(--dark-accent); - --titlebar-background-focused: var(--dark-accent); - --titlebar-bubble-colors: var(--outline); - --sidebar-tab-background-color: var(--note); - --tab-text-color: var(--text-dl); - --tab-text-color-focused: var(--text-dl); - --tab-container-background: var(--dark-accent); - --tab-font-weight: 500; - --tab-font-weight-active: 900; - --tab-outline-width: 0; - --tab-divider-color: var(--td); -} -.titlebar-colors.titlebar-colors.titlebar-colors .workspace-tab-header.is-active { - --sidebar-tab-color-hover: var(--text); - --sidebar-icon-color: var(--text); -} -.titlebar-colors.titlebar-colors.titlebar-colors.theme-light { - --sidebar-icon-color-active: var(--text); -} -.titlebar-colors.titlebar-colors.titlebar-colors .sidebar-toggle-button, .titlebar-colors.titlebar-colors.titlebar-colors .workspace-tabs.mod-top .workspace-tab-header-container, .titlebar-colors.titlebar-colors.titlebar-colors .workspace-tab-header-container .workspace-tab-header-inner-icon { - --sidebar-icon-color: var(--text-on-accent); - --icon-color: var(--text-dl); -} -.titlebar-colors.titlebar-colors.titlebar-colors :is(.mod-left-split, .mod-right-split) .workspace-tab-header.is-active, .titlebar-colors.titlebar-colors.titlebar-colors :is(.mod-left-split, .mod-right-split) .workspace-tab-header .workspace-tab-header-inner-icon { - --tab-text-color-focused-active-current: var(--text); -} - -.titlebar-bubbles.titlebar-bubbles.titlebar-bubbles { - --tab-outline-width: 0; - --titlebar-bubble-colors: #0b0f13; - --titlebar-bubble-colors-inactive: var(--td); - --tab-text-color-focused-active: var(--text); - --tab-text-color-hover: var(--text); - --sidebar-tab-color-hover: var(--text-dl); - --tab-divider-color: transparent; - --vault-profile-color-hover: var(--text-dl); -} - -.titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) { - --tab-radius: var(--radius-m); - --tab-radius-active: var(--radius-m); - --tab-text-padding: 3px 5px; - --tab-text-padding-inner: 1px 3px; - --tab-gap: 0 10px; - --tab-text-color-hover: var(--text-on-accent); - --tab-text-color-focused-active-current: var(--text); - --tab-curve: 0; -} -.titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) .workspace-tab-header-container-inner, .titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) .workspace-tab-header-container { - align-items: center; - align-content: center; - gap: var(--size-2-3); -} -.titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) .workspace-tab-header:not(.is-active) .workspace-tab-header-inner, .titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) .workspace-tab-header-container-inner, .titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) .workspace-tab-header-inner { - margin: unset; - padding: var(--tab-text-padding); -} -.titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) .workspace-tab-header { - box-shadow: 2px 2px 0 var(--titlebar-bubble-colors); - border: 2px solid var(--titlebar-bubble-colors); - padding: var(--tab-text-padding-inner); - --sidebar-tab-background-color-hover: transparent; -} -.titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) .workspace-tab-header:not(.is-active) { - --titlebar-bubble-colors: var(--titlebar-bubble-colors-inactive); -} -.titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) .mod-stacked .workspace-tab-header { - border: none; -} -.titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) .workspace-tab-header-new-tab { - padding: 0; -} -.titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) .workspace-tab-header:hover { - background-color: var(--bttn); - --titlebar-bubble-colors: unset; -} -.titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) .workspace-tab-header:hover .workspace-tab-header-status-container:hover { - background: var(--td); -} -.titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) .view-header-title-parent .view-header-breadcrumb:hover { - background-color: var(--td); -} -.titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) .workspace-tab-header-status-icon:hover, .titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) .workspace-tab-header.is-active .workspace-tab-header-inner-close-button, .titlebar-bubbles :is(.mod-left-split, .mod-right-split, .mod-root) .workspace-tab:not(.mod-stacked) .workspace-tab-header:not(.is-active) .workspace-tab-header-inner { - color: var(--text-on-accent); -} - -.tab-auto { - --tab-width: auto; - --tab-max-width: 100%; -} -.tab-auto .workspace .mod-root .workspace-tab-header { - flex: unset; -} - -.tab-wide { - --tab-width: auto; - --tab-max-width: 100%; -} -.tab-wide .workspace .mod-root .workspace-tab-header, .tab-wide .workspace-tab-header-container-inner { - flex: auto; -} -.tab-wide .workspace-tab-header-spacer { - display: none; -} - -.tag-notion.tag-notion { - --tag-radius: 5px; - --tag-border-radius: 5px; -} - -.tag-bubble.tag-bubble { - --tag-radius: 25px; - --tag-border-radius: 25px; -} - -.tag-outline { - --tag-border-width: 2px; -} -.tag-outline.tag-outline { - --tag-background: transparent; - --tag-color: var(--tag-text); -} - -.tag-text.tag-text { - --tag-background: transparent; - --tag-color: var(--lite-accent); - --tag-padding: 0; - --tag-padding-x: 0; - --tag-padding-y: 0; - --font-size: var(--font-size); -} - -/*Spaced Lists*/ -.spaced-lists li, -.s-li li { - margin-top: 10px; -} - -/*Live Preview Indent Style*/ -.alternate-indent .is-live-preview { - --indentation-guide-color: transparent; - --indentation-guide-color-active: transparent; - --list-color-1: var(--indentation-guide-color); - --list-color-2: var(--indentation-guide-color); - --list-color-3: var(--indentation-guide-color); - --list-color-4: var(--indentation-guide-color); - --list-color-5: var(--indentation-guide-color); - --list-color-6: var(--indentation-guide-color); -} -.alternate-indent .is-live-preview .cm-hmd-list-indent { - margin-right: 5px; - margin-left: -2px; -} -.alternate-indent .is-live-preview .HyperMD-list-line-2 .cm-hmd-list-indent { - background-color: var(--theme-rainbow-1); -} -.alternate-indent .is-live-preview .HyperMD-list-line-3 .cm-hmd-list-indent { - background-color: var(--theme-rainbow-2); -} -.alternate-indent .is-live-preview .HyperMD-list-line-4 .cm-hmd-list-indent { - background-color: var(--theme-rainbow-3); -} -.alternate-indent .is-live-preview .HyperMD-list-line-5 .cm-hmd-list-indent { - background-color: var(--theme-rainbow-4); -} -.alternate-indent .is-live-preview .HyperMD-list-line-6 .cm-hmd-list-indent { - background-color: var(--theme-rainbow-5); -} -.alternate-indent .is-live-preview .HyperMD-list-line-7 .cm-hmd-list-indent { - background-color: var(--theme-rainbow-6); -} -.alternate-indent .is-live-preview .HyperMD-list-line-8 .cm-hmd-list-indent { - background-color: var(--rainbow-1); -} -.alternate-indent .is-live-preview .HyperMD-list-line-9 .cm-hmd-list-indent { - background-color: var(--rainbow-2); -} -.alternate-indent .is-live-preview .HyperMD-list-line-10 .cm-hmd-list-indent { - background-color: var(--rainbow-3); -} -.alternate-indent .is-live-preview .HyperMD-list-line-11 .cm-hmd-list-indent { - background-color: var(--rainbow-4); -} -.alternate-indent .is-live-preview .HyperMD-list-line-12 .cm-hmd-list-indent { - background-color: var(--rainbow-5); -} -.alternate-indent .is-live-preview .HyperMD-list-line-13 .cm-hmd-list-indent { - background-color: var(--rainbow-6); -} -.alternate-indent .is-live-preview .HyperMD-list-line-2, .alternate-indent .is-live-preview .HyperMD-list-line-3, .alternate-indent .is-live-preview .HyperMD-list-line-4, .alternate-indent .is-live-preview .HyperMD-list-line-5, .alternate-indent .is-live-preview .HyperMD-list-line-6, .alternate-indent .is-live-preview .HyperMD-list-line-7, .alternate-indent .is-live-preview .HyperMD-list-line-8, .alternate-indent .is-live-preview .HyperMD-list-line-9, .alternate-indent .is-live-preview .HyperMD-list-line-10, .alternate-indent .is-live-preview .HyperMD-list-line-11, .alternate-indent .is-live-preview .HyperMD-list-line-12, .alternate-indent .is-live-preview .HyperMD-list-line-13 { - --collapse-icon-color: var(--text-dl); - --collapse-icon-color-collapsed: var(--text-dl); -} - -.list-lines-color.list-lines-color { - --list-color-1: var(--rainbow-1); - --list-color-2: var(--rainbow-2); - --list-color-3: var(--rainbow-3); - --list-color-4: var(--rainbow-4); - --list-color-5: var(--rainbow-5); - --list-color-6: var(--rainbow-6); -} - -.list-bullet-color.list-bullet-color { - --list-bullet-color-1: var(--rainbow-1); - --list-bullet-color-2: var(--rainbow-2); - --list-bullet-color-3: var(--rainbow-3); - --list-bullet-color-4: var(--rainbow-4); - --list-bullet-color-5: var(--rainbow-5); - --list-bullet-color-6: var(--rainbow-6); -} -.list-bullet-color.list-bullet-color :is(ul, ol) li::before, .list-bullet-color.list-bullet-color .HyperMD-list-line-1 .cm-formatting-list::before { - color: var(--list-bullet-color-1); -} -.list-bullet-color.list-bullet-color :is(ul ul, ol ol) li::before, .list-bullet-color.list-bullet-color .HyperMD-list-line-2 .cm-formatting-list::before { - color: var(--list-bullet-color-2); -} -.list-bullet-color.list-bullet-color :is(ul ul ul, ol ol ol) li::before, .list-bullet-color.list-bullet-color .HyperMD-list-line-3 .cm-formatting-list::before { - color: var(--list-bullet-color-3); -} -.list-bullet-color.list-bullet-color :is(ul ul ul ul, ol ol ol ol) li::before, .list-bullet-color.list-bullet-color .HyperMD-list-line-4 .cm-formatting-list::before { - color: var(--list-bullet-color-4); -} -.list-bullet-color.list-bullet-color :is(ul ul ul ul ul, ol ol ol ol ol) li::before, .list-bullet-color.list-bullet-color .HyperMD-list-line-5 .cm-formatting-list::before { - color: var(--list-bullet-color-5); -} -.list-bullet-color.list-bullet-color :is(ul ul ul ul ul ul, ol ol ol ol ol ol) li::before, .list-bullet-color.list-bullet-color .HyperMD-list-line-6 .cm-formatting-list::before { - color: var(--list-bullet-color-6); -} -.list-bullet-color.list-bullet-color :is(ul, ol) li .task-list-item-checkbox, .list-bullet-color.list-bullet-color .HyperMD-list-line-1 .task-list-item-checkbox { - --checkbox-border-color: var(--rainbow-1); -} -.list-bullet-color.list-bullet-color :is(ul ul, ol ol) li .task-list-item-checkbox, .list-bullet-color.list-bullet-color .HyperMD-list-line-2 .task-list-item-checkbox { - --checkbox-border-color: var(--rainbow-2); -} -.list-bullet-color.list-bullet-color :is(ul ul ul, ol ol ol) li .task-list-item-checkbox, .list-bullet-color.list-bullet-color .HyperMD-list-line-3 .task-list-item-checkbox { - --checkbox-border-color: var(--rainbow-3); -} -.list-bullet-color.list-bullet-color :is(ul ul ul ul, ol ol ol ol) li .task-list-item-checkbox, .list-bullet-color.list-bullet-color .HyperMD-list-line-4 .task-list-item-checkbox { - --checkbox-border-color: var(--rainbow-4); -} -.list-bullet-color.list-bullet-color :is(ul ul ul ul ul, ol ol ol ol ol) li .task-list-item-checkbox, .list-bullet-color.list-bullet-color .HyperMD-list-line-5 .task-list-item-checkbox { - --checkbox-border-color: var(--rainbow-5); -} -.list-bullet-color.list-bullet-color :is(ul ul ul ul ul ul, ol ol ol ol ol ol) li .task-list-item-checkbox, .list-bullet-color.list-bullet-color .HyperMD-list-line-6 .task-list-item-checkbox { - --checkbox-border-color: var(--rainbow-6); -} -.list-bullet-color.list-bullet-color :is(ul ul ul ul ul ul ul, ol ol ol ol ol ol ol) li .task-list-item-checkbox, .list-bullet-color.list-bullet-color .HyperMD-list-line-7 .task-list-item-checkbox { - --checkbox-border-color: var(--accent); -} - -.list-default-bullet { - --list-marker-color: var(--text-faint); - --list-marker-color-hover: var(--text-muted); - --list-marker-color-collapsed: var(--inactive); - --list-bullet-border: none; - --list-bullet-radius: 50%; - --list-bullet-size: 0.4em; - --list-bullet-transform: none; -} - -.list-neon { - --neon: 0 0 5px; - --neon-wide: -2px 0 10px; - --indentation-guide-color-active: var(--text-dl); - --list-color-1: var(--rainbow-1); - --list-color-2: var(--rainbow-2); - --list-color-3: var(--rainbow-3); - --list-color-4: var(--rainbow-4); - --list-color-5: var(--rainbow-5); - --list-color-6: var(--rainbow-6); - --list-shadow-color-1: var(--neon) var(--rainbow-1), var(--neon-wide) var(--rainbow-1); - --list-shadow-color-2: var(--neon) var(--rainbow-2), var(--neon-wide) var(--rainbow-2); - --list-shadow-color-3: var(--neon) var(--rainbow-3), var(--neon-wide) var(--rainbow-3); - --list-shadow-color-4: var(--neon) var(--rainbow-4), var(--neon-wide) var(--rainbow-4); - --list-shadow-color-5: var(--neon) var(--rainbow-5), var(--neon-wide) var(--rainbow-5); - --list-shadow-color-6: var(--neon) var(--rainbow-6), var(--neon-wide) var(--rainbow-6); -} -.list-neon .cm-hmd-list-indent .cm-indent::before { - width: 0; -} -.list-neon :is(ul ul, ol ol)::before, .list-neon .cm-indent::before { - box-shadow: var(--list-shadow-color-1); -} -.list-neon :is(ul ul ul, ol ol ol)::before, .list-neon .cm-indent:nth-child(2)::before { - box-shadow: var(--list-shadow-color-2); -} -.list-neon :is(ul ul ul ul, ol ol ol ol)::before, .list-neon .cm-indent:nth-child(3)::before { - box-shadow: var(--list-shadow-color-3); -} -.list-neon :is(ul ul ul ul ul, ol ol ol ol ol)::before, .list-neon .cm-indent:nth-child(4)::before { - box-shadow: var(--list-shadow-color-4); -} -.list-neon :is(ul ul ul ul ul ul, ol ol ol ol ol ol)::before, .list-neon .cm-indent:nth-child(5)::before { - box-shadow: var(--list-shadow-color-5); -} -.list-neon :is(ul ul ul ul ul ul ul, ol ol ol ol ol ol ol)::before, .list-neon .cm-indent:nth-child(6)::before { - box-shadow: var(--list-shadow-color-6); -} - -.list-bullet-side-lines .markdown-rendered { - --indentation-guide-color: transparent; - --list-color-1: var(--indentation-guide-color); - --list-color-2: var(--indentation-guide-color); - --list-color-3: var(--indentation-guide-color); - --list-color-4: var(--indentation-guide-color); - --list-color-5: var(--indentation-guide-color); - --list-color-6: var(--indentation-guide-color); -} -.list-bullet-side-lines :is(ul, ol) li { - border-left: var(--indentation-guide-width) solid var(--accent); - padding-left: 3px; - --list-numbered-color: var(--headers); -} -.list-bullet-side-lines :is(ul, ol) > li:nth-child(even) { - border-left-color: var(--accent2); - --list-numbered-color: var(--accent2); -} -.list-bullet-side-lines :is(ul, ol) > li:nth-child(even)::before { - --list-marker-color: var(--accent2); -} - -/*--Kanban--*/ -/*Credit: https://github.com/Braweria/Spectrum*/ -.kanban :is(ul, ol) { - display: flex; - flex-direction: row; - border-radius: 0; - flex-wrap: wrap; -} -.kanban :is(ul, ol) li { - flex: 1 1 10%; -} -.kanban :is(ul ul, ol ol) { - display: flex; - flex-direction: column; - margin-right: 20px; -} -.kanban :is(ul ul, ol ol) > li { - min-width: 15ch; - margin-left: 20px; - margin-right: 0; - width: 100%; -} -.kanban :is(ul ul, ol ol) > li:nth-child(odd) { - background: var(--td); -} -.kanban li p:first-of-type { - --p-spacing: 0; -} - -/*Hide Bullet*/ -/*Remove Note Titlebar Gradient*/ -.file-header-gradient { - --file-header-background: linear-gradient(to right, var(--file-header-left-color), var(--file-header-right-color)); -} - -body { - --note-title-border-color: var(--headers); -} - -.note-title-underline.note-title-underline .workspace-split.mod-root > .workspace-leaf:first-of-type:last-of-type .view-header, .note-title-underline.note-title-underline .workspace-leaf-content .view-header { - border-bottom: 4px solid transparent; -} -.note-title-underline.note-title-underline .workspace-split.mod-root > .workspace-leaf:first-of-type:last-of-type .view-header, .note-title-underline.note-title-underline .workspace-leaf.mod-active .view-header { - border-bottom-color: var(--note-title-border-color); -} -.note-title-underline.note-title-underline .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header { - border-right: 4px solid var(--note-title-border-color); -} - -.note-title-overline.note-title-overline .workspace-split.mod-root > .workspace-leaf:first-of-type:last-of-type .view-header, .note-title-overline.note-title-overline .workspace-leaf-content .view-header { - border-top: 4px solid transparent; -} -.note-title-overline.note-title-overline .workspace-split.mod-root > .workspace-leaf:first-of-type:last-of-type .view-header, .note-title-overline.note-title-overline .workspace-leaf.mod-active .view-header { - border-top-color: var(--note-title-border-color); -} -.note-title-overline.note-title-overline .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header { - border-left: 4px solid var(--note-title-border-color); -} - -.sidebar-tabs-wide :is(.mod-left-split, .mod-right-split) .workspace-tab-header-container { - padding-right: 0; -} -.sidebar-tabs-wide :is(.mod-left-split, .mod-right-split) .workspace-tab-header-container-inner { - flex: 1 1 auto; -} -.sidebar-tabs-wide :is(.mod-left-split, .mod-right-split) .workspace-tab-header { - width: 100%; -} -.sidebar-tabs-wide :is(.mod-left-split, .mod-right-split) .workspace-tab-header-inner { - justify-content: center; -} -.sidebar-tabs-wide :is(.mod-left-split, .mod-right-split) .workspace-tab-header-spacer { - display: none; -} - -.sidebar-tabs-underline :is(.mod-left-split.mod-left-split, .mod-right-split.mod-right-split), -.sidebar-tabs-overline :is(.mod-left-split.mod-left-split, .mod-right-split.mod-right-split) { - --tab-outline-width: 0; - --sidebar-icon-color: var(--inactive); - --sidebar-icon-color-active: var(--headers); - --icon-color-focused: var(--text); - --sidebar-tab-border-color: var(--inactive); - --sidebar-tab-border-color-active: var(--headers); - --sidebar-tab-border-width: 4px; - --sidebar-tab-background-color: var(--note); -} -.sidebar-tabs-underline :is(.mod-left-split.mod-left-split, .mod-right-split.mod-right-split) .is-active.is-active, -.sidebar-tabs-overline :is(.mod-left-split.mod-left-split, .mod-right-split.mod-right-split) .is-active.is-active { - --sidebar-tab-border-color: var(--sidebar-icon-color-active); - --tab-text-color-focused-active: var(--text); - --tab-text-color-focused-active-current: var(--text); -} -.sidebar-tabs-underline :is(.mod-left-split.mod-left-split, .mod-right-split.mod-right-split) .is-active.is-active:hover, -.sidebar-tabs-overline :is(.mod-left-split.mod-left-split, .mod-right-split.mod-right-split) .is-active.is-active:hover { - --sidebar-icon-color-active: var(--text); - --sidebar-tab-border-color: var(--sidebar-tab-border-color-active); - --sidebar-tab-background-color-hover: var(--accent); -} - -.sidebar-tabs-overline :is(.mod-left-split, .mod-right-split) .workspace-tab-header-inner { - border-bottom: unset; - border-top: var(--sidebar-tab-border-width) solid var(--sidebar-tab-border-color); -} - -.sidebar-tabs-tabular :is(.mod-left-split, .mod-right-split, .workspace-ribbon.mod-left) { - --sidebar-tab-background-color: var(--note); - --sidebar-tab-border-width: 0; - --sidebar-tab-padding: 0 var(--size-4-4); - --sidebar-icon-color-active: var(--lite-accent); - --sidebar-icon-color: var(--soft-text); - --tab-outline-width: 0; - --tab-container-background: var(--outer-bar); - --titlebar-background: var(--outer-bar); -} - -.navbar-bottom .nav-header { - display: flex; - position: absolute; - bottom: 5px; - z-index: 2; - width: 100%; - justify-content: center; -} -.navbar-bottom .nav-header .nav-buttons-container { - padding: 2px 0; - align-items: center; - background: var(--note); - border: 2px solid var(--outline); - box-shadow: var(--shadow-s); - width: fit-content; -} -.navbar-bottom .workspace-tabs .backlink-pane, -.navbar-bottom .workspace-tabs .search-result-container.mod-global-search, .navbar-bottom .workspace-tabs .nav-header + div:is(.tag-container, .nav-files-container) { - margin-bottom: 60px; - background: var(--side-bar); - box-shadow: 4px 4px 5px var(--outline); - padding-bottom: 20px; - padding-top: 10px; -} -.navbar-bottom .nav-files-container { - background: var(--outer-bar); -} -.navbar-bottom .nav-header ~ .search-input-container { - margin: 15px auto; -} -.navbar-bottom .mod-global-search { - padding-top: 0; -} - -.headings-center, -.hc { - --header-text-align: center; - --h1-text-align: var(--header-text-align); - --h2-text-align: var(--header-text-align); - --h3-text-align: var(--header-text-align); - --h4-text-align: var(--header-text-align); - --h5-text-align: var(--header-text-align); - --h6-text-align: var(--header-text-align); - --header-border-line-align: auto; -} - -.headings-left { - --header-text-align: left; - --h1-text-align: var(--header-text-align); - --h2-text-align: var(--header-text-align); - --h3-text-align: var(--header-text-align); - --h4-text-align: var(--header-text-align); - --h5-text-align: var(--header-text-align); - --h6-text-align: var(--header-text-align); -} - -.headings-right { - --header-text-align: right; - --h1-text-align: var(--header-text-align); - --h2-text-align: var(--header-text-align); - --h3-text-align: var(--header-text-align); - --h4-text-align: var(--header-text-align); - --h5-text-align: var(--header-text-align); - --h6-text-align: var(--header-text-align); - --header-border-line-align: auto 0 auto auto; -} - -.hcl, -.headings-center-lines { - --header-text-align: center; - --h1-text-align: var(--header-text-align); - --h2-text-align: var(--header-text-align); - --h3-text-align: var(--header-text-align); - --h4-text-align: var(--header-text-align); - --h5-text-align: var(--header-text-align); - --h6-text-align: var(--header-text-align); - --h1-border-line-height: 6px; - --h2-border-line-height: 5px; - --h3-border-line-height: 4px; - --h4-border-line-height: 3px; - --h5-border-line-height: 3px; - --h6-border-line-height: 3px; - --header-border-line-left: block; -} -.hcl .HyperMD-header.cm-line, -.hcl :is(h1, -h2, -h3, -h4, -h5, -h6), -.headings-center-lines .HyperMD-header.cm-line, -.headings-center-lines :is(h1, -h2, -h3, -h4, -h5, -h6) { - display: flex; - width: 100%; - align-items: center; -} -.hcl .HyperMD-header.cm-line:not(.HyperMD-header) > :not(.collapse-indicator), .hcl .HyperMD-header.cm-line > :not(.collapse-indicator):nth-child(2):not(:last-child):not(:first-child), -.hcl :is(h1, -h2, -h3, -h4, -h5, -h6):not(.HyperMD-header) > :not(.collapse-indicator), -.hcl :is(h1, -h2, -h3, -h4, -h5, -h6) > :not(.collapse-indicator):nth-child(2):not(:last-child):not(:first-child), -.headings-center-lines .HyperMD-header.cm-line:not(.HyperMD-header) > :not(.collapse-indicator), -.headings-center-lines .HyperMD-header.cm-line > :not(.collapse-indicator):nth-child(2):not(:last-child):not(:first-child), -.headings-center-lines :is(h1, -h2, -h3, -h4, -h5, -h6):not(.HyperMD-header) > :not(.collapse-indicator), -.headings-center-lines :is(h1, -h2, -h3, -h4, -h5, -h6) > :not(.collapse-indicator):nth-child(2):not(:last-child):not(:first-child) { - margin-left: 10px; - margin-right: 10px; -} -.hcl .HyperMD-header.cm-line:before, .hcl .HyperMD-header.cm-line:after, -.hcl :is(h1, -h2, -h3, -h4, -h5, -h6):before, -.hcl :is(h1, -h2, -h3, -h4, -h5, -h6):after, -.headings-center-lines .HyperMD-header.cm-line:before, -.headings-center-lines .HyperMD-header.cm-line:after, -.headings-center-lines :is(h1, -h2, -h3, -h4, -h5, -h6):before, -.headings-center-lines :is(h1, -h2, -h3, -h4, -h5, -h6):after { - flex: 1; -} -.hcl .HyperMD-header.cm-line:before, -.hcl :is(h1, -h2, -h3, -h4, -h5, -h6):before, -.headings-center-lines .HyperMD-header.cm-line:before, -.headings-center-lines :is(h1, -h2, -h3, -h4, -h5, -h6):before { - margin-right: 0.3em; -} -.hcl .HyperMD-header.cm-line:after, -.hcl :is(h1, -h2, -h3, -h4, -h5, -h6):after, -.headings-center-lines .HyperMD-header.cm-line:after, -.headings-center-lines :is(h1, -h2, -h3, -h4, -h5, -h6):after { - margin-left: 0.3em; -} -.hcl .HyperMD-header.cm-line sup, -.hcl :is(h1, -h2, -h3, -h4, -h5, -h6) sup, -.headings-center-lines .HyperMD-header.cm-line sup, -.headings-center-lines :is(h1, -h2, -h3, -h4, -h5, -h6) sup { - margin-top: -10.5px; -} -.hcl .HyperMD-header.cm-line sub, -.hcl :is(h1, -h2, -h3, -h4, -h5, -h6) sub, -.headings-center-lines .HyperMD-header.cm-line sub, -.headings-center-lines :is(h1, -h2, -h3, -h4, -h5, -h6) sub { - margin-top: 10.5px; -} - -body { - --illusion-header-text: var(--text-dl); - --illusion-h1-background: var(--theme-rainbow-1); - --illusion-h2-background: var(--theme-rainbow-2); - --illusion-h3-background: var(--theme-rainbow-3); - --illusion-h4-background: var(--theme-rainbow-4); - --illusion-h5-background: var(--theme-rainbow-5); - --illusion-h6-background: var(--theme-rainbow-6); - --illusion-border-line-height: 0; - --illusion-box-shadow: var(--shadow-l); - --illusion-header-padding: 5px 25px; - --illusion-header-arrow-icon-size: 13px; - --illusion-header-arrow-color: var(--illusion-header-text); -} - -.illusion.illusion :is(.markdown-preview-view, .is-live-preview) :is(h1, h2, h3, h4, h5, h6)[data-heading], .illusion.illusion :is(.markdown-preview-view, .is-live-preview) :is(.is-live-preview .HyperMD-header), .illusion.illusion:is(.markdown-preview-view, .is-live-preview) :is(h1, h2, h3, h4, h5, h6)[data-heading], .illusion.illusion:is(.markdown-preview-view, .is-live-preview) :is(.is-live-preview .HyperMD-header) { - --h1-background: var(--illusion-h1-background); - --h2-background: var(--illusion-h2-background); - --h3-background: var(--illusion-h3-background); - --h4-background: var(--illusion-h4-background); - --h5-background: var(--illusion-h5-background); - --h6-background: var(--illusion-h6-background); - --header-border-line-height: var(--illusion-border-line-height); - --h1-border-line-height: var(--illusion-border-line-height); - --h2-border-line-height: var(--illusion-border-line-height); - --h3-border-line-height: var(--illusion-border-line-height); - --h4-border-line-height: var(--illusion-border-line-height); - --h5-border-line-height: var(--illusion-border-line-height); - --h6-border-line-height: var(--illusion-border-line-height); - --headers: var(--illusion-header-text); - --h1-color: var(--illusion-header-text); - --h2-color: var(--illusion-header-text); - --h3-color: var(--illusion-header-text); - --h4-color: var(--illusion-header-text); - --h5-color: var(--illusion-header-text); - --h6-color: var(--illusion-header-text); - --heading-formatting: var(--illusion-header-text); - --header-shadow: var(--illusion-box-shadow); - --h1-shadow: var(--illusion-box-shadow); - --h2-shadow: var(--illusion-box-shadow); - --h3-shadow: var(--illusion-box-shadow); - --h4-shadow: var(--illusion-box-shadow); - --h5-shadow: var(--illusion-box-shadow); - --h6-shadow: var(--illusion-box-shadow); - --header-padding: var(--illusion-header-padding); - --h1-padding: var(--illusion-header-padding); - --h2-padding: var(--illusion-header-padding); - --h3-padding: var(--illusion-header-padding); - --h4-padding: var(--illusion-header-padding); - --h5-padding: var(--illusion-header-padding); - --h6-padding: var(--illusion-header-padding); - --collapse-icon-color: var(--headers); - --collapse-icon-color-collapsed: var(--text-dl); - --header-arrow-icon-color: var(--text-dl); - --header-arrow-icon-size: var(--illusion-header-arrow-icon-size); - --header-arrow-color: var(--illusion-header-text); - display: flow-root; -} -.illusion.illusion :is(.markdown-preview-view, .is-live-preview) :is(h1, h2, h3, h4, h5, h6)[data-heading] [class*=cm-formatting], .illusion.illusion :is(.markdown-preview-view, .is-live-preview) :is(h1, h2, h3, h4, h5, h6)[data-heading] .cm-foldPlaceholder, .illusion.illusion :is(.markdown-preview-view, .is-live-preview) :is(.is-live-preview .HyperMD-header) [class*=cm-formatting], .illusion.illusion :is(.markdown-preview-view, .is-live-preview) :is(.is-live-preview .HyperMD-header) .cm-foldPlaceholder, .illusion.illusion:is(.markdown-preview-view, .is-live-preview) :is(h1, h2, h3, h4, h5, h6)[data-heading] [class*=cm-formatting], .illusion.illusion:is(.markdown-preview-view, .is-live-preview) :is(h1, h2, h3, h4, h5, h6)[data-heading] .cm-foldPlaceholder, .illusion.illusion:is(.markdown-preview-view, .is-live-preview) :is(.is-live-preview .HyperMD-header) [class*=cm-formatting], .illusion.illusion:is(.markdown-preview-view, .is-live-preview) :is(.is-live-preview .HyperMD-header) .cm-foldPlaceholder { - color: var(--illusion-header-text); -} - -.illusion-h1 :is(.markdown-preview-view, .is-live-preview) h1[data-heading], .illusion-h1 :is(.markdown-preview-view, .is-live-preview) .HyperMD-header-1, .illusion-h1:is(.markdown-preview-view, .is-live-preview) h1[data-heading], .illusion-h1:is(.markdown-preview-view, .is-live-preview) .HyperMD-header-1 { - --h1-background: var(--illusion-h1-background); - --h1-color: var(--illusion-header-text); - --h1-padding: var(--illusion-header-padding); - --h1-border-line-height: var(--illusion-border-line-height); - --h1-shadow: var(--illusion-box-shadow); - --header-arrow-icon-size: var(--illusion-header-arrow-icon-size); - --header-arrow-icon-color: var(--illusion-header-text); - --collapse-icon-color-collapsed: var(--accent-text); -} - -.illusion-h2 :is(.markdown-preview-view, .is-live-preview) h2[data-heading], .illusion-h2 :is(.markdown-preview-view, .is-live-preview) .HyperMD-header-2, .illusion-h2:is(.markdown-preview-view, .is-live-preview) h2[data-heading], .illusion-h2:is(.markdown-preview-view, .is-live-preview) .HyperMD-header-2 { - --h2-background: var(--illusion-h2-background); - --h2-color: var(--illusion-header-text); - --h2-padding: var(--illusion-header-padding); - --h2-border-line-height: var(--illusion-border-line-height); - --h2-shadow: var(--illusion-box-shadow); - --header-arrow-icon-size: var(--illusion-header-arrow-icon-size); - --header-arrow-icon-color: var(--illusion-header-text); - --collapse-icon-color-collapsed: var(--accent-text); -} - -.illusion-h3 :is(.markdown-preview-view, .is-live-preview) h3[data-heading], .illusion-h3 :is(.markdown-preview-view, .is-live-preview) .HyperMD-header-3, .illusion-h3:is(.markdown-preview-view, .is-live-preview) h3[data-heading], .illusion-h3:is(.markdown-preview-view, .is-live-preview) .HyperMD-header-3 { - --h3-background: var(--illusion-h3-background); - --h3-color: var(--illusion-header-text); - --h3-padding: var(--illusion-header-padding); - --h3-border-line-height: var(--illusion-border-line-height); - --h3-shadow: var(--illusion-box-shadow); - --header-arrow-icon-size: var(--illusion-header-arrow-icon-size); - --header-arrow-icon-color: var(--illusion-header-text); - --collapse-icon-color-collapsed: var(--accent-text); -} - -.illusion-h4 :is(.markdown-preview-view, .is-live-preview) h4[data-heading], .illusion-h4 :is(.markdown-preview-view, .is-live-preview) .HyperMD-header-4, .illusion-h4:is(.markdown-preview-view, .is-live-preview) h4[data-heading], .illusion-h4:is(.markdown-preview-view, .is-live-preview) .HyperMD-header-4 { - --h4-background: var(--illusion-h4-background); - --h4-color: var(--illusion-header-text); - --h4-padding: var(--illusion-header-padding); - --h4-border-line-height: var(--illusion-border-line-height); - --h4-shadow: var(--illusion-box-shadow); - --header-arrow-icon-size: var(--illusion-header-arrow-icon-size); - --header-arrow-icon-color: var(--illusion-header-text); - --collapse-icon-color-collapsed: var(--accent-text); -} - -.illusion-h5 :is(.markdown-preview-view, .is-live-preview) h5[data-heading], .illusion-h5 :is(.markdown-preview-view, .is-live-preview) .HyperMD-header-5, .illusion-h5:is(.markdown-preview-view, .is-live-preview) h5[data-heading], .illusion-h5:is(.markdown-preview-view, .is-live-preview) .HyperMD-header-5 { - --h5-background: var(--illusion-h5-background); - --h5-color: var(--illusion-header-text); - --h5-padding: var(--illusion-header-padding); - --h5-border-line-height: var(--illusion-border-line-height); - --h6-shadow: var(--illusion-box-shadow); - --header-arrow-icon-size: var(--illusion-header-arrow-icon-size); - --header-arrow-icon-color: var(--illusion-header-text); - --collapse-icon-color-collapsed: var(--accent-text); -} - -.illusion-h6 :is(.markdown-preview-view, .is-live-preview) h6[data-heading], .illusion-h6 :is(.markdown-preview-view, .is-live-preview) .HyperMD-header-6, .illusion-h6:is(.markdown-preview-view, .is-live-preview) h6[data-heading], .illusion-h6:is(.markdown-preview-view, .is-live-preview) .HyperMD-header-6 { - --h6-background: var(--illusion-h6-background); - --h6-color: var(--illusion-header-text); - --h6-padding: var(--illusion-header-padding); - --h6-border-line-height: var(--illusion-border-line-height); - --h6-shadow: var(--illusion-box-shadow); - --header-arrow-icon-size: var(--illusion-header-arrow-icon-size); - --header-arrow-icon-color: var(--illusion-header-text); - --collapse-icon-color-collapsed: var(--accent-text); -} - -.heading-indicator .is-live-preview .HyperMD-header.HyperMD-header.HyperMD-header:hover .cm-header.cm-header:not(.cm-header-6)::before { - margin-top: 0px; -} -.heading-indicator .is-live-preview .HyperMD-header.HyperMD-header-1 { - --indicator-heading-text: "H1"; - --indicator-heading-size: var(--h1-size); -} -.heading-indicator .is-live-preview .HyperMD-header.HyperMD-header-2 { - --indicator-heading-text: "H2"; - --indicator-heading-size: var(--h2-size); -} -.heading-indicator .is-live-preview .HyperMD-header.HyperMD-header-3 { - --indicator-heading-text: "H3"; - --indicator-heading-size: var(--h3-size); -} -.heading-indicator .is-live-preview .HyperMD-header.HyperMD-header-4 { - --indicator-heading-text: "H4"; - --indicator-heading-size: var(--h4-size); -} -.heading-indicator .is-live-preview .HyperMD-header.HyperMD-header-5 { - --indicator-heading-text: "H5"; - --indicator-heading-size: var(--h5-size); -} -.heading-indicator .is-live-preview .HyperMD-header.HyperMD-header-6 { - --indicator-heading-text: "H6"; - --indicator-heading-size: var(--h6-size); -} -.heading-indicator .is-live-preview .HyperMD-header .cm-fold-indicator::before { - float: left; - font-family: var(--font-monospace); - color: var(--footnote); - font-size: 12px; - content: var(--indicator-heading-text); - margin-left: -18px; - margin-top: calc(var(--indicator-heading-size) / 2.5); -} -.heading-indicator .is-live-preview .HyperMD-header .is-collapsed.cm-fold-indicator::before, .heading-indicator .is-live-preview .HyperMD-header:hover .cm-fold-indicator::before { - margin-top: calc(var(--indicator-heading-size) / 15); -} - -.heading-color-override h1 > *, .heading-color-override h2 > *, .heading-color-override h3 > *, .heading-color-override h4 > *, .heading-color-override h5 > *, .heading-color-override h6 > *, .heading-color-override .cm-s-obsidian .cm-header > * { - color: var(--headers); -} - -.h-line.h-line, -.hide-header-underline.hide-header-underline, -:is(.h-line, .hide-header-underline) div { - --header-border-line-height: 0; - --h1-border-line-height: var(--header-border-line-height); - --h2-border-line-height: var(--header-border-line-height); - --h3-border-line-height: var(--header-border-line-height); - --h4-border-line-height: var(--header-border-line-height); - --h5-border-line-height: var(--header-border-line-height); - --h6-border-line-height: var(--header-border-line-height); -} - -.hide-header-underline-1 div { - --h1-border-line-height: 0; -} - -.hide-header-underline-2 div { - --h2-border-line-height: 0; -} - -.hide-header-underline-3 div { - --h3-border-line-height: 0; -} - -.hide-header-underline-4 div { - --h4-border-line-height: 0; -} - -.hide-header-underline-5 div { - --h5-border-line-height: 0; -} - -.hide-header-underline-6 div { - --h6-border-line-height: 0; -} - -.link-caps { - --link-transform: uppercase; -} - -.link-underline.link-underline { - --link-decoration-thickness: 2px; - --link-decoration-color: var(--text); - --link-decoration: underline; - --link-external-decoration: underline; -} - -.link-notion { - --link-border: 1px solid var(--hr); - --link-weight: 600; - --link-decoration: none; - --link-color: var(--text); - --link-external-color: var(--soft-text); -} - -.hr-no-icon.hr-no-icon div, -.hr-tog.hr-tog div { - --hr-icon-symbol: ; - --hr-image: ; -} - -.hr-center-vertically .hr { - --hr-thickness: 0; - --hr-alignment: -50%; -} -.hr-center-vertically .hr hr { - --hr-color: var(--hr); - --hr-thickness: 2px; -} - -.inline-title-style-heading { - --inline-title-size: var(--h1-size); - --inline-title-weight: var(--header-weight); - --inline-title-color: var(--h1-color); -} - -.inline-title-style-text.inline-title-style-text .inline-title { - --inline-title-font: var(--font-default); - --inline-title-size: var(--font-text-size); - --inline-title-weight: var(--font-bold); - --inline-title-color: var(--text-normal); -} - -.inline-title-small { - --inline-title-size: var(--font-ui-small); -} - -.inline-title-medium { - --inline-title-size: var(--font-ui-medium); -} - -.inline-title-font-normal { - --inline-title-size: var(--font-size); -} - -.inline-title-position-left { - --inline-title-position: left; -} - -.inline-title-position-center { - --inline-title-position: center; -} - -.inline-title-position-right { - --inline-title-position: right; -} - -.minimalist-workspace.minimalist-workspace { - --divider-color: transparent; - --scrollbar-thumb-bg: transparent; - --tab-outline-width: 0; - --tab-outline-color: transparent; -} - -.hide-resize-handle { - --divider-color: transparent; -} - -.hide-scrollbar { - --scrollbar-thumb-bg: transparent; -} - -.hide-tab-outline.hide-tab-outline { - --tab-outline-width: 0; - --tab-outline-color: transparent; -} - -.minimalist-workspace .nav-folder.mod-root > .nav-folder-title:not(:hover), -.hide-vault-name .nav-folder.mod-root > .nav-folder-title:not(:hover) { - height: 6px; - opacity: 0; -} - -.minimalist-workspace .view-header:not(:hover):not(:focus-within), -.hide-note-title .view-header:not(:hover):not(:focus-within) { - position: absolute; - width: 100%; - opacity: 0; - z-index: 5; -} - -.minimalist-workspace .view-header:not(:hover):not(:focus-within) .view-header-icon, .minimalist-workspace .view-header:not(:hover):not(:focus-within) .view-header-nav-buttons, .minimalist-workspace .view-header:not(:hover):not(:focus-within) .view-actions, -.hide-note-title-icons .view-header:not(:hover):not(:focus-within) .view-header-icon, -.hide-note-title-icons .view-header:not(:hover):not(:focus-within) .view-header-nav-buttons, -.hide-note-title-icons .view-header:not(:hover):not(:focus-within) .view-actions { - opacity: 0; - width: 0; - padding: 0 5px; -} - -.minimalist-workspace .side-dock-ribbon:is(.mod-left, .mod-right):not(:hover), -.hide-sidebar-ribbon .side-dock-ribbon:is(.mod-left, .mod-right):not(:hover) { - opacity: 0; - flex: 0 0 10px; - padding: 0; -} - -.minimalist-workspace .side-dock-ribbon:is(.mod-left, .mod-right):not(:hover) :is(.side-dock-actions, .side-dock-settings), -.hide-sidebar-ribbon-icons .side-dock-ribbon:is(.mod-left, .mod-right):not(:hover) :is(.side-dock-actions, .side-dock-settings) { - display: none; -} - -.minimalist-workspace .titlebar:not(:hover), -.hide-titlebar .titlebar:not(:hover) { - width: 100%; - opacity: 0; - --titlebar-background: transparent; - --titlebar-background-focused: transparent; -} - -.minimalist-workspace .status-bar:not(:hover), -.hide-status-bar .status-bar:not(:hover) { - min-width: 100px; - padding: 0; - opacity: 0; - --icon-s: 0; - --status-bar-font-size: 0; - --status-bar-background: transparent; - --status-bar-border-color: transparent; - --status-bar-text-color: transparent; -} - -.minimalist-workspace .workspace-tab-header-container:not(:hover), -.hide-titlebar-tab .workspace-tab-header-container:not(:hover) { - height: 12px; - opacity: 0; -} - -.minimalist-workspace .nav-header:not(:hover) .nav-buttons-container, -.hide-nav-header .nav-header:not(:hover) .nav-buttons-container { - display: none; -} - -.minimalist-workspace .frontmatter-container:not(:hover), -.hide-frontmatter .frontmatter-container:not(:hover) { - height: 10px; - opacity: 0; -} -.minimalist-workspace .frontmatter-container:not(:hover) > *, -.hide-frontmatter .frontmatter-container:not(:hover) > * { - display: none; -} - -.minimalist-workspace .nav-folder .nav-folder-title, -.hide-file-explorer-icons .nav-folder .nav-folder-title { - --folder-icon: ""; - --file-icon-margin: 0; -} -.minimalist-workspace .nav-folder .nav-folder-title .nav-folder-title-content::before, -.hide-file-explorer-icons .nav-folder .nav-folder-title .nav-folder-title-content::before { - content: ""; - width: 0; -} -.minimalist-workspace .nav-file .nav-file-title, -.hide-file-explorer-icons .nav-file .nav-file-title { - --file-icon: ""; - --file-icon-margin: 0; -} -.minimalist-workspace .nav-file .nav-file-title .nav-file-title-content::before, -.hide-file-explorer-icons .nav-file .nav-file-title .nav-file-title-content::before { - content: ""; - width: 0; -} - -.background-image { - --background-image-url: url(); - --background-image-height: 50%; - --background-image-width: 50%; - --background-image-blur: 11px; - --background-image-shadow: var(--outline); - --background-image-opacity: 90%; - --background-image-sidebar-opacity: var(--background-image-opacity); - --background-image-note-padding: 20px; - --background-image-note-width: calc(var(--file-line-width) + var(--background-image-note-padding)); - --file-margins: 0 0; - --scrollbar-bg: rgba(var(--note-rgb)); -} -.background-image.theme-light { - --background-image-shadow: #0E0F1530; -} - -body.background-image:is(.theme-dark, .theme-light) .workspace { - background: var(--background-image-url); - background-repeat: no-repeat; - background-position: var(--background-image-width) var(--background-image-height); - background-size: cover; -} -body.background-image .workspace-tab-header-container, body.background-image .workspace > .workspace-leaf, body.background-image .workspace-split.mod-root .view-content, body.background-image .workspace-tabs .workspace-leaf { - backdrop-filter: blur(var(--background-image-blur)); -} -body.background-image .workspace-leaf-content[data-type=style-settings], body.background-image .kanban-plugin.kanban-plugin, body.background-image .markdown-preview-section.markdown-preview-section:not(.kanban-plugin__markdown-preview-view), body.background-image .cm-editor .cm-contentContainer, body.background-image .cm-editor .inline-title { - background: rgba(var(--note-rgb), var(--background-image-opacity)); -} -body.background-image .markdown-preview-section.markdown-preview-section:not(.kanban-plugin__markdown-preview-view), body.background-image .cm-editor .cm-contentContainer { - height: auto; -} -body.background-image.is-focused .workspace-leaf.mod-active .view-header, body.background-image .view-header, body.background-image .view-header-title-parent, body.background-image .view-header-title, body.background-image :is(.view-header-nav-buttons, .view-actions) > .clickable-icon, body.background-image .workspace-split:is(.mod-left-split, .mod-right-split) .workspace-tab-container, body.background-image .workspace-tabs { - background: rgba(var(--note-rgb), var(--background-image-sidebar-opacity)); -} -body.background-image .kanban-plugin.kanban-plugin, body.background-image .workspace > .workspace-split, body.background-image .workspace-split.mod-root .view-content, body.background-image .workspace-tabs .workspace-leaf, body.background-image.is-focused .workspace-tabs.mod-top, body.background-image .workspace-tabs.mod-top, body.background-image :is(.markdown-preview-view, .markdown-source-view) { - background: transparent; -} -body.background-image :is(.markdown-preview-view, -.markdown-source-view.mod-cm6 .cm-scroller) { - padding-top: 0; - padding-bottom: 0; -} -body.background-image .cm-editor .inline-title, body.background-image .markdown-preview-section, body.background-image .view-content .cm-s-obsidian > .cm-editor .cm-contentContainer { - height: auto; - padding: 0 var(--background-image-note-padding); - box-shadow: 0 0 20px var(--background-image-shadow); -} -body.background-image .cm-contentContainer .cm-gutter { - margin-left: calc(var(--background-image-note-padding) * -1); -} -body.background-image .markdown-embed-content .markdown-preview-section:not(.kanban-plugin__markdown-preview-view), body.background-image .popover.popover .markdown-preview-section { - box-shadow: unset; -} - -.sidebar-ribbon-float:not(.is-mobile) .side-dock-ribbon.mod-right, .sidebar-ribbon-float:not(.is-mobile) .side-dock-ribbon.mod-left, -.sidebar-ribbon-mini-float:not(.is-mobile) .side-dock-ribbon.mod-right, -.sidebar-ribbon-mini-float:not(.is-mobile) .side-dock-ribbon.mod-left { - position: absolute; - border: 1px solid var(--lines); - box-shadow: 4px 4px 0 var(--outline); - width: var(--ribbon-width); - top: var(--ribbon-float-top); - bottom: var(--ribbon-float-bottom); - --ribbon-background-collapsed: var(--ribbon-background) ; -} -.sidebar-ribbon-float:not(.is-mobile) .side-dock-ribbon.mod-right, -.sidebar-ribbon-mini-float:not(.is-mobile) .side-dock-ribbon.mod-right { - right: 10px; -} -.sidebar-ribbon-float:not(.is-mobile) .side-dock-ribbon.mod-left, -.sidebar-ribbon-mini-float:not(.is-mobile) .side-dock-ribbon.mod-left { - left: 10px; -} -.sidebar-ribbon-float:not(.is-mobile).sidebar-float-top, -.sidebar-ribbon-mini-float:not(.is-mobile).sidebar-float-top { - --ribbon-float-top: 45px; -} -.sidebar-ribbon-float:not(.is-mobile).sidebar-float-bottom, -.sidebar-ribbon-mini-float:not(.is-mobile).sidebar-float-bottom { - --ribbon-float-bottom: 45px; -} -.sidebar-ribbon-float:not(.is-mobile).sidebar-float-center .side-dock-ribbon.mod-right, .sidebar-ribbon-float:not(.is-mobile).sidebar-float-center .side-dock-ribbon.mod-left, -.sidebar-ribbon-mini-float:not(.is-mobile).sidebar-float-center .side-dock-ribbon.mod-right, -.sidebar-ribbon-mini-float:not(.is-mobile).sidebar-float-center .side-dock-ribbon.mod-left { - --ribbon-float-top: 50%; - transform: translate(0, -50%); -} -.sidebar-ribbon-float:not(.is-mobile) .side-dock-settings, -.sidebar-ribbon-mini-float:not(.is-mobile) .side-dock-settings { - border-top: var(--tab-outline-width) solid var(--tab-outline-color); -} -.sidebar-ribbon-float:not(.is-mobile) .sidebar-toggle-button, -.sidebar-ribbon-mini-float:not(.is-mobile) .sidebar-toggle-button { - position: relative; -} -.sidebar-ribbon-float:not(.is-mobile) .side-dock-actions, -.sidebar-ribbon-mini-float:not(.is-mobile) .side-dock-actions { - margin-top: 0; -} - -.sidebar-ribbon-mini-float:not(.is-mobile) .side-dock-ribbon:not(:hover) .sidebar-toggle-button.mod-left { - height: 0; - position: relative; - padding: 0 7px; - align-items: center; -} -.sidebar-ribbon-mini-float:not(.is-mobile) .side-dock-ribbon:not(:hover) { - padding: calc(var(--icon-size) + 2px); - width: var(--ribbon-width); - animation-duration: 5s; - --tab-outline-width: 0; -} -.sidebar-ribbon-mini-float:not(.is-mobile) .side-dock-ribbon.mod-left:not(:hover) :is(.side-dock-actions, .side-dock-settings) { - display: none; -} - -.side-dock-ribbon { - text-align: center; - align-items: center; -} - -.slrvb-g { - --font: "Norwester", "Staatliches", "Racing Sans One", "Heavitas", "Playfair Display", serif; - --header-weight: 100; - --vault-name-font-size: 25px; - --vault-name-font-weight: 300; - --font-monospace: "Fira Code"; - --hr-icon-symbol: "🏴"; - --highlight: rgba(163, 188, 218, 0.3); - --hvr: rgba(129,155,199,0.25); - --hvr-active: rgba(163, 188, 218, 0.22); - --setting-item-heading-border: 2px solid var(--dark-accent); -} - -.theme-dark.slrvb-g, .theme-dark .slrvb-g { - --outer-bar: #0E0F15; - --dark-sidebar: #090C0E; - --side-bar: var(--note); - --note: #171B21; - --note-rgb: 23, 27, 33; - --accent-color: 81, 91, 113; - --accent: #515b71; - --lite-accent: #8e9ab4; - --dark-accent: #333A49; - --deep-dark-accent: #222731; - --accent2: #889FC3; - --accent2-lite: #cde2ff; - --headers: #9DB1CA; - --text: #AAB3CA; - --soft-text: #778495; - --code-text: #707a90; - --i-at: #5D7B98; - --footnote: #576571; - --inactive: #3c4a64; - --tag-text: #8690ab; - --folder-open: #F1F7FF; - --tag: #353d52; - --th: var(--dark-accent); - --table: #242b3d; - --highlight: rgba(101, 116, 135, 0.27); - --theme-rainbow-1: var(--lite-accent); - --theme-rainbow-2: var(--code-text); - --theme-rainbow-3: var(--accent); - --theme-rainbow-4: var(--inactive); - --theme-rainbow-5: var(--table); - --theme-rainbow-6: var(--aside-bg); -} - -.theme-light.slrvb-g, .theme-light .slrvb-g { - --outer-bar:#eef3fd; - --dark-sidebar: #F1F7FF; - --side-bar: var(--note); - --note: #f8fbff; - --note-rgb: 248, 251, 255; - --accent-color: 174, 189, 212; - --accent: #aebdd4; - --lite-accent: #a6aec7; - --dark-accent: #6e7a92; - --deep-dark-accent: #171C22; - --inactive: #C0C8D6; - --file-icon-color: #A6B4CC; - --folder: var(--headers); - --folder-open: var(--accent); - --headers: #6e7a92; - --text: #171C22; - --accent2: #404c62; - --accent2-lite: #000000; - --soft-text: #90a0c3; - --code-text: #8193b5; - --i-at: #8f9cbe; - --table: #ccd6eb; - --tag: #7485a3; - --tag-text: var(--tag); - --hr: #d6deea; - --theme-rainbow-1: var(--file-icon-color); - --theme-rainbow-2: var(--soft-text); - --theme-rainbow-3: var(--tag); - --theme-rainbow-4: var(--dark-accent); - --theme-rainbow-5: var(--accent2); - --theme-rainbow-6: var(--deep-dark-accent); -} - -/*----Theme: SlRvb Blue----*/ -.slrvb-b { - --font: "Recursive Sans Linear Static Black", "Oleo Script", "Calisto MT"; - /*Works, but if it doesn't, needs !important*/ - --font-monospace: "Fira Code"; - --highlight: rgba(46, 124, 214, 0.3); - --hvr: rgba(0, 137, 255, 0.4); - --hvr-active: rgba(60, 102, 168, 0.4); -} - -.theme-dark.slrvb-b, .theme-dark .slrvb-b { - --outer-bar: #0e0f15; - --dark-sidebar: #10161d; - --side-bar: var(--note); - --note: #1a1e24; - --note-rgb: 26, 30, 36; - --accent-color: 57, 77, 100; - --accent: #394d64; - --lite-accent: #6ca6e0; - --dark-accent: #293e64; - --deep-dark-accent: #1f283b; - --accent2: #4c78cc; - --accent2-lite: #4c87cc; - --headers: #2b71cd; - --text: #AAB3CA; - --soft-text: #6d7a9b; - --code-text: slategray; - --i-at: #5d7b98; - --footnote: #6e7e89; - --folder-open: #386ab6; - --file-icon-color: #63748d; - --code-bg: #232831; - --tag: var(--dark-accent); - --th: var(--dark-accent); - --td: #030a1495; - --hr: #3c5274; - --lines: #465164; - --theme-rainbow-1: var(--accent2); - --theme-rainbow-2: var(--headers); - --theme-rainbow-3: var(--dark-accent); - --theme-rainbow-4: var(--deep-dark-accent); - --theme-rainbow-5: var(--accent); - --theme-rainbow-6: var(--soft-text); -} - -.theme-light.slrvb-b, .theme-light .slrvb-b { - --outer-bar: #eef3fd; - --dark-sidebar: #f1f5ff; - --side-bar: var(--note); - --note: #f8fbff; - --note-rgb: 248, 251, 255; - --accent-color: 100, 160, 219; - --accent: #64a0db; - --lite-accent: #5174a3; - --dark-accent: #517cbf; - --deep-dark-accent: #101b2f; - --accent2: #4c78cc; - --accent2-lite: #5599d0; - --headers: #4378c1; - --text: #283a67; - --soft-text: #4e99d0; - --code-text: #4296ea; - --i-at: var(--headers); - --footnote: #8996a0; - --inactive: #a6bbde; - --folder-open: #6da5ce; - --file-icon-color: #8897b4; - --bg: #dde4ef; - --fg: #025d9f; - --code-bg: #f1f5ff; - --tag: #5885b2; - --th: #587aa8; - --td: #d0ddef62; - --table: #ccd6eb; - --hr: #d6deea; - --lines: #b5c2d8; - --highlight: rgba(46, 124, 214, 0.2); - --theme-rainbow-1: var(--accent); - --theme-rainbow-2: var(--headers); - --theme-rainbow-3: var(--th); - --theme-rainbow-4: var(--text); - --theme-rainbow-5: var(--file-icon-color); - --theme-rainbow-6: var(--inactive); -} - -.theme-dark.wotc-beyond, .theme-dark .wotc-beyond, -.theme-light.wotc-beyond, -.theme-light .wotc-beyond { - --header-weight: 500; - --font: "its-Draconis", "Draconis", Inter; - --font-monospace: "its-Fira Code", "Fira Code", Inter; - --font-default: "its-Bookerly", "Bookerly", Inter; - --font-text: var(--font-default); - --vault-name-font-size: 25px; - --hr-icon-symbol: ""; - --hr-icon-font: var(--its); - --hr-icon-symbol: ; - --hr-image-height: 5px; - --hr-image-width: 100%; - --hr-thickness: 0; - --embed-h: #c93c3c; - --h2-color: sandybrown; - --h3-color: #a11111; - --h1-border-line-color: var(--embed-h); - --h2-border-line-color: var(--h2-color); - --h3-border-line-color: var(--h3-color); - --h1-border-right-color: linear-gradient(to right, var(--h1-border-line-color), transparent); - --h2-border-right-color: linear-gradient(to right, var(--h2-border-line-color), transparent); - --h3-border-right-color: linear-gradient(to right, var(--h3-border-line-color), transparent); - --h4-border-right-color: linear-gradient(to right, var(--header-border-line-color), transparent); - --h5-border-right-color: linear-gradient(to right, var(--header-border-line-color), transparent); - --h6-border-right-color: linear-gradient(to right, var(--header-border-line-color), transparent); - --h1-border-left-color: linear-gradient(to left, var(--h1-border-line-color), transparent); - --h2-border-left-color: linear-gradient(to left, var(--h2-border-line-color), transparent); - --h3-border-left-color: linear-gradient(to left, var(--h3-border-line-color), transparent); - --h4-border-left-color: linear-gradient(to left, var(--header-border-line-color), transparent); - --h5-border-left-color: linear-gradient(to left, var(--header-border-line-color), transparent); - --h6-border-left-color: linear-gradient(to left, var(--header-border-line-color), transparent); - --icon-color: var(--text); - --drop-shadow: var(--td); - --paper-edges: 0 0 60px var(--outline) inset; - --paper-edges-m: 0 0 100px var(--outline) inset; - --tab-container-background: transparent; - --tab-titlebar-color: transparent; - --pane-background: transparent; - --file-header-background: transparent; - --kanban-card-title-background: var(--td); - --kanban-card-metadata-background: var(--note); -} - -.theme-dark.wotc-beyond, .theme-dark .wotc-beyond { - --outline: #0000008c; - --headers: #c14343; - --code-text: #fa4545; - --tag-text: #d04e4e; - --dark-accent: #652121; - --accent: #863737; - --i-at: #bf5e5e; - --folder: var(--accent); - --hr-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 100 7' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Crect id='Artboard1' x='0' y='0' width='100' height='7' style='fill:none;'/%3E%3Cpath d='M50,2.5L100,3.5L50,4L0,3.5L50,2.5Z' style='fill:rgb(146, 47, 47);'/%3E%3C/svg%3E") no-repeat center center; - --hr: #772d2d; - --hvr-active: rgba(212, 47, 47, 0.4); - --highlight: #7a141466; -} - -.theme-light.wotc-beyond, .theme-light .wotc-beyond { - --hvr-active: rgba(182, 28, 28, 0.50); - --highlight: #c20a0a35; - --outer-bar: #fbe2c5; - --dark-sidebar: #f6e3cd; - --side-bar: #fff6e4; - --note: #fff9f0; - --note-rgb: 255, 252, 240; - --accent-color: 199, 89, 89; - --accent: #c75959; - --lite-accent: #a35158; - --dark-accent: #cd645e; - --deep-dark-accent: #2e1010; - --accent2: #000000; - --accent2-lite: #df6262; - --headers: #c14343; - --text: #412f2f; - --code-text: #681010; - --inactive: #e2b7a3; - --file-icon-color: #ebbd92; - --folder-open: var(--text); - --bg: var(--dark-sidebar); - --code-bg: #f3e6d2; - --aside-bg: #faf2e9; - --embed-bg: var(--aside-bg); - --td: #fae0be60; - --table: var(--outline); - --hr: var(--table); - --lines: var(--inactive); - --outline: #fbb4577e; - --hr-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 100 7' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Crect id='Artboard1' x='0' y='0' width='100' height='7' style='fill:none;'/%3E%3Cpath d='M50,2.5L100,3.5L50,4L0,3.5L50,2.5Z' style='fill:rgb(200, 57, 57);'/%3E%3C/svg%3E") no-repeat center center; -} - -body.wotc-beyond .workspace-leaf-content, body.wotc-beyond .workspace-tabs, body.wotc-beyond .workspace-sidedock-vault-profile, body.wotc-beyond .vertical-tab-content, body.wotc-beyond .modal.modal, body.wotc-beyond .community-modal-sidebar, body.wotc-beyond .canvas-wrapper { - box-shadow: var(--paper-edges); -} -body.wotc-beyond .workspace .mod-root .workspace-tab-header { - box-shadow: 0 0 0 var(--tab-outline-width) var(--tab-outline-color), var(--paper-edges); -} -body.wotc-beyond .site-body-left-column, body.wotc-beyond .site-body-right-column, body.wotc-beyond .publish-renderer, body.wotc-beyond .graph-view-container { - box-shadow: var(--paper-edges-m); -} - -body:not(.wotc-beyond) .wotc-beyond:is(.markdown-source-view, -.markdown-preview-view) { - box-shadow: var(--paper-edges); -} - -.wotc-beyond .cm-line.hr, -.pathfinder .cm-line.hr { - bottom: -10px; -} -.wotc-beyond.markdown-rendered hr::after, .wotc-beyond .markdown-rendered hr::after, .wotc-beyond .cm-line:not(.cm-active) hr, -.pathfinder.markdown-rendered hr::after, -.pathfinder .markdown-rendered hr::after, -.pathfinder .cm-line:not(.cm-active) hr { - content: ""; - display: block; - position: relative; - background: var(--hr-image); - background-size: var(--hr-image-width); - height: var(--hr-image-height); - background-repeat: no-repeat; - background-position: center; -} - -.wotc-beyond .internal-embed.markdown-embed { - border-style: solid; - border-width: 11px; - border-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA8CAYAAADxJz2MAAAFWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgZXhpZjpQaXhlbFhEaW1lbnNpb249IjgwIgogICBleGlmOlBpeGVsWURpbWVuc2lvbj0iNjAiCiAgIGV4aWY6Q29sb3JTcGFjZT0iMSIKICAgdGlmZjpJbWFnZVdpZHRoPSI4MCIKICAgdGlmZjpJbWFnZUxlbmd0aD0iNjAiCiAgIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiCiAgIHRpZmY6WFJlc29sdXRpb249IjMwMC8xIgogICB0aWZmOllSZXNvbHV0aW9uPSIzMDAvMSIKICAgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIKICAgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIgogICB4bXA6TW9kaWZ5RGF0ZT0iMjAyMi0wMS0wMlQxNjowNTo0MS0wODowMCIKICAgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMi0wMS0wMlQxNjowNTo0MS0wODowMCI+CiAgIDxkYzp0aXRsZT4KICAgIDxyZGY6QWx0PgogICAgIDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+RCZhbXA7RCBCb3JkZXI8L3JkZjpsaT4KICAgIDwvcmRmOkFsdD4KICAgPC9kYzp0aXRsZT4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0icHJvZHVjZWQiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFmZmluaXR5IERlc2lnbmVyIDEuMTAuNCIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMi0wMS0wMlQxNjowNTo0MS0wODowMCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+SLcLyAAAAYFpQ0NQc1JHQiBJRUM2MTk2Ni0yLjEAACiRdZHPK0RRFMc/8xD50SiUhcVLWA35UWJjMZNfhcXMKIPNm2fejJo3Xu+NJFtlO0WJjV8L/gK2ylopIiVLWRMbpuc8o0Yy53bP/dzvPed077mgRNO66ZR3g5nJ2uHRoDoTm1Urn/Ch0EQdqqY71mRkJEpJe7+VaLHrTq9W6bh/rWYh4ejgqxIe0i07KzwmPLGStTzeEm7UU9qC8IlwwJYLCt94erzAzx4nC/zpsR0Nh0CpF1aTvzj+i/WUbQrLy2kz08v6z328l9QmMtMRWVtltuAQZpQgKuMME6KfHgbF99NJL12yo0R+93f+FEuSq4u3WMVmkSQpsgREXZbqCVkN0RMy0qx6/f/bV8fo6y1Urw1CxaPrvrZD5Sbkc677ceC6+UMoe4DzTDF/aR8G3kTPFbW2PfCvw+lFUYtvw9kGNN9bmq19S2UyFcOAl2Ooi0HDFVTPFXr2c87RHUTX5KsuYWcXOiTeP/8FK5Jny8RYHqYAAAAJcEhZcwAALiMAAC4jAXilP3YAAAG5SURBVHic7dyxSiNRFMbxv0OwEkvZfrEWleWAvbA+giB5ANtgcx/gFJK0+wAbwUdYV7bZRjiIirXYL1tbiajFXHV3Y5KBbIyTfL8yOQxfPu5kprkXKnCzRTfrVpmdBm7WdbPFKrNFhYt9As6BnVGD1cgOcJ5/+0CNfl+4WQG0AB80N8U+AiduloBOirh/bejVFehmH4AjYJ/ZLO9Jg7KDo9xJj54C3ewzcAlsjjdbrWwCl7mbvzyvLjebp7xdW28YrE6WgG9u1gFSiriFvALdbBk4QeVV0aL8b1wGKNysCVwA6xONVS/rwIWbNefc7GHSaeps6HugiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIyCzQTqURaafSiBpAE/gCLAwbThFzY0/0DlS8K2+A3SJFdIE14Gy8sabKGbCWIroFQIq4AjaA9kRj1UMb2MidvexYzzuw99zsB/CVcoe2vPgNNFPE9z8/7HmI5IEV4PiNgtXBMbDyb3nQ5ymcIn4BW8AecDfebO/aHWUHW7mTHn2PNMnnpLTd7CdwSHmOyiy5BrZTxOmgoaHvgfkCq8DBfwpWBwfA6rDyAB4BTjVxWZByO0gAAAAASUVORK5CYII=") 11; - border-image-outset: 9px 0px; - box-shadow: 0px 0px 10px var(--outline, var(--background-modifier-box-shadow)); -} - -.dnd.dnd { - --font: "Cinzel Decorative", "Amarante", "Oleo Script", "Lobster 1.3", Inter; - --font-monospace: "Fira Code Medium", "Recursive Mono Linear Static Medium", "Source Code Pro", Inter; - --hr-icon-symbol: ""; - --hr-icon-font: var(--mdi); - --embed-h: #c93c3c; - --h1-color: var(--headers); - --h2-color: sandybrown; - --h3-color: var(--embed-h); - --highlight: rgba(60, 168, 122, 0.4); - /*Text highlights*/ - --hvr-active: rgba(255, 128, 0, 0.4); - /*Search Highlight*/ - --hvr: rgba(66, 157, 104, 0.2); - /*Cursor dragged highlights*/ -} - -.theme-dark .dnd, .theme-dark.dnd { - --outer-bar: #0e0f15; - --dark-sidebar: #1c2f2b; - --side-bar: var(--note); - --note: #1a1e24; - --accent-color: 84, 139, 103; - --accent: #548b67; - --lite-accent: #45b480; - --dark-accent: #2e4d3c; - --deep-dark-accent: #1b2c25; - --accent2: #cc824c; - --accent2-lite: #61efc9; - --headers: #3eb281; - --text: #dcdedd; - --soft-text: #aacac9; - --code-text: #71dfac; - --i-at: #5ebfa9; - --inactive: #587770; - --folder: var(--accent); - --file-icon-color: var(--soft-text); - --folder-open: #9a5f3b; - --bg: #1e3831; - --fg: white; - --code-bg: #222e31; - --embed-bg: var(--outer-bar); - --tag: var(--dark-accent); - --th: var(--dark-accent); - --table: #2c3836; - --hr: #2b4e41; - --graph-bg: var(--note); - --graph-lines: #244047; - --graph-node: var(--headers); - --graph-fill: var(--headers); - --graph-404: #1f6f29; - --graph-img: var(--accent2); - --graph-tag: saddlebrown; - --theme-rainbow-1: var(--accent); - --theme-rainbow-2: var(--accent2); - --theme-rainbow-3: var(--h3-color); - --theme-rainbow-4: var(--hr); - --theme-rainbow-5: var(--dark-sidebar); - --theme-rainbow-6: var(--outer-bar); -} - -.theme-light.dnd, .theme-light .dnd { - --outer-bar: #dfefe6; - --dark-sidebar: var(--embed-bg); - --side-bar: var(--note); - --note: #f8fbff; - --accent-color: 121, 199, 142; - --accent: #79c78e; - --lite-accent: #ac7c10; - --dark-accent: #5a8d71; - --deep-dark-accent: #1b2c25; - --accent2: #cca04c; - --accent2-lite: #35be89; - --headers: #0e934c; - --text: #697580; - --soft-text: #52ad67; - --code-text: #35ad76; - --i-at: #48804e; - --folder: #64c9a3; - --folder-open: var(--accent2); - --fg: #029f08; - --bg: #cbe2d5; - --code-bg: #f1f5ff; - --embed-bg: var(--code-bg); - --aside-bg: #ecf6f1; - --inactive: #91c1ad; - --tag: #56c681; - --th: #549f54; - --table: #ccd6eb; - --hr: #d6deea; - --lines: var(--inactive); - --graph-bg: var(--note); - --graph-lines: #e4e7f8; - --graph-node: var(--headers); - --graph-fill: #2e5db2; - --graph-404: #727e93; - --graph-img: var(--accent2); - --graph-tag: #000000; - --theme-rainbow-1: var(--accent); - --theme-rainbow-2: var(--accent2); - --theme-rainbow-3: var(--h3-color); - --theme-rainbow-4: var(--headers); - --theme-rainbow-5: var(--code-text); - --theme-rainbow-6: var(--file-icon-color); - --hvr-active: rgba(255, 128, 0, 0.2); -} - -.pathfinder.pathfinder, -.pathfinder-remaster.pathfinder-remaster { - --font: "Taroca"; - --header-weight: 100; - --h1-font: "Taroca"; - --h2-font: var(--h1-font); - --h3-font: "Norwester"; - --h4-font: var(--h3-font); - --h5-font: var(--h3-font); - --h6-font: var(--h3-font); - --h1-border-line-height: 1.5px; - --h2-border-line-height: 1.5px; - --h3-border-line-height: 2px; - --h4-border-line-height: 0; - --h5-border-line-height: 0; - --h6-border-line-height: 0; - --h1-border-line-color: var(--header-border-line-color); - --h2-border-line-color: var(--header-border-line-color); - --h3-border-line-color: var(--header-border-line-color); - --h4-border-line-color: var(--header-border-line-color); - --h5-border-line-color: var(--header-border-line-color); - --h6-border-line-color: var(--header-border-line-color); - --h1-border-left-color: var(--h1-border-line-color); - --h2-border-left-color: var(--h2-border-line-color); - --h3-border-left-color: var(--h3-border-line-color); - --h4-border-left-color: var(--h4-border-line-color); - --h5-border-left-color: var(--h5-border-line-color); - --h6-border-left-color: var(--h6-border-line-color); - --h1-border-right-color: var(--h1-border-line-color); - --h2-border-right-color: var(--h2-border-line-color); - --h3-border-right-color: var(--h3-border-line-color); - --h4-border-right-color: var(--h4-border-line-color); - --h5-border-right-color: var(--h5-border-line-color); - --h6-border-right-color: var(--h6-border-line-color); - --vault-name-font-weight: 100; - --dataview-th-background: var(--th); - --dataview-th-alt-color: var(--hvr); - --dataview-th-color: var(--text-dl); - --dataview-th-border-bottom: var(--th); - --hr-image: url("data:image/svg+xml,%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg width='100%25' height='100%25' viewBox='0 0 1000 204' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cg transform='matrix(1,0,0,1,1.7053e-13,-398.169)'%3E%3Crect id='Artboard1' x='-0' y='398.169' width='1000' height='203.661' style='fill:none;'/%3E%3CclipPath id='_clip1'%3E%3Crect id='Artboard11' serif:id='Artboard1' x='-0' y='398.169' width='1000' height='203.661'/%3E%3C/clipPath%3E%3Cg clip-path='url(%23_clip1)'%3E%3Cg transform='matrix(4.31034,0,0,4.31034,-267.917,-1094.41)'%3E%3Cpath d='M178.389,380.983C175.751,387.924 169.433,393.494 159,393.565C127.289,393.78 136.335,361.89 118,362C108.448,361.996 110.806,374.866 115,377C114.833,377.167 100.762,372.819 105,357C76.617,370.354 62.389,358 62.389,358C62.389,358 80.399,363.885 90.791,357.333C109.271,345.683 133.119,337.401 142,364C147.001,347.144 172.305,357.468 163,370.565C163.721,364.587 151.808,358.708 151,370.565C150.447,378.68 162.397,385.825 170.144,377.076C176.411,369.999 170.344,356.114 162,354C170.327,353.643 175.921,358.556 178.389,365.031C180.857,358.556 186.45,353.643 194.777,354C186.434,356.114 180.367,369.999 186.634,377.076C194.38,385.825 206.33,378.68 205.777,370.565C204.97,358.708 193.056,364.587 193.777,370.565C184.472,357.468 209.776,347.144 214.777,364C223.658,337.401 247.507,345.683 265.986,357.333C276.379,363.885 294.389,358 294.389,358C294.389,358 280.16,370.354 251.777,357C256.015,372.819 241.944,377.167 241.777,377C245.971,374.866 248.329,361.996 238.777,362C220.443,361.89 229.488,393.78 197.777,393.565C187.344,393.494 181.027,387.924 178.389,380.983Z' style='fill:rgb(139,38,45);'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A"); - --hr-image-height: 16px; - --hr-thickness: 2px; - --hr-icon-symbol: ; - --highlight: rgba(191, 0, 0, 0.2); - --hvr: rgba(191, 0, 0, 0.2); - --hvr-active: #e5800040; -} - -.theme-dark .pathfinder, .theme-dark.pathfinder, .theme-dark .pathfinder-remaster, .theme-dark.pathfinder-remaster { - --accent: #863737; - --lite-accent: #c94d4d; - --dark-accent: #652121; - --headers: #ddaf78; - --h1-color: var(--headers); - --h2-color: #2f4f87; - --h3-color: #a22b30; - --h4-color: #d0765b; - --h5-color: #694b3c; - --h6-color: var(--text); - --code-text: #c94d4d; - --i-at: #bf5e5e; - --folder: #a22b30; - --folder-open: #e58000; - --hr: #8b262d; - --header-border-line-color: var(--dark-accent); - --graph-bg: var(--embed-bg); - --graph-lines: #65212190; - --graph-node: var(--theme-rainbow-1); - --graph-tag: var(--theme-rainbow-3); - --graph-img: var(--theme-rainbow-2); - --graph-line-hover: var(--lines); - --graph-node-hover-fill: var(--theme-rainbow-4); - --theme-rainbow-1: var(--h1-color); - --theme-rainbow-2: var(--h2-color); - --theme-rainbow-3: var(--h3-color); - --theme-rainbow-4: var(--h4-color); - --theme-rainbow-5: var(--h5-color); -} - -.theme-light .pathfinder, .theme-light.pathfinder, .theme-light .pathfinder-remaster, .theme-light.pathfinder-remaster { - /*Colors*/ - --outer-bar: #e2ded8; - --dark-sidebar: #e2ded8; - --side-bar: #ECE9E4; - --note: #ECE9E4; - --note-rgb: 236, 233, 228; - --accent-color: 94, 0, 0; - --accent: #800008; - --lite-accent: #e58000; - --dark-accent: var(--accent); - --deep-dark-accent: #5e0000; - --accent2: #461413; - --accent2-lite: #0f5cbc; - --link-color-hover: #1B9AF0; - --headers: #ca9759; - --h1-color: var(--headers); - --h2-color: #002564; - --h3-color: #5d0000; - --h4-color: #a76652; - --h5-color: #393636; - --text: #393636; - --soft-text: #5C1C16; - --code-text: var(--soft-text); - --i-at: var(--soft-text); - --footnote: #676767; - --inactive: #cdab9a; - --folder: #a22b30; - --folder-open: var(--headers); - --file-icon-color: #676767; - --bg: #d2c4be; - --embed-bg: #E0DACB; - --aside-bg: #E0DACB; - --tag: var(--deep-dark-accent); - --th: var(--deep-dark-accent); - --td: #E0DACB99; - --header-border-line-color: black; - --table: #00000060; - --hr: var(--soft-text); - --lines: #b6a697; - --outline: rgba(124, 49, 3, 0.4); - --hr-image-width: contain; - --graph-lines: var(--embed-bg); - --graph-node: var(--theme-rainbow-1); - --graph-tag: var(--theme-rainbow-4); - --graph-img: var(--theme-rainbow-2); - --graph-line-hover: var(--lines); - --graph-node-hover-fill: var(--theme-rainbow-4); - --theme-rainbow-1: #ca9759; - --theme-rainbow-2: #3276b5; - --theme-rainbow-3: #002564; - --theme-rainbow-4: #5d0000; - --theme-rainbow-5: #e58000; - --theme-rainbow-6: #393636; -} - -.pathfinder.markdown-rendered hr, .pathfinder .markdown-rendered hr { - overflow: visible; - display: flow-root; -} -.pathfinder .cm-line:not(.cm-active) hr { - margin-top: -25px; -} - -/* Pathfinder Remaster */ -.theme-dark .pathfinder-remaster, .theme-dark.pathfinder-remaster { - --tab-outline-color: #a18f61; - --headers: #2f8b62; - --accent: #3b7b5b; - --dark-accent: #253f32; - --deep-dark-accent: var(--headers); - --lite-accent: #4dbb84; - --code-text: var(--lite-accent); - --tag-text: var(--lite-accent); - --th-text: var(--lite-accent); - --folder: var(--accent); - --folder-open: #c0a14a; - --file-icon-color: #887440; - --hvr: #4dbb8450; - --hr: #2d4d3d; - --th: var(--deep-dark-accent); - --th-text: var(--text-dl); - --lines: #304c40; - --theme-rainbow-1: var(--headers); - --theme-rainbow-2: var(--h2-color); - --theme-rainbow-3: var(--h3-color); - --theme-rainbow-4: var(--h4-color); - --graph-lines: var(--dark-accent); - --graph-node: var(--theme-rainbow-1); - --graph-tag: var(--theme-rainbow-4); - --graph-img: var(--theme-rainbow-2); - --graph-line-hover: var(--lines); - --graph-node-hover-fill: var(--theme-rainbow-4); -} - -.theme-light .pathfinder-remaster, .theme-light.pathfinder-remaster { - --tab-outline-color: #cdac5a; - --hvr-active: #002a1750; - --hvr: #ddc486; - --highlight: #002a1730; - --headers: #002a17; - --h2-color: #4e1b0e; - --h3-color: #025d4e; - --h4-color: #000000; - --dark-accent: #00280a; - --accent: #025D4E; - --deep-dark-accent: #260d09; - --accent2-lite: #15a38b; - --lite-accent: #188655; - --code-text: var(--lite-accent); - --tag-text: var(--lite-accent); - --folder: #2b5b42; - --folder-open: #cba137; - --file-icon-color: #cab47c; - --th: var(--dark-accent); - --soft-text: #025d4e; - --hr: #002915; - --theme-rainbow-1: var(--headers); - --theme-rainbow-2: var(--h2-color); - --theme-rainbow-3: var(--h3-color); - --theme-rainbow-4: var(--h4-color); - --hr-image: "https://content.demiplane.com/compendium/pathfinder-2e/gm-core/css/Box-Decoration.png"; -} - -.mini { - --font: var(--font-default); - --background-modifier-hover: var(--td); - --tag-color: var(--accent2-lite); - --hr-icon-symbol: ; - --file-icon: ; - --folder-icon: ; - --header-border-line-height: 0; - --nav-item-border-width: 2px; - --nav-item-border-color: var(--text); - --setting-item-heading-border: 2px solid var(--accent); - --shadow-s: 1px 1px 0 var(--outline); - --shadow-l: 4px 4px 0 var(--outline); - --modal-border-width: 1px; - --modal-border-color: var(--table); - --tab-outline-color: transparent; - --drag-ghost-text-color: var(--text); - --message-color: var(--text); - --message-border-width: 1px; -} - -.theme-dark.mini, .theme-dark .mini { - --outer-bar: var(--note); - --dark-sidebar: var(--note); - --side-bar: var(--note); - --note: #1a1e24; - --note-rgb: 26, 30, 36; - --accent-color: ; - --accent: #546078; - --lite-accent: #aab3ca; - --dark-accent: #394151; - --deep-dark-accent: var(--note); - --accent2-lite: var(--text-dl); - --headers: var(--text); - --code-text: var(--text); - --i-at: var(--text-faint); - --inactive: #586477; - --tag-text: var(--accent2-lite); - --code-bg: #232831; - --aside-bg: var(--note); - --embed-bg: var(--note); - --tag: var(--note); - --folder: var(--text-dl); - --file-icon-color: #aab3ca; - --th: var(--note); - --td: #06080c50; - --table: var(--bg); - --outline: #0b0f13; - --highlight: rgba(81, 100, 122, 0.6); - --hvr: rgba(87, 113, 156, 0.4); - --hvr-active: rgba(101, 124, 156, 0.4); - --graph-bg: var(--outer-bar); - --graph-lines: #363c4950; - --graph-node: var(--fg); - --graph-fill: var(--headers); - --graph-404: #727e93; - --graph-img: #6b90ad; - --graph-tag: black; - --graph-focused: var(--text-highlight-bg-active); - --theme-rainbow-1: var(--graph-404); - --theme-rainbow-2: var(--accent); - --theme-rainbow-3: var(--dark-accent); - --theme-rainbow-4: var(--code-bg); - --theme-rainbow-5: var(--td); - --theme-rainbow-6: var(--graph-tag); -} - -.theme-light.mini, .theme-light .mini { - --background-modifier-form-field-highlighted: #99a4bb30; - --highlight: #99a4bb50; - --hvr: #99a4bb50; - --hvr-active: #99a4bb50; - --outer-bar: var(--note); - --dark-sidebar: var(--note); - --side-bar: var(--note); - --note: #f8fbff; - --text-dl: #000000; - --soft-text: #99a4bb; - --inactive: #d2daee; - --accent: #b5c2d8; - --lite-accent: #aab3ca; - --dark-accent: #d5ddeb; - --deep-dark-accent: var(--note); - --accent2: #d6def3; - --accent2-lite: var(--text-dl); - --bg: #eef3ff; - --aside-bg: var(--note); - --embed-bg: var(--note); - --bttn: var(--dark-accent); - --tag: var(--note); - --outline: #e1e9f6; - --th: var(--note); - --folder: var(--text-dl); - --headers: var(--text); - --i-at: var(--soft-text); - --code-text: var(--text); - --graph-bg: var(--outer-bar); - --graph-lines: #e5e9f3; - --graph-node: var(--text); - --graph-fill: var(--headers); - --graph-404: #727e939c; - --graph-img: #8ec1e9; - --graph-tag: var(--accent2-lite); - --graph-focused: #b6c9f1; - --theme-rainbow-1: var(--bg); - --theme-rainbow-2: var(--td); - --theme-rainbow-3: var(--outline); - --theme-rainbow-4: var(--inactive); - --theme-rainbow-5: var(--accent); - --theme-rainbow-6: var(--graph-img); -} - -/*----Theme: Drowned----*/ -.drwn { - --hr-icon-symbol: ""; - --hr-icon-font: var(--mdi); -} - -.theme-dark.drwn, .theme-dark .drwn { - --outer-bar: #0b0f13; - --note: #1a1e24; - --accent-color: 55, 136, 118; - --accent: #378876; - --lite-accent: #6CE0D3; - --dark-accent: #216565; - --deep-dark-accent: #103F3D; - --accent2: #5cb2d6; - --accent2-lite: #49d8e2; - --headers: #399F94; - --text: #bccad8; - --code-text: #72cdd0; - --i-at: #5EBFA9; - --inactive: #2b5b77; - --tag-text: var(--folder-open); - --folder-open: #58c8e0; - --folder-text-color: #71a6b7; - --file-icon-color: #204c5d; - --bg: #1e2f33; - --hr: #0f465d; - --tag: #1A5753; - --th: var(--dark-accent); - --td: rgba(6,12,12,0.38); - --table: #2b4448; - --lines: #1e4765; - --tab-stack-shadow: rgba(0,74,63,0.08); - --highlight: rgba(60,168,131,0.25); - --hvr: rgba(115,253,190,0.25); - --hvr-active: rgba(52,237,181,0.13); - --graph-lines: #04303d; - --theme-rainbow-1: var(--headers); - --theme-rainbow-2: var(--accent); - --theme-rainbow-3: var(--inactive); - --theme-rainbow-4: var(--file-icon-color); - --theme-rainbow-5: var(--table); - --theme-rainbow-6: var(--code-bg); -} - -.theme-light.drwn, .theme-light .drwn { - --outer-bar: #eef3fd; - --dark-sidebar: #e8f9f7; - --accent-color: 67, 193, 165; - --accent: #43C1A5; - --lite-accent: #51a38e; - --dark-accent: #25a99e; - --deep-dark-accent: #102F26; - --accent2: #D6EAE3; - --accent2-lite: #75c8b9; - --headers: #40B1A4; - --text: #697580; - --soft-text: #4ED0B8; - --code-text: #69cfd2; - --i-at: #43C1AE; - --footnote: #89A09E; - --inactive: #A6DED4; - --tag-text: var(--accent); - --folder: var(--headers); - --folder-open: #a1d9ff; - --folder-text-color: #7EA3A2; - --file-icon-color: #A6DED8; - --fg: #2E918A; - --bg: var(--table); - --embed-bg: #f1f5ff; - --tag: #49b99d; - --th: var(--headers); - --td: rgba(145, 212, 199, 0.27); - --table: #CCEBE2; - --hr: #D6EAE9; - --lines: #b8e5e7; - --drop-shadow: rgba(0,74,52,0.08); - --highlight: rgba(144, 237, 231, 0.5); - --hvr: rgba(131,240,207,0.3); - --hvr-active: rgba(119, 220, 193, 0.5); - --theme-rainbow-1: var(--code-text); - --theme-rainbow-2: var(--accent2-lite); - --theme-rainbow-3: var(--accent); - --theme-rainbow-4: var(--lite-accent); - --theme-rainbow-5: var(--fg); - --theme-rainbow-6: var(--deep-dark-accent); -} - -.theme-dark.its-d, .theme-dark .its-d { - --hvr: rgba(60, 8, 8, 0.46); - --highlight: rgba(139, 6, 6, 0.4); - --outer-bar: black; - --dark-sidebar: #000000; - --side-bar: var(--outer-bar); - --note: #070b11; - --accent: #803232; - --dark-accent: var(--aside-bg); - --deep-dark-accent: #270f0f; - --accent2: var(--text); - --accent2-lite: #c5575b; - --headers: #aa3333; - --text: #475569; - --soft-text: var(--accent); - --code-text: var(--accent); - --footnote: #577093; - --inactive: #1b262f; - --file-icon-color: var(--text); - --fg: var(--headers); - --bg: var(--inactive); - --code-bg: var(--aside-bg); - --embed-bg: black; - --aside-bg: #04070c; - --tag: var(--table); - --th: var(--hr); - --td: #03000054; - --table: #380b13; - --hr: #571a1a; - --graph-bg: rgba(13, 20, 29, 0.51); - --graph-lines: var(--hr); - --theme-rainbow-1: var(--headers); - --theme-rainbow-2: var(--accent); - --theme-rainbow-3: var(--hr); - --theme-rainbow-4: var(--table); - --theme-rainbow-5: var(--file-icon-color); - --theme-rainbow-6: var(--code-bg); -} - -.theme-light.its-d, .theme-light .its-d { - --outer-bar: #d5e1f3; - --dark-sidebar: #dce4f6; - --note: #e6edf8; - --bg:#d9e4f0; - --code-bg: #e6ebf8; -} - -.nebula { - --font: "Norwester", var(--font-default); - --header-weight: 500; - --vault-name-font-weight: 500; - --checklist-done-color: var(--inactive); -} - -.theme-dark.nebula, -.theme-dark .nebula { - --note: #070b11; - --hr: #1b1e2b; - --table: #241a4e; - --headers: #8065fa; - --embed-bg: #1b1e2b; - --soft-text: #7f66d8; - --code-text: #9278ff; - --tag: var(--accent); - --accent-color: 114, 53, 211; - --accent: #3a2791; - --accent2-lite:#7b6cff; - --lite-accent: #b19eff; - --inactive: #594c9a; - --dark-accent: #40327e; - --th: var(--dark-accent); - --code-bg: #141235; - --outer-bar: #19113a; - --lines: #30275a; - --folder-open: var(--text); - --theme-rainbow-1: var(--headers); - --theme-rainbow-2: var(--code-text); - --theme-rainbow-3: ; - --theme-rainbow-4: ; - --theme-rainbow-5: ; - --theme-rainbow-6: ; -} - -.notion.notion { - --font: var(--font-default); - --header-font-weight: 900; - --vault-name-font-weight: 900; - --header-border-line-height: 0; - --h1-border-line-height: var(--header-border-line-height); - --h2-border-line-height: var(--header-border-line-height); - --h3-border-line-height: var(--header-border-line-height); - --h4-border-line-height: var(--header-border-line-height); - --h5-border-line-height: var(--header-border-line-height); - --h6-border-line-height: var(--header-border-line-height); - --hr-icon-symbol: ""; - background: var(--note); - --text-dl: white; -} - -.theme-dark .notion, .theme-dark.notion { - --scrollbar-bg: #3b4044; - --scrollbar-thumb-bg: #474C50; - --outer-bar: var(--embed-bg); - --dark-sidebar: var(--side-bar); - --side-bar: #373C3F; - --note: #2F3437; - --note-rgb: 47, 52, 55; - --headers: var(--text); - --text: #EBEBEB; - --soft-text: #A8ABAC; - --code-text: var(--text); - --i-at: var(--bttn); - --footnote: #7A7D7F; - --inactive: #5D6265; - --accent-color: 66, 180, 224; - --accent: var(--tag); - /*#474C50*/ - --lite-accent: var(--bttn); - --dark-accent: #4B5053; - /*#26292B*/ - --deep-dark-accent: var(--outer-bar); - --accent2: var(--soft-text); - --accent2-lite: #2EA1CF; - --folder: var(--text); - --folder-open: var(--bttn); - --file-icon-color: var(--dark-accent); - --nav-item-color-active: var(--tag); - --bg: #3C4144; - --code-bg: var(--bg); - --embed-bg: #3F4447; - --aside-bg: var(--note); - --tag: #708dbb; - --bttn: #43B3E0; - /*#889FC3*/ - --th: #373c3f; - --td: #0f0f0f33; - --hr: #3C3F43; - --table: #4C5153; - --lines: var(--table); - /*#3E4245*/ - --outline: #0f0f0f40; - --highlight: rgb(255, 255, 255, 0.1); - --hvr: rgba(45, 170, 219, 0.3); - --hvr-active: rgba(45, 170, 219, 0.3); - --graph-bg: var(--note); - --graph-lines: #5D626555; - --graph-node: var(--headers); - --graph-fill: var(--folder); - --graph-404: var(--inactive); - --graph-img: var(--soft-text); - --graph-tag: var(--accent); - --graph-focused: var(--accent); - --theme-rainbow-1: var(--lite-accent); - --theme-rainbow-2: var(--tag); - --theme-rainbow-3: var(--text-faint); - --theme-rainbow-4: var(--inactive); - --theme-rainbow-5: var(--hr); - --theme-rainbow-6: var(--td); -} - -.theme-light.notion, .theme-light .notion { - --scrollbar-bg: #EDECE9; - --scrollbar-thumb-bg: #D3D1CB; - --text-on-accent: white; - --outer-bar: #F1F1EF; - --dark-sidebar: var(--side-bar); - --side-bar: #F7F6F3; - --note: #FFFFFF; - --note-rgb: 247, 246, 243; - --accent-color: 67, 179, 224; - --accent: #43B3E0; - --lite-accent: var(--bttn); - --dark-accent: var(--accent); - --accent2: var(--soft-text); - --accent2-lite: #2EA1CF; - --deep-dark-accent: var(--outer-bar); - --headers: var(--text); - --text: #37352f; - /*#8D8C89*/ - --inactive: #CFCECD; - --soft-text: #82817C; - --code-text: var(--text); - --i-at: var(--bttn); - --footnote: #A09E9A; - --file-icon-color: #69685f; - --folder: var(--text); - --folder-open: var(--bttn); - --th: var(--side-bar); - --table-header-color: var(--text); - --td: #37352F10; - --bg: #EDECE9; - --code-bg: #f7f6f3; - --embed-bg: #F1F1EF; - --aside-bg: var(--note); - --tag: var(--bttn); - --bttn: #43B3E0; - --table:#e9e9e7; - --hr: rgba(55, 53, 47, 0.1); - --lines: var(--hr); - --outline: #0f0f0f15; - --graph-bg: var(--note); - --graph-lines: #CFCECD55; - --graph-node: var(--soft-text); - --graph-fill: var(--folder); - --graph-404: var(--file-icon-color); - --graph-img: #000; - --graph-tag: var(--accent); - --graph-focused: var(--accent); - --highlight: rgba(55, 53, 47, 0.078); - --hvr: rgba(45, 170, 219, 0.2); - --hvr-active: rgba(45, 170, 219, 0.3); - --theme-rainbow-1: var(--lite-accent); - --theme-rainbow-2: var(--text-faint); - --theme-rainbow-3: var(--text); - --theme-rainbow-4: var(--soft-text); - --theme-rainbow-5: var(--footnote); - --theme-rainbow-6: var(--inactive); -} - -/*----Theme: School Days----*/ -.s-d.s-d { - /*FONTS*/ - --font: /*'Recursive Sans Casual Static',*/ "Recursive Sans Linear Static Black", "RocknRoll One Regular", var(--font-default); - --vault-font: "CollegiateBlackFLF", "Jersey M54", var(--font-default); - --vault-name-font-weight: 100; - --font-monospace: "Recursive Mono Linear Static Medium", var(--font-default); - --solve-font: "Recursive Sans Linear Static Regular", var(--font-default); - --inline-title-font: var(--vault-font); - --inline-title-color: var(--accent2); - --inline-title-weight: 500; - --hr-icon-symbol: ""; - --hr-icon-font: var(--mdi); - --bullet: ""; - --bullet-font: var(--mdi); - background: var(--note); -} - -.theme-dark.s-d, .theme-dark .s-d { - --outer-bar: #0e0f15; - --dark-sidebar: #10161d; - --side-bar: var(--note); - --accent: #485b76; - --lite-accent: #d0913d; - --dark-accent: #2b3550; - --deep-dark-accent: #212731; - --accent2: var(--lite-accent); - --headers: #4378c1; - --text: #dcddde; - --soft-text: #aab3ca; - --code-text: #e6a210; - --i-at: var(--lite-accent); - --inactive: #586477; - --folder: var(--headers); - --folder-open: var(--lite-accent); - --fg: white; - --bg: #232a34; - --code-bg: #232831; - --embed-bg: #12151a; - --tag: #273346; - --th: var(--dark-accent); - --table: #2f3440; - --hr: #414b5c; - --latex-color: #b2cfff; - --latex-format-color: #61afef; - --latex-syntax-color: #ebbd3e; - --header-solve: #c7c7c7; - --answer: darkseagreen; - --answer-bg: #293c33; - --highlight: rgba(86, 128, 226, 0.4); - --hvr-active: rgba(255, 183, 0, 0.4); - --hvr: rgba(65, 82, 119, 0.31); - --theme-rainbow-1: var(--accent2); - --theme-rainbow-2: var(--headers); - --theme-rainbow-3: var(--accent); - --theme-rainbow-4: var(--dark-accent); - --theme-rainbow-5: var(--tag); - --theme-rainbow-6: var(--deep-dark-accent); -} - -.theme-light.s-d, .theme-light .s-d.s-d { - /*--DEFAULT VARIABLES--*/ - --outer-bar: #e3f0fd; - --dark-sidebar: var(--embed-bg); - --side-bar: var(--note); - --accent-color: 109, 153, 212; - --accent: #6d99d4; - --lite-accent: #e6af66; - --dark-accent: #4382c1; - --deep-dark-accent: #6c8bb4; - --accent2: var(--lite-accent); - --headers: #4382c1; - --text: #697580; - --soft-text: #6f8fd8; - --code-text: #ebab16; - --i-at: var(--th); - --inactive: #91a3c1; - --folder-open: var(--lite-accent); - --folder: var(--headers); - --fg: #025d9f; - --bg: #e1e6ed; - --embed-bg: #f1f5ff; - --tag: #5685c6; - --th: #b48c55; - --table: #c9ced9; - --hr: #d6deea; - --latex-color: #5895fa; - --latex-format-color: #9ed3ff; - --latex-syntax-color: #fdaf00; - --header-solve: #a87643; - --answer: #4f904f; - --answer-bg: #dbe8e2; - --highlight: rgba(118, 186, 253, 0.4); - --hvr-active: rgba(255, 166, 0, 0.4); - --hvr: rgba(149, 192, 229, 0.37); - --graph-bg: var(--note); - --graph-lines: #ecedf8; - --graph-node: var(--headers); - --graph-fill: #2e5db2; - --graph-404: #727e93; - --graph-img: #4c78cc; - --graph-tag: #000000; - --graph-focused: var(--lite-accent); - --theme-rainbow-1: var(--accent2); - --theme-rainbow-2: var(--fg); - --theme-rainbow-3: var(--headers); - --theme-rainbow-4: var(--accent); - --theme-rainbow-5: var(--th); - --theme-rainbow-6: var(--graph-404); -} - -/*--Solve Page--*/ -/*Header*/ -.s-d.s-d.solve, .s-d.s-d .solve { - --headers: var(--header-solve); - --h3-font: var(--solve-font); - --h4-font: var(--solve-font); - --h5-font: var(--solve-font); - --h6-font: var(--solve-font); -} -.s-d.s-d.solve th, .s-d.s-d.solve td:nth-child(1), .s-d.s-d .solve th, .s-d.s-d .solve td:nth-child(1) { - background-color: var(--outer-bar); -} -.s-d.s-d.solve td mark, .s-d.s-d .solve td mark { - color: var(--answer); - background-color: var(--answer-bg); - font-weight: 600; - padding: 2px; -} -.s-d.s-d.solve tr, .s-d.s-d .solve tr { - width: 10% !important; -} - -/*----Theme: Tangerine Dunes----*/ -.t-d { - --hr-sym: ""; - --hr-f: var(--mdi); - --header-weight: 500; - background: var(--note); -} - -.theme-dark.t-d, .theme-dark .t-d { - --outer-bar: #0b0f13; - --side-bar: var(--note); - --note: #1a1e24; - --accent-color: 223, 123, 65; - --accent: #DF7B41; - --lite-accent: #C48A69; - --dark-accent: #c66c39; - --deep-dark-accent: #62250F; - --accent2: #8F3F2B; - --accent2-lite: #E57858; - --headers: #DF7B41; - --text: #bccad8; - --code-text: #FA8A45; - --i-at: #BF7F5E; - --folder-open: #D8AF97; - --file-icon-color: #8F3F2B; - --tag: var(--th); - --th: #a66038; - --td: rgba(12,9,6,0.38); - --table: #463228; - --hr: #744F3C; - --highlight: rgba(148, 87, 49, 0.575); - --hvr: rgba(253,162,115,0.25); - --hvr-active: rgba(236, 110, 52, 0.3); - --theme-rainbow-1: var(--i-at); - --theme-rainbow-2: var(--headers); - --theme-rainbow-3: var(--accent2); - --theme-rainbow-4: var(--tag); - --theme-rainbow-5: var(--table); - --theme-rainbow-6: var(--dark-sidebar); -} - -.theme-light.t-d, .theme-light .t-d { - --outer-bar: #eef3fd; - --side-bar: var(--note); - --note: #f8fbff; - --accent-color: 232, 175, 142; - --accent: #E8AF8E; - --lite-accent: #C48A69; - --accent2: #A9523C; - --accent2-lite: #E57858; - --dark-accent: #dc8a67; - --deep-dark-accent: #7B4430; - --headers: #E19363; - --text: #697580; - --soft-text: #CF9870; - --code-text: #EA7542; - --i-at: #C16E43; - --folder-open: #EDB595; - --folder: #BA5D4B; - --fg: #91542E; - --tag: #e48751; - --table: #CCD6EB; - --hr: #CFC2BB; - --th: var(--dark-accent); - --highlight: rgba(255, 158, 89, 0.4); - --hvr: rgba(253,157,115,0.25); - --hvr-active: rgba(255, 158, 89, 0.4); - --theme-rainbow-1: var(--headers); - --theme-rainbow-2: var(--soft-text); - --theme-rainbow-3: var(--i-at); - --theme-rainbow-4: var(--file-icon-color); - --theme-rainbow-5: var(--tag); - --theme-rainbow-6: var(--file-icon-color); -} - -.nord { - --hr-icon-symbol: ""; - --hr-icon-font: var(--mdi); - background: var(--note); -} - -.theme-dark.nord, .theme-dark .nord.nord { - --outer-bar: #242933; - --dark-sidebar: #3B4252; - --side-bar: var(--outer-bar); - --note: #2E3440; - --note-rgb: 46, 52, 64; - --accent-color: 94, 129, 172; - --accent: #5E81AC; - --lite-accent: #5E81AC; - --dark-accent: #4C566A; - --deep-dark-accent: var(--outer-bar); - --accent2: #81A1C1; - --accent2-lite: #88C0D0; - --headers: #88C0D0; - --text: #ECEFF4; - --code-text: #81A1C1; - --i-at: #81A1C1; - --tag-text: var(--folder); - --folder: #A3BE8C; - --folder-open: #3c9ba8; - --nav-item-color: var(--soft-text); - --bg: #3B4252; - --code-bg: var(--dark-sidebar); - --embed-bg: #1d2129; - --aside-bg: #242933; - --tag: var(--dark-accent); - --table: #434C5E; - --hr: var(--table); - --lines: #4C566A; - --graph-bg: var(--outer-bar); - --graph-lines: var(--lines); - --graph-node: var(--fg); - --graph-fill: var(--headers); - --graph-img: var(--folder); - --graph-tag: var(--headers); - --highlight: rgba(60, 159, 168, 0.4); - --hvr: rgba(81, 120, 138, 0.48); - --hvr-active: rgba(136, 192, 208, 0.565); - --theme-rainbow-1: #BF616A; - --theme-rainbow-2: #D08770; - --theme-rainbow-3: #A5916A; - --theme-rainbow-4: #88A073; - --theme-rainbow-5: #A48EAD; - --theme-rainbow-6: #29395a; - --rainbow-1: var(--theme-rainbow-1); - --rainbow-2: var(--theme-rainbow-2); - --rainbow-3: var(--theme-rainbow-3); - --rainbow-4: var(--theme-rainbow-4); - --rainbow-5: var(--theme-rainbow-5); - --rainbow-6: var(--theme-rainbow-6); -} - -.theme-light.nord, .theme-light .nord { - --outer-bar: #E5E9F0; - --dark-sidebar: #dde2ec; - --side-bar: var(--outer-bar); - --note: #FBFBFC; - --accent-color: 143, 188, 187; - --accent: #5E81AC; - --lite-accent: #3c66a8; - --dark-accent: #29395a; - --deep-dark-accent: #4C566A; - --accent2: #81A1C1; - --accent2-lite: #8FBCBB; - --headers: #88C0D0; - --text: #4C566A; - --soft-text: #7e8dac; - --code-text: #81A1C1; - --i-at: #81A1C1; - --inactive: var(--soft-text); - --tag-text: var(--accent2-lite); - --folder: var(--headers); - --nav-item-color: var(--soft-text); - --folder-open: #4C566A; - --bg: #bdcce6; - --code-bg: #ECEFF4; - --aside-bg: #D8DEE9; - --embed-bg: var(--code-bg); - --tag: var(--accent); - --table: var(--lines); - --hr: #D8DEE9; - --lines: #b5c1d4; - --graph-bg: var(--outer-bar); - --graph-lines: var(--lines); - --graph-node: var(--deep-dark-accent); - --graph-fill: var(--fg); - --graph-img: var(--sphd-ed-2); - --graph-tag: var(--headers); - --highlight: rgba(97, 148, 231, 0.3); - --hvr: rgba(119, 235, 210, 0.4); - --hvr-active: rgba(92, 207, 228, 0.25); - --theme-rainbow-1: #BF616A; - --theme-rainbow-2: #D08770; - --theme-rainbow-3: #A5916A; - --theme-rainbow-4: #88A073; - --theme-rainbow-5: #A48EAD; - --theme-rainbow-6: var(--soft-text); - --rainbow-1: var(--theme-rainbow-1); - --rainbow-2: var(--theme-rainbow-2); - --rainbow-3: var(--theme-rainbow-3); - --rainbow-4: var(--theme-rainbow-4); - --rainbow-5: var(--theme-rainbow-5); - --rainbow-6: var(--theme-rainbow-6); -} - -.advt { - --font: "Quicksand"; - --f-w-h: 900; - --link-f: var(--font); - --f-w-l: 700; - --f-w-tag: 600; -} - -.theme-dark.advt, -.theme-dark .advt { - background: var(--note); - color: var(--text); - --background-primary: var(--note); - --background-primary-alt: var(--deep-dark-accent); - --background-secondary: var(--side-bar); - --background-secondary-alt: var(--outer-bar); - --background-modifier-border: var(--table); - --background-modifier-form-field-highlighted: rgba(254, 160, 71, 0.427); - --text-selection: rgba(241, 173, 105, 0.25); - --text-highlight-bg-active: rgba(255, 187, 124, 0.4); - --text-normal: var(--text); - --text-muted: var(--soft-text); - --text-accent: var(--accent2-lite); - --text-accent-hover: var(--accent2); - --interactive-normal: var(--outer-bar); - --interactive-hover: var(--embed-bg); - --interactive-accent: var(--accent); - --interactive-accent-hover: var(--dark-accent); - --scrollbar-bg: var(--bg); - --scrollbar-thumb-bg: var(--tag); - --text-faint: #886b5e; - --adcs: #7bad88; - /*#6eca85*/ - --adcs-2: #614d3e; - /*#5c3e2a*/ - --adcs-3: #fc9c42; - /*#f54d4d*/ - --adcs-hr: #8f3434; - /*#c06714*/ - --note: #392f2b; - --outer-bar: #292321; - --side-bar: var(--note); - --code-bg: var(--aside-bg); - --dark-sidebar: #1d1714; - --headers: #7bad88; - --th: #63816d; - --accent: #ad4646; - --tag: #8f3434; - --accent2-lite: #e39b59; - --accent2: var(--hr); - --bttn: #964242; - --dark-accent: #0f0c0b; - --bg: var(--hr); - --table: var(--hr); - --hr: #614d3e; - --inactive: var(--hr); - --td: #29232170; - --outline: #100c0b; - --footnote: #886b5e; - --soft-text: #a78a7d; - --code-text: #fc9c42; - --embed-bg: var(--outer-bar); - --aside-bg: #312824; - --scrollbar-bg: #292321; - --scrollbar-thumb-bg: var(--hr); - --indentation-guide: var(--table); - --indentation-guide-active: var(--accent); -} - -.theme-light.advt, -.theme-light .advt { - --background-primary: var(--note); - --background-modifier-form-field-highlighted: rgba(249, 133, 25, 0.295); - --text-selection: rgba(241, 173, 105, 0.25); - --text-highlight-bg-active: rgba(255, 187, 124, 0.4); - --text-normal: var(--text); - --text-faint: var(--soft-text); - --text-muted: var(--soft-text); - --text-accent: var(--accent2-lite); - --text-accent-hover: var(--accent2); - --interactive-normal: var(--outer-bar); - --interactive-hover: var(--embed-bg); - --interactive-accent: var(--accent); - --interactive-accent-hover: var(--dark-accent); - background: var(--note); - color: var(--text); - --adcs: #6eca85; - --adcs-2: #83644f; - --adcs-3: #fc9637; - --adcs-hr: #f54d4d; - --note: #6e5849; - --outer-bar: #503d35; - --outline: #4e3a31; - --embed-bg: #58433a; - --bg: #796258; - --dark-sidebar: #46342e; - --aside-bg: #614d3f; - --code-bg: #624a40; - --accent: #6eca85; - --lite-accent: #f0db9e; - --accent2: #bf5e5e; - --dark-accent: #5d4738; - --bttn: #c5864b; - --table: #5e463d; - --lines: #a87d68; - --text: #eeeae8; - --soft-text: #c0a195; - --headers: #aadb7f; - --code-text: var(--headers); - --accent2-lite: #ffb765; - --footnote: #9c796b; - --inactive: var(--footnote); - --file-icon-color: #ad8271; - --file-icon-color: var(--text); - --i-at: #f7d26b; - --td: #49383170; - --th: #739258; - --hr: var(--table); - --scrollbar-bg: #9d755580; - --scrollbar-thumb-bg: var(--accent); - --indentation-guide: var(--lines); - --indentation-guide-active: var(--accent); - --ch-class: #fc9637; - --ch-delimiter: var(--lines); - --ch-num: var(--accent); - --ch-keyword: var(--lite-accent); - --ch-string: var(--headers); -} - -.theme-dark.accent-color, -.theme-dark .accent-color { - --accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l)); - --lite-accent: hsl(var(--accent-h), var(--accent-s), 70%); - --dark-accent: hsl(var(--accent-h), var(--accent-s), 30%); - --deep-dark-accent: hsl(var(--accent-h), 20%, 10%); - --accent2: hsl(var(--accent-h), var(--accent-s), 50%); - --accent2-lite: hsl(var(--accent-h), 50%, 70%); - --headers: hsl(var(--accent-h), var(--accent-s), 50%); - --soft-text: hsl(var(--accent-h), 20%, 55%); - --faint-text: hsl(var(--accent-h), 20%, 45%); - --code-text: hsl(var(--accent-h), var(--accent-s), 60%); - --inactive: hsla(var(--accent-h), var(--accent-s), 75%, 40%); - --tag-text: var(--headers); - --folder: var(--accent); - --folder-open: var(--lite-accent); - --file-icon-color: hsl(var(--accent-h), 20%, 30%); - --bg: hsl(var(--accent-h), 0%, 17%); - --code-bg: hsl(var(--accent-h), 20%, 15%); - --dark-sidebar: hsl(var(--accent-h), 20%, 7%); - --outer-bar: hsl(var(--accent-h), 10%, 5%); - --note: hsl(var(--accent-h), 0%, 10%); - --table: hsl(var(--accent-h), 20%, 24%); - --hr: hsl(var(--accent-h), 20%, 25%); - --hr-icon-color: var(--accent2); - --lines: hsl(var(--accent-h), 20%, 25%); - --highlight: hsla(var(--accent-h), var(--accent-s), var(--accent-l), 30%); - --hvr: hsla(var(--accent-h), var(--accent-s), var(--accent-l), 40%); - --hvr-active: hsla(var(--accent-h), var(--accent-s), var(--accent-l), 30%); - --theme-rainbow-1: hsl(var(--accent-h), var(--accent-s), 60%); - --theme-rainbow-2: hsl(var(--accent-h), var(--accent-s), 50%); - --theme-rainbow-3: hsl(var(--accent-h), var(--accent-s), 30%); - --theme-rainbow-4: hsl(var(--accent-h), var(--accent-s), 20%); - --theme-rainbow-5: hsl(var(--accent-h), var(--accent-s), 10%); - --theme-rainbow-6: hsl(var(--accent-h), var(--accent-s), 5%); -} - -.theme-light.accent-color, -.theme-light .accent-color { - --accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l)); - --lite-accent: hsl(var(--accent-h), var(--accent-s), 50%); - --dark-accent: hsl(var(--accent-h), var(--accent-s), 40%); - --deep-dark-accent: hsl(var(--accent-h), 20%, 10%); - --accent2: hsl(var(--accent-h), var(--accent-s), 50%); - --accent2-lite: hsl(var(--accent-h), var(--accent-s), 70%); - --headers: hsl(var(--accent-h), var(--accent-s), 50%); - --soft-text: hsl(var(--accent-h), 20%, 55%); - --faint-text: hsl(var(--accent-h), 20%, 45%); - --code-text: hsl(var(--accent-h), var(--accent-s), 50%); - --inactive: hsla(var(--accent-h), var(--accent-s), 80%); - --tag-text: var(--headers); - --folder: var(--accent); - --folder-open: var(--lite-accent); - --file-icon-color: hsl(var(--accent-h), 20%, 30%); - --bg: hsl(var(--accent-h), var(--accent-s), 85%); - --code-bg: hsl(var(--accent-h), var(--accent-s), 90%); - --dark-sidebar: hsl(var(--accent-h), 10%, 90%); - --outer-bar: hsl(var(--accent-h), 10%, 92%); - --note: hsl(var(--accent-h), 0%, 94%); - --td: hsla(var(--accent-h), var(--accent-s), 50%, 10%); - --table: hsl(var(--accent-h), 20%, 80%); - --hr: hsl(var(--accent-h), 20%, 85%); - --hr-icon-color: var(--accent2); - --lines: hsl(var(--accent-h), 20%, 80%); - --outline: hsla(var(--accent-h), var(--accent-s), 80%); - --highlight: hsla(var(--accent-h), var(--accent-s), var(--accent-l), 20%); - --hvr: hsla(var(--accent-h), var(--accent-s), var(--accent-l), 30%); - --hvr-active: hsla(var(--accent-h), var(--accent-s), var(--accent-l), 50%); - --theme-rainbow-1: hsl(var(--accent-h), var(--accent-s), 60%); - --theme-rainbow-2: hsl(var(--accent-h), var(--accent-s), 50%); - --theme-rainbow-3: hsl(var(--accent-h), var(--accent-s), 30%); - --theme-rainbow-4: hsl(var(--accent-h), var(--accent-s), 20%); - --theme-rainbow-5: hsl(var(--accent-h), var(--accent-s), 10%); - --theme-rainbow-6: hsl(var(--accent-h), var(--accent-s), 0%); -} - -.its.its { - --font-default: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Microsoft YaHei Light", sans-serif; - --font-monospace: "Fira Code", "Fira Code Medium", "Source Code Pro", monospace; - --hr-icon-symbol: ""; - --hr-icon-font: var(--its); -} - -.theme-dark.its, .theme-dark .its { - --deep-dark-accent: #3f1010; - --dark-accent: #652121; - --lite-accent: #c94d4d; - --accent: #863737; - --accent2: #42536e; - --accent2-lite: #61afef; - --accent-color: 134, 55, 55; - --side-bar: var(--note); - --side-bar-bg: var(--outer-bar); - --outer-bar: #0b0f13; - --dark-sidebar: #0d1014; - --bttn: var(--dark-accent); - --input-bg: rgba(0, 0, 0, 0.3); - --hvr: rgba(168, 60, 60, 0.4); - --hvr2: var(--highlight); - --hvr-active: rgba(212, 47, 47, 0.4); - --highlight: #7a141466; - --bg: #252c36; - --fg: #cfd7dd; - --success-bg: #32603e; - --failure-bg: #772d2d; - --inactive: #586477; - --outline: var(--outer-bar); - --folder: var(--accent); - --folder-open: #e05858; - --file-icon-color: #586477; - --file-icon-color: var(--inactive); - --lines: var(--hr); - --note: #1a1e24; - --note-rgb: 26, 30, 36; - --text: #bccad8; - --headers: #c14343; - --soft-text: #97a1b9; - --faint-text: #4e5b6f; - --code-text: #fa4545; - --footnote: #63778f; - --code-bg: #232831; - --embed-bg: var(--dark-sidebar); - --aside-bg: #11151d; - --th: var(--dark-accent); - --th-text: var(--text-dl); - --td: #06080c60; - --drop-shadow: #06080c60; - --tag: var(--dark-accent); - --tag-text: #d04e4e; - --table: #283345; - --hr: #2f3b4d; - --i-at: #bf5e5e; - --progress: var(--accent); - --progress-bg: var(--bg); - --graph-bg: var(--outer-bar); - --graph-lines: hsla(var(--interactive-accent-hsl), .2); - --graph-node: var(--text); - --graph-fill: var(--headers); - --graph-404: #727e93; - --graph-img: #4c78cc; - --graph-tag: var(--headers); - --graph-focused: var(--text-highlight-bg-active); - --theme-rainbow-1: #7c2929; - --theme-rainbow-2: #652121; - --theme-rainbow-3: #471d1d; - --theme-rainbow-4: #381919; - --theme-rainbow-5: #424c61; - --theme-rainbow-6: #2e333d; -} - -.theme-light.its, .theme-light .its { - --deep-dark-accent: #2f1010; - --dark-accent: #c35c5c; - --lite-accent: #cd2626; - --accent: #912e2e; - --accent2: #aac1d3; - --accent2-lite: #5599d0; - --side-bar: var(--note); - --side-bar-bg: var(--outer-bar); - --outer-bar: #eef3fd; - --dark-sidebar: #f1f5ff; - --bttn: var(--headers); - --input-bg: var(--td); - --hvr: rgba(255, 0, 0, 0.212); - --hvr2: var(--highlight); - --hvr-active:rgba(253, 115, 115, 0.4); - --highlight: rgba(229, 149, 149, 0.37); - --bg: #e1e9f6; - --fg: var(--accent); - --success-bg: #599049; - --failure-bg: #772d2d; - --inactive: #a6bbde; - --outline: var(--bg); - --folder: var(--accent); - --file-icon-color: #7e8ea3; - --file-icon-color: var(--inactive); - --folder-open: #ce6d6d; - --lines: #b5c2d8; - --icons: #d04e4e; - --note: #f8fbff; - --note-rgb: 248, 251, 255; - --text: #30353a; - --headers: #c14343; - --faint-text: #4e5b6f; - --soft-text: #697580; - --code-text: #ea4262; - --footnote: #8996a0; - --code-bg: var(--embed-bg); - --embed-bg: var(--dark-sidebar); - --aside-bg: var(--dark-sidebar); - --th: var(--headers); - --th-text: var(--text-dl); - --td: #d0ddef62; - --drop-shadow: #d0ddef62; - --tag: #c65656; - --tag-text: var(--lite-accent); - --table: #ccd6eb; - --hr: #d6deea; - --i-at: var(--folder); - --progress: var(--accent); - --progress-bg: var(--bg); - --graph-bg: var(--note); - --graph-lines: #e4e7f8; - --graph-node: var(--headers); - --graph-fill: var(--folder); - --graph-404: #727e93; - --graph-img: #4c78cc; - --graph-tag: #000000; - --graph-focused: var(--text-highlight-bg-active); - --theme-rainbow-1: #bb5555; - --theme-rainbow-2: #a53f3f; - --theme-rainbow-3: #862c2c; - --theme-rainbow-4: #662828; - --theme-rainbow-5: #697795; - --theme-rainbow-6: #a4aec2; -} - -.slrvb-g, -.slrvb-b, -.wotc-beyond, -.dnd, -.pathfinder, -.pathfinder-remaster, -.notion, -.drwn, -.its-d, -.mini, -.nebula, -.s-d, -.t-d, -.nord, -.accent-color, -.its { - --h1-font: var(--font); - --h2-font: var(--font); - --h3-font: var(--font); - --h4-font: var(--font); - --h5-font: var(--font); - --h6-font: var(--font); - --h1-weight: var(--header-weight); - --h2-weight: var(--header-weight); - --h3-weight: var(--header-weight); - --h4-weight: var(--header-weight); - --h5-weight: var(--header-weight); - --h6-weight: var(--header-weight); - --h1-color: var(--headers); - --h2-color: var(--headers); - --h3-color: var(--headers); - --h4-color: var(--headers); - --h5-color: var(--headers); - --h6-color: var(--headers); - --illusion-h1-background: var(--theme-rainbow-1); - --illusion-h2-background: var(--theme-rainbow-2); - --illusion-h3-background: var(--theme-rainbow-3); - --illusion-h4-background: var(--theme-rainbow-4); - --illusion-h5-background: var(--theme-rainbow-5); - --illusion-h6-background: var(--theme-rainbow-6); - --h1-border-line-height: var(--header-border-line-height); - --h2-border-line-height: var(--header-border-line-height); - --h3-border-line-height: var(--header-border-line-height); - --h4-border-line-height: var(--header-border-line-height); - --h5-border-line-height: var(--header-border-line-height); - --h6-border-line-height: var(--header-border-line-height); - --header-border-line-color: var(--table); - --h1-border-line-color: var(--header-border-line-color); - --h2-border-line-color: var(--header-border-line-color); - --h3-border-line-color: var(--header-border-line-color); - --h4-border-line-color: var(--header-border-line-color); - --h5-border-line-color: var(--header-border-line-color); - --h6-border-line-color: var(--header-border-line-color); - --h1-border-left-color: var(--h1-border-line-color); - --h2-border-left-color: var(--h2-border-line-color); - --h3-border-left-color: var(--h3-border-line-color); - --h4-border-left-color: var(--h4-border-line-color); - --h5-border-left-color: var(--h5-border-line-color); - --h6-border-left-color: var(--h6-border-line-color); - --h1-border-right-color: var(--h1-border-line-color); - --h2-border-right-color: var(--h2-border-line-color); - --h3-border-right-color: var(--h3-border-line-color); - --h4-border-right-color: var(--h4-border-line-color); - --h5-border-right-color: var(--h5-border-line-color); - --h6-border-right-color: var(--h6-border-line-color); - --font-print-override: var(--font-default); - --icon-color: var(--soft-text); - --metadata-icon-color: var(--icon-color); - --metadata-button-text-color: var(--inactive); - --inline-title-color: var(--headers); - --inline-title-font: var(--h1-font); - --inline-title-weight: var(--h1-weight); - --link-color: var(--accent2-lite); - --link-color-hover: var(--lite-accent); - --link-external-color: var(--text-accent); - --link-external-color-hover: var(--text-accent-hover); - --link-unresolved-color: var(--inactive); - --embed-border-left-color: var(--headers); - --embed-border-color-hover: var(--outline); - --embed-border-left-color-hover: var(--embed-border-left-color); - --embed-border-right-color-hover: var(--embed-border-color-hover); - --embed-border-top-color-hover: var(--embed-border-color-hover); - --embed-border-bottom-color-hover: var(--embed-border-color-hover); - --code-normal: var(--code-text); - --code-background: var(--code-bg); - --checkbox-color: var(--accent); - --checkbox-border-color: var(--accent); - --checkbox-color-hover: var(--dark-accent); - --lines: var(--hr); - --indentation-guide-color: var(--lines); - --indentation-guide-color-active: var(--accent); - --list-color-1: var(--indentation-guide-color); - --list-color-2: var(--indentation-guide-color); - --list-color-3: var(--indentation-guide-color); - --list-color-4: var(--indentation-guide-color); - --list-color-5: var(--indentation-guide-color); - --list-color-6: var(--indentation-guide-color); - --list-marker-color: var(--accent); - --list-numbered-color: var(--lite-accent); - --th: var(--dark-accent); - --table-header-background: var(--th); - --table-header-background-hover: var(--accent); - --table-column-alt-background: var(--td); - --table-row-alt-background: var(--td); - --table-row-background-hover: var(--highlight); - --table-border-color: var(--note); - --dataview-th-count-color: var(--dataview-th-color); - --dataview-th-background: var(--outer-bar); - --dataview-th-alt-color: rgba(var(--accent-color), 10%); - --dataview-th-color: var(--headers); - --dataview-th-border-bottom: 2px solid var(--headers); - --tag: var(--dark-accent); - --tag-background: var(--tag); - --tag-background-hover: var(--accent); - --tag-border-color: var(--tag); - --tag-border-color-hover: var(--accent); - --embed-border-left: 2px solid var(--headers); - --embed-border-start: 2px solid var(--interactive-accent); - --hr-color: var(--hr); - --hr-icon-color: var(--headers); - --hr-icon-background: var(--note); - --blockquote-border-color: var(--bg); - --blockquote-background-color: var(--embed-bg); - --folder: var(--headers); - --nav-item-background-hover: var(--dark-accent); - --sidebar-tab-background-color-hover: var(--accent); - --latex-color: var(--lite-accent); - --latex-format-color: var(--inactive); - --latex-syntax-color: var(--soft-text); - --i-at: var(--soft-text); - background-color: var(--background-primary); - --background-primary: var(--note); - --background-primary-alt: var(--deep-dark-accent); - --background-secondary: var(--side-bar); - --background-secondary-alt: var(--outer-bar); - --background-modifier-border: var(--table); - --background-modifier-border-hover: var(--bg); - --background-modifier-hover: var(--hvr-active); - --background-modifier-form-field: var(--td); - --text-highlight-bg: var(--hvr); - --text-highlight-bg-active: var(--hvr-active); - --text-selection: var(--highlight); - --text-normal: var(--text); - --text-muted: var(--soft-text); - --text-accent: var(--accent2-lite); - --text-accent-hover: var(--accent2); - --interactive-normal: var(--outer-bar); - --interactive-hover: var(--inactive); - --interactive-accent: var(--dark-accent); - --interactive-accent-hover: var(--inactive); - --scrollbar-bg: var(--bg); - --scrollbar-thumb-bg: var(--tag); - --graph-bg: var(--note); - --graph-lines: var(--highlight); - --graph-node: var(--text); - --graph-fill: var(--lite-accent); - --graph-404: var(--inactive); - --graph-img: var(--accent2); - --graph-tag: var(--dark-accent); - --graph-focused: var(--accent2-lite); - --scrollbar-track-bg: var(--note); - --shadow-s: 2px 2px 0 var(--outline); - --shadow-m: 3px 3px 0 var(--outline); - --shadow-ml: 4px 4px 0 var(--outline); - --shadow-l: 5px 5px 0 var(--outline); - --box-border-s: 1px solid var(--outline); - --box-border: 2px solid var(--outline); - --box-border-m: 3px solid var(--outline); - --input-shadow: var(--shadow-s); - --input-shadow-hover: var(--shadow-m); - --embed-block-shadow-hover: var(--input-shadow); - --kanban-card-border: var(--box-border); - --kanban-card-title-border: 0 1px 0 var(--outline); - --kanban-card-text-color: var(--text-normal); -} diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json deleted file mode 100644 index 18519db1..00000000 --- a/.obsidian/workspace.json +++ /dev/null @@ -1,227 +0,0 @@ -{ - "main": { - "id": "ed000e1fdec3c650", - "type": "split", - "children": [ - { - "id": "d140e32729e7b807", - "type": "tabs", - "children": [ - { - "id": "a059c5d2dde5cccf", - "type": "leaf", - "state": { - "type": "markdown", - "state": { - "file": "SanPinPLM/相关操作/1.EDM/60.CAD接口使用.md", - "mode": "source", - "source": false - }, - "icon": "lucide-file", - "title": "60.CAD接口使用" - } - } - ] - } - ], - "direction": "vertical" - }, - "left": { - "id": "42a5659eda9f7074", - "type": "split", - "children": [ - { - "id": "d59f9737238cec0c", - "type": "tabs", - "children": [ - { - "id": "262fdb4633fcf55d", - "type": "leaf", - "state": { - "type": "file-explorer", - "state": { - "sortOrder": "alphabetical", - "autoReveal": false - }, - "icon": "lucide-folder-closed", - "title": "文件列表" - } - }, - { - "id": "f065ac0941d6809e", - "type": "leaf", - "state": { - "type": "search", - "state": { - "query": "目录模板", - "matchingCase": false, - "explainSearch": false, - "collapseAll": false, - "extraContext": false, - "sortOrder": "alphabetical" - }, - "icon": "lucide-search", - "title": "搜索" - } - }, - { - "id": "3c60fa22a0a5ddcc", - "type": "leaf", - "state": { - "type": "bookmarks", - "state": {}, - "icon": "lucide-bookmark", - "title": "书签" - } - } - ] - } - ], - "direction": "horizontal", - "width": 200 - }, - "right": { - "id": "65248f9a3962ae93", - "type": "split", - "children": [ - { - "id": "3c0e70d05e58edb1", - "type": "tabs", - "children": [ - { - "id": "07b0a90e46430bb4", - "type": "leaf", - "state": { - "type": "outline", - "state": { - "file": "SanPinPLM/相关操作/1.EDM/60.CAD接口使用.md", - "followCursor": false, - "showSearch": false, - "searchQuery": "" - }, - "icon": "lucide-list", - "title": "60.CAD接口使用 的大纲" - } - }, - { - "id": "e2f7484da718654a", - "type": "leaf", - "state": { - "type": "tag", - "state": { - "sortOrder": "frequency", - "useHierarchy": true - }, - "icon": "lucide-file", - "title": "插件不再活动" - } - }, - { - "id": "8c0ffde16d40f63b", - "type": "leaf", - "state": { - "type": "backlink", - "state": { - "file": "SanPinPLM/相关操作/1.EDM/60.CAD接口使用.md", - "collapseAll": false, - "extraContext": false, - "sortOrder": "alphabetical", - "showSearch": false, - "searchQuery": "", - "backlinkCollapsed": false, - "unlinkedCollapsed": true - }, - "icon": "links-coming-in", - "title": "60.CAD接口使用 的反向链接列表" - } - }, - { - "id": "e89425d59bc3b161", - "type": "leaf", - "state": { - "type": "outgoing-link", - "state": { - "file": "SanPinPLM/相关操作/1.EDM/60.CAD接口使用.md", - "linksCollapsed": false, - "unlinkedCollapsed": true - }, - "icon": "links-going-out", - "title": "60.CAD接口使用 的出链列表" - } - }, - { - "id": "27878581586f2143", - "type": "leaf", - "state": { - "type": "git-view", - "state": {}, - "icon": "lucide-file", - "title": "插件不再活动" - } - } - ] - } - ], - "direction": "horizontal", - "width": 200 - }, - "left-ribbon": { - "hiddenItems": { - "switcher:打开快速切换": true, - "graph:查看关系图谱": false, - "daily-notes:打开/创建今天的日记": true, - "command-palette:打开命令面板": false, - "obsidian-git:Open Git source control": false, - "hidden-folder-obsidian:显示文件夹": false - } - }, - "active": "262fdb4633fcf55d", - "lastOpenFiles": [ - "SanPinPLM/相关操作/0.SETOUT/11.IP地址固定.md", - "conflict-files-obsidian-git.md", - "SanPinPLM/相关操作/1.EDM/assets/Pasted image 20250301124159.png", - "SanPinPLM/相关操作/0.SETOUT/12.服务端安装、端口设置.md", - "SanPinPLM/相关操作/0.SETOUT/10.数据库安装.md", - "SanPinPLM/数据库/数据库.md", - "SanPinPLM/简略教程/外邮通知教程.md", - "SanPinPLM/相关操作/3.PLM/15.项目模板配置.md", - "SanPinPLM/相关操作/3.PLM/assets/Pasted image 20250228153221.png", - "SanPinPLM/相关操作/3.PLM/未命名.md", - "SanPinPLM/相关操作/3.PLM/22.任务类权限详解.md", - "SanPinPLM/相关操作/3.PLM/20.项目角色.md", - "SanPinPLM/相关操作/2.PDM/56.文档关联物料.md", - "SanPinPLM/相关操作/2.PDM/57.同步图纸内属性到文档属性.md", - "SanPinPLM/相关操作/2.PDM/58.图号生成.md", - "SanPinPLM/相关操作/1.EDM/28.AutoCAD图纸模板制作.md", - "SanPinPLM/相关操作/2.PDM/assets/Pasted image 20250228123016.png", - "SanPinPLM/相关操作/2.PDM/54.借用与编辑借用物料.md", - "SanPinPLM/相关操作/2.PDM/50.创建与编辑物料.md", - "SanPinPLM/相关操作/2.PDM/61.BOM导出.md", - "SanPinPLM/相关操作/2.PDM/60.BOM搭建.md", - "SanPinPLM/相关操作/2.PDM/59.把零部件放入标准物料库.md", - "SanPinPLM/相关操作/2.PDM/30.图号、物料编码唯一性设置.md", - "SanPinPLM/相关操作/4.other/200.Delphi脚本.md", - "SanPinPLM/相关操作/0.SETOUT/15.服务端升级.md", - "SanPinPLM/相关操作/0.SETOUT/20.浏览器安装、调试.md", - "SanPinPLM/相关操作/2.PDM/13.CAXA接口安装、属性映射.md", - "SanPinPLM/相关操作/2.PDM/10.AutoCAD接口安装.md", - "SanPinPLM/相关操作/2.PDM/Files/Documents/~$BOM表导出模板.xlsx", - "SanPinPLM/数据库", - "SanPinPLM/相关操作/2.PDM/assets/Pasted image 20250225103406.png", - "SanPinPLM/相关操作/2.PDM/assets/Pasted image 20250225102811.png", - "SanPinPLM/相关操作/2.PDM/assets/Pasted image 20250225102303.png", - "SanPinPLM/相关操作/2.PDM/assets/Pasted image 20250225102049.png", - "SanPinPLM/相关操作/2.PDM/assets/Pasted image 20250225101906.png", - "SanPinPLM/相关操作/2.PDM/assets/Pasted image 20250225101257.png", - "SanPinPLM/相关操作/2.PDM/assets/Pasted image 20250225101041.png", - "未命名.canvas", - "KMmpm/系统介绍/数据建模/对象类定义/assets", - "KMmpm/系统介绍/数据建模/对象类定义", - "KMmpm/系统介绍/数据建模", - "KMmpm/相关操作/容器目录管理/assets", - "KMmpm/相关操作/容器目录管理", - "AutoCAD/Files/CAD模板.7z", - "AutoCAD/Files", - "AutoCAD/新建文件夹" - ] -} \ No newline at end of file